stx Namespace Reference

STX - Some Template Extensions namespace. More...


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.


Detailed Description

STX - Some Template Extensions namespace.

Function Documentation

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().


Generated on Tue Jul 17 16:51:58 2007 for STX Expression Parser by  doxygen 1.5.2