38 #ifndef EXECUTION_PROGRAM_PARSER_HPP 39 #define EXECUTION_PROGRAM_PARSER_HPP 47 #include "../TaskContext.hpp" 61 namespace RTT {
namespace scripting
108 typedef std::map<std::string, FunctionGraphPtr>
funcmap;
183 void cleanup(
bool remove_service);
std::vector< base::DataSourceBase::shared_ptr > callfnargs
void seenreturnstatement()
void cleanup(bool remove_service)
FunctionGraph::Edge ConditionEdge
boost::shared_ptr< FunctionGraph > FunctionGraphPtr
std::vector< ConditionInterface * > implcond_v
ProgramInterfacePtr bodyParserResult()
CommonParser & commonparser
FunctionGraphPtr mcallfunc
void clearParseState()
Clears helper variables of parser.
This interface represents the concept of a condition which can be evaluated and return true or false...
void seenreturntype(iter_t begin, iter_t end)
ArgumentsParser * argsparser
void programtext(iter_t, iter_t)
ConditionInterface * implcond
ConditionInterface * mcondition
boost::shared_ptr< FunctionGraphBuilder > program_builder
void programdef(iter_t begin, iter_t end)
ExpressionParser expressionparser
A Parser for Orocos Program Scripts.
void seenwhilestatement()
void seencallfunclabel(iter_t begin, iter_t end)
boost::shared_ptr< ProgramInterface > ProgramInterfacePtr
void initBodyParser(const std::string &name, Service::shared_ptr stck, int offset)
std::stack< base::ActionInterface * > for_incr_command
void seencallfuncstatement()
This class contains some very common parser definitions.
boost::shared_ptr< Service > shared_ptr
ProgramInterfacePtr programParserResult()
rule_t & functionParser()
ProgramGraphParser(iter_t &positer, TaskContext *context, ExecutionEngine *caller, CommonParser &cp)
position_iterator< our_iterator_t > our_pos_iter_t
Service::shared_ptr context
Based on the software pattern 'command', this interface allows execution of action objects...
std::map< std::string, FunctionGraphPtr > funcmap
void setStack(Service::shared_ptr st)
rule_t & statementParser()
FunctionGraphBuilder::ConditionEdge ConditionEdge
Service::shared_ptr fcontext
ConditionInterface * try_cond
void seenfuncidentifier(iter_t begin, iter_t end)
ValueChangeParser valuechangeparser
std::vector< ProgramInterfacePtr > parse(iter_t &begin, iter_t end)
Tries to parse programs, returns the generated programs on success.
std::vector< ProgramInterfacePtr > parseFunction(iter_t &begin, iter_t end)
ConditionParser conditionparser
our_pos_iter_t & mpositer
base::ActionInterface * for_init_command
std::vector< FunctionGraphPtr > program_list
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
void seenbreakstatement()
void functiondef(iter_t begin, iter_t end)
FunctionGraphBuilder::Graph Graph
boost::adjacency_list< boost::vecS, boost::listS, boost::directedS, VertProperty, EdgeProperty > Graph
FunctionGraph::Vertex CommandNode
FunctionGraphBuilder::CommandNode CommandNode