Versions in this module Expand all Collapse all v1 v1.20.6 Feb 23, 2026 Changes in this version + const ARGUMENTLIST + const ASSIGMENT + const CONSTANT + const EXPRESSION + const EXPRESSIONATOM + const FUNCTIONCALL + const MAPARRAYSELECTOR + const OpAdd + const OpAnd + const OpBitAnd + const OpBitOr + const OpDiv + const OpEq + const OpGT + const OpGTE + const OpLT + const OpLTE + const OpMod + const OpMul + const OpNEq + const OpOr + const OpSub + const RULEENTRY + const THENEXPRESSION + const THENEXPRESSIONLIST + const THENSCOPE + const TypeArgumentList + const TypeArrayMapSelector + const TypeAssignment + const TypeBoolean + const TypeConstant + const TypeExpression + const TypeExpressionAtom + const TypeFloat + const TypeFunctionCall + const TypeInteger + const TypeRuleEntry + const TypeString + const TypeThenExpression + const TypeThenExpressionList + const TypeThenScope + const TypeVariable + const TypeWhenScope + const VARIABLE + const Version + const WHENSCOPE + var AstLog = logger.Log.WithFields(astLogFields) + var GrlLogger = logger.Log.WithFields(grlLoggerFields) + var ReadCount = 0 + var TotalRead = uint64(0) + var TotalWrite = uint64(0) + var WriteCount = 0 + func GetKnowledgeBaseKey(name, version string) string + func ReadBoolFromReader(r io.Reader) (bool, error) + func ReadFloatFromReader(r io.Reader) (float64, error) + func ReadIntFromReader(r io.Reader) (uint64, error) + func ReadStringFromReader(reader io.Reader) (string, error) + func SetLogger(log interface{}) + func WriteBoolToWriter(writer io.Writer, aBoolean bool) error + func WriteFloatToWriter(w io.Writer, f float64) error + func WriteFull(w io.Writer, bytes []byte) (int, error) + func WriteIntToWriter(w io.Writer, i uint64) error + func WriteStringToWriter(writer io.Writer, s string) error + type ArgumentList struct + Arguments []*Expression + AstID string + GrlText string + func NewArgumentList() *ArgumentList + func (e *ArgumentList) AcceptExpression(exp *Expression) error + func (e *ArgumentList) Clone(cloneTable *pkg.CloneTable) *ArgumentList + func (e *ArgumentList) Evaluate(dataContext IDataContext, memory *WorkingMemory) ([]reflect.Value, error) + func (e *ArgumentList) GetAstID() string + func (e *ArgumentList) GetGrlText() string + func (e *ArgumentList) GetSnapshot() string + func (e *ArgumentList) MakeCatalog(cat *Catalog) + func (e *ArgumentList) SetGrlText(grlText string) + type ArgumentListMeta struct + ArgumentASTIDs []string + func (meta *ArgumentListMeta) Equals(that Meta) bool + func (meta *ArgumentListMeta) GetASTType() NodeType + func (meta *ArgumentListMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ArgumentListMeta) WriteMetaTo(writer io.Writer) error + type ArgumentListReceiver interface + AcceptArgumentList func(argList *ArgumentList) error + type ArrayMapSelector struct + AstID string + Expression *Expression + GrlText string + Value reflect.Value + func NewArrayMapSelector() *ArrayMapSelector + func (e *ArrayMapSelector) AcceptExpression(exp *Expression) error + func (e *ArrayMapSelector) Clone(cloneTable *pkg.CloneTable) *ArrayMapSelector + func (e *ArrayMapSelector) Evaluate(dataContext IDataContext, memory *WorkingMemory) (reflect.Value, error) + func (e *ArrayMapSelector) GetAstID() string + func (e *ArrayMapSelector) GetGrlText() string + func (e *ArrayMapSelector) GetSnapshot() string + func (e *ArrayMapSelector) MakeCatalog(cat *Catalog) + func (e *ArrayMapSelector) SetGrlText(grlText string) + type ArrayMapSelectorMeta struct + ExpressionID string + func (meta *ArrayMapSelectorMeta) Equals(that Meta) bool + func (meta *ArrayMapSelectorMeta) GetASTType() NodeType + func (meta *ArrayMapSelectorMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ArrayMapSelectorMeta) WriteMetaTo(writer io.Writer) error + type ArrayMapSelectorReceiver interface + AcceptArrayMapSelector func(sel *ArrayMapSelector) error + type AssigmentMeta struct + ExpressionID string + IsAssign bool + IsDivAssign bool + IsMinusAssign bool + IsMulAssign bool + IsPlusAssign bool + VariableID string + func (meta *AssigmentMeta) Equals(that Meta) bool + func (meta *AssigmentMeta) GetASTType() NodeType + func (meta *AssigmentMeta) ReadMetaFrom(reader io.Reader) error + func (meta *AssigmentMeta) WriteMetaTo(writer io.Writer) error + type Assignment struct + AstID string + Expression *Expression + GrlText string + IsAssign bool + IsDivAssign bool + IsMinusAssign bool + IsMulAssign bool + IsPlusAssign bool + Variable *Variable + func NewAssignment() *Assignment + func (e *Assignment) AcceptExpression(exp *Expression) error + func (e *Assignment) AcceptVariable(vari *Variable) error + func (e *Assignment) Clone(cloneTable *pkg.CloneTable) *Assignment + func (e *Assignment) Execute(dataContext IDataContext, memory *WorkingMemory) error + func (e *Assignment) GetAstID() string + func (e *Assignment) GetGrlText() string + func (e *Assignment) GetSnapshot() string + func (e *Assignment) MakeCatalog(cat *Catalog) + func (e *Assignment) SetGrlText(grlText string) + type AssignmentReceiver interface + AcceptAssignment func(assignment *Assignment) error + type BooleanLiteral struct + Boolean bool + type BooleanLiteralReceiver interface + AcceptBooleanLiteral func(fun *BooleanLiteral) + type BuiltInFunctions struct + DataContext IDataContext + Knowledge *KnowledgeBase + WorkingMemory *WorkingMemory + func (gf *BuiltInFunctions) Abs(x float64) float64 + func (gf *BuiltInFunctions) Acos(x float64) float64 + func (gf *BuiltInFunctions) Acosh(x float64) float64 + func (gf *BuiltInFunctions) Asin(x float64) float64 + func (gf *BuiltInFunctions) Asinh(x float64) float64 + func (gf *BuiltInFunctions) Atan(x float64) float64 + func (gf *BuiltInFunctions) Atan2(y, x float64) float64 + func (gf *BuiltInFunctions) Atanh(x float64) float64 + func (gf *BuiltInFunctions) Cbrt(x float64) float64 + func (gf *BuiltInFunctions) Ceil(x float64) float64 + func (gf *BuiltInFunctions) Changed(variableName string) + func (gf *BuiltInFunctions) Complete() + func (gf *BuiltInFunctions) ContainsStr(s []string, v string) bool + func (gf *BuiltInFunctions) Copysign(x, y float64) float64 + func (gf *BuiltInFunctions) Cos(x float64) float64 + func (gf *BuiltInFunctions) Cosh(x float64) float64 + func (gf *BuiltInFunctions) Dim(x, y float64) float64 + func (gf *BuiltInFunctions) Erf(x float64) float64 + func (gf *BuiltInFunctions) Erfc(x float64) float64 + func (gf *BuiltInFunctions) Erfcinv(x float64) float64 + func (gf *BuiltInFunctions) Erfinv(x float64) float64 + func (gf *BuiltInFunctions) Exp(x float64) float64 + func (gf *BuiltInFunctions) Exp2(x float64) float64 + func (gf *BuiltInFunctions) Expm1(x float64) float64 + func (gf *BuiltInFunctions) Float64bits(f float64) uint64 + func (gf *BuiltInFunctions) Float64frombits(b uint64) float64 + func (gf *BuiltInFunctions) Floor(x float64) float64 + func (gf *BuiltInFunctions) Forget(snippet string) + func (gf *BuiltInFunctions) Gamma(x float64) float64 + func (gf *BuiltInFunctions) GetTimeDay(time time.Time) int + func (gf *BuiltInFunctions) GetTimeHour(time time.Time) int + func (gf *BuiltInFunctions) GetTimeMinute(time time.Time) int + func (gf *BuiltInFunctions) GetTimeMonth(time time.Time) int + func (gf *BuiltInFunctions) GetTimeSecond(time time.Time) int + func (gf *BuiltInFunctions) GetTimeYear(time time.Time) int + func (gf *BuiltInFunctions) Hypot(p, q float64) float64 + func (gf *BuiltInFunctions) Ilogb(x float64) int + func (gf *BuiltInFunctions) IsInf(f float64, sign int64) bool + func (gf *BuiltInFunctions) IsNaN(f float64) (is bool) + func (gf *BuiltInFunctions) IsNil(i interface{}) bool + func (gf *BuiltInFunctions) IsTimeAfter(time, after time.Time) bool + func (gf *BuiltInFunctions) IsTimeBefore(time, before time.Time) bool + func (gf *BuiltInFunctions) IsZero(i interface{}) bool + func (gf *BuiltInFunctions) J0(x float64) float64 + func (gf *BuiltInFunctions) J1(x float64) float64 + func (gf *BuiltInFunctions) Jn(n int64, x float64) float64 + func (gf *BuiltInFunctions) Ldexp(frac float64, exp int64) float64 + func (gf *BuiltInFunctions) Log(text string) + func (gf *BuiltInFunctions) Log10(x float64) float64 + func (gf *BuiltInFunctions) Log1p(x float64) float64 + func (gf *BuiltInFunctions) Log2(x float64) float64 + func (gf *BuiltInFunctions) LogFormat(format string, i interface{}) + func (gf *BuiltInFunctions) Logb(x float64) float64 + func (gf *BuiltInFunctions) MakeTime(year, month, day, hour, minute, second int64) time.Time + func (gf *BuiltInFunctions) MathLog(x float64) float64 + func (gf *BuiltInFunctions) Max(vals ...float64) float64 + func (gf *BuiltInFunctions) Min(vals ...float64) float64 + func (gf *BuiltInFunctions) Mod(x, y float64) float64 + func (gf *BuiltInFunctions) NaN() float64 + func (gf *BuiltInFunctions) Now() time.Time + func (gf *BuiltInFunctions) Pow(x, y float64) float64 + func (gf *BuiltInFunctions) Pow10(n int64) float64 + func (gf *BuiltInFunctions) Remainder(x, y float64) float64 + func (gf *BuiltInFunctions) Retract(ruleName string) + func (gf *BuiltInFunctions) Round(x float64) float64 + func (gf *BuiltInFunctions) RoundToEven(x float64) float64 + func (gf *BuiltInFunctions) Signbit(x float64) bool + func (gf *BuiltInFunctions) Sin(x float64) float64 + func (gf *BuiltInFunctions) Sinh(x float64) float64 + func (gf *BuiltInFunctions) Sqrt(x float64) float64 + func (gf *BuiltInFunctions) StringContains(str, substr string) bool + func (gf *BuiltInFunctions) Tan(x float64) float64 + func (gf *BuiltInFunctions) Tanh(x float64) float64 + func (gf *BuiltInFunctions) TimeFormat(time time.Time, layout string) string + func (gf *BuiltInFunctions) Trunc(x float64) float64 + type Catalog struct + Data map[string]Meta + KnowledgeBaseName string + KnowledgeBaseVersion string + MemoryExpressionAtomSnapshotMap map[string]string + MemoryExpressionAtomVariableMap map[string][]string + MemoryExpressionSnapshotMap map[string]string + MemoryExpressionVariableMap map[string][]string + MemoryName string + MemoryVariableSnapshotMap map[string]string + MemoryVersion string + func (cat *Catalog) AddMeta(astID string, meta Meta) bool + func (cat *Catalog) BuildKnowledgeBase() (*KnowledgeBase, error) + func (cat *Catalog) Equals(that *Catalog) bool + func (cat *Catalog) ReadCatalogFromReader(reader io.Reader) error + func (cat *Catalog) WriteCatalogToWriter(writer io.Writer) error + type Constant struct + AstID string + DataContext IDataContext + GrlText string + IsNil bool + Snapshot string + Value reflect.Value + WorkingMemory *WorkingMemory + func NewConstant() *Constant + func (e *Constant) AcceptBooleanLiteral(fun *BooleanLiteral) + func (e *Constant) AcceptFloatLiteral(fun *FloatLiteral) + func (e *Constant) AcceptIntegerLiteral(fun *IntegerLiteral) + func (e *Constant) AcceptStringLiteral(fun *StringLiteral) + func (e *Constant) Clone(cloneTable *pkg.CloneTable) *Constant + func (e *Constant) Evaluate(dataContext IDataContext, memory *WorkingMemory) (reflect.Value, error) + func (e *Constant) GetAstID() string + func (e *Constant) GetGrlText() string + func (e *Constant) GetSnapshot() string + func (e *Constant) MakeCatalog(cat *Catalog) + func (e *Constant) SetGrlText(grlText string) + type ConstantMeta struct + IsNil bool + ValueBytes []byte + ValueType ValueType + func (meta *ConstantMeta) Equals(that Meta) bool + func (meta *ConstantMeta) GetASTType() NodeType + func (meta *ConstantMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ConstantMeta) WriteMetaTo(writer io.Writer) error + type ConstantReceiver interface + AcceptConstant func(con *Constant) error + type DataContext struct + ObjectStore map[string]model.ValueNode + func (ctx *DataContext) Add(key string, obj interface{}) error + func (ctx *DataContext) AddJSON(key string, JSON []byte) error + func (ctx *DataContext) Complete() + func (ctx *DataContext) Get(key string) model.ValueNode + func (ctx *DataContext) GetKeys() []string + func (ctx *DataContext) GetRuleEntry() *RuleEntry + func (ctx *DataContext) HasVariableChange() bool + func (ctx *DataContext) IncrementVariableChangeCount() + func (ctx *DataContext) IsComplete() bool + func (ctx *DataContext) IsRetracted(key string) bool + func (ctx *DataContext) Reset() + func (ctx *DataContext) ResetVariableChangeCount() + func (ctx *DataContext) Retract(key string) + func (ctx *DataContext) Retracted() []string + func (ctx *DataContext) SetRuleEntry(re *RuleEntry) + type Expression struct + AstID string + Evaluated bool + ExpressionAtom *ExpressionAtom + GrlText string + LeftExpression *Expression + Negated bool + Operator int + RightExpression *Expression + SingleExpression *Expression + Value reflect.Value + func NewExpression() *Expression + func (e *Expression) AcceptExpression(exp *Expression) error + func (e *Expression) AcceptExpressionAtom(atom *ExpressionAtom) error + func (e *Expression) Clone(cloneTable *pkg.CloneTable) *Expression + func (e *Expression) Evaluate(dataContext IDataContext, memory *WorkingMemory) (reflect.Value, error) + func (e *Expression) GetAstID() string + func (e *Expression) GetGrlText() string + func (e *Expression) GetSnapshot() string + func (e *Expression) MakeCatalog(cat *Catalog) + func (e *Expression) SetGrlText(grlText string) + type ExpressionAtom struct + ArrayMapSelector *ArrayMapSelector + AstID string + Constant *Constant + Evaluated bool + ExpressionAtom *ExpressionAtom + FunctionCall *FunctionCall + GrlText string + Negated bool + Value reflect.Value + ValueNode model.ValueNode + Variable *Variable + VariableName string + func NewExpressionAtom() *ExpressionAtom + func (e *ExpressionAtom) AcceptArrayMapSelector(sel *ArrayMapSelector) error + func (e *ExpressionAtom) AcceptConstant(cons *Constant) error + func (e *ExpressionAtom) AcceptExpressionAtom(ea *ExpressionAtom) error + func (e *ExpressionAtom) AcceptFunctionCall(fun *FunctionCall) error + func (e *ExpressionAtom) AcceptMemberVariable(name string) + func (e *ExpressionAtom) AcceptVariable(vari *Variable) error + func (e *ExpressionAtom) Clone(cloneTable *pkg.CloneTable) *ExpressionAtom + func (e *ExpressionAtom) Evaluate(dataContext IDataContext, memory *WorkingMemory) (val reflect.Value, err error) + func (e *ExpressionAtom) GetAstID() string + func (e *ExpressionAtom) GetGrlText() string + func (e *ExpressionAtom) GetSnapshot() string + func (e *ExpressionAtom) MakeCatalog(cat *Catalog) + func (e *ExpressionAtom) SetGrlText(grlText string) + type ExpressionAtomMeta struct + ArrayMapSelectorID string + ConstantID string + ExpressionAtomID string + FunctionCallID string + Negated bool + VariableID string + VariableName string + func (meta *ExpressionAtomMeta) Equals(that Meta) bool + func (meta *ExpressionAtomMeta) GetASTType() NodeType + func (meta *ExpressionAtomMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ExpressionAtomMeta) WriteMetaTo(writer io.Writer) error + type ExpressionAtomReceiver interface + AcceptExpressionAtom func(exp *ExpressionAtom) error + type ExpressionMeta struct + ExpressionAtomID string + LeftExpressionID string + Negated bool + Operator int + RightExpressionID string + SingleExpressionID string + func (meta *ExpressionMeta) Equals(that Meta) bool + func (meta *ExpressionMeta) GetASTType() NodeType + func (meta *ExpressionMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ExpressionMeta) WriteMetaTo(writer io.Writer) error + type ExpressionReceiver interface + AcceptExpression func(exp *Expression) error + type FloatLiteral struct + Float float64 + type FloatLiteralReceiver interface + AcceptFloatLiteral func(fun *FloatLiteral) + type FunctionCall struct + ArgumentList *ArgumentList + AstID string + FunctionName string + GrlText string + Value reflect.Value + func NewFunctionCall() *FunctionCall + func (e *FunctionCall) AcceptArgumentList(argList *ArgumentList) error + func (e *FunctionCall) Clone(cloneTable *pkg.CloneTable) *FunctionCall + func (e *FunctionCall) EvaluateArgumentList(dataContext IDataContext, memory *WorkingMemory) ([]reflect.Value, error) + func (e *FunctionCall) GetAstID() string + func (e *FunctionCall) GetGrlText() string + func (e *FunctionCall) GetSnapshot() string + func (e *FunctionCall) MakeCatalog(cat *Catalog) + func (e *FunctionCall) SetGrlText(grlText string) + type FunctionCallMeta struct + ArgumentListID string + FunctionName string + func (meta *FunctionCallMeta) Equals(that Meta) bool + func (meta *FunctionCallMeta) GetASTType() NodeType + func (meta *FunctionCallMeta) ReadMetaFrom(reader io.Reader) error + func (meta *FunctionCallMeta) WriteMetaTo(writer io.Writer) error + type FunctionCallReceiver interface + AcceptFunctionCall func(fun *FunctionCall) error + type Grl struct + RuleEntries map[string]*RuleEntry + func NewGrl() *Grl + func (g *Grl) ReceiveRuleEntry(entry *RuleEntry) error + type GrlReceiver interface + AcceptGrl func(grl *Grl) error + type IDataContext interface + Add func(key string, obj interface{}) error + AddJSON func(key string, JSON []byte) error + Complete func() + Get func(key string) model.ValueNode + GetKeys func() []string + GetRuleEntry func() *RuleEntry + HasVariableChange func() bool + IncrementVariableChangeCount func() + IsComplete func() bool + IsRetracted func(key string) bool + Reset func() + ResetVariableChangeCount func() + Retract func(key string) + Retracted func() []string + SetRuleEntry func(re *RuleEntry) + func NewDataContext() IDataContext + type IntegerLiteral struct + Integer int64 + type IntegerLiteralReceiver interface + AcceptIntegerLiteral func(fun *IntegerLiteral) + type KnowledgeBase struct + DataContext IDataContext + Name string + RuleEntries map[string]*RuleEntry + Version string + WorkingMemory *WorkingMemory + func (e *KnowledgeBase) AddRuleEntry(entry *RuleEntry) error + func (e *KnowledgeBase) Clone(cloneTable *pkg.CloneTable) (*KnowledgeBase, error) + func (e *KnowledgeBase) ContainsRuleEntry(name string) bool + func (e *KnowledgeBase) GetSnapshot() string + func (e *KnowledgeBase) InitializeContext(dataCtx IDataContext) + func (e *KnowledgeBase) IsIdentical(that *KnowledgeBase) bool + func (e *KnowledgeBase) IsRuleRetracted(ruleName string) bool + func (e *KnowledgeBase) MakeCatalog() *Catalog + func (e *KnowledgeBase) RemoveRuleEntry(name string) + func (e *KnowledgeBase) Reset() + func (e *KnowledgeBase) RetractRule(ruleName string) + type KnowledgeLibrary struct + Library map[string]*KnowledgeBase + func NewKnowledgeLibrary() *KnowledgeLibrary + func (lib *KnowledgeLibrary) GetKnowledgeBase(name, version string) *KnowledgeBase + func (lib *KnowledgeLibrary) LoadKnowledgeBaseFromReader(reader io.Reader, overwrite bool) (retKb *KnowledgeBase, retErr error) + func (lib *KnowledgeLibrary) NewKnowledgeBaseInstance(name, version string) (*KnowledgeBase, error) + func (lib *KnowledgeLibrary) RemoveRuleEntry(ruleName, name string, version string) + func (lib *KnowledgeLibrary) StoreKnowledgeBaseToWriter(writer io.Writer, name, version string) error + type MemberVariableReceiver interface + AcceptMemberVariable func(name string) + type Meta interface + Equals func(that Meta) bool + GetASTType func() NodeType + GetAstID func() string + GetGrlText func() string + GetSnapshot func() string + ReadMetaFrom func(reader io.Reader) error + WriteMetaTo func(writer io.Writer) error + type Node interface + GetAstID func() string + GetGrlText func() string + GetSnapshot func() string + MakeCatalog func(cat *Catalog) + SetGrlText func(grlText string) + type NodeMeta struct + AstID string + GrlText string + Snapshot string + func (meta *NodeMeta) Equals(that Meta) bool + func (meta *NodeMeta) GetAstID() string + func (meta *NodeMeta) GetGrlText() string + func (meta *NodeMeta) GetSnapshot() string + func (meta *NodeMeta) ReadMetaFrom(reader io.Reader) error + func (meta *NodeMeta) WriteMetaTo(writer io.Writer) error + type NodeType int + type RuleEntry struct + AstID string + Deleted bool + GrlText string + Retracted bool + RuleDescription string + RuleName string + Salience int + ThenScope *ThenScope + WhenScope *WhenScope + func NewRuleEntry() *RuleEntry + func (e *RuleEntry) AcceptSalience(salience *Salience) error + func (e *RuleEntry) AcceptThenScope(thenScope *ThenScope) error + func (e *RuleEntry) AcceptWhenScope(when *WhenScope) error + func (e *RuleEntry) Clone(cloneTable *pkg.CloneTable) *RuleEntry + func (e *RuleEntry) Evaluate(ctx context.Context, dataContext IDataContext, memory *WorkingMemory) (can bool, err error) + func (e *RuleEntry) Execute(ctx context.Context, dataContext IDataContext, memory *WorkingMemory) (err error) + func (e *RuleEntry) GetAstID() string + func (e *RuleEntry) GetGrlText() string + func (e *RuleEntry) GetSnapshot() string + func (e *RuleEntry) MakeCatalog(cat *Catalog) + func (e *RuleEntry) SetGrlText(grlText string) + type RuleEntryMeta struct + RuleDescription string + RuleName string + Salience int + ThenScopeID string + WhenScopeID string + func (meta *RuleEntryMeta) Equals(that Meta) bool + func (meta *RuleEntryMeta) GetASTType() NodeType + func (meta *RuleEntryMeta) ReadMetaFrom(reader io.Reader) error + func (meta *RuleEntryMeta) WriteMetaTo(writer io.Writer) error + type RuleEntryReceiver interface + ReceiveRuleEntry func(entry *RuleEntry) error + type Salience struct + SalienceValue int + func NewSalience(val int) *Salience + func (sal *Salience) AcceptIntegerLiteral(lit *IntegerLiteral) + type SalienceReceiver interface + AcceptSalience func(salience *Salience) error + type StringLiteral struct + String string + type StringLiteralReceiver interface + AcceptStringLiteral func(fun *StringLiteral) + type ThenExpression struct + Assignment *Assignment + AstID string + ExpressionAtom *ExpressionAtom + GrlText string + func NewThenExpression() *ThenExpression + func (e *ThenExpression) AcceptAssignment(assignment *Assignment) error + func (e *ThenExpression) AcceptExpressionAtom(exp *ExpressionAtom) error + func (e *ThenExpression) Clone(cloneTable *pkg.CloneTable) *ThenExpression + func (e *ThenExpression) Execute(dataContext IDataContext, memory *WorkingMemory) error + func (e *ThenExpression) GetAstID() string + func (e *ThenExpression) GetGrlText() string + func (e *ThenExpression) GetSnapshot() string + func (e *ThenExpression) MakeCatalog(cat *Catalog) + func (e *ThenExpression) SetGrlText(grlText string) + type ThenExpressionList struct + AstID string + GrlText string + ThenExpressions []*ThenExpression + func NewThenExpressionList() *ThenExpressionList + func (e *ThenExpressionList) AcceptThenExpression(expr *ThenExpression) error + func (e *ThenExpressionList) Clone(cloneTable *pkg.CloneTable) *ThenExpressionList + func (e *ThenExpressionList) Execute(dataContext IDataContext, memory *WorkingMemory) error + func (e *ThenExpressionList) GetAstID() string + func (e *ThenExpressionList) GetGrlText() string + func (e *ThenExpressionList) GetSnapshot() string + func (e *ThenExpressionList) MakeCatalog(cat *Catalog) + func (e *ThenExpressionList) SetGrlText(grlText string) + type ThenExpressionListMeta struct + ThenExpressionIDs []string + func (meta *ThenExpressionListMeta) Equals(that Meta) bool + func (meta *ThenExpressionListMeta) GetASTType() NodeType + func (meta *ThenExpressionListMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ThenExpressionListMeta) WriteMetaTo(writer io.Writer) error + type ThenExpressionListReceiver interface + AcceptThenExpressionList func(list *ThenExpressionList) error + type ThenExpressionMeta struct + AssignmentID string + ExpressionAtomID string + func (meta *ThenExpressionMeta) Equals(that Meta) bool + func (meta *ThenExpressionMeta) GetASTType() NodeType + func (meta *ThenExpressionMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ThenExpressionMeta) WriteMetaTo(writer io.Writer) error + type ThenExpressionReceiver interface + AcceptThenExpression func(expr *ThenExpression) error + type ThenScope struct + AstID string + GrlText string + ThenExpressionList *ThenExpressionList + func NewThenScope() *ThenScope + func (e *ThenScope) AcceptThenExpressionList(list *ThenExpressionList) error + func (e *ThenScope) Clone(cloneTable *pkg.CloneTable) *ThenScope + func (e *ThenScope) Execute(dataContext IDataContext, memory *WorkingMemory) error + func (e *ThenScope) GetAstID() string + func (e *ThenScope) GetGrlText() string + func (e *ThenScope) GetSnapshot() string + func (e *ThenScope) MakeCatalog(cat *Catalog) + func (e *ThenScope) SetGrlText(grlText string) + type ThenScopeMeta struct + ThenExpressionListID string + func (meta *ThenScopeMeta) Equals(that Meta) bool + func (meta *ThenScopeMeta) GetASTType() NodeType + func (meta *ThenScopeMeta) ReadMetaFrom(reader io.Reader) error + func (meta *ThenScopeMeta) WriteMetaTo(writer io.Writer) error + type ThenScopeReceiver interface + AcceptThenScope func(thenScope *ThenScope) error + type ValueType int + type Variable struct + ArrayMapSelector *ArrayMapSelector + AstID string + GrlText string + Name string + Value reflect.Value + ValueNode model.ValueNode + Variable *Variable + func NewVariable() *Variable + func (e *Variable) AcceptArrayMapSelector(sel *ArrayMapSelector) error + func (e *Variable) AcceptMemberVariable(name string) + func (e *Variable) AcceptVariable(vari *Variable) error + func (e *Variable) Assign(newVal reflect.Value, dataContext IDataContext, memory *WorkingMemory) error + func (e *Variable) Clone(cloneTable *pkg.CloneTable) *Variable + func (e *Variable) Evaluate(dataContext IDataContext, memory *WorkingMemory) (reflect.Value, error) + func (e *Variable) GetAstID() string + func (e *Variable) GetGrlText() string + func (e *Variable) GetSnapshot() string + func (e *Variable) MakeCatalog(cat *Catalog) + func (e *Variable) SetGrlText(grlText string) + type VariableMeta struct + ArrayMapSelectorID string + Name string + VariableID string + func (meta *VariableMeta) Equals(that Meta) bool + func (meta *VariableMeta) GetASTType() NodeType + func (meta *VariableMeta) ReadMetaFrom(reader io.Reader) error + func (meta *VariableMeta) WriteMetaTo(writer io.Writer) error + type VariableReceiver interface + AcceptVariable func(exp *Variable) error + type WhenScope struct + AstID string + Expression *Expression + GrlText string + func NewWhenScope() *WhenScope + func (e *WhenScope) AcceptExpression(exp *Expression) error + func (e *WhenScope) Clone(cloneTable *pkg.CloneTable) *WhenScope + func (e *WhenScope) Evaluate(dataContext IDataContext, memory *WorkingMemory) (reflect.Value, error) + func (e *WhenScope) GetAstID() string + func (e *WhenScope) GetGrlText() string + func (e *WhenScope) GetSnapshot() string + func (e *WhenScope) MakeCatalog(cat *Catalog) + func (e *WhenScope) SetGrlText(grlText string) + type WhenScopeMeta struct + ExpressionID string + func (meta *WhenScopeMeta) Equals(that Meta) bool + func (meta *WhenScopeMeta) GetASTType() NodeType + func (meta *WhenScopeMeta) ReadMetaFrom(reader io.Reader) error + func (meta *WhenScopeMeta) WriteMetaTo(writer io.Writer) error + type WhenScopeReceiver interface + AcceptWhenScope func(whenScope *WhenScope) error + type WorkingMemory struct + ID string + Name string + Version string + func NewWorkingMemory(name, version string) *WorkingMemory + func (workingMem *WorkingMemory) AddExpression(exp *Expression) *Expression + func (workingMem *WorkingMemory) AddExpressionAtom(exp *ExpressionAtom) *ExpressionAtom + func (workingMem *WorkingMemory) AddVariable(vari *Variable) *Variable + func (workingMem *WorkingMemory) Clone(cloneTable *pkg.CloneTable) (*WorkingMemory, error) + func (workingMem *WorkingMemory) DebugContent() + func (workingMem *WorkingMemory) Equals(that *WorkingMemory) bool + func (workingMem *WorkingMemory) IndexVariables() + func (workingMem *WorkingMemory) MakeCatalog(cat *Catalog) + func (workingMem *WorkingMemory) Reset(name string) bool + func (workingMem *WorkingMemory) ResetAll() bool + func (workingMem *WorkingMemory) ResetVariable(variable *Variable) bool