diff --git a/src/parser/CslParser.cpp b/src/parser/CslParser.cpp index 4aa8f7d91..b16e441e8 100644 --- a/src/parser/CslParser.cpp +++ b/src/parser/CslParser.cpp @@ -80,8 +80,7 @@ struct CslParser::CslGrammar : qi::grammar> stateFormula >> qi::lit(")")) | (qi::lit("[") >> stateFormula >> qi::lit("]")); atomicStateFormula.name("atomic state formula"); - atomicProposition = (freeIdentifierName)[qi::_val = - MAKE(csl::Ap, qi::_1)]; + atomicProposition = (freeIdentifierName)[qi::_val = MAKE(csl::Ap, qi::_1)] | (qi::lit("\"") > (freeIdentifierName)[qi::_val = MAKE(csl::Ap, qi::_1)] > qi::lit("\"")); atomicProposition.name("atomic proposition"); probabilisticBoundOperator = ( (qi::lit("P") >> comparisonType > qi::double_ > pathFormula )[qi::_val = diff --git a/src/parser/LtlParser.cpp b/src/parser/LtlParser.cpp index 86fff3b03..79059e994 100644 --- a/src/parser/LtlParser.cpp +++ b/src/parser/LtlParser.cpp @@ -88,8 +88,7 @@ struct LtlParser::LtlGrammar : qi::grammar> formula >> qi::lit(")")| qi::lit("[") >> formula >> qi::lit("]"); atomicLtlFormula.name("Atomic LTL formula"); - atomicProposition = (freeIdentifierName)[qi::_val = - MAKE(ltl::Ap, qi::_1)]; + atomicProposition = (freeIdentifierName)[qi::_val = MAKE(ltl::Ap, qi::_1)] | (qi::lit("\"") > (freeIdentifierName)[qi::_val = MAKE(ltl::Ap, qi::_1)] > qi::lit("\"")); atomicProposition.name("Atomic Proposition"); //This block defines rules for parsing probabilistic path formulas diff --git a/src/parser/PrctlParser.cpp b/src/parser/PrctlParser.cpp index d2e6f06fa..d12fba12b 100644 --- a/src/parser/PrctlParser.cpp +++ b/src/parser/PrctlParser.cpp @@ -76,8 +76,7 @@ struct PrctlParser::PrctlGrammar : qi::grammar> stateFormula >> qi::lit(")") | qi::lit("[") >> stateFormula >> qi::lit("]"); atomicStateFormula.name("atomic state formula"); - atomicProposition = (freeIdentifierName)[qi::_val = - MAKE(prctl::Ap, qi::_1)]; + atomicProposition = (freeIdentifierName)[qi::_val = MAKE(prctl::Ap, qi::_1)] | (qi::lit("\"") > (freeIdentifierName)[qi::_val = MAKE(prctl::Ap, qi::_1)] > qi::lit("\"")); atomicProposition.name("atomic proposition"); probabilisticBoundOperator = ((qi::lit("P") >> comparisonType > qi::double_ > pathFormula)[qi::_val = MAKE(prctl::ProbabilisticBoundOperator, qi::_1, qi::_2, qi::_3)]);