2 #ifndef _MADARA_VISITOR_H_ 3 #define _MADARA_VISITOR_H_ 11 class VariableDecrementNode;
12 class VariableDivideNode;
13 class VariableIncrementNode;
14 class VariableMultiplyNode;
15 class VariableCompareNode;
17 class CompositeArrayReference;
18 class CompositeConstArray;
19 class CompositeNegateNode;
20 class CompositePostdecrementNode;
21 class CompositePostincrementNode;
22 class CompositePredecrementNode;
23 class CompositePreincrementNode;
24 class CompositeNotNode;
25 class CompositeAddNode;
26 class CompositeBothNode;
27 class CompositeSequentialNode;
28 class CompositeSquareRootNode;
29 class CompositeFunctionNode;
30 class CompositeForLoop;
31 class CompositeImpliesNode;
32 class CompositeAssignmentNode;
33 class CompositeAndNode;
34 class CompositeOrNode;
35 class CompositeEqualityNode;
36 class CompositeInequalityNode;
37 class CompositeLessThanEqualNode;
38 class CompositeLessThanNode;
39 class CompositeGreaterThanEqualNode;
40 class CompositeGreaterThanNode;
41 class CompositeSubtractNode;
42 class CompositeDivideNode;
43 class CompositeMultiplyNode;
44 class CompositeModulusNode;
45 class CompositeReturnRightNode;
46 class SystemCallClearVariable;
48 class SystemCallDeleteVariable;
50 class SystemCallExpandEnv;
51 class SystemCallExpandStatement;
52 class SystemCallFragment;
53 class SystemCallGetClock;
54 class SystemCallGetTime;
55 class SystemCallGetTimeSeconds;
56 class SystemCallLogLevel;
58 class SystemCallPrint;
59 class SystemCallPrintSystemCalls;
60 class SystemCallRandDouble;
61 class SystemCallRandInt;
62 class SystemCallReadFile;
63 class SystemCallSetClock;
64 class SystemCallSetFixed;
65 class SystemCallSetPrecision;
66 class SystemCallSetScientific;
69 class SystemCallSleep;
72 class SystemCallToBuffer;
73 class SystemCallToDouble;
74 class SystemCallToDoubles;
75 class SystemCallToHostDirs;
76 class SystemCallToInteger;
77 class SystemCallToIntegers;
78 class SystemCallToString;
80 class SystemCallWriteFile;
Calculates a base term taken to a power.
Sets the system clock or a variable clock.
Returns the time in nanoseconds since epoch.
Composite node that divides a variable by some right hand side.
Sleeps for a certain amount of time.
Defines a terminal node of that references the current value stored in a variable.
A composite node that increments a right expression.
Returns the cosine of a term in radians.
Sets the output format to use std::scientific.
Converts an argument to an array of doubles.
Defines a terminal node of that references the current value stored in a variable.
A composite node that encompasses addition of two expressions.
A composite node that compares left and right children for inequality.
Returns a random integer.
Composite node that subtracts a variable by some right hand side.
A composite node that encompasses subtraction of a right expression from a left expression.
A composite node that iterates until a condition is met.
A composite node that divides a left expression by a right expression and returns the remainder of th...
A composite node that compares left and right expressions for greater than or equal to...
A composite node that evaluates both left and right expressions regardless of their evaluations...
A composite node that compares left and right children for less than or equal to. ...
Converts an argument to a string.
Returns the expansion of a statement.
A composite node that multiplies a left expression by a right expression.
A composite node that evaluates both left and right expressions regardless of their evaluations...
A composite node that takes the square root of a term.
A composite node that decrements a left expression.
Returns the sin of a term in radians.
A composite node that performs an implication (inference rule)
A composite node that decrements a right expression.
Attempts to clear a variable.
Attempts to delete a variable.
Returns a fragment of the knowledge record.
A composite node that evaluates both left and right expressions regardless of their evaluations...
A composite node that calls a function.
Defines a node that contains a madara::knowledge::KnowledgeRecord::Integer value. ...
Writes a knowledge record to an user-specified file name.
Converts an argument into an unsigned char buffer.
Returns the type of a specified knowledge record.
virtual ~Visitor(void)=0
No-op destructor to hold things together.
Sets or returns the current MADARA logging level.
Returns the size of a specified knowledge record.
A composite node that performs a logical and.
Returns the expansion of a statement with environment vars.
Converts an argument to an array of integers.
Returns the square root of a term.
Composite node that multiplies a variable by some right hand side.
A composite node that compares left and right expressions for equality.
Returns the current time in seconds since epoch.
Prints all supported system calls.
A composite node that increments a right expression.
Converts an argument to a double.
Evaluates a knowledge::KnowledgeRecord and returns the evaluation result.
Sets the double precision for converting doubles to a string and for printing.
A composite node that logically nots a right expression.
A composite node that allows for variable assignment.
A composite node that compares left and right children for greater than.
Returns the system clock or a variable clock.
Abstract base class for all visitors to all classes that derive from ComponentNode.
Returns the tangent of a term in radians.
A composite node that integrally negates a right expression.
A composite node that contains an array of values.
Sets the output format to use std::fixed.
A composite node that performs a logical or.
Ensures the directory delimiters are appropriate for the host operating system (e.g., on Windows, '\' and Linux, '/')
Reads a file from an user-provided file name.
A composite node that divides a left expression by a right one.
virtual void visit(const LeafNode &node)=0
Visit a LeafNode.
Copyright (c) 2015 Carnegie Mellon University.
Defines a terminal node of that references the current value stored in a variable.
Prints a Knowledge Record.
Converts an argument to an integer.
Defines a terminal node that contains a list.
Defines a terminal node of that references the current value stored in a variable.
A composite node that compares left and right children for less than.