Public Member Functions | Private Types | Private Member Functions | Private Attributes
RTT::scripting::StateGraphParser Class Reference

#include <StateGraphParser.hpp>

List of all members.

Public Member Functions

ParsedStateMachinePtr getParserResult ()
std::vector
< ParsedStateMachinePtr
parse (iter_t &begin, iter_t end)
rule_t & parser ()
 StateGraphParser (iter_t &positer, TaskContext *tc, ExecutionEngine *caller, CommonParser *cp)
void storeOffset ()
 ~StateGraphParser ()

Private Types

typedef std::map< std::string,
StateMachineBuilder * > 
machinebuilders_t
typedef std::map< std::string,
ParsedStateMachinePtr
machinenamemap_t
typedef std::map< std::string,
base::AttributeBase * > 
machineparams_t
typedef std::map< std::string,
base::DataSourceBase::shared_ptr
machineparamvalues_t
typedef std::map< std::string,
StateDescription * > 
machinestatesmap_t
typedef boost::shared_ptr
< ParsedStateMachine
ParsedStateMachinePtr

Private Member Functions

void clear ()
void doselect (const std::string &name)
boost::shared_ptr
< ProgramInterface
finishProgram ()
void inpreconditions ()
void inprogram (const std::string &name)
void noselect ()
void saveText (iter_t begin, iter_t end)
void seencondition ()
void seenelse ()
void seenelseprog ()
void seenendcondition ()
void seenentry ()
void seeneventargs ()
void seeneventname (iter_t s, iter_t f)
void seeneventtrans ()
void seenexit ()
void seenfinalstate ()
void seenhandle ()
void seeninitialstate ()
void seeninstmachinename (iter_t begin, iter_t end)
void seenmachineinstantiation ()
void seenmachineinstargumentname (iter_t begin, iter_t end)
void seenmachineinstargumentvalue ()
void seenmachineparam ()
void seenmachinetypename (iter_t begin, iter_t end)
void seenmachinevariable ()
void seenprecondition ()
void seenpreconditions ()
void seenrootmachineinstantiation ()
void seenrun ()
void seenselect (iter_t s, iter_t f)
void seenstateend ()
void seenstatemachineend ()
void seenstatemachinename (iter_t begin, iter_t end)
void seensubMachineinstantiation ()
void seentransprog ()
void startrootmachineinstantiation ()
void statedef (iter_t s, iter_t f)

Private Attributes

rule_t argslist
ArgumentsParserargsparser
rule_t body
ExecutionEnginecaller
CommonParsercommonparser
ConditionParserconditionparser
TaskContextcontext
std::map< std::string,
ConditionCache * > 
cur_port_events
ConditionInterfacecurcondition
bool curfinalstateflag
bool curinitialstateflag
ParsedStateMachinePtr curinstantiatedmachine
std::string curinstmachinename
machineparamvalues_t curinstmachineparams
StateMachineBuildercurmachinebuilder
std::string curmachineinstargumentname
std::string curmachinename
StateDescriptioncurnonprecstate
boost::shared_ptr
< StateMachineService
curobject
StateDescriptioncurstate
ParsedStateMachinePtr curtemplate
rule_t elsebranch
boost::shared_ptr
< ProgramInterface
elseProgram
StateDescriptionelsestate
rule_t entry
std::vector
< base::DataSourceBase::shared_ptr
evargs
 store line number of select's 'if' statement.
rule_t eventline
std::string evname
rule_t exit
ExpressionParserexpressionparser
std::map< std::string,
ConditionCache * > 
global_port_events
rule_t handle
rule_t ifbranch
bool isroot
int ln_offset
rule_t machinealias
machinebuilders_t machinebuilders
rule_t machineconstant
rule_t machineinstantiation
rule_t machineinstargument
rule_t machineinstarguments
rule_t machinememvar
rule_t machineparam
rule_t machinevariable
our_pos_iter_t & mpositer
rule_t newline
std::vector
< base::ActionInterface * > 
paraminitcommands
ServicePtr peer
PeerParserpeerparser
rule_t precondition
rule_t preconditions
rule_t production
ProgramGraphParserprogParser
rule_t program
rule_t programBody
rule_t progselect
int rank
rule_t rootmachineinstantiation
machinenamemap_t rootmachines
rule_t run
our_pos_iter_t saveStartPos
unsigned int selectln
 are we instantiating a rootmachine ?
rule_t selector
rule_t state
rule_t statecontent
rule_t statecontentline
rule_t statemachine
rule_t statemachinecontent
rule_t subMachinedecl
rule_t subMachinevarchange
rule_t transition
rule_t transitions
rule_t transline
boost::shared_ptr
< ProgramInterface
transProgram
ValueChangeParservaluechangeparser
rule_t vardec
std::vector
< base::ActionInterface * > 
varinitcommands
rule_t varline

Detailed Description

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.


Member Typedef Documentation

Definition at line 80 of file StateGraphParser.hpp.

Definition at line 76 of file StateGraphParser.hpp.

Definition at line 77 of file StateGraphParser.hpp.

Definition at line 78 of file StateGraphParser.hpp.

Definition at line 79 of file StateGraphParser.hpp.

Definition at line 75 of file StateGraphParser.hpp.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.

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.

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.

Returns the top-level parser for state machines. It parses one state machine definition or one state machine instantiation.

See also:
storeOffset()

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.

Definition at line 451 of file StateGraphParser.cpp.

void RTT::StateGraphParser::seenelse ( ) [private]

Definition at line 445 of file StateGraphParser.cpp.

Definition at line 438 of file StateGraphParser.cpp.

Definition at line 618 of file StateGraphParser.cpp.

Definition at line 405 of file StateGraphParser.cpp.

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.

Definition at line 625 of file StateGraphParser.cpp.

void RTT::StateGraphParser::seenexit ( ) [private]

Definition at line 412 of file StateGraphParser.cpp.

Definition at line 336 of file StateGraphParser.cpp.

Definition at line 419 of file StateGraphParser.cpp.

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.

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.

Definition at line 975 of file StateGraphParser.cpp.

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.

Definition at line 1057 of file StateGraphParser.cpp.

Definition at line 631 of file StateGraphParser.cpp.

Definition at line 894 of file StateGraphParser.cpp.

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.

Definition at line 364 of file StateGraphParser.cpp.

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.

Definition at line 927 of file StateGraphParser.cpp.

Definition at line 433 of file StateGraphParser.cpp.

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.

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.


Member Data Documentation

Definition at line 138 of file StateGraphParser.hpp.

Definition at line 162 of file StateGraphParser.hpp.

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.

Definition at line 116 of file StateGraphParser.hpp.

Definition at line 101 of file StateGraphParser.hpp.

Definition at line 94 of file StateGraphParser.hpp.

Definition at line 93 of file StateGraphParser.hpp.

Definition at line 87 of file StateGraphParser.hpp.

Definition at line 89 of file StateGraphParser.hpp.

Definition at line 90 of file StateGraphParser.hpp.

Definition at line 88 of file StateGraphParser.hpp.

Definition at line 91 of file StateGraphParser.hpp.

Definition at line 92 of file StateGraphParser.hpp.

Definition at line 96 of file StateGraphParser.hpp.

Definition at line 68 of file StateGraphParser.hpp.

Definition at line 95 of file StateGraphParser.hpp.

Definition at line 84 of file StateGraphParser.hpp.

Definition at line 147 of file StateGraphParser.hpp.

Definition at line 100 of file StateGraphParser.hpp.

Definition at line 99 of file StateGraphParser.hpp.

Definition at line 132 of file StateGraphParser.hpp.

store line number of select's 'if' statement.

Definition at line 114 of file StateGraphParser.hpp.

Definition at line 143 of file StateGraphParser.hpp.

Definition at line 115 of file StateGraphParser.hpp.

Definition at line 140 of file StateGraphParser.hpp.

Definition at line 161 of file StateGraphParser.hpp.

Definition at line 117 of file StateGraphParser.hpp.

Definition at line 139 of file StateGraphParser.hpp.

Definition at line 146 of file StateGraphParser.hpp.

Definition at line 111 of file StateGraphParser.hpp.

Definition at line 73 of file StateGraphParser.hpp.

Definition at line 155 of file StateGraphParser.hpp.

Definition at line 83 of file StateGraphParser.hpp.

Definition at line 154 of file StateGraphParser.hpp.

Definition at line 124 of file StateGraphParser.hpp.

Definition at line 150 of file StateGraphParser.hpp.

Definition at line 149 of file StateGraphParser.hpp.

Definition at line 151 of file StateGraphParser.hpp.

Definition at line 153 of file StateGraphParser.hpp.

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.

Definition at line 121 of file StateGraphParser.hpp.

Definition at line 85 of file StateGraphParser.hpp.

Definition at line 69 of file StateGraphParser.hpp.

Definition at line 163 of file StateGraphParser.hpp.

Definition at line 134 of file StateGraphParser.hpp.

Definition at line 133 of file StateGraphParser.hpp.

Definition at line 119 of file StateGraphParser.hpp.

Definition at line 97 of file StateGraphParser.hpp.

Definition at line 144 of file StateGraphParser.hpp.

Definition at line 141 of file StateGraphParser.hpp.

Definition at line 145 of file StateGraphParser.hpp.

used to sort conditions as they are generated and inserted in the StateMachine.

Definition at line 110 of file StateGraphParser.hpp.

Definition at line 122 of file StateGraphParser.hpp.

Definition at line 82 of file StateGraphParser.hpp.

Definition at line 135 of file StateGraphParser.hpp.

Definition at line 71 of file StateGraphParser.hpp.

are we instantiating a rootmachine ?

Definition at line 112 of file StateGraphParser.hpp.

Definition at line 148 of file StateGraphParser.hpp.

Definition at line 127 of file StateGraphParser.hpp.

Definition at line 130 of file StateGraphParser.hpp.

Definition at line 131 of file StateGraphParser.hpp.

Definition at line 123 of file StateGraphParser.hpp.

Definition at line 125 of file StateGraphParser.hpp.

Definition at line 129 of file StateGraphParser.hpp.

Definition at line 156 of file StateGraphParser.hpp.

Definition at line 137 of file StateGraphParser.hpp.

Definition at line 136 of file StateGraphParser.hpp.

Definition at line 142 of file StateGraphParser.hpp.

Definition at line 98 of file StateGraphParser.hpp.

Definition at line 160 of file StateGraphParser.hpp.

Definition at line 128 of file StateGraphParser.hpp.

Definition at line 86 of file StateGraphParser.hpp.

Definition at line 126 of file StateGraphParser.hpp.


The documentation for this class was generated from the following files:


rtt
Author(s): RTT Developers
autogenerated on Thu Jan 2 2014 11:35:45