STORM_LOG_THROW(expression!=nullptr,storm::exceptions::WrongFormatException,"Parsing error in line "<<get_line(qi::_3)<<": Undeclared identifier '"<<identifier<<"'.");
STORM_LOG_THROW(this->identifiers_.find(newConstant)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(this->identifiers_.find(newConstant)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(this->identifiers_.find(newConstant)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(this->identifiers_.find(newConstant)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(this->identifiers_.find(newConstant)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(this->identifiers_.find(newConstant)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<newConstant<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<newConstant<<"'.");
STORM_LOG_THROW(this->identifiers_.find(variableName)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<variableName<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<variableName<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<variableName<<"'.");
STORM_LOG_THROW(this->identifiers_.find(variableName)==nullptr,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<variableName<<"'.");
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Duplicate identifier '"<<variableName<<"'.");
}else{
STORM_LOG_THROW(false,storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": illegal identifier '"<<variableName<<"'.");
STORM_LOG_THROW(renamingPair!=renaming.end(),storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Boolean variable '"<<variable.getName()<<" was not renamed.");
STORM_LOG_THROW(renamingPair!=renaming.end(),storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Integer variable '"<<variable.getName()<<" was not renamed.");
STORM_LOG_THROW(renamingPair!=renaming.end(),storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Boolean variable '"<<variable.getName()<<" was not renamed.");
STORM_LOG_THROW(renamingPair!=renaming.end(),storm::exceptions::WrongFormatException,"Parsing error in "<<this->getFilename()<<", line "<<get_line(qi::_3)<<": Integer variable '"<<variable.getName()<<" was not renamed.");
STORM_LOG_THROW(isValid,storm::exceptions::WrongFormatException,"Error in "<<constant.getFilename()<<", line "<<constant.getLineNumber()<<": defining expression refers to unknown identifiers.");
}
// Finally, register the type of the constant for later type checks.
STORM_LOG_THROW(isValid,storm::exceptions::WrongFormatException,"Error in "<<variable.getFilename()<<", line "<<variable.getLineNumber()<<": initial value expression refers to unknown constants.");
// Register the type of the constant for later type checks.
STORM_LOG_THROW(isValid,storm::exceptions::WrongFormatException,"Error in "<<variable.getFilename()<<", line "<<variable.getLineNumber()<<": initial value expression refers to unknown constants.");
// Register the type of the constant for later type checks.
STORM_LOG_THROW(isValid,storm::exceptions::WrongFormatException,"Error in "<<variable.getFilename()<<", line "<<variable.getLineNumber()<<": initial value expression refers to unknown constants.");
// Register the type of the constant for later type checks.
STORM_LOG_THROW(allIdentifiers.find(variable.getName())==allIdentifiers.end(),storm::exceptions::WrongFormatException,"Error in "<<variable.getFilename()<<", line "<<variable.getLineNumber()<<": duplicate identifier '"<<variable.getName()<<"'.");
// Register the type of the constant for later type checks.
STORM_LOG_THROW(alreadyAssignedIdentifiers.find(assignment.getVariableName())==alreadyAssignedIdentifiers.end(),storm::exceptions::WrongFormatException,"Error in "<<command.getFilename()<<", line "<<command.getLineNumber()<<": duplicate assignment to variable '"<<assignment.getVariableName()<<"'.");
STORM_LOG_THROW(variableTypePair->second==assignment.getExpression().getReturnType(),storm::exceptions::WrongFormatException,"Error in "<<command.getFilename()<<", line "<<command.getLineNumber()<<": illegally assigning a value of type '"<<assignment.getExpression().getReturnType()<<"' to variable '"<<variableTypePair->first<<"' of type '"<<variableTypePair->second<<"'.");
STORM_LOG_THROW(manager->getVariable(assignment.getVariableName()).getType()==assignment.getExpression().getType(),storm::exceptions::WrongFormatException,"Error in "<<command.getFilename()<<", line "<<command.getLineNumber()<<": illegally assigning a value of type '"<<assignment.getExpression().getType()<<"' to variable '"<<assignment.getVariableName()<<"' of type '"<<manager->getVariable(assignment.getVariableName()).getType()<<"'.");