|
|
@ -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(":"); |
|
|
|