#include <StateGraphParser.hpp>
This is not a parser in the Boost.spirit sense of the word, it's just a class used to hold the parser and semantic actions..
This class does the actual work. It generates a Finite State Graph, by constructing the State nodes. We just go over the code one single time, and construct the FSM as we go. For every statement, we construct a new GraphNode, and fill it up as we get the information we need.
Definition at line 61 of file StateGraphParser.hpp.
typedef std::map<std::string, StateMachineBuilder*> RTT::scripting::StateGraphParser::machinebuilders_t [private] |
Definition at line 80 of file StateGraphParser.hpp.
typedef std::map<std::string, ParsedStateMachinePtr> RTT::scripting::StateGraphParser::machinenamemap_t [private] |
Definition at line 76 of file StateGraphParser.hpp.
typedef std::map<std::string, base::AttributeBase*> RTT::scripting::StateGraphParser::machineparams_t [private] |
Definition at line 77 of file StateGraphParser.hpp.
typedef std::map<std::string, base::DataSourceBase::shared_ptr> RTT::scripting::StateGraphParser::machineparamvalues_t [private] |
Definition at line 78 of file StateGraphParser.hpp.
typedef std::map<std::string, StateDescription*> RTT::scripting::StateGraphParser::machinestatesmap_t [private] |
Definition at line 79 of file StateGraphParser.hpp.
typedef boost::shared_ptr<ParsedStateMachine> RTT::scripting::StateGraphParser::ParsedStateMachinePtr [private] |
Definition at line 75 of file StateGraphParser.hpp.
RTT::StateGraphParser::StateGraphParser | ( | iter_t & | positer, |
TaskContext * | tc, | ||
ExecutionEngine * | caller, | ||
CommonParser * | cp | ||
) |
peerparser->parser() >>
Definition at line 101 of file StateGraphParser.cpp.
Definition at line 781 of file StateGraphParser.cpp.
void RTT::StateGraphParser::clear | ( | ) | [private] |
Definition at line 789 of file StateGraphParser.cpp.
void RTT::StateGraphParser::doselect | ( | const std::string & | name | ) | [private] |
Definition at line 512 of file StateGraphParser.cpp.
ProgramInterfacePtr RTT::StateGraphParser::finishProgram | ( | ) | [private] |
Definition at line 400 of file StateGraphParser.cpp.
Returns the last state machine instantiation of parser() or null if no instantiations were seen.
Definition at line 321 of file StateGraphParser.cpp.
void RTT::StateGraphParser::inpreconditions | ( | ) | [private] |
Definition at line 886 of file StateGraphParser.cpp.
void RTT::StateGraphParser::inprogram | ( | const std::string & | name | ) | [private] |
Definition at line 388 of file StateGraphParser.cpp.
void RTT::StateGraphParser::noselect | ( | ) | [private] |
Definition at line 497 of file StateGraphParser.cpp.
std::vector< ParsedStateMachinePtr > RTT::StateGraphParser::parse | ( | iter_t & | begin, |
iter_t | end | ||
) |
Definition at line 718 of file StateGraphParser.cpp.
rule_t & RTT::StateGraphParser::parser | ( | ) |
Returns the top-level parser for state machines. It parses one state machine definition or one state machine instantiation.
Definition at line 317 of file StateGraphParser.cpp.
void RTT::StateGraphParser::saveText | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 876 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seencondition | ( | ) | [private] |
Definition at line 451 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenelse | ( | ) | [private] |
Definition at line 445 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenelseprog | ( | ) | [private] |
Definition at line 438 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenendcondition | ( | ) | [private] |
Definition at line 618 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenentry | ( | ) | [private] |
Definition at line 405 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seeneventargs | ( | ) | [private] |
Definition at line 490 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seeneventname | ( | iter_t | s, |
iter_t | f | ||
) | [private] |
Definition at line 460 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seeneventtrans | ( | ) | [private] |
Definition at line 625 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenexit | ( | ) | [private] |
Definition at line 412 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenfinalstate | ( | ) | [private] |
Definition at line 336 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenhandle | ( | ) | [private] |
Definition at line 419 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seeninitialstate | ( | ) | [private] |
Definition at line 331 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seeninstmachinename | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 963 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenmachineinstantiation | ( | ) | [private] |
Definition at line 987 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenmachineinstargumentname | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 969 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenmachineinstargumentvalue | ( | ) | [private] |
Definition at line 975 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenmachineparam | ( | ) | [private] |
Definition at line 1065 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenmachinetypename | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 954 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenmachinevariable | ( | ) | [private] |
Definition at line 1057 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenprecondition | ( | ) | [private] |
Definition at line 631 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenpreconditions | ( | ) | [private] |
Definition at line 894 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenrootmachineinstantiation | ( | ) | [private] |
Definition at line 905 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenrun | ( | ) | [private] |
Definition at line 426 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenselect | ( | iter_t | s, |
iter_t | f | ||
) | [private] |
Definition at line 506 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenstateend | ( | ) | [private] |
Definition at line 364 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenstatemachineend | ( | ) | [private] |
Definition at line 645 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seenstatemachinename | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 845 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seensubMachineinstantiation | ( | ) | [private] |
Definition at line 927 of file StateGraphParser.cpp.
void RTT::StateGraphParser::seentransprog | ( | ) | [private] |
Definition at line 433 of file StateGraphParser.cpp.
void RTT::StateGraphParser::startrootmachineinstantiation | ( | ) | [private] |
Definition at line 901 of file StateGraphParser.cpp.
void RTT::StateGraphParser::statedef | ( | iter_t | s, |
iter_t | f | ||
) | [private] |
Definition at line 341 of file StateGraphParser.cpp.
void RTT::StateGraphParser::storeOffset | ( | ) |
Stores the current position in the input stream (iterator received from the constructor) in order to be able to extract the statemachine's text from the input stream. You need to call this function once before using the parser().
Definition at line 868 of file StateGraphParser.cpp.
rule_t RTT::scripting::StateGraphParser::argslist [private] |
Definition at line 138 of file StateGraphParser.hpp.
Definition at line 162 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::body [private] |
Definition at line 120 of file StateGraphParser.hpp.
Definition at line 66 of file StateGraphParser.hpp.
Definition at line 158 of file StateGraphParser.hpp.
Definition at line 159 of file StateGraphParser.hpp.
Definition at line 64 of file StateGraphParser.hpp.
std::map<std::string,ConditionCache*> RTT::scripting::StateGraphParser::cur_port_events [private] |
Definition at line 116 of file StateGraphParser.hpp.
Definition at line 101 of file StateGraphParser.hpp.
bool RTT::scripting::StateGraphParser::curfinalstateflag [private] |
Definition at line 94 of file StateGraphParser.hpp.
bool RTT::scripting::StateGraphParser::curinitialstateflag [private] |
Definition at line 93 of file StateGraphParser.hpp.
Definition at line 87 of file StateGraphParser.hpp.
std::string RTT::scripting::StateGraphParser::curinstmachinename [private] |
Definition at line 89 of file StateGraphParser.hpp.
Definition at line 90 of file StateGraphParser.hpp.
Definition at line 88 of file StateGraphParser.hpp.
std::string RTT::scripting::StateGraphParser::curmachineinstargumentname [private] |
Definition at line 91 of file StateGraphParser.hpp.
std::string RTT::scripting::StateGraphParser::curmachinename [private] |
Definition at line 92 of file StateGraphParser.hpp.
Definition at line 96 of file StateGraphParser.hpp.
boost::shared_ptr<StateMachineService> RTT::scripting::StateGraphParser::curobject [private] |
Definition at line 68 of file StateGraphParser.hpp.
Definition at line 95 of file StateGraphParser.hpp.
Definition at line 84 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::elsebranch [private] |
Definition at line 147 of file StateGraphParser.hpp.
boost::shared_ptr<ProgramInterface> RTT::scripting::StateGraphParser::elseProgram [private] |
Definition at line 100 of file StateGraphParser.hpp.
Definition at line 99 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::entry [private] |
Definition at line 132 of file StateGraphParser.hpp.
std::vector<base::DataSourceBase::shared_ptr> RTT::scripting::StateGraphParser::evargs [private] |
store line number of select's 'if' statement.
Definition at line 114 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::eventline [private] |
Definition at line 143 of file StateGraphParser.hpp.
std::string RTT::scripting::StateGraphParser::evname [private] |
Definition at line 115 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::exit [private] |
Definition at line 140 of file StateGraphParser.hpp.
Definition at line 161 of file StateGraphParser.hpp.
std::map<std::string,ConditionCache*> RTT::scripting::StateGraphParser::global_port_events [private] |
Definition at line 117 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::handle [private] |
Definition at line 139 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::ifbranch [private] |
Definition at line 146 of file StateGraphParser.hpp.
bool RTT::scripting::StateGraphParser::isroot [private] |
Definition at line 111 of file StateGraphParser.hpp.
int RTT::scripting::StateGraphParser::ln_offset [private] |
Definition at line 73 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machinealias [private] |
Definition at line 155 of file StateGraphParser.hpp.
Definition at line 83 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machineconstant [private] |
Definition at line 154 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machineinstantiation [private] |
Definition at line 124 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machineinstargument [private] |
Definition at line 150 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machineinstarguments [private] |
Definition at line 149 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machinememvar [private] |
Definition at line 151 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machineparam [private] |
Definition at line 153 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::machinevariable [private] |
Definition at line 152 of file StateGraphParser.hpp.
our_pos_iter_t& RTT::scripting::StateGraphParser::mpositer [private] |
Definition at line 70 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::newline [private] |
Definition at line 121 of file StateGraphParser.hpp.
std::vector<base::ActionInterface*> RTT::scripting::StateGraphParser::paraminitcommands [private] |
Definition at line 85 of file StateGraphParser.hpp.
Definition at line 69 of file StateGraphParser.hpp.
Definition at line 163 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::precondition [private] |
Definition at line 134 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::preconditions [private] |
Definition at line 133 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::production [private] |
Definition at line 119 of file StateGraphParser.hpp.
Definition at line 97 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::program [private] |
Definition at line 144 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::programBody [private] |
Definition at line 141 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::progselect [private] |
Definition at line 145 of file StateGraphParser.hpp.
int RTT::scripting::StateGraphParser::rank [private] |
used to sort conditions as they are generated and inserted in the StateMachine.
Definition at line 110 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::rootmachineinstantiation [private] |
Definition at line 122 of file StateGraphParser.hpp.
Definition at line 82 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::run [private] |
Definition at line 135 of file StateGraphParser.hpp.
our_pos_iter_t RTT::scripting::StateGraphParser::saveStartPos [private] |
Definition at line 71 of file StateGraphParser.hpp.
unsigned int RTT::scripting::StateGraphParser::selectln [private] |
are we instantiating a rootmachine ?
Definition at line 112 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::selector [private] |
Definition at line 148 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::state [private] |
Definition at line 127 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::statecontent [private] |
Definition at line 130 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::statecontentline [private] |
Definition at line 131 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::statemachine [private] |
Definition at line 123 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::statemachinecontent [private] |
Definition at line 125 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::subMachinedecl [private] |
Definition at line 129 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::subMachinevarchange [private] |
Definition at line 156 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::transition [private] |
Definition at line 137 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::transitions [private] |
Definition at line 136 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::transline [private] |
Definition at line 142 of file StateGraphParser.hpp.
boost::shared_ptr<ProgramInterface> RTT::scripting::StateGraphParser::transProgram [private] |
Definition at line 98 of file StateGraphParser.hpp.
Definition at line 160 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::vardec [private] |
Definition at line 128 of file StateGraphParser.hpp.
std::vector<base::ActionInterface*> RTT::scripting::StateGraphParser::varinitcommands [private] |
Definition at line 86 of file StateGraphParser.hpp.
rule_t RTT::scripting::StateGraphParser::varline [private] |
Definition at line 126 of file StateGraphParser.hpp.