Browse Source

WIP added grammar rules for gameFormula

Does not compile at this stage! This commit will be squashed asap.
main
Stefan Pranger 4 years ago
parent
commit
07d7ca9189
  1. 14
      src/storm-parsers/parser/FormulaParserGrammar.cpp

14
src/storm-parsers/parser/FormulaParserGrammar.cpp

@ -141,6 +141,20 @@ namespace storm {
gameFormula.name("game formula");
stateFormula = (orStateFormula | multiFormula | quantileFormula | gameFormula);
coalitionOperator = (qi::lit("<<")
> *( (identifier[phoenix::push_back(qi::_a, qi::_1)]
| qi::int_[phoenix::push_back(qi::_b, qi::_1)]) % ','
)
> qi::lit(">>"))[qi::_val = phoenix::bind(&FormulaParserGrammar::createCoalition, phoenix::ref(*this), qi::_a, qi::_b)];
coalitionOperator.name("coalition operator");
// only LRA for now, need to adapt this (beware of cyclic gameFormula pass!)
gameFormula = (coalitionOperator > longRunAverageOperator)[qi::_val = phoenix::bind(&FormulaParserGrammar::createGameFormula, phoenix::ref(*this), storm::logic::Coalition({}, {1}), qi::_1)];
gameFormula.name("game formula");
stateFormula = (orStateFormula | multiFormula | quantileFormula | gameFormula);
>>>>>>> f106b8332... WIP added grammar rules for gameFormula
stateFormula.name("state formula");
formulaName = qi::lit("\"") >> identifier >> qi::lit("\"") >> qi::lit(":");

Loading…
Cancel
Save