ast

package module
v0.0.0-...-1ea43b8 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssignExpr

type AssignExpr struct {
	Name  *token.Token
	Value Expression
}

func (*AssignExpr) Accept

func (b *AssignExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type BinaryExpr

type BinaryExpr struct {
	Left     Expression
	Operator *token.Token
	Right    Expression
}

func (*BinaryExpr) Accept

func (b *BinaryExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type BlockStmt

type BlockStmt struct {
	Stmts []Statement
}

func (*BlockStmt) Accept

func (b *BlockStmt) Accept(visitor StmtVisitor) (err error)

type CallExpr

type CallExpr struct {
	Callee    Expression
	Paren     *token.Token
	Arguments []Expression
}

func (*CallExpr) Accept

func (b *CallExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type ClassStmt

type ClassStmt struct {
	Name       *token.Token
	SuperClass *VariableExpr
	Methods    []*FunctionStmt
}

func (*ClassStmt) Accept

func (b *ClassStmt) Accept(visitor StmtVisitor) (err error)

type DictExpr

type DictExpr struct {
	Values map[interface{}]Expression
}

variable: dict

func (*DictExpr) Accept

func (b *DictExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type ExprStmt

type ExprStmt struct {
	Expr Expression
}

func (*ExprStmt) Accept

func (b *ExprStmt) Accept(visitor StmtVisitor) (err error)

type ExprVisitor

type ExprVisitor interface {
	VisitAssignExpr(v *AssignExpr) (result interface{}, err error)
	VisitBinaryExpr(v *BinaryExpr) (result interface{}, err error)
	VisitCallExpr(v *CallExpr) (result interface{}, err error)
	VisitDictExpr(v *DictExpr) (result interface{}, err error)
	VisitGetExpr(v *GetExpr) (result interface{}, err error)
	VisitGroupingExpr(v *GroupingExpr) (result interface{}, err error)
	VisitIndexExpr(v *IndexExpr) (result interface{}, err error)
	VisitListExpr(v *ListExpr) (result interface{}, err error)
	VisitLiteralExpr(v *LiteralExpr) (result interface{}, err error)
	VisitLogicalExpr(v *LogicalExpr) (result interface{}, err error)
	VisitSetExpr(v *SetExpr) (result interface{}, err error)
	VisitSuperExpr(v *SuperExpr) (result interface{}, err error)
	VisitThisExpr(v *ThisExpr) (result interface{}, err error)
	VisitUnaryExpr(v *UnaryExpr) (result interface{}, err error)
	VisitVariableExpr(v *VariableExpr) (result interface{}, err error)
}

type Expression

type Expression interface {
	Accept(visitor ExprVisitor) (result interface{}, err error)
}

type FunctionStmt

type FunctionStmt struct {
	Name   *token.Token
	Params []*token.Token
	Body   []Statement
}

func (*FunctionStmt) Accept

func (b *FunctionStmt) Accept(visitor StmtVisitor) (err error)

type GetExpr

type GetExpr struct {
	Object Expression
	Name   *token.Token
}

func (*GetExpr) Accept

func (b *GetExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type GroupingExpr

type GroupingExpr struct {
	Expr Expression
}

func (*GroupingExpr) Accept

func (b *GroupingExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type IfStmt

type IfStmt struct {
	Condition  Expression
	ThenBranch Statement
	ElseBranch Statement
}

func (*IfStmt) Accept

func (b *IfStmt) Accept(visitor StmtVisitor) (err error)

type IndexExpr

type IndexExpr struct {
	Object *token.Token
	Idx    *token.Token
}

func (*IndexExpr) Accept

func (b *IndexExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type ListExpr

type ListExpr struct {
	Values []Expression
	Idx    *token.Token
}

func (*ListExpr) Accept

func (b *ListExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type LiteralExpr

type LiteralExpr struct {
	Value interface{}
}

func (*LiteralExpr) Accept

func (b *LiteralExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type LogicalExpr

type LogicalExpr struct {
	Left     Expression
	Operator *token.Token
	Right    Expression
}

func (*LogicalExpr) Accept

func (b *LogicalExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type PrintStmt

type PrintStmt struct {
	Expr Expression
}

func (*PrintStmt) Accept

func (b *PrintStmt) Accept(visitor StmtVisitor) (err error)

type ReturnStmt

type ReturnStmt struct {
	Keyword *token.Token
	Value   Expression
}

func (*ReturnStmt) Accept

func (b *ReturnStmt) Accept(visitor StmtVisitor) (err error)

type SetExpr

type SetExpr struct {
	Object Expression
	Name   *token.Token
	Value  Expression
}

func (*SetExpr) Accept

func (b *SetExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type Statement

type Statement interface {
	Accept(visitor StmtVisitor) (err error)
}

type StmtVisitor

type StmtVisitor interface {
	VisitBlockStmt(v *BlockStmt) (err error)
	VisitClassStmt(v *ClassStmt) (err error)
	VisitExprStmt(v *ExprStmt) (err error)
	VisitFunctionStmt(v *FunctionStmt) (err error)
	VisitIfStmt(v *IfStmt) (err error)
	VisitPrintStmt(v *PrintStmt) (err error)
	VisitReturnStmt(v *ReturnStmt) (err error)
	VisitVarStmt(v *VarStmt) (err error)
	VisitWhileStmt(v *WhileStmt) (err error)
}

type StubExprVisitor

type StubExprVisitor struct{}

func (StubExprVisitor) VisitAssignExpr

func (s StubExprVisitor) VisitAssignExpr(_ *AssignExpr) (interface{}, error)

func (StubExprVisitor) VisitBinaryExpr

func (s StubExprVisitor) VisitBinaryExpr(_ *BinaryExpr) (interface{}, error)

func (StubExprVisitor) VisitBlockStmt

func (s StubExprVisitor) VisitBlockStmt(_ *BlockStmt) error

func (StubExprVisitor) VisitCallExpr

func (s StubExprVisitor) VisitCallExpr(_ *CallExpr) (interface{}, error)

func (StubExprVisitor) VisitClassStmt

func (s StubExprVisitor) VisitClassStmt(_ *ClassStmt) error

func (StubExprVisitor) VisitDictExpr

func (s StubExprVisitor) VisitDictExpr(_ *DictExpr) (interface{}, error)

func (StubExprVisitor) VisitExprStmt

func (s StubExprVisitor) VisitExprStmt(_ *ExprStmt) error

func (StubExprVisitor) VisitFunctionStmt

func (s StubExprVisitor) VisitFunctionStmt(_ *FunctionStmt) error

func (StubExprVisitor) VisitGetExpr

func (s StubExprVisitor) VisitGetExpr(_ *GetExpr) (interface{}, error)

func (StubExprVisitor) VisitGroupingExpr

func (s StubExprVisitor) VisitGroupingExpr(_ *GroupingExpr) (interface{}, error)

func (StubExprVisitor) VisitIfStmt

func (s StubExprVisitor) VisitIfStmt(_ *IfStmt) error

func (StubExprVisitor) VisitIndexExpr

func (s StubExprVisitor) VisitIndexExpr(_ *IndexExpr) (interface{}, error)

func (StubExprVisitor) VisitListExpr

func (s StubExprVisitor) VisitListExpr(_ *ListExpr) (interface{}, error)

func (StubExprVisitor) VisitLiteralExpr

func (s StubExprVisitor) VisitLiteralExpr(_ *LiteralExpr) (interface{}, error)

func (StubExprVisitor) VisitLogicalExpr

func (s StubExprVisitor) VisitLogicalExpr(_ *LogicalExpr) (interface{}, error)

func (StubExprVisitor) VisitPrintStmt

func (s StubExprVisitor) VisitPrintStmt(_ *PrintStmt) error

func (StubExprVisitor) VisitReturnStmt

func (s StubExprVisitor) VisitReturnStmt(_ *ReturnStmt) error

func (StubExprVisitor) VisitSetExpr

func (s StubExprVisitor) VisitSetExpr(_ *SetExpr) (interface{}, error)

func (StubExprVisitor) VisitSuperExpr

func (s StubExprVisitor) VisitSuperExpr(_ *SuperExpr) (interface{}, error)

func (StubExprVisitor) VisitThisExpr

func (s StubExprVisitor) VisitThisExpr(_ *ThisExpr) (interface{}, error)

func (StubExprVisitor) VisitUnaryExpr

func (s StubExprVisitor) VisitUnaryExpr(_ *UnaryExpr) (interface{}, error)

func (StubExprVisitor) VisitVarStmt

func (s StubExprVisitor) VisitVarStmt(_ *VarStmt) error

func (StubExprVisitor) VisitVariableExpr

func (s StubExprVisitor) VisitVariableExpr(_ *VariableExpr) (interface{}, error)

func (StubExprVisitor) VisitWhileStmt

func (s StubExprVisitor) VisitWhileStmt(_ *WhileStmt) error

type StubStmtVisitor

type StubStmtVisitor struct{}

type SuperExpr

type SuperExpr struct {
	Keyword *token.Token
	Method  *token.Token
}

func (*SuperExpr) Accept

func (b *SuperExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type ThisExpr

type ThisExpr struct {
	Keyword *token.Token
}

func (*ThisExpr) Accept

func (b *ThisExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type UnaryExpr

type UnaryExpr struct {
	Operator *token.Token
	Right    Expression
}

func (*UnaryExpr) Accept

func (b *UnaryExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type VarStmt

type VarStmt struct {
	Name        *token.Token
	Initializer Expression
}

func (*VarStmt) Accept

func (b *VarStmt) Accept(visitor StmtVisitor) (err error)

type VariableExpr

type VariableExpr struct {
	Name *token.Token
}

func (*VariableExpr) Accept

func (b *VariableExpr) Accept(visitor ExprVisitor) (result interface{}, err error)

type WhileStmt

type WhileStmt struct {
	Condition Expression
	Body      Statement
}

func (*WhileStmt) Accept

func (b *WhileStmt) Accept(visitor StmtVisitor) (err error)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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