Storm 1.11.1.1
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 (storm::RationalNumber const &value, bool &pass, bool &overflow) 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 17 of file ExpressionCreator.h.

Constructor & Destructor Documentation

◆ ExpressionCreator()

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

Definition at line 15 of file ExpressionCreator.cpp.

◆ ~ExpressionCreator()

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

Definition at line 19 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 60 of file ExpressionCreator.cpp.

◆ createBooleanLiteralExpression()

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

Definition at line 262 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 111 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 293 of file ExpressionCreator.cpp.

◆ createIntegerLiteralExpression()

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

Definition at line 245 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 25 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 270 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 157 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 37 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 134 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 180 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 326 of file ExpressionCreator.cpp.

◆ createRationalLiteralExpression()

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

Definition at line 232 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 82 of file ExpressionCreator.cpp.

◆ createRoundExpression()

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

Definition at line 315 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 206 of file ExpressionCreator.cpp.

◆ getAcceptDoubleLiterals()

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

Definition at line 47 of file ExpressionCreator.h.

◆ getIdentifierExpression()

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

Definition at line 347 of file ExpressionCreator.cpp.

◆ setAcceptDoubleLiterals()

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

Definition at line 51 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 362 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 372 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 383 of file ExpressionCreator.cpp.


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