16class ImcaParserGrammar :
public qi::grammar<Iterator, storm::storage::sparse::ModelComponents<ValueType>(), Skipper> {
23 std::pair<StateType, ValueType> createStateValuePair(StateType
const& state, ValueType
const& value);
24 StateType getStateIndex(std::string
const& stateString);
25 void addInitialState(StateType
const& state);
26 void addGoalState(StateType
const& state);
27 void addChoiceToStateBehavior(StateType
const& state, std::string
const& label, std::vector<std::pair<StateType, ValueType>>
const& transitions,
28 boost::optional<ValueType>
const& reward);
31 qi::rule<Iterator, storm::storage::sparse::ModelComponents<ValueType>(), Skipper> start;
33 qi::rule<
Iterator, qi::unused_type(), Skipper> initials;
34 qi::rule<
Iterator, qi::unused_type(), Skipper> goals;
35 qi::rule<
Iterator, qi::unused_type(), Skipper> transitions;
37 qi::rule<
Iterator, qi::unused_type(), Skipper> choice;
38 qi::rule<Iterator, std::pair<StateType, ValueType>(), Skipper> transition;
39 qi::rule<
Iterator, std::string(), Skipper> choicelabel;
40 qi::rule<
Iterator, ValueType(), Skipper> reward;
41 qi::rule<
Iterator, StateType(), Skipper> state;
42 qi::rule<
Iterator, ValueType(), Skipper> value;
44 bool buildChoiceLabels;
48 StateType numTransitions;
52 std::vector<storm::generator::StateBehavior<ValueType, StateType>> stateBehaviors;
54 std::map<std::string, StateType> stateIndices;