Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockStatement ¶
type BlockStatement struct {
Statements []Statement
}
func (BlockStatement) Accept ¶
func (s BlockStatement) Accept(visitor StatementVisitor) error
type ClassStatement ¶
type ClassStatement struct {
Name expressions.Token
Methods []FunctionStatement
Superclass expressions.Variable
}
func (ClassStatement) Accept ¶
func (c ClassStatement) Accept(visitor StatementVisitor) error
type ExperssionStatement ¶
type ExperssionStatement struct {
Statement
Expr expressions.Experssion
}
func (ExperssionStatement) Accept ¶
func (e ExperssionStatement) Accept(visitor StatementVisitor) error
type FunctionStatement ¶
type FunctionStatement struct {
Name expressions.Token
Args []expressions.Token
Body []Statement
}
func (FunctionStatement) Accept ¶
func (f FunctionStatement) Accept(visitor StatementVisitor) error
type IfStatement ¶
type IfStatement struct {
Condition expressions.Experssion
ThenBranch Statement
ElseBranch Statement
}
func (IfStatement) Accept ¶
func (i IfStatement) Accept(visitor StatementVisitor) error
type PrintStatement ¶
type PrintStatement struct {
Statement
Expr expressions.Experssion
}
func (PrintStatement) Accept ¶
func (p PrintStatement) Accept(visitor StatementVisitor) error
type ReturnStatement ¶
type ReturnStatement struct {
Keyword expressions.Token
Value expressions.Experssion
}
It stores the return keyword token for error reporting if needed, and the value being returned
func (ReturnStatement) Accept ¶
func (r ReturnStatement) Accept(visitor StatementVisitor) error
type Statement ¶
type Statement interface {
Accept(StatementVisitor) error
}
type StatementVisitor ¶
type StatementVisitor interface {
VisitPrintStmt(PrintStatement) error
VisitExprStmt(ExperssionStatement) error
VisitVarDecStmt(VarDecStatement) error
VisitBlockStmt(BlockStatement) error
VisitIfStmt(IfStatement) error
VisitWhileStmt(WhileStatement) error
VisitFunctionStmt(FunctionStatement) error
VisitReturnStmt(ReturnStatement) error
VisitClassStmt(ClassStatement) error
}
type VarDecStatement ¶
type VarDecStatement struct {
Token expressions.Token
Initializer expressions.Experssion
}
func (VarDecStatement) Accept ¶
func (v VarDecStatement) Accept(visitor StatementVisitor) error
type WhileStatement ¶
type WhileStatement struct {
Condition expressions.Experssion
Body Statement
}
func (WhileStatement) Accept ¶
func (w WhileStatement) Accept(visitor StatementVisitor) error
Click to show internal directories.
Click to hide internal directories.