Classes | |
class | AnyScalar |
AnyScalar constructs objects holding a typed scalar value. More... | |
class | ExpressionParserException |
Base class for other exceptions of the expression parser and evaluators. More... | |
class | ConversionException |
ConversionException is an exception class thrown by some combinations of get and set in AnyScalar. More... | |
class | ArithmeticException |
ArithmeticException is an exception class thrown upon some arithmetic errors like integer divison by zero. More... | |
class | BadSyntaxException |
Exception class thrown when the parser recognizes a syntax error. More... | |
class | UnknownSymbolException |
Exception class thrown when the symbol table cannot find a variable or function. More... | |
class | BadFunctionCallException |
Exception class thrown when the symbol table cannot correctly execute a function. More... | |
class | SymbolTable |
Abstract class used for evaluation of variables and function placeholders within an expression. More... | |
class | EmptySymbolTable |
Concrete class used for evaluation of variables and function placeholders within an expression. More... | |
class | BasicSymbolTable |
Class representing variables and functions placeholders within an expression. More... | |
class | ParseNode |
ParseNode is the abstract node interface of different parse nodes. More... | |
class | ParseTree |
ParseTree contains the root node of a parse tree. More... | |
class | ParseTreeList |
ParseTreeList contains the root parse nodes of a list of expressions. More... | |
Namespaces | |
namespace | Grammar |
Enclosure for the spirit parser grammar and hidden parse node implementation classes. | |
Functions | |
template AnyScalar | AnyScalar::binary_arith_op< std::plus, '+'> (const AnyScalar &b) const |
Forced instantiation of binary_arith_op for AnyScalar::operator+(). | |
template AnyScalar | AnyScalar::binary_arith_op< std::minus, '-'> (const AnyScalar &b) const |
Forced instantiation of binary_arith_op for AnyScalar::operator-(). | |
template AnyScalar | AnyScalar::binary_arith_op< std::multiplies, '*'> (const AnyScalar &b) const |
Forced instantiation of binary_arith_op for AnyScalar::operator*(). | |
template AnyScalar | AnyScalar::binary_arith_op< std::divides, '/'> (const AnyScalar &b) const |
Forced instantiation of binary_arith_op for AnyScalar::operator/(). | |
template bool | AnyScalar::binary_comp_op< std::equal_to, 0 > (const AnyScalar &b) const |
Forced instantiation of binary_comp_op for AnyScalar::equal_to(). | |
template bool | AnyScalar::binary_comp_op< std::not_equal_to, 1 > (const AnyScalar &b) const |
Forced instantiation of binary_comp_op for AnyScalar::not_equal_to(). | |
template bool | AnyScalar::binary_comp_op< std::less, 2 > (const AnyScalar &b) const |
Forced instantiation of binary_comp_op for AnyScalar::less(). | |
template bool | AnyScalar::binary_comp_op< std::greater, 3 > (const AnyScalar &b) const |
Forced instantiation of binary_comp_op for " greater-than.">AnyScalar::greater(). | |
template bool | AnyScalar::binary_comp_op< std::less_equal, 4 > (const AnyScalar &b) const |
Forced instantiation of binary_comp_op for AnyScalar::less_equal(). | |
template bool | AnyScalar::binary_comp_op< std::greater_equal, 5 > (const AnyScalar &b) const |
Forced instantiation of binary_comp_op for =" greater-or-equal-than.">AnyScalar::greater_equal(). | |
static std::ostream & | operator<< (std::ostream &stream, const AnyScalar &as) |
Make AnyScalar outputtable to ostream. | |
const ParseTree | parseExpression (const std::string &input) |
Parse the given input expression into a parse tree. | |
std::string | parseExpressionXML (const std::string &input) |
Parse the given input expression into a parse tree. | |
ParseTreeList | parseExpressionList (const std::string &input) |
Parse the given input as an expression list "expr1, expr2, ..." into a vector of parse trees. |
const ParseTree stx::parseExpression | ( | const std::string & | input | ) |
Parse the given input expression into a parse tree.
The parse tree is represented by its root node, which can be evaluated.
Definition at line 1294 of file ExpressionParser.cc.
References stx::Grammar::build_expr().
ParseTreeList stx::parseExpressionList | ( | const std::string & | input | ) |
Parse the given input as an expression list "expr1, expr2, ..." into a vector of parse trees.
Each parse tree is represented by its root node, which can be evaluated.
Definition at line 1352 of file ExpressionParser.cc.
References stx::Grammar::build_exprlist().
std::string stx::parseExpressionXML | ( | const std::string & | input | ) |
Parse the given input expression into a parse tree.
The parse tree is then transformed into a XML tree for better visualisation.
Definition at line 1322 of file ExpressionParser.cc.
References stx::Grammar::tree_dump_xml().