evaluator

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2020 License: MIT Imports: 7 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDivisionByZero = errors.New("decimal division by zero")
)

errors

Functions

This section is empty.

Types

type Evaluator

type Evaluator struct {
	Env *environment.Environment
}

Evaluator #

func New

New Evaluator

func (*Evaluator) Run

func (eval *Evaluator) Run(expression expr.Expr) (interface{}, error)

Run the evaluator

func (*Evaluator) VisitBinaryExpr

func (eval *Evaluator) VisitBinaryExpr(binaryExpr *expr.Binary) (interface{}, error)

VisitBinaryExpr #

func (*Evaluator) VisitFunctionCall

func (eval *Evaluator) VisitFunctionCall(functionCall *expr.FunctionCall) (interface{}, error)

VisitFunctionCall #

func (*Evaluator) VisitGroupExpr

func (eval *Evaluator) VisitGroupExpr(groupExpr *expr.Group) (interface{}, error)

VisitGroupExpr #

func (*Evaluator) VisitLiteralExpr

func (eval *Evaluator) VisitLiteralExpr(literalExpression *expr.Literal) (interface{}, error)

VisitLiteralExpr #

func (*Evaluator) VisitLogicalExpr

func (eval *Evaluator) VisitLogicalExpr(logicalExpr *expr.Logical) (interface{}, error)

VisitLogicalExpr #

func (*Evaluator) VisitTernary

func (eval *Evaluator) VisitTernary(ternaryExpr *expr.Ternary) (interface{}, error)

VisitTernary #

func (*Evaluator) VisitUnaryExpr

func (eval *Evaluator) VisitUnaryExpr(unaryExpr *expr.Unary) (interface{}, error)

VisitUnaryExpr #

func (*Evaluator) VisitVariableExpr

func (eval *Evaluator) VisitVariableExpr(variableExpr *expr.Variable) (interface{}, error)

VisitVariableExpr #

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL