#include <ExpressionParser.hpp>
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 140 of file ExpressionParser.hpp.
RTT::ExpressionParser::ExpressionParser | ( | TaskContext * | pc, |
ExecutionEngine * | caller, | ||
CommonParser & | cp | ||
) |
Definition at line 332 of file ExpressionParser.cpp.
Definition at line 569 of file ExpressionParser.cpp.
void RTT::ExpressionParser::dropResult | ( | ) |
Definition at line 697 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 588 of file ExpressionParser.cpp.
Definition at line 582 of file ExpressionParser.cpp.
bool RTT::scripting::ExpressionParser::hasResult | ( | ) | [inline] |
Definition at line 218 of file ExpressionParser.hpp.
void RTT::ExpressionParser::inverttime | ( | ) | [private] |
Definition at line 497 of file ExpressionParser.cpp.
rule_t & RTT::ExpressionParser::parser | ( | ) |
Definition at line 577 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seen_assign | ( | ) | [private] |
Definition at line 636 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seen_binary | ( | const std::string & | op | ) | [private] |
Definition at line 619 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seen_dotmember | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 606 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seen_index | ( | ) | [private] |
Definition at line 681 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seen_unary | ( | const std::string & | op | ) | [private] |
Definition at line 594 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seenconstructor | ( | ) | [private] |
Definition at line 563 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seendatacall | ( | ) | [private] |
Definition at line 556 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seentimeexpr | ( | ) | [private] |
Definition at line 502 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seentimespec | ( | int | n | ) | [private] |
Definition at line 545 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seentimeunit | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 516 of file ExpressionParser.cpp.
void RTT::ExpressionParser::seenvalue | ( | ) | [private] |
Definition at line 550 of file ExpressionParser.cpp.
bool RTT::scripting::ExpressionParser::_invert_time [private] |
Definition at line 193 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::andexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::assignexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::atomicexpression [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::call_expression [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::close_brace [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::comma [private] |
Definition at line 142 of file ExpressionParser.hpp.
The governing common parser.
Definition at line 191 of file ExpressionParser.hpp.
Definition at line 187 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::constructor_expression [private] |
Definition at line 142 of file ExpressionParser.hpp.
Definition at line 196 of file ExpressionParser.hpp.
Definition at line 186 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::div_or_mul [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::dotexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::equalexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::expression [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::greatereqexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::greaterexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::groupexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::ifthenelseexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::indexexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
boost::shared_ptr<base::AttributeBase> RTT::scripting::ExpressionParser::mhandle [private] |
Contains the last SendHandle encountered, Will also be dropped by dropResult().
Definition at line 160 of file ExpressionParser.hpp.
std::string RTT::scripting::ExpressionParser::mobjectname [private] |
Definition at line 164 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::modexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
std::string RTT::scripting::ExpressionParser::mpropname [private] |
Definition at line 168 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::notequalexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
Definition at line 194 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::orexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
std::stack<base::DataSourceBase::shared_ptr> RTT::scripting::ExpressionParser::parsestack [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 155 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::plus_or_min [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::smallereqexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::smallerexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::time_expression [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::time_spec [private] |
Definition at line 142 of file ExpressionParser.hpp.
nsecs RTT::scripting::ExpressionParser::tsecs [private] |
Definition at line 171 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::unaryminusexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::unarynotexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::unaryplusexp [private] |
Definition at line 142 of file ExpressionParser.hpp.
rule_t RTT::scripting::ExpressionParser::value_expression [private] |
Definition at line 142 of file ExpressionParser.hpp.
Definition at line 192 of file ExpressionParser.hpp.