evaluator

package
v0.0.0-...-93a7d75 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2020 License: MIT Imports: 7 Imported by: 0

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
	AST expr.Expr
}

Evaluator #

func New

func New(env *environment.Environment, AST expr.Expr) *Evaluator

New Evaluator

func (*Evaluator) Run

func (eval *Evaluator) Run() (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