Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ToCppVisitor.h
Go to the documentation of this file.
1#pragma once
2
3#include <sstream>
4#include <unordered_map>
5
8
9namespace storm {
10namespace expressions {
11class Expression;
12
14
16 public:
17 ToCppTranslationOptions(std::unordered_map<storm::expressions::Variable, std::string> const& prefixes,
18 std::unordered_map<storm::expressions::Variable, std::string> const& names,
20
21 std::unordered_map<storm::expressions::Variable, std::string> const& getPrefixes() const;
22 std::unordered_map<storm::expressions::Variable, std::string> const& getNames() const;
23 ToCppTranslationMode const& getMode() const;
24
25 private:
26 std::reference_wrapper<std::unordered_map<storm::expressions::Variable, std::string> const> prefixes;
27 std::reference_wrapper<std::unordered_map<storm::expressions::Variable, std::string> const> names;
29};
30
32 public:
33 std::string translate(storm::expressions::Expression const& expression, ToCppTranslationOptions const& options);
34
35 virtual boost::any visit(IfThenElseExpression const& expression, boost::any const& data) override;
36 virtual boost::any visit(BinaryBooleanFunctionExpression const& expression, boost::any const& data) override;
37 virtual boost::any visit(BinaryNumericalFunctionExpression const& expression, boost::any const& data) override;
38 virtual boost::any visit(BinaryRelationExpression const& expression, boost::any const& data) override;
39 virtual boost::any visit(VariableExpression const& expression, boost::any const& data) override;
40 virtual boost::any visit(UnaryBooleanFunctionExpression const& expression, boost::any const& data) override;
41 virtual boost::any visit(UnaryNumericalFunctionExpression const& expression, boost::any const& data) override;
42 virtual boost::any visit(BooleanLiteralExpression const& expression, boost::any const& data) override;
43 virtual boost::any visit(IntegerLiteralExpression const& expression, boost::any const& data) override;
44 virtual boost::any visit(RationalLiteralExpression const& expression, boost::any const& data) override;
45
46 private:
47 std::stringstream stream;
48};
49
50} // namespace expressions
51} // namespace storm
std::unordered_map< storm::expressions::Variable, std::string > const & getNames() const
std::unordered_map< storm::expressions::Variable, std::string > const & getPrefixes() const
ToCppTranslationMode const & getMode() const
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data) override
std::string translate(storm::expressions::Expression const &expression, ToCppTranslationOptions const &options)
LabParser.cpp.
Definition cli.cpp:18