Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ExpressionTranslator.h
Go to the documentation of this file.
1#pragma once
2
3#include <set>
4
8
10
11namespace storm {
12namespace dd {
13template<storm::dd::DdType DdType>
14class Bdd;
15}
16
17namespace expressions {
18class Expression;
19}
20} // namespace storm
21
22namespace storm::gbar {
23namespace abstraction {
24
25template<storm::dd::DdType DdType>
26class AbstractionInformation;
27
28template<storm::dd::DdType DdType>
30 public:
31 ExpressionTranslator(AbstractionInformation<DdType>& abstractionInformation, std::unique_ptr<storm::solver::SmtSolver>&& smtSolver);
32
34
35 virtual boost::any visit(storm::expressions::IfThenElseExpression const& expression, boost::any const& data);
36 virtual boost::any visit(storm::expressions::BinaryBooleanFunctionExpression const& expression, boost::any const& data);
37 virtual boost::any visit(storm::expressions::BinaryNumericalFunctionExpression const& expression, boost::any const& data);
38 virtual boost::any visit(storm::expressions::BinaryRelationExpression const& expression, boost::any const& data);
39 virtual boost::any visit(storm::expressions::VariableExpression const& expression, boost::any const& data);
40 virtual boost::any visit(storm::expressions::UnaryBooleanFunctionExpression const& expression, boost::any const& data);
41 virtual boost::any visit(storm::expressions::UnaryNumericalFunctionExpression const& expression, boost::any const& data);
42 virtual boost::any visit(storm::expressions::BooleanLiteralExpression const& expression, boost::any const& data);
43 virtual boost::any visit(storm::expressions::IntegerLiteralExpression const& expression, boost::any const& data);
44 virtual boost::any visit(storm::expressions::RationalLiteralExpression const& expression, boost::any const& data);
45
46 private:
47 std::reference_wrapper<AbstractionInformation<DdType>> abstractionInformation;
49
50 std::set<storm::expressions::Variable> locationVariables;
51 std::set<storm::expressions::Variable> abstractedVariables;
52};
53
54} // namespace abstraction
55} // namespace storm::gbar
storm::dd::Bdd< DdType > translate(storm::expressions::Expression const &expression)
virtual boost::any visit(storm::expressions::IfThenElseExpression const &expression, boost::any const &data)
SFTBDDChecker::Bdd Bdd
LabParser.cpp.
Definition cli.cpp:18