Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SubstitutionVisitor.h
Go to the documentation of this file.
1#ifndef STORM_STORAGE_EXPRESSIONS_SUBSTITUTIONVISITOR_H_
2#define STORM_STORAGE_EXPRESSIONS_SUBSTITUTIONVISITOR_H_
3
4#include <stack>
5
8
9namespace storm {
10namespace expressions {
11template<typename MapType>
13 public:
20
29 Expression substitute(Expression const& expression);
30
31 virtual boost::any visit(IfThenElseExpression const& expression, boost::any const& data) override;
32 virtual boost::any visit(BinaryBooleanFunctionExpression const& expression, boost::any const& data) override;
33 virtual boost::any visit(BinaryNumericalFunctionExpression const& expression, boost::any const& data) override;
34 virtual boost::any visit(BinaryRelationExpression const& expression, boost::any const& data) override;
35 virtual boost::any visit(VariableExpression const& expression, boost::any const& data) override;
36 virtual boost::any visit(UnaryBooleanFunctionExpression const& expression, boost::any const& data) override;
37 virtual boost::any visit(UnaryNumericalFunctionExpression const& expression, boost::any const& data) override;
38 virtual boost::any visit(BooleanLiteralExpression const& expression, boost::any const& data) override;
39 virtual boost::any visit(IntegerLiteralExpression const& expression, boost::any const& data) override;
40 virtual boost::any visit(RationalLiteralExpression const& expression, boost::any const& data) override;
41 virtual boost::any visit(PredicateExpression const& expression, boost::any const& data) override;
42
43 protected:
44 // A mapping of variables to expressions with which they shall be replaced.
46};
47} // namespace expressions
48} // namespace storm
49
50#endif /* STORM_STORAGE_EXPRESSIONS_SUBSTITUTIONVISITOR_H_ */
The base class of all binary expressions.
Expression substitute(Expression const &expression)
Substitutes the identifiers in the given expression according to the previously given map and returns...
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data) override
LabParser.cpp.
Definition cli.cpp:18