Rosetta
|
Classes | |
class | Token |
class | LiteralToken |
class | VariableToken |
class | FunctionToken |
class | SimpleToken |
class | TokenSet |
class | ArithmeticScanner |
class | BooleanExpressionScanner |
class | ArithmeticASTNode |
Base class for Abstract Syntax Tree (AST) for the simple Arithmetic language defined here. More... | |
class | ArithmeticASTExpression |
class | ArithmeticASTFunction |
class | ArithmeticASTTerm |
class | ArithmeticASTFactor |
class | ArithmeticASTOrClause |
class | ArithmeticASTAndClause |
class | ArithmeticASTValue |
either a variable or a literal. More... | |
class | ArithmeticASTRestTerm |
class | ArithmeticASTRestOrClause |
class | ArithmeticASTRestAndClause |
class | ArithmeticASTRestExpression |
class | ASTVisitor |
Double-dispatch visitor pattern for abstract syntax tree. More... | |
class | ASTPrinter |
Traverse the AST and print it to standard out. 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 | SimpleExpressionCreator |
class | BooleanExpressionCreator |
class | Expression |
Pure virtual base class to define arbitrary expressions for scripting arithmetic operations (e.g. addition and multipliction). More... | |
class | LiteralExpression |
class | VariableExpression |
class | UnaryExpression |
class | BinaryExpression |
class | NaryExpression |
class | SquarerootExpression |
class | AbsoluteValueExpression |
class | AddExpression |
class | SubtractExpression |
class | MultiplyExpression |
class | DivideExpression |
class | MaxExpression |
class | MinExpression |
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 | EqualsExpression |
class | GT_Expression |
Greater Than. More... | |
class | GTE_Expression |
Greater Than or Equal To. More... | |
class | LT_Expression |
Less Than. More... | |
class | LTE_Expression |
Less Than or Equal To. More... | |
class | AndExpression |
class | OrExpression |
class | NotExpression |
class | ITEExpression |
Typedefs | |
typedef utility::pointer::shared_ptr< Token > | TokenOP |
typedef utility::pointer::shared_ptr< Token const > | TokenCOP |
typedef utility::pointer::shared_ptr< LiteralToken > | LiteralTokenOP |
typedef utility::pointer::shared_ptr< LiteralToken const > | LiteralTokenCOP |
typedef utility::pointer::shared_ptr< VariableToken > | VariableTokenOP |
typedef utility::pointer::shared_ptr< VariableToken const > | VariableTokenCOP |
typedef utility::pointer::shared_ptr< FunctionToken > | FunctionTokenOP |
typedef utility::pointer::shared_ptr< FunctionToken const > | FunctionTokenCOP |
typedef utility::pointer::shared_ptr< SimpleToken > | SimpleTokenOP |
typedef utility::pointer::shared_ptr< SimpleToken const > | SimpleTokenCOP |
typedef utility::pointer::shared_ptr< TokenSet > | TokenSetOP |
typedef utility::pointer::shared_ptr< TokenSet const > | TokenSetCOP |
typedef utility::pointer::shared_ptr< ArithmeticScanner > | ArithmeticScannerOP |
typedef utility::pointer::shared_ptr< ArithmeticScanner const > | ArithmeticScannerCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTNode > | ArithmeticASTNodeOP |
typedef utility::pointer::shared_ptr< ArithmeticASTNode const > | ArithmeticASTNodeCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTExpression > | ArithmeticASTExpressionOP |
typedef utility::pointer::shared_ptr< ArithmeticASTExpression const > | ArithmeticASTExpressionCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFunction > | ArithmeticASTFunctionOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFunction const > | ArithmeticASTFunctionCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTTerm > | ArithmeticASTTermOP |
typedef utility::pointer::shared_ptr< ArithmeticASTTerm const > | ArithmeticASTTermCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFactor > | ArithmeticASTFactorOP |
typedef utility::pointer::shared_ptr< ArithmeticASTFactor const > | ArithmeticASTFactorCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTOrClause > | ArithmeticASTOrClauseOP |
typedef utility::pointer::shared_ptr< ArithmeticASTOrClause const > | ArithmeticASTOrClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTAndClause > | ArithmeticASTAndClauseOP |
typedef utility::pointer::shared_ptr< ArithmeticASTAndClause const > | ArithmeticASTAndClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTValue > | ArithmeticASTValueOP |
typedef utility::pointer::shared_ptr< ArithmeticASTValue const > | ArithmeticASTValueCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestTerm > | ArithmeticASTRestTermOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestTerm const > | ArithmeticASTRestTermCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestAndClause > | ArithmeticASTRestAndClauseOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestAndClause const > | ArithmeticASTRestAndClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestOrClause > | ArithmeticASTRestOrClauseOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestOrClause const > | ArithmeticASTRestOrClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestExpression > | ArithmeticASTRestExpressionOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestExpression const > | ArithmeticASTRestExpressionCOP |
typedef utility::pointer::shared_ptr< ASTVisitor > | ASTVisitorOP |
typedef utility::pointer::shared_ptr< ASTVisitor const > | ASTVisitorCOP |
typedef utility::pointer::shared_ptr< ASTPrinter > | ASTPrinterOP |
typedef utility::pointer::shared_ptr< ASTPrinter const > | ASTPrinterCOP |
typedef utility::pointer::shared_ptr< Expression > | ExpressionOP |
typedef utility::pointer::shared_ptr< Expression const > | ExpressionCOP |
typedef utility::pointer::shared_ptr< LiteralExpression > | LiteralExpressionOP |
typedef utility::pointer::shared_ptr< LiteralExpression const > | LiteralExpressionCOP |
typedef utility::pointer::shared_ptr< VariableExpression > | VariableExpressionOP |
typedef utility::pointer::shared_ptr< VariableExpression const > | VariableExpressionCOP |
typedef utility::pointer::shared_ptr< UnaryExpression > | UnaryExpressionOP |
typedef utility::pointer::shared_ptr< UnaryExpression const > | UnaryExpressionCOP |
typedef utility::pointer::shared_ptr< BinaryExpression > | BinaryExpressionOP |
typedef utility::pointer::shared_ptr< BinaryExpression const > | BinaryExpressionCOP |
typedef utility::pointer::shared_ptr< SquarerootExpression > | SquarerootExpressionOP |
typedef utility::pointer::shared_ptr< SquarerootExpression const > | SquarerootExpressionCOP |
typedef utility::pointer::shared_ptr< AddExpression > | AddExpressionOP |
typedef utility::pointer::shared_ptr< AddExpression const > | AddExpressionCOP |
typedef utility::pointer::shared_ptr< SubtractExpression > | SubtractExpressionOP |
typedef utility::pointer::shared_ptr< SubtractExpression const > | SubtractExpressionCOP |
typedef utility::pointer::shared_ptr< MultiplyExpression > | MultiplyExpressionOP |
typedef utility::pointer::shared_ptr< MultiplyExpression const > | MultiplyExpressionCOP |
typedef utility::pointer::shared_ptr< DivideExpression > | DivideExpressionOP |
typedef utility::pointer::shared_ptr< DivideExpression const > | DivideExpressionCOP |
typedef utility::pointer::shared_ptr< MaxExpression > | MaxExpressionOP |
typedef utility::pointer::shared_ptr< MaxExpression const > | MaxExpressionCOP |
typedef utility::pointer::shared_ptr< MinExpression > | MinExpressionOP |
typedef utility::pointer::shared_ptr< MinExpression const > | MinExpressionCOP |
typedef utility::pointer::shared_ptr< MetaMaxExpression > | MetaMaxExpressionOP |
typedef utility::pointer::shared_ptr< MetaMaxExpression const > | MetaMaxExpressionCOP |
typedef utility::pointer::shared_ptr< MetaMinExpression > | MetaMinExpressionOP |
typedef utility::pointer::shared_ptr< MetaMinExpression const > | MetaMinExpressionCOP |
Enumerations | |
enum | TokenType { INVALID_TOKEN_TYPE , LITERAL , VARIABLE , FUNCTION , COMMA , LEFT_PAREN , RIGHT_PAREN , PLUS_SYMBOL , SUBTRACT_SYMBOL , MULTIPLY_SYMBOL , DIVIDE_SYMBOL , AND_SYMBOL , OR_SYMBOL , NOT_SYMBOL } |
Functions | |
std::string | token_type_name (TokenType tt) |
bool | is_numeral (char c) |
bool | is_letter (char c) |
std::string | to_uppercase (std::string const &s) |
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< ArithmeticASTAndClause const > numeric::expression_parser::ArithmeticASTAndClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTAndClause > numeric::expression_parser::ArithmeticASTAndClauseOP |
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< ArithmeticASTOrClause const > numeric::expression_parser::ArithmeticASTOrClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTOrClause > numeric::expression_parser::ArithmeticASTOrClauseOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestAndClause const > numeric::expression_parser::ArithmeticASTRestAndClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestAndClause > numeric::expression_parser::ArithmeticASTRestAndClauseOP |
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< ArithmeticASTRestOrClause const > numeric::expression_parser::ArithmeticASTRestOrClauseCOP |
typedef utility::pointer::shared_ptr< ArithmeticASTRestOrClause > numeric::expression_parser::ArithmeticASTRestOrClauseOP |
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 | ) |
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::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::to_uppercase | ( | std::string const & | s | ) |
std::string numeric::expression_parser::token_type_name | ( | TokenType | tt | ) |
References AND_SYMBOL, COMMA, enumerate_junctions::default, DIVIDE_SYMBOL, FUNCTION, INVALID_TOKEN_TYPE, LEFT_PAREN, LITERAL, MULTIPLY_SYMBOL, NOT_SYMBOL, OR_SYMBOL, PLUS_SYMBOL, RIGHT_PAREN, SUBTRACT_SYMBOL, tt, 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().