3#include <boost/any.hpp>
29 return apToFormulaMap;
33 STORM_LOG_THROW(apToFormulaMap.find(ap) == apToFormulaMap.end(), storm::exceptions::IllegalArgumentException,
34 "HOA path formula: Mapping for atomic proposition \"" + ap +
"\" already exists.");
35 apToFormulaMap[ap] = formula;
55 return visitor.
visit(*
this, data);
60 mapped.second->gatherAtomicExpressionFormulas(atomicExpressionFormulas);
66 mapped.second->gatherAtomicLabelFormulas(atomicLabelFormulas);
72 mapped.second->gatherReferencedRewardModels(referencedRewardModels);
81 for (
auto& ap : automaton->getAPSet().getAPs()) {
82 STORM_LOG_THROW(apToFormulaMap.find(ap) != apToFormulaMap.end(), storm::exceptions::ExpressionEvaluationException,
83 "For '" << automatonFile <<
"' HOA automaton, expression for atomic proposition '" << ap <<
"' is missing.");
91 out <<
"\"" << automatonFile <<
"\"";
92 for (
auto& mapping : apToFormulaMap) {
93 out <<
", \"" << mapping.first <<
"\" -> ";
94 mapping.second->writeToStream(out);
std::shared_ptr< DeterministicAutomaton > ptr
static DeterministicAutomaton::ptr parse(std::istream &in)
#define STORM_LOG_THROW(cond, exception, message)
void closeFile(std::ofstream &stream)
Close the given file after writing.
void openFile(std::string const &filepath, std::ofstream &filestream, bool append=false, bool silent=false)
Open the given file for writing.