@ -26,7 +26,7 @@ namespace storm {
instantaneousRewardFormula = ( qi : : lit ( " I= " ) > expressionParser ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createInstantaneousRewardFormula , phoenix : : ref ( * this ) , qi : : _1 ) ] ;
instantaneousRewardFormula . name ( " instantaneous reward formula " ) ;
cumulativeRewardFormula = ( qi : : lit ( " C " ) > > ( timeBound % qi : : lit ( " , " ) ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createCumulativeRewardFormula , phoenix : : ref ( * this ) , qi : : _1 ) ] ;
cumulativeRewardFormula = ( qi : : lit ( " C " ) > > timeBounds ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createCumulativeRewardFormula , phoenix : : ref ( * this ) , qi : : _1 ) ] ;
cumulativeRewardFormula . name ( " cumulative reward formula " ) ;
totalRewardFormula = ( qi : : lit ( " C " ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createTotalRewardFormula , phoenix : : ref ( * this ) ) ] ;
@ -59,7 +59,7 @@ namespace storm {
notStateFormula = ( unaryBooleanOperator_ > > atomicStateFormulaWithoutExpression ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createUnaryBooleanStateFormula , phoenix : : ref ( * this ) , qi : : _2 , qi : : _1 ) ] | atomicStateFormula [ qi : : _val = qi : : _1 ] ;
notStateFormula . name ( " negation formula " ) ;
eventuallyFormula = ( qi : : lit ( " F " ) > > - ( timeBound % qi : : lit ( " , " ) ) > > pathFormulaWithoutUntil ( qi : : _r1 ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createEventuallyFormula , phoenix : : ref ( * this ) , qi : : _1 , qi : : _r1 , qi : : _2 ) ] ;
eventuallyFormula = ( qi : : lit ( " F " ) > > ( - timeBounds ) > > pathFormulaWithoutUntil ( qi : : _r1 ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createEventuallyFormula , phoenix : : ref ( * this ) , qi : : _1 , qi : : _r1 , qi : : _2 ) ] ;
eventuallyFormula . name ( " eventually formula " ) ;
globallyFormula = ( qi : : lit ( " G " ) > > pathFormulaWithoutUntil ( qi : : _r1 ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createGloballyFormula , phoenix : : ref ( * this ) , qi : : _1 ) ] ;
@ -71,7 +71,7 @@ namespace storm {
pathFormulaWithoutUntil = eventuallyFormula ( qi : : _r1 ) | globallyFormula ( qi : : _r1 ) | nextFormula ( qi : : _r1 ) | stateFormula ;
pathFormulaWithoutUntil . name ( " path formula " ) ;
untilFormula = pathFormulaWithoutUntil ( qi : : _r1 ) [ qi : : _val = qi : : _1 ] > > * ( qi : : lit ( " U " ) > > - ( timeBound % qi : : lit ( " , " ) ) > > pathFormulaWithoutUntil ( qi : : _r1 ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createUntilFormula , phoenix : : ref ( * this ) , qi : : _val , qi : : _1 , qi : : _2 ) ] ;
untilFormula = pathFormulaWithoutUntil ( qi : : _r1 ) [ qi : : _val = qi : : _1 ] > > * ( qi : : lit ( " U " ) > > ( - timeBounds ) > > pathFormulaWithoutUntil ( qi : : _r1 ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createUntilFormula , phoenix : : ref ( * this ) , qi : : _val , qi : : _1 , qi : : _2 ) ] ;
untilFormula . name ( " until formula " ) ;
conditionalFormula = untilFormula ( qi : : _r1 ) [ qi : : _val = qi : : _1 ] > > * ( qi : : lit ( " || " ) > > untilFormula ( storm : : logic : : FormulaContext : : Probability ) ) [ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createConditionalFormula , phoenix : : ref ( * this ) , qi : : _val , qi : : _1 , qi : : _r1 ) ] ;
@ -88,6 +88,9 @@ namespace storm {
[ qi : : _val = phoenix : : bind ( & FormulaParserGrammar : : createTimeBoundFromSingleBound , phoenix : : ref ( * this ) , qi : : _2 , qi : : _a , qi : : _b , qi : : _1 ) ] ;
timeBound . name ( " time bound " ) ;
timeBounds = ( timeBound % qi : : lit ( " , " ) ) | ( ( ( - qi : : lit ( " ^ " ) > > qi : : lit ( " { " ) ) > > ( timeBound % qi : : lit ( " , " ) ) ) > > qi : : lit ( " } " ) ) ;
timeBounds . name ( " time bounds " ) ;
pathFormula = conditionalFormula ( qi : : _r1 ) ;
pathFormula . name ( " path formula " ) ;