diff --git a/src/parser/JaniParser.cpp b/src/parser/JaniParser.cpp index 2cb834742..d6481618e 100644 --- a/src/parser/JaniParser.cpp +++ b/src/parser/JaniParser.cpp @@ -20,6 +20,8 @@ namespace storm { // Defaults //////////// const bool JaniParser::defaultVariableTransient = false; + const std::set JaniParser::unsupportedOpstrings({"sin", "cos", "tan", "cot", "sec", "csc", "asin", "acos", "atan", "acot", "asec", "acsc", + "sinh", "cosh", "tanh", "coth", "sech", "csch", "asinh", "acosh", "atanh", "asinh", "acosh"}); std::string getString(json const& structure, std::string const& errorInfo) { @@ -475,7 +477,10 @@ namespace storm { ensureNumericalType(arguments[1], opstring, 1, scopeDescription); // TODO implement STORM_LOG_THROW(false, storm::exceptions::NotImplementedException, "log operation is not yet implemented"); - } else { + } else if (unsupportedOpstrings.count(opstring) > 0){ + STORM_LOG_THROW(false, storm::exceptions::InvalidJaniException, "Opstring " + opstring + " is not supported by storm"); + + } else { STORM_LOG_THROW(false, storm::exceptions::InvalidJaniException, "Unknown operator " << opstring << " in " << scopeDescription << "."); } } diff --git a/src/parser/JaniParser.h b/src/parser/JaniParser.h index 1e1d66d66..f86085b49 100644 --- a/src/parser/JaniParser.h +++ b/src/parser/JaniParser.h @@ -72,6 +72,8 @@ namespace storm { ////////// static const bool defaultVariableTransient; + static const std::set unsupportedOpstrings; + }; } }