Documentation ¶
Index ¶
- type Callable
- type Expr
- type ExprAssign
- type ExprBinary
- type ExprCall
- type ExprGrouping
- type ExprLiteral
- type ExprLogical
- type ExprUnary
- type ExprVariable
- type ExprVisitor
- type Stmt
- type StmtBlock
- type StmtExpr
- type StmtFunction
- type StmtIf
- type StmtPrint
- type StmtReturn
- type StmtVar
- type StmtVisitor
- type StmtWhile
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Callable ¶
type Callable[T any] interface { Arity() int Call(ExprVisitor[T], ...T) T }
type Expr ¶
type Expr[T any] interface { Accept(v ExprVisitor[T]) T }
type ExprAssign ¶
func (*ExprAssign[T]) Accept ¶
func (e *ExprAssign[T]) Accept(v ExprVisitor[T]) T
type ExprBinary ¶
func (*ExprBinary[T]) Accept ¶
func (e *ExprBinary[T]) Accept(v ExprVisitor[T]) T
type ExprGrouping ¶
func (*ExprGrouping[T]) Accept ¶
func (e *ExprGrouping[T]) Accept(v ExprVisitor[T]) T
type ExprLiteral ¶
func (*ExprLiteral[T]) Accept ¶
func (e *ExprLiteral[T]) Accept(v ExprVisitor[T]) T
type ExprLogical ¶
func (*ExprLogical[T]) Accept ¶
func (e *ExprLogical[T]) Accept(v ExprVisitor[T]) T
type ExprVariable ¶
func (*ExprVariable[T]) Accept ¶
func (e *ExprVariable[T]) Accept(v ExprVisitor[T]) T
type ExprVisitor ¶
type ExprVisitor[T any] interface { VisitorExprBinary(*ExprBinary[T]) T VisitorExprGrouping(*ExprGrouping[T]) T VisitorExprLiteral(*ExprLiteral[T]) T VisitorExprUnary(*ExprUnary[T]) T VisitorExprVariable(*ExprVariable[T]) T VisitorExprAssign(*ExprAssign[T]) T VisitorExprLogical(*ExprLogical[T]) T VisitorExprCall(*ExprCall[T]) T }
type Stmt ¶
type Stmt[T any] interface { Accept(v StmtVisitor[T]) T }
type StmtFunction ¶
func (*StmtFunction[T]) Accept ¶
func (e *StmtFunction[T]) Accept(v StmtVisitor[T]) T
type StmtReturn ¶
func (*StmtReturn[T]) Accept ¶
func (e *StmtReturn[T]) Accept(v StmtVisitor[T]) T
type StmtVisitor ¶
type StmtVisitor[T any] interface { VisitorStmtPrint(*StmtPrint[T]) T VisitorStmtExpr(*StmtExpr[T]) T VisitorStmtVar(*StmtVar[T]) T VisitorStmtBlock(*StmtBlock[T]) T VisitorStmtIf(*StmtIf[T]) T VisitorStmtWhile(*StmtWhile[T]) T VisitorStmtFunction(*StmtFunction[T]) T VisitorStmtReturn(*StmtReturn[T]) T }
Click to show internal directories.
Click to hide internal directories.