definedIntegerConstantDefinition=(((qi::lit("const")>>-qi::lit("int"))>>freshIdentifier)>>(qi::lit("=")>expression_>qi::lit(";")))[qi::_val=phoenix::bind(&PrismParser::createDefinedIntegerConstant,phoenix::ref(*this),qi::_1,qi::_2)];// '>>' before freshIdentifier because of the optional 'int'. Otherwise, undefined constant 'const bool b;' would not parse.
STORM_LOG_THROW(formulas.size()==this->formulaExpressions.size(),storm::exceptions::UnexpectedException,"Unexpected number of formulas and formula expressions");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<": Invalid expression for formula '"<<formula.getName()<<"' at line '"<<formula.getLineNumber()<<"':\n\t"<<*expressionIt);
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<": illegal identifier '"<<formula.getName()<<"' at line '"<<formula.getLineNumber());
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<": illegal identifier '"<<formulas[formulaIndex].getName()<<"' at line '"<<formulas[formulaIndex].getLineNumber());
STORM_LOG_ERROR("Parsing error in "<<this->getFilename()<<": Invalid expression for formula '"<<formulas[formulaIndex].getName()<<"' at line '"<<formulas[formulaIndex].getLineNumber()<<"':\n\t"<<formulaExpressions[formulaIndex]);
}
STORM_LOG_THROW(unprocessed.getNumberOfSetBits()==1,storm::exceptions::WrongFormatException,"Unable to parse expressions for "<<unprocessed.getNumberOfSetBits()<<" formulas. This could be due to circular dependencies");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Unable to parse expression for formula '"<<formulas[unprocessed.getNextSetIndex(0)].getName()<<"' formulas.");
STORM_LOG_THROW(!globalProgramInformation.hasInitialConstruct,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<": Program must not define two initial constructs.");