Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
RTT::scripting::DataCallParser Class Reference

#include <ExpressionParser.hpp>

Public Member Functions

 DataCallParser (ExpressionParser &p, CommonParser &cp, TaskContext *pc, ExecutionEngine *caller)
 
ConditionInterfacegetParseCmdResult ()
 
boost::shared_ptr< SendHandleAliasgetParseHandle ()
 
base::DataSourceBasegetParseResult ()
 
rule_tparser ()
 
 ~DataCallParser ()
 

Private Types

enum  CallType { DEFAULT_CALLTYPE, CALLTYPE_CALL, CALLTYPE_SEND, CALLTYPE_CMD }
 

Private Member Functions

void seendatacall ()
 
void seendataname ()
 
void seenmethodname (iter_t begin, iter_t end)
 
void seenobjectname (iter_t begin, iter_t end)
 

Private Attributes

std::stack< ArgumentsParser * > argparsers
 
rule_t arguments
 
CommonParsercommonparser
 
rule_t datacall
 
ExpressionParserexpressionparser
 
ExecutionEnginemcaller
 
enum RTT::scripting::DataCallParser::CallType mcalltype
 
ConditionInterfacemcmdcnd
 
rule_t method
 
boost::shared_ptr< SendHandleAliasmhandle
 
std::string mmethod
 
std::string mobject
 
rule_t object
 
PeerParser peerparser
 
rule_t peerpath
 
base::DataSourceBase::shared_ptr ret
 

Detailed Description

This parser parses a call of the form "a.b( arg1, arg2, ..., argN )".

Todo:
check why lexeme_d[] is used in implementation, thus why datacalls are parsed on the character level instead of on the phrase level. (probably for the dots ?)

Definition at line 66 of file ExpressionParser.hpp.

Member Enumeration Documentation

Enumerator
DEFAULT_CALLTYPE 
CALLTYPE_CALL 
CALLTYPE_SEND 
CALLTYPE_CMD 

Definition at line 74 of file ExpressionParser.hpp.

Constructor & Destructor Documentation

RTT::DataCallParser::DataCallParser ( ExpressionParser p,
CommonParser cp,
TaskContext pc,
ExecutionEngine caller 
)

Definition at line 91 of file ExpressionParser.cpp.

RTT::DataCallParser::~DataCallParser ( )

Definition at line 291 of file ExpressionParser.cpp.

Member Function Documentation

ConditionInterface* RTT::scripting::DataCallParser::getParseCmdResult ( )
inline

Definition at line 100 of file ExpressionParser.hpp.

boost::shared_ptr<SendHandleAlias> RTT::scripting::DataCallParser::getParseHandle ( )
inline

Definition at line 104 of file ExpressionParser.hpp.

base::DataSourceBase* RTT::scripting::DataCallParser::getParseResult ( )
inline

Definition at line 96 of file ExpressionParser.hpp.

rule_t& RTT::scripting::DataCallParser::parser ( )
inline

Definition at line 91 of file ExpressionParser.hpp.

void RTT::DataCallParser::seendatacall ( )
private

Definition at line 206 of file ExpressionParser.cpp.

void RTT::DataCallParser::seendataname ( )
private

Definition at line 146 of file ExpressionParser.cpp.

void RTT::DataCallParser::seenmethodname ( iter_t  begin,
iter_t  end 
)
private

Definition at line 124 of file ExpressionParser.cpp.

void RTT::DataCallParser::seenobjectname ( iter_t  begin,
iter_t  end 
)
private

Definition at line 118 of file ExpressionParser.cpp.

Member Data Documentation

std::stack<ArgumentsParser*> RTT::scripting::DataCallParser::argparsers
private

Definition at line 86 of file ExpressionParser.hpp.

rule_t RTT::scripting::DataCallParser::arguments
private

Definition at line 76 of file ExpressionParser.hpp.

CommonParser& RTT::scripting::DataCallParser::commonparser
private

Definition at line 83 of file ExpressionParser.hpp.

rule_t RTT::scripting::DataCallParser::datacall
private

Definition at line 76 of file ExpressionParser.hpp.

ExpressionParser& RTT::scripting::DataCallParser::expressionparser
private

Definition at line 84 of file ExpressionParser.hpp.

ExecutionEngine* RTT::scripting::DataCallParser::mcaller
private

Definition at line 73 of file ExpressionParser.hpp.

enum RTT::scripting::DataCallParser::CallType RTT::scripting::DataCallParser::mcalltype
private
ConditionInterface* RTT::scripting::DataCallParser::mcmdcnd
private

Definition at line 70 of file ExpressionParser.hpp.

rule_t RTT::scripting::DataCallParser::method
private

Definition at line 76 of file ExpressionParser.hpp.

boost::shared_ptr<SendHandleAlias> RTT::scripting::DataCallParser::mhandle
private

Definition at line 69 of file ExpressionParser.hpp.

std::string RTT::scripting::DataCallParser::mmethod
private

Definition at line 72 of file ExpressionParser.hpp.

std::string RTT::scripting::DataCallParser::mobject
private

Definition at line 71 of file ExpressionParser.hpp.

rule_t RTT::scripting::DataCallParser::object
private

Definition at line 76 of file ExpressionParser.hpp.

PeerParser RTT::scripting::DataCallParser::peerparser
private

Definition at line 85 of file ExpressionParser.hpp.

rule_t RTT::scripting::DataCallParser::peerpath
private

Definition at line 76 of file ExpressionParser.hpp.

base::DataSourceBase::shared_ptr RTT::scripting::DataCallParser::ret
private

Definition at line 68 of file ExpressionParser.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47