![]() |
Rosetta
3.7
|
Classes | |
class | AbsoluteValueExpression |
class | AddExpression |
class | AndExpression |
class | ArithmeticASTExpression |
class | ArithmeticASTFactor |
class | ArithmeticASTFunction |
class | ArithmeticASTNode |
Base class for Abstract Syntax Tree (AST) for the simple Arithmetic language defined here. More... | |
class | ArithmeticASTRestExpression |
class | ArithmeticASTRestTerm |
class | ArithmeticASTTerm |
class | ArithmeticASTValue |
either a variable or a literal. More... | |
class | ArithmeticScanner |
class | ASTPrinter |
Traverse the AST and print it to standard out. More... | |
class | ASTVisitor |
Double-dispatch visitor pattern for abstract syntax tree. More... | |
class | BinaryExpression |
class | BooleanExpressionCreator |
class | BooleanExpressionScanner |
class | DivideExpression |
class | EqualsExpression |
class | Expression |
Pure virtual base class to define arbitrary expressions for scripting arithmetic operations (e.g. addition and multipliction). More... | |
class | ExpressionCreator |
Class to traverse the abstract syntax tree produced by the parsing of a properly-formed string in the Arithmetic expression language. Produces an Expression tree capable of performing arithmetic. Connects the "variable" nodes in this tree to the owning WrapperOptEMultifunc so that their values can be retrieved during expression evaluation inside the WrapperOptEMultifunc functor. More... | |
class | FunctionToken |
class | GT_Expression |
Greater Than. More... | |
class | GTE_Expression |
Greater Than or Equal To. More... | |
class | ITEExpression |
class | LiteralExpression |
class | LiteralToken |
class | LT_Expression |
Less Than. More... | |
class | LTE_Expression |
Less Than or Equal To. More... | |
class | MaxExpression |
class | MetaMaxExpression |
Evaluates ee1 when e1 is larger than e2; evaluates ee2 otherwise. More... | |
class | MetaMinExpression |
Evaluates ee1 when e1 is less than e2; evaluates ee2 otherwise. More... | |
class | MinExpression |
class | MultiplyExpression |
class | NaryExpression |
class | NotExpression |
class | OrExpression |
class | SimpleExpressionCreator |
class | SimpleToken |
class | SquarerootExpression |
class | SubtractExpression |
class | Token |
class | TokenSet |
class | UnaryExpression |
class | VariableExpression |
class | VariableToken |
Enumerations | |
enum | TokenType { INVALID_TOKEN_TYPE, LITERAL, VARIABLE, FUNCTION, COMMA, LEFT_PAREN, RIGHT_PAREN, PLUS_SYMBOL, SUBTRACT_SYMBOL, MULTIPLY_SYMBOL, DIVIDE_SYMBOL } |
Functions | |
std::string | token_type_name (TokenType tt) |
bool | is_numeral (char c) |
bool | is_letter (char c) |
ExpressionCOP | parse_string_to_expression (std::string const &input_string) |
ExpressionCOP | parse_string_to_boolean_expression (std::string const &input_string) |
typedef utility::pointer::shared_ptr< AddExpression const > numeric::expression_parser::AddExpressionCOP |
typedef utility::pointer::shared_ptr< AddExpression > numeric::expression_parser::AddExpressionOP |
typedef utility::pointer::shared_ptr< ArithmeticASTExpression const > numeric::expression_parser::ArithmeticASTExpressionCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTExpression > numeric::expression_parser::ArithmeticASTExpressionOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFactor const > numeric::expression_parser::ArithmeticASTFactorCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFactor > numeric::expression_parser::ArithmeticASTFactorOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFunction const > numeric::expression_parser::ArithmeticASTFunctionCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFunction > numeric::expression_parser::ArithmeticASTFunctionOP |
typedef utility::pointer::shared_ptr< ArithmeticASTNode const > numeric::expression_parser::ArithmeticASTNodeCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTNode > numeric::expression_parser::ArithmeticASTNodeOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestExpression const > numeric::expression_parser::ArithmeticASTRestExpressionCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestExpression > numeric::expression_parser::ArithmeticASTRestExpressionOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestTerm const > numeric::expression_parser::ArithmeticASTRestTermCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestTerm > numeric::expression_parser::ArithmeticASTRestTermOP |
typedef utility::pointer::shared_ptr< ArithmeticASTTerm const > numeric::expression_parser::ArithmeticASTTermCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTTerm > numeric::expression_parser::ArithmeticASTTermOP |
typedef utility::pointer::shared_ptr< ArithmeticASTValue const > numeric::expression_parser::ArithmeticASTValueCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTValue > numeric::expression_parser::ArithmeticASTValueOP |
typedef utility::pointer::shared_ptr< ArithmeticScanner const > numeric::expression_parser::ArithmeticScannerCOP |
typedef utility::pointer::shared_ptr< ArithmeticScanner > numeric::expression_parser::ArithmeticScannerOP |
typedef utility::pointer::shared_ptr< ASTPrinter const > numeric::expression_parser::ASTPrinterCOP |
typedef utility::pointer::shared_ptr< ASTPrinter > numeric::expression_parser::ASTPrinterOP |
typedef utility::pointer::shared_ptr< ASTVisitor const > numeric::expression_parser::ASTVisitorCOP |
typedef utility::pointer::shared_ptr< ASTVisitor > numeric::expression_parser::ASTVisitorOP |
typedef utility::pointer::shared_ptr< BinaryExpression const > numeric::expression_parser::BinaryExpressionCOP |
typedef utility::pointer::shared_ptr< BinaryExpression > numeric::expression_parser::BinaryExpressionOP |
typedef utility::pointer::shared_ptr< DivideExpression const > numeric::expression_parser::DivideExpressionCOP |
typedef utility::pointer::shared_ptr< DivideExpression > numeric::expression_parser::DivideExpressionOP |
typedef utility::pointer::shared_ptr< Expression const > numeric::expression_parser::ExpressionCOP |
typedef utility::pointer::shared_ptr< Expression > numeric::expression_parser::ExpressionOP |
typedef utility::pointer::shared_ptr< FunctionToken const > numeric::expression_parser::FunctionTokenCOP |
typedef utility::pointer::shared_ptr< FunctionToken > numeric::expression_parser::FunctionTokenOP |
typedef utility::pointer::shared_ptr< LiteralExpression const > numeric::expression_parser::LiteralExpressionCOP |
typedef utility::pointer::shared_ptr< LiteralExpression > numeric::expression_parser::LiteralExpressionOP |
typedef utility::pointer::shared_ptr< LiteralToken const > numeric::expression_parser::LiteralTokenCOP |
typedef utility::pointer::shared_ptr< LiteralToken > numeric::expression_parser::LiteralTokenOP |
typedef utility::pointer::shared_ptr< MaxExpression const > numeric::expression_parser::MaxExpressionCOP |
typedef utility::pointer::shared_ptr< MaxExpression > numeric::expression_parser::MaxExpressionOP |
typedef utility::pointer::shared_ptr< MetaMaxExpression const > numeric::expression_parser::MetaMaxExpressionCOP |
typedef utility::pointer::shared_ptr< MetaMaxExpression > numeric::expression_parser::MetaMaxExpressionOP |
typedef utility::pointer::shared_ptr< MetaMinExpression const > numeric::expression_parser::MetaMinExpressionCOP |
typedef utility::pointer::shared_ptr< MetaMinExpression > numeric::expression_parser::MetaMinExpressionOP |
typedef utility::pointer::shared_ptr< MinExpression const > numeric::expression_parser::MinExpressionCOP |
typedef utility::pointer::shared_ptr< MinExpression > numeric::expression_parser::MinExpressionOP |
typedef utility::pointer::shared_ptr< MultiplyExpression const > numeric::expression_parser::MultiplyExpressionCOP |
typedef utility::pointer::shared_ptr< MultiplyExpression > numeric::expression_parser::MultiplyExpressionOP |
typedef utility::pointer::shared_ptr< SimpleToken const > numeric::expression_parser::SimpleTokenCOP |
typedef utility::pointer::shared_ptr< SimpleToken > numeric::expression_parser::SimpleTokenOP |
typedef utility::pointer::shared_ptr< SquarerootExpression const > numeric::expression_parser::SquarerootExpressionCOP |
typedef utility::pointer::shared_ptr< SquarerootExpression > numeric::expression_parser::SquarerootExpressionOP |
typedef utility::pointer::shared_ptr< SubtractExpression const > numeric::expression_parser::SubtractExpressionCOP |
typedef utility::pointer::shared_ptr< SubtractExpression > numeric::expression_parser::SubtractExpressionOP |
typedef utility::pointer::shared_ptr< Token const > numeric::expression_parser::TokenCOP |
typedef utility::pointer::shared_ptr< Token > numeric::expression_parser::TokenOP |
typedef utility::pointer::shared_ptr< TokenSet const > numeric::expression_parser::TokenSetCOP |
typedef utility::pointer::shared_ptr< TokenSet > numeric::expression_parser::TokenSetOP |
typedef utility::pointer::shared_ptr< UnaryExpression const > numeric::expression_parser::UnaryExpressionCOP |
typedef utility::pointer::shared_ptr< UnaryExpression > numeric::expression_parser::UnaryExpressionOP |
typedef utility::pointer::shared_ptr< VariableExpression const > numeric::expression_parser::VariableExpressionCOP |
typedef utility::pointer::shared_ptr< VariableExpression > numeric::expression_parser::VariableExpressionOP |
typedef utility::pointer::shared_ptr< VariableToken const > numeric::expression_parser::VariableTokenCOP |
typedef utility::pointer::shared_ptr< VariableToken > numeric::expression_parser::VariableTokenOP |
bool numeric::expression_parser::is_letter | ( | char | c | ) |
bool numeric::expression_parser::is_numeral | ( | char | c | ) |
Referenced by numeric::expression_parser::ArithmeticScanner::add_function(), numeric::expression_parser::ArithmeticScanner::add_variable(), numeric::expression_parser::ArithmeticScanner::scan(), numeric::expression_parser::ArithmeticScanner::scan_identifier(), and numeric::expression_parser::ArithmeticScanner::scan_literal().
ExpressionCOP numeric::expression_parser::parse_string_to_boolean_expression | ( | std::string const & | input_string | ) |
ExpressionCOP numeric::expression_parser::parse_string_to_expression | ( | std::string const & | input_string | ) |
std::string numeric::expression_parser::token_type_name | ( | TokenType | tt | ) |
References COMMA, DIVIDE_SYMBOL, FUNCTION, INVALID_TOKEN_TYPE, LEFT_PAREN, LITERAL, MULTIPLY_SYMBOL, PLUS_SYMBOL, RIGHT_PAREN, SUBTRACT_SYMBOL, and VARIABLE.
Referenced by numeric::expression_parser::ArithmeticASTFactor::parse(), numeric::expression_parser::ArithmeticASTValue::parse(), numeric::expression_parser::SimpleToken::to_string(), numeric::expression_parser::ASTPrinter::visit(), and numeric::expression_parser::ExpressionCreator::visit().