# Packages

No description provided by the author

# Functions

NewArgumentList create a new instance of ArgumentList.
NewArrayMapSelector create a new array selector graph.
NewAssignment will create new instance of Assignment AST Node.
NewConstant will create new instance of Constant.
NewDataContext will create a new DataContext instance.
NewExpression creates new Expression instance.
NewExpressionAtom create new instance of ExpressionAtom.
NewFunctionCall creates new instance of FunctionCall.
NewGrl creates new GRL instance.
NewKnowledgeLibrary create a new instance KnowledgeLibrary.
NewRuleEntry create new instance of RuleEntry.
NewSalience create new Salience AST object.
NewThenExpression create new instance of ThenExpression.
NewThenExpressionList creates new instance of ThenExpressionList.
NewThenScope will create new instance of ThenScope.
NewVariable create new instance of Variable.
NewWhenScope creates new instance of WhenScope.
NewWorkingMemory create new instance of WorkingMemory.
ReadBoolFromReader reads a simple boolean from writer.
ReadFloatFromReader reads a 64bit float from reader.
ReadIntFromReader read a 64 bit integer from reader.
ReadStringFromReader read a string from reader.
SetLogger changes default logger on external.
WriteBoolToWriter writes a simple boolean into writer.
WriteFloatToWriter write a 64bit float into writer.
WriteFull will ensure that a byte array is fully written into writer.
WriteIntToWriter write a 64 bit integer into writer.
WriteStringToWriter write a string into writer.

# Constants

ARGUMENTLIST signature for argument list snapshot.
ASSIGMENT signature for assignment snapshot.
CONSTANT signature for constant snapshot.
EXPRESSION signature for expression snapshot.
EXPRESSIONATOM signature for expression atom snapshot.
FUNCTIONCALL signature for function call snapshot.
MAPARRAYSELECTOR signature for map array snapshot.
OpAdd Addition operator.
OpAnd Logical And operator.
OpBitAnd Bitwise And operator.
OpBitOr Bitwise Or operator.
OpDiv Divisioon operator.
OpEq Equals operator.
OpGT Greater Than operator.
OpGTE Greater Than or Equal operator.
OpLT Lesser Than operator.
OpLTE Lesser Than or Equal operator.
OpMod Modulus operator.
OpMul Multiplication operator.
OpNEq Not Equals operator.
OpOr Logical Or operator.
OpSub Substraction operator.
RULEENTRY signature for rule entry snapshot.
THENEXPRESSION signature for then expression snapshot.
THENEXPRESSIONLIST signature for then expression list snapshot.
THENSCOPE signature for then scope snapshot.
TypeArgumentList meta type of ArgumentList.
TypeArrayMapSelector meta type of ArrayMapSelector.
TypeAssignment meta type of Assigment.
TypeBoolean variable type boolean label.
TypeConstant meta type of Constant.
TypeExpression meta type of Expression.
TypeExpressionAtom meta type of ExpressionAtom.
TypeFloat variable type float label.
TypeFunctionCall meta type of FunctionCall.
TypeInteger variable type integer label.
TypeRuleEntry meta type of RuleEntry.
TypeString variable type string label.
TypeThenExpression meta type of ThenExpression.
TypeThenExpressionList meta type of ThenExpressionList.
TypeThenScope meta type of ThenScope.
TypeVariable meta type of Variable.
TypeWhenScope meta type of WhenScope.
VARIABLE signature for variable snapshot.
Version will be written to the stream and used for compatibility check.
WHENSCOPE signature for when scope snapshot.

# Variables

AstLog is a logger instance twith default fields for grule.
GrlLogger is the logger that be used from within the rule engine GRL.
ReadCount read counter.
TotalRead counter to track total byte read.
TotalWrite counter to track total bytes written.
WriteCount write counter.

# Structs

ArgumentList stores AST graph for ArgumentList that contains expression.
ArgumentListMeta meta data for an ArgumentList node.
ArrayMapSelector an array selector graph containing an expression that act ass array or map selector.
ArrayMapSelectorMeta meta data for an ArrayMapSelector node.
AssigmentMeta meta data for an Assigment node.
Assignment ast node to store assigment expression.
BooleanLiteral will hold BooleanLiteral constant AST data.
BuiltInFunctions struct hosts the built-in functions ready to invoke from the rule engine execution.
Catalog used to catalog all AST nodes in a KnowledgeBase.
Constant AST node that stores AST graph for Constants.
ConstantMeta meta data for an Constant node.
DataContext holds all structs instance to be used in rule execution environment.
Expression AST Graph node.
ExpressionAtom AST node graph.
ExpressionAtomMeta meta data for an ExpressionAtom node.
ExpressionMeta meta data for an Expression node.
FloatLiteral will hold FloatLiteral constant AST data.
FunctionCall AST graph node.
FunctionCallMeta meta data for an FunctionCall node.
Grl will contains multiple RuleEntries.
IntegerLiteral will hold IntegerLiteral constant AST data.
KnowledgeBase is a collection of RuleEntries.
KnowledgeLibrary is a knowledgebase store.
NodeMeta is a base struct for all ASTNode meta.
RuleEntry AST graph node.
RuleEntryMeta meta data for an RuleEntry node.
Salience is a simple AST object that stores salience.
StringLiteral will hold StringLiteral constant AST data.
ThenExpression AST graph node.
ThenExpressionList AST graph node.
ThenExpressionListMeta meta data for an ThenExpressionList node.
ThenExpressionMeta meta data for an ThenExpression node.
ThenScope AST graph node.
ThenScopeMeta meta data for an ThenScope node.
Variable AST graph node.
VariableMeta meta data for an Variable node.
WhenScope AST graph node.
WhenScopeMeta meta data for an WhenScope node.
WorkingMemory handles states of expression evaluation status.

# Interfaces

ArgumentListReceiver will accept an ArgumentList AST graph into this ast graph.
ArrayMapSelectorReceiver must be implemented by all other ast graph that uses map/array selector.
AssignmentReceiver must be implemented by all other ast graph that uses an assigment expression.
BooleanLiteralReceiver should be implemented by AST graph node to receive a BooleanLiteral AST graph node.
ConstantReceiver should be implemented by AST Graph node to receive a Constant Graph Node.
ExpressionAtomReceiver contains function to be implemented by other AST graph to receive an ExpressionAtom AST graph.
ExpressionReceiver contains function to be implemented by other AST graph to receive an Expression AST graph.
FloatLiteralReceiver should be implemented by AST graph node to receive a FloatLiteral AST graph node.
FunctionCallReceiver should be implemented bu AST graph node to receive a FunctionCall AST graph mode.
GrlReceiver is interface for objects that should hold a GRL, will be called by ANTLR walker.
IDataContext is the interface for the DataContext struct.
IntegerLiteralReceiver should be implemented by AST graph node to receive a IntegerLiteral AST graph node.
MemberVariableReceiver should be implemented by AST graph node to receive member Variable information.
Meta interface as contract of all AST Node meta information.
Node defines interface to implement by all AST node models.
RuleEntryReceiver should be implemented by any rule AST object that receive a RuleEntry.
SalienceReceiver must be implemented by any AST object that stores salience.
StringLiteralReceiver should be implemented by AST graph node to receive a StringLiteral AST graph node.
ThenExpressionListReceiver must be implemented by any AST object that hold a ThenExpression list AST object.
ThenExpressionReceiver must be implemented by any AST object that will store a Then expression.
ThenScopeReceiver must be implemented by any AST object that will hold a ThenScope.
VariableReceiver should be implemented by AST graph node to receive Variable AST graph node.
WhenScopeReceiver must be implemented by AST object that stores WhenScope.

# Type aliases

NodeType is to label a Meta information within catalog.
ValueType will label the datatype when a constant its saved as binary.