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
5
#include "
storm/storage/dd/DdType.h
"
6
#include "
storm/storage/expressions/EquivalenceChecker.h
"
7
#include "
storm/storage/expressions/ExpressionVisitor.h
"
8
9
#include "
storm/solver/SmtSolver.h
"
10
11
namespace
storm
{
12
namespace
dd {
13
template
<storm::dd::DdType DdType>
14
class
Bdd
;
15
}
16
17
namespace
expressions {
18
class
Expression;
19
}
20
}
// namespace storm
21
22
namespace
storm::gbar
{
23
namespace
abstraction {
24
25
template
<storm::dd::DdType DdType>
26
class
AbstractionInformation;
27
28
template
<storm::dd::DdType DdType>
29
class
ExpressionTranslator
:
public
storm::expressions::ExpressionVisitor
{
30
public
:
31
ExpressionTranslator
(
AbstractionInformation<DdType>
& abstractionInformation, std::unique_ptr<storm::solver::SmtSolver>&& smtSolver);
32
33
storm::dd::Bdd<DdType>
translate
(
storm::expressions::Expression
const
& expression);
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;
48
storm::expressions::EquivalenceChecker
equivalenceChecker;
49
50
std::set<storm::expressions::Variable> locationVariables;
51
std::set<storm::expressions::Variable> abstractedVariables;
52
};
53
54
}
// namespace abstraction
55
}
// namespace storm::gbar
DdType.h
EquivalenceChecker.h
ExpressionVisitor.h
SmtSolver.h
storm::dd::Bdd
Definition
Bdd.h:25
storm::expressions::BinaryBooleanFunctionExpression
Definition
BinaryBooleanFunctionExpression.h:9
storm::expressions::BinaryNumericalFunctionExpression
Definition
BinaryNumericalFunctionExpression.h:9
storm::expressions::BinaryRelationExpression
Definition
BinaryRelationExpression.h:10
storm::expressions::BooleanLiteralExpression
Definition
BooleanLiteralExpression.h:9
storm::expressions::EquivalenceChecker
Definition
EquivalenceChecker.h:13
storm::expressions::Expression
Definition
Expression.h:22
storm::expressions::ExpressionVisitor
Definition
ExpressionVisitor.h:22
storm::expressions::IfThenElseExpression
Definition
IfThenElseExpression.h:9
storm::expressions::IntegerLiteralExpression
Definition
IntegerLiteralExpression.h:9
storm::expressions::RationalLiteralExpression
Definition
RationalLiteralExpression.h:11
storm::expressions::UnaryBooleanFunctionExpression
Definition
UnaryBooleanFunctionExpression.h:9
storm::expressions::UnaryNumericalFunctionExpression
Definition
UnaryNumericalFunctionExpression.h:9
storm::expressions::VariableExpression
Definition
VariableExpression.h:10
storm::gbar::abstraction::AbstractionInformation
Definition
AbstractionInformation.h:43
storm::gbar::abstraction::ExpressionTranslator
Definition
ExpressionTranslator.h:29
storm::gbar::abstraction::ExpressionTranslator::translate
storm::dd::Bdd< DdType > translate(storm::expressions::Expression const &expression)
Definition
ExpressionTranslator.cpp:29
storm::gbar::abstraction::ExpressionTranslator::visit
virtual boost::any visit(storm::expressions::IfThenElseExpression const &expression, boost::any const &data)
Definition
ExpressionTranslator.cpp:34
storm::dft::modelchecker::Bdd
SFTBDDChecker::Bdd Bdd
Definition
SFTBDDChecker.cpp:14
storm::gbar
Definition
AbstractionInformation.cpp:13
storm
LabParser.cpp.
Definition
cli.cpp:18
src
storm-gamebased-ar
abstraction
ExpressionTranslator.h
Generated by
1.9.8