#include <ExpressionParser.hpp>
Public Member Functions | |
void | dropResult () |
ExpressionParser (TaskContext *pc, ExecutionEngine *caller, CommonParser &common_parser) | |
ConditionInterface * | getCmdResult () |
boost::shared_ptr< base::AttributeBase > | getHandle () |
base::DataSourceBase::shared_ptr | getResult () |
bool | hasResult () |
rule_t & | parser () |
~ExpressionParser () | |
Private Member Functions | |
void | inverttime () |
void | seen_assign () |
void | seen_binary (const std::string &op) |
void | seen_dotmember (iter_t begin, iter_t end) |
void | seen_index () |
void | seen_unary (const std::string &op) |
void | seenconstructor () |
void | seendatacall () |
void | seentimeexpr () |
void | seentimespec (int n) |
void | seentimeunit (iter_t begin, iter_t end) |
void | seenvalue () |
How we parse: this parser works like a stack-based RPN calculator. An atomic expression pushes one internal::DataSource up the stack, a binary expression pops two DataSources, and pushes a new one, a unary pops one, and pushes one etc. This allows for the reentrancy we need..
Definition at line 146 of file ExpressionParser.hpp.
RTT::ExpressionParser::ExpressionParser | ( | TaskContext * | pc, |
ExecutionEngine * | caller, | ||
CommonParser & | common_parser | ||
) |
Definition at line 373 of file ExpressionParser.cpp.
RTT::ExpressionParser::~ExpressionParser | ( | ) |
Definition at line 612 of file ExpressionParser.cpp.
void RTT::ExpressionParser::dropResult | ( | ) |
Definition at line 757 of file ExpressionParser.cpp.
ConditionInterface * RTT::ExpressionParser::getCmdResult | ( | ) |
Definition at line 631 of file ExpressionParser.cpp.
boost::shared_ptr< AttributeBase > RTT::ExpressionParser::getHandle | ( | ) |
In case the parsed result returns a SendHandle, ask the parser to also create a handle for it.
Definition at line 637 of file ExpressionParser.cpp.
DataSourceBase::shared_ptr RTT::ExpressionParser::getResult | ( | ) |
Definition at line 625 of file ExpressionParser.cpp.
|
inline |
Definition at line 227 of file ExpressionParser.hpp.
|
private |
Definition at line 539 of file ExpressionParser.cpp.
rule_t & RTT::ExpressionParser::parser | ( | ) |
Definition at line 620 of file ExpressionParser.cpp.
|
private |
Definition at line 687 of file ExpressionParser.cpp.
|
private |
Definition at line 670 of file ExpressionParser.cpp.
Definition at line 657 of file ExpressionParser.cpp.
|
private |
Definition at line 741 of file ExpressionParser.cpp.
|
private |
Definition at line 643 of file ExpressionParser.cpp.
|
private |
Definition at line 606 of file ExpressionParser.cpp.
|
private |
Definition at line 598 of file ExpressionParser.cpp.
|
private |
Definition at line 544 of file ExpressionParser.cpp.
|
private |
Definition at line 587 of file ExpressionParser.cpp.
Definition at line 558 of file ExpressionParser.cpp.
|
private |
Definition at line 592 of file ExpressionParser.cpp.
|
private |
Definition at line 201 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
The governing common parser.
Definition at line 199 of file ExpressionParser.hpp.
|
private |
Definition at line 195 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 204 of file ExpressionParser.hpp.
|
private |
Definition at line 194 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 168 of file ExpressionParser.hpp.
|
private |
Contains the last SendHandle encountered, Will also be dropped by dropResult().
Definition at line 166 of file ExpressionParser.hpp.
|
private |
Definition at line 172 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 176 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 202 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
The parse stack.. see the comment for this class ( scroll up ;) ) for info on the general idea. We keep a reference to the DataSources in here, while they're in here..
Definition at line 161 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 179 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 148 of file ExpressionParser.hpp.
|
private |
Definition at line 200 of file ExpressionParser.hpp.