|
MADARA
3.1.8
|
Contains the KaRL expression tree interpreter and related classes. More...
Classes | |
| class | Add |
| Addition node of the parse tree. More... | |
| class | And |
| Logically and node of the parse tree. More... | |
| class | ArrayRef |
| Leaf node for an array reference. More... | |
| class | Assignment |
| Assign the value of an expression to a variable. More... | |
| class | Both |
| Evaluates both left and right children, regardless of values. More... | |
| class | ClearVariable |
| Clears a variable in the knowledge base. More... | |
| class | ComponentNode |
| An abstract base class defines a simple abstract implementation of an expression tree node. More... | |
| class | CompositeAddNode |
| A composite node that encompasses addition of two expressions. More... | |
| class | CompositeAndNode |
| A composite node that performs a logical and. More... | |
| class | CompositeArrayReference |
| Defines a terminal node of that references the current value stored in a variable. More... | |
| class | CompositeAssignmentNode |
| A composite node that allows for variable assignment. More... | |
| class | CompositeBinaryNode |
| Defines a left and right node (via inheritance from CompositeUnaryNode). More... | |
| class | CompositeBothNode |
| A composite node that evaluates both left and right expressions regardless of their evaluations. More... | |
| class | CompositeConstArray |
| A composite node that contains an array of values. More... | |
| class | CompositeDivideNode |
| A composite node that divides a left expression by a right one. More... | |
| class | CompositeEqualityNode |
| A composite node that compares left and right expressions for equality. More... | |
| class | CompositeForLoop |
| A composite node that iterates until a condition is met. More... | |
| class | CompositeFunctionNode |
| A composite node that calls a function. More... | |
| class | CompositeGreaterThanEqualNode |
| A composite node that compares left and right expressions for greater than or equal to. More... | |
| class | CompositeGreaterThanNode |
| A composite node that compares left and right children for greater than. More... | |
| class | CompositeImpliesNode |
| A composite node that performs an implication (inference rule) More... | |
| class | CompositeInequalityNode |
| A composite node that compares left and right children for inequality. More... | |
| class | CompositeLessThanEqualNode |
| A composite node that compares left and right children for less than or equal to. More... | |
| class | CompositeLessThanNode |
| A composite node that compares left and right children for less than. More... | |
| class | CompositeModulusNode |
| A composite node that divides a left expression by a right expression and returns the remainder of the division. More... | |
| class | CompositeMultiplyNode |
| A composite node that multiplies a left expression by a right expression. More... | |
| class | CompositeNegateNode |
| A composite node that integrally negates a right expression. More... | |
| class | CompositeNotNode |
| A composite node that logically nots a right expression. More... | |
| class | CompositeOrNode |
| A composite node that performs a logical or. More... | |
| class | CompositePostdecrementNode |
| A composite node that decrements a left expression. More... | |
| class | CompositePostincrementNode |
| A composite node that increments a right expression. More... | |
| class | CompositePredecrementNode |
| A composite node that decrements a right expression. More... | |
| class | CompositePreincrementNode |
| A composite node that increments a right expression. More... | |
| class | CompositeReturnRightNode |
| A composite node that evaluates both left and right expressions regardless of their evaluations. More... | |
| class | CompositeSequentialNode |
| A composite node that evaluates both left and right expressions regardless of their evaluations. More... | |
| class | CompositeSquareRootNode |
| A composite node that takes the square root of a term. More... | |
| class | CompositeSubtractNode |
| A composite node that encompasses subtraction of a right expression from a left expression. More... | |
| class | CompositeTernaryNode |
| class | CompositeUnaryNode |
| Encapsulates a single expression tree. More... | |
| class | ConstArray |
| A constant array that should not be changed. More... | |
| class | Cos |
| Returns the cosine of a term (radians) More... | |
| class | DeleteVariable |
| Deletes a variable from the knowledge base. More... | |
| class | Divide |
| Division node of the parse tree. More... | |
| class | Equality |
| Check and left and right arguments for equality. More... | |
| class | Eval |
| Evaluates a Knowledge Record and returns result. More... | |
| class | ExpandEnv |
| Expands a statement, e.g. More... | |
| class | ExpandStatement |
| Expands a statement, e.g. More... | |
| class | ExpressionTree |
| Encapsulates a MADARA KaRL expression into an evaluatable tree. More... | |
| class | ExpressionTreeConstIterator |
| Constant iterator over an expression tree. More... | |
| class | ExpressionTreeIterator |
| Non-const iterator for traversing an expression tree. More... | |
| class | ExpressionTreeIteratorFactory |
| Implementation of a factory pattern that dynamically allocates the appropriate ExpressionTreeIteratorImpl object. More... | |
| class | ExpressionTreeIteratorImpl |
| Implementation of the ExpressionTreeIterator pattern that is used to define the various iterations algorithms that can be performed to traverse the expression tree. More... | |
| class | ForLoop |
| Iterative looping node of the parse tree. More... | |
| class | Fragment |
| Fragment the Knowledge Record. More... | |
| class | Function |
| Function node of the parse tree. More... | |
| class | GetClock |
| Returns the clock of the argument or the system clock. More... | |
| class | GetTime |
| Returns the wall clock time. More... | |
| class | GetTimeSeconds |
| Returns the wall clock time in seconds. More... | |
| class | GreaterThan |
| Check and left and right arguments for greater than. More... | |
| class | GreaterThanEqual |
| Check and left and right arguments for greater than or equal to. More... | |
| class | Implies |
| Assign the value of an expression to a variable. More... | |
| class | Inequality |
| Check and left and right arguments for inequality. More... | |
| class | InOrderIteratorImpl |
| Iterates through an ExpressionTree in in-order. More... | |
| class | Interpreter |
| Parses incoming expression strings into a parse tree and generates an expression tree from the parse tree. More... | |
| class | LeafNode |
| Defines a node that contains a madara::knowledge::KnowledgeRecord::Integer value. More... | |
| class | LessThan |
| Check and left and right arguments for less than. More... | |
| class | LessThanEqual |
| Check and left and right arguments for less than or equal to. More... | |
| class | LevelOrderExpressionTreeIteratorImpl |
| Iterates through an ExpressionTree in level-order. More... | |
| class | List |
| Parameter List. More... | |
| class | ListNode |
| Defines a terminal node that contains a list. More... | |
| class | LogLevel |
| Reads or sets the MADARA log level. More... | |
| class | Modulus |
| Modulus node of the parse tree (10 % 4 == 2) More... | |
| class | Multiply |
| Multiplication node of the parse tree. More... | |
| class | Negate |
| Negate node of the parse tree. More... | |
| class | Not |
| Logically not the right node. More... | |
| class | Number |
| Leaf node of parse tree. More... | |
| class | Operator |
| Abstract base class for all parse tree node operators. More... | |
| class | Or |
| Logically or node of the parse tree. More... | |
| class | Postdecrement |
| Postdecrement node of the parse tree. More... | |
| class | Postincrement |
| Postincrement node of the parse tree. More... | |
| class | PostOrderIteratorImpl |
| Iterates through an ExpressionTree in post-order. More... | |
| class | Power |
| Returns a base term taken to a power (exponent) More... | |
| class | Predecrement |
| Predecrement node of the parse tree. More... | |
| class | Preincrement |
| Preincrement node of the parse tree. More... | |
| class | PreOrderIteratorImpl |
| Iterates through an ExpressionTree in level-order. More... | |
| class | |
| Prints a Knowledge Record to the stderr. More... | |
| class | PrintSystemCalls |
| Prints a help menu for all system calls. More... | |
| class | RandDouble |
| Generates a random double. More... | |
| class | RandInt |
| Generates a random integer. More... | |
| class | ReadFile |
| Reads a file. More... | |
| class | ReturnRight |
| Evaluates both left and right children and returns right value. More... | |
| class | Sequence |
| Evaluates both left and right children, regardless of values. More... | |
| class | SetClock |
| Sets the system or a variable clock. More... | |
| class | SetFixed |
| Sets the output format to std::fixed. More... | |
| class | SetPrecision |
| Sets the precision of doubles. More... | |
| class | SetScientific |
| Sets the output to std::scientific. More... | |
| class | Sin |
| Returns the sin of a term (radians) More... | |
| class | Size |
| Returns the size of a record. More... | |
| class | Sleep |
| Sleeps for a certain amount of time. More... | |
| class | SquareRoot |
| Returns the square root of a term. More... | |
| class | SquareRootUnary |
| class | Subtract |
| Subtraction node of the parse tree. More... | |
| class | Symbol |
| Abstract base class of all parse tree nodes. More... | |
| class | SystemCall |
| Abstract base class for operators with 3+ potential subnodes. More... | |
| class | SystemCallClearVariable |
| Attempts to clear a variable. More... | |
| class | SystemCallCos |
| Returns the cosine of a term in radians. More... | |
| class | SystemCallDeleteVariable |
| Attempts to delete a variable. More... | |
| class | SystemCallEval |
| Evaluates a knowledge::KnowledgeRecord and returns the evaluation result. More... | |
| class | SystemCallExpandEnv |
| Returns the expansion of a statement with environment vars. More... | |
| class | SystemCallExpandStatement |
| Returns the expansion of a statement. More... | |
| class | SystemCallFragment |
| Returns a fragment of the knowledge record. More... | |
| class | SystemCallGetClock |
| Returns the system clock or a variable clock. More... | |
| class | SystemCallGetTime |
| Returns the time in nanoseconds since epoch. More... | |
| class | SystemCallGetTimeSeconds |
| Returns the current time in seconds since epoch. More... | |
| class | SystemCallLogLevel |
| Sets or returns the current MADARA logging level. More... | |
| class | SystemCallNode |
| Interface for a MADARA system call. More... | |
| class | SystemCallPow |
| Calculates a base term taken to a power. More... | |
| class | SystemCallPrint |
| Prints a Knowledge Record. More... | |
| class | SystemCallPrintSystemCalls |
| Prints all supported system calls. More... | |
| class | SystemCallRandDouble |
| Returns a random double. More... | |
| class | SystemCallRandInt |
| Returns a random integer. More... | |
| class | SystemCallReadFile |
| Reads a file from an user-provided file name. More... | |
| class | SystemCallSetClock |
| Sets the system clock or a variable clock. More... | |
| class | SystemCallSetFixed |
| Sets the output format to use std::fixed. More... | |
| class | SystemCallSetPrecision |
| Sets the double precision for converting doubles to a string and for printing. More... | |
| class | SystemCallSetScientific |
| Sets the output format to use std::scientific. More... | |
| class | SystemCallSin |
| Returns the sin of a term in radians. More... | |
| class | SystemCallSize |
| Returns the size of a specified knowledge record. More... | |
| class | SystemCallSleep |
| Sleeps for a certain amount of time. More... | |
| class | SystemCallSqrt |
| Returns the square root of a term. More... | |
| class | SystemCallTan |
| Returns the tangent of a term in radians. More... | |
| class | SystemCallToBuffer |
| Converts an argument into an unsigned char buffer. More... | |
| class | SystemCallToDouble |
| Converts an argument to a double. More... | |
| class | SystemCallToDoubles |
| Converts an argument to an array of doubles. More... | |
| class | SystemCallToHostDirs |
| Ensures the directory delimiters are appropriate for the host operating system (e.g., on Windows, '\' and Linux, '/') More... | |
| class | SystemCallToInteger |
| Converts an argument to an integer. More... | |
| class | SystemCallToIntegers |
| Converts an argument to an array of integers. More... | |
| class | SystemCallToString |
| Converts an argument to a string. More... | |
| class | SystemCallType |
| Returns the type of a specified knowledge record. More... | |
| class | SystemCallWriteFile |
| Writes a knowledge record to an user-specified file name. More... | |
| class | Tan |
| Returns the tangent of a term (radians) More... | |
| class | TernaryOperator |
| Abstract base class for operators with 3+ potential subnodes. More... | |
| class | ToBuffer |
| Returns a buffer. More... | |
| class | ToDouble |
| Returns a double. More... | |
| class | ToDoubles |
| Returns a double array. More... | |
| class | ToHostDirs |
| Returns a version that has a directory structure appropriate to the OS. More... | |
| class | ToInteger |
| Returns an integer. More... | |
| class | ToIntegers |
| Returns an integers. More... | |
| class | ToString |
| Returns a string. More... | |
| class | Type |
| Returns the type of a record. More... | |
| class | UnaryOperator |
| Abstract base class for all parse tree node operators. More... | |
| class | Variable |
| Leaf node of parse tree. More... | |
| class | VariableCompare |
| Increment a variable by a certain amount. More... | |
| class | VariableCompareNode |
| Defines a terminal node of that references the current value stored in a variable. More... | |
| class | VariableDecrement |
| Decrement a variable by a certain amount. More... | |
| class | VariableDecrementNode |
| Composite node that subtracts a variable by some right hand side. More... | |
| class | VariableDivide |
| Divide a variable by a certain amount. More... | |
| class | VariableDivideNode |
| Composite node that divides a variable by some right hand side. More... | |
| class | VariableIncrement |
| Increment a variable by a certain amount. More... | |
| class | VariableIncrementNode |
| Defines a terminal node of that references the current value stored in a variable. More... | |
| class | VariableMultiply |
| Multiply a variable by a certain amount. More... | |
| class | VariableMultiplyNode |
| Composite node that multiplies a variable by some right hand side. More... | |
| class | VariableNode |
| Defines a terminal node of that references the current value stored in a variable. More... | |
| class | Visitor |
| Abstract base class for all visitors to all classes that derive from ComponentNode. More... | |
| class | WriteFile |
| Writes a file. More... | |
Typedefs | |
| typedef std::deque< ComponentNode * > | ComponentNodes |
| a vector of Component Nodes More... | |
| typedef std::map< std::string, ExpressionTree > | ExpressionTreeMap |
| typedef std::vector< Symbol * > | Symbols |
| typedef std::map< std::string, std::string > | SystemCallsHelp |
Enumerations | |
| enum | { EQUALITY_CHAR = 0-1, INEQUALITY_CHAR = 0-2, GREATER_THAN_EQUAL = 0-3, LESSER_THAN_EQUAL = 0-4 } |
| enum | { BOTH_PRECEDENCE = 1, IMPLIES_PRECEDENCE = 2, ASSIGNMENT_PRECEDENCE = 3, LOGICAL_PRECEDENCE = 4, CONDITIONAL_PRECEDENCE = 5, ADD_PRECEDENCE = 6, SUBTRACT_PRECEDENCE = 6, MULTIPLY_PRECEDENCE = 7, MODULUS_PRECEDENCE = 7, DIVIDE_PRECEDENCE = 7, NEGATE_PRECEDENCE = 8, NUMBER_PRECEDENCE = 9, VARIABLE_PRECEDENCE = 9, FUNCTION_PRECEDENCE = 9, FOR_LOOP_PRECEDENCE = 9, PARENTHESIS_PRECEDENCE = 10 } |
Contains the KaRL expression tree interpreter and related classes.
| typedef std::deque<ComponentNode *> madara::expression::ComponentNodes |
a vector of Component Nodes
Definition at line 100 of file ComponentNode.h.
| typedef std::map<std::string, ExpressionTree> madara::expression::ExpressionTreeMap |
Definition at line 29 of file Interpreter.h.
| typedef std::vector<Symbol *> madara::expression::Symbols |
Definition at line 144 of file Interpreter.cpp.
| typedef std::map<std::string, std::string> madara::expression::SystemCallsHelp |
Definition at line 18 of file SystemCallPrintSystemCalls.h.
| anonymous enum |
| Enumerator | |
|---|---|
| EQUALITY_CHAR | |
| INEQUALITY_CHAR | |
| GREATER_THAN_EQUAL | |
| LESSER_THAN_EQUAL | |
Definition at line 40 of file ExpressionTree.cpp.
| anonymous enum |
Definition at line 89 of file Interpreter.cpp.