Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::parser::ExpressionCreator Class Reference

#include <ExpressionCreator.h>

Public Member Functions

 ExpressionCreator (storm::expressions::ExpressionManager const &manager)
 
 ~ExpressionCreator ()
 
void setIdentifierMapping (qi::symbols< char, storm::expressions::Expression > const *identifiers_)
 Sets an identifier mapping that is used to determine valid variables in the expression.
 
void setIdentifierMapping (std::unordered_map< std::string, storm::expressions::Expression > const &identifierMapping)
 Sets an identifier mapping that is used to determine valid variables in the expression.
 
void unsetIdentifierMapping ()
 Unsets a previously set identifier mapping.
 
bool getAcceptDoubleLiterals () const
 
void setAcceptDoubleLiterals (bool set=true)
 
storm::expressions::Expression createIteExpression (storm::expressions::Expression const &e1, storm::expressions::Expression const &e2, storm::expressions::Expression const &e3, bool &pass) const
 
storm::expressions::Expression createOrExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createAndExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createRelationalExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createEqualsExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createPlusExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createMultExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createPowerModuloLogarithmExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createUnaryExpression (std::vector< storm::expressions::OperatorType > const &operatorType, storm::expressions::Expression const &e1, bool &pass) const
 
storm::expressions::Expression createRationalLiteralExpression (storm::RationalNumber const &value, bool &pass) const
 
storm::expressions::Expression createIntegerLiteralExpression (int64_t value, bool &pass) const
 
storm::expressions::Expression createBooleanLiteralExpression (bool value, bool &pass) const
 
storm::expressions::Expression createMinimumMaximumExpression (storm::expressions::Expression const &e1, storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e2, bool &pass) const
 
storm::expressions::Expression createFloorCeilExpression (storm::expressions::OperatorType const &operatorType, storm::expressions::Expression const &e1, bool &pass) const
 
storm::expressions::Expression createRoundExpression (storm::expressions::Expression const &e1, bool &pass) const
 
storm::expressions::Expression getIdentifierExpression (std::string const &identifier, bool &pass) const
 
storm::expressions::Expression createPredicateExpression (storm::expressions::OperatorType const &opTyp, std::vector< storm::expressions::Expression > const &operands, bool &pass) const
 

Detailed Description

Definition at line 18 of file ExpressionCreator.h.

Constructor & Destructor Documentation

◆ ExpressionCreator()

storm::parser::ExpressionCreator::ExpressionCreator ( storm::expressions::ExpressionManager const &  manager)

Definition at line 16 of file ExpressionCreator.cpp.

◆ ~ExpressionCreator()

storm::parser::ExpressionCreator::~ExpressionCreator ( )

Definition at line 20 of file ExpressionCreator.cpp.

Member Function Documentation

◆ createAndExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createAndExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 61 of file ExpressionCreator.cpp.

◆ createBooleanLiteralExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createBooleanLiteralExpression ( bool  value,
bool &  pass 
) const

Definition at line 254 of file ExpressionCreator.cpp.

◆ createEqualsExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createEqualsExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 112 of file ExpressionCreator.cpp.

◆ createFloorCeilExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createFloorCeilExpression ( storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e1,
bool &  pass 
) const

Definition at line 285 of file ExpressionCreator.cpp.

◆ createIntegerLiteralExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createIntegerLiteralExpression ( int64_t  value,
bool &  pass 
) const

Definition at line 246 of file ExpressionCreator.cpp.

◆ createIteExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createIteExpression ( storm::expressions::Expression const &  e1,
storm::expressions::Expression const &  e2,
storm::expressions::Expression const &  e3,
bool &  pass 
) const

Definition at line 26 of file ExpressionCreator.cpp.

◆ createMinimumMaximumExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createMinimumMaximumExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 262 of file ExpressionCreator.cpp.

◆ createMultExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createMultExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 158 of file ExpressionCreator.cpp.

◆ createOrExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createOrExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 38 of file ExpressionCreator.cpp.

◆ createPlusExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createPlusExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 135 of file ExpressionCreator.cpp.

◆ createPowerModuloLogarithmExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createPowerModuloLogarithmExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 181 of file ExpressionCreator.cpp.

◆ createPredicateExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createPredicateExpression ( storm::expressions::OperatorType const &  opTyp,
std::vector< storm::expressions::Expression > const &  operands,
bool &  pass 
) const

Definition at line 318 of file ExpressionCreator.cpp.

◆ createRationalLiteralExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createRationalLiteralExpression ( storm::RationalNumber const &  value,
bool &  pass 
) const

Definition at line 233 of file ExpressionCreator.cpp.

◆ createRelationalExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createRelationalExpression ( storm::expressions::Expression const &  e1,
storm::expressions::OperatorType const &  operatorType,
storm::expressions::Expression const &  e2,
bool &  pass 
) const

Definition at line 83 of file ExpressionCreator.cpp.

◆ createRoundExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createRoundExpression ( storm::expressions::Expression const &  e1,
bool &  pass 
) const

Definition at line 307 of file ExpressionCreator.cpp.

◆ createUnaryExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::createUnaryExpression ( std::vector< storm::expressions::OperatorType > const &  operatorType,
storm::expressions::Expression const &  e1,
bool &  pass 
) const

Definition at line 207 of file ExpressionCreator.cpp.

◆ getAcceptDoubleLiterals()

bool storm::parser::ExpressionCreator::getAcceptDoubleLiterals ( ) const
inline

Definition at line 48 of file ExpressionCreator.h.

◆ getIdentifierExpression()

storm::expressions::Expression storm::parser::ExpressionCreator::getIdentifierExpression ( std::string const &  identifier,
bool &  pass 
) const

Definition at line 339 of file ExpressionCreator.cpp.

◆ setAcceptDoubleLiterals()

void storm::parser::ExpressionCreator::setAcceptDoubleLiterals ( bool  set = true)
inline

Definition at line 52 of file ExpressionCreator.h.

◆ setIdentifierMapping() [1/2]

void storm::parser::ExpressionCreator::setIdentifierMapping ( qi::symbols< char, storm::expressions::Expression > const *  identifiers_)

Sets an identifier mapping that is used to determine valid variables in the expression.

The mapped-to expressions will be substituted wherever the key value appears in the parsed expression. After setting this, the parser will generate expressions.

Parameters
identifiers_A pointer to a mapping from identifiers to expressions.

Definition at line 354 of file ExpressionCreator.cpp.

◆ setIdentifierMapping() [2/2]

void storm::parser::ExpressionCreator::setIdentifierMapping ( std::unordered_map< std::string, storm::expressions::Expression > const &  identifierMapping)

Sets an identifier mapping that is used to determine valid variables in the expression.

The mapped-to expressions will be substituted wherever the key value appears in the parsed expression. After setting this, the parser will generate expressions.

Parameters
identifierMappingA mapping from identifiers to expressions.

Definition at line 364 of file ExpressionCreator.cpp.

◆ unsetIdentifierMapping()

void storm::parser::ExpressionCreator::unsetIdentifierMapping ( )

Unsets a previously set identifier mapping.

This will make the parser not generate expressions any more but merely check for syntactic correctness of an expression.

Definition at line 375 of file ExpressionCreator.cpp.


The documentation for this class was generated from the following files: