Interface IAstVisitor<T>
Defines a visitor interface for traversing AST nodes. Used to separate processing logic from the AST structure itself (Visitor pattern).
Namespace: VM.Parser
Assembly: VM.dll
Syntax
public interface IAstVisitor<out T>
Type Parameters
Name | Description |
---|---|
T | The return type of the visitor methods. |
Methods
Visit(AssignIndexStmt)
Declaration
T Visit(AssignIndexStmt node)
Parameters
Type | Name | Description |
---|---|---|
AssignIndexStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(BinaryExpr)
Declaration
T Visit(BinaryExpr node)
Parameters
Type | Name | Description |
---|---|---|
BinaryExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(ContinueStmt)
Declaration
T Visit(ContinueStmt node)
Parameters
Type | Name | Description |
---|---|---|
ContinueStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(CustomCallExpr)
Declaration
T Visit(CustomCallExpr node)
Parameters
Type | Name | Description |
---|---|---|
CustomCallExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(ExitStmt)
Declaration
T Visit(ExitStmt node)
Parameters
Type | Name | Description |
---|---|---|
ExitStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(ExprNode)
Declaration
T Visit(ExprNode node)
Parameters
Type | Name | Description |
---|---|---|
ExprNode | node |
Returns
Type | Description |
---|---|
T |
Visit(ForStmt)
Declaration
T Visit(ForStmt node)
Parameters
Type | Name | Description |
---|---|---|
ForStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(FuncCallExpr)
Declaration
T Visit(FuncCallExpr node)
Parameters
Type | Name | Description |
---|---|---|
FuncCallExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(IfStmt)
Declaration
T Visit(IfStmt node)
Parameters
Type | Name | Description |
---|---|---|
IfStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(IndexExpr)
Declaration
T Visit(IndexExpr node)
Parameters
Type | Name | Description |
---|---|---|
IndexExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(InputStmt)
Declaration
T Visit(InputStmt node)
Parameters
Type | Name | Description |
---|---|---|
InputStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(LetStmt)
Declaration
T Visit(LetStmt node)
Parameters
Type | Name | Description |
---|---|---|
LetStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(NewArrayExpr)
Declaration
T Visit(NewArrayExpr node)
Parameters
Type | Name | Description |
---|---|---|
NewArrayExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(NumberExpr)
Declaration
T Visit(NumberExpr node)
Parameters
Type | Name | Description |
---|---|---|
NumberExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(PrintStmt)
Declaration
T Visit(PrintStmt node)
Parameters
Type | Name | Description |
---|---|---|
PrintStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(ProgramNode)
Declaration
T Visit(ProgramNode node)
Parameters
Type | Name | Description |
---|---|---|
ProgramNode | node |
Returns
Type | Description |
---|---|
T |
Visit(RepeatStmt)
Declaration
T Visit(RepeatStmt node)
Parameters
Type | Name | Description |
---|---|---|
RepeatStmt | node |
Returns
Type | Description |
---|---|
T |
Visit(StringExpr)
Declaration
T Visit(StringExpr node)
Parameters
Type | Name | Description |
---|---|---|
StringExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(UnaryExpr)
Declaration
T Visit(UnaryExpr node)
Parameters
Type | Name | Description |
---|---|---|
UnaryExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(VarExpr)
Declaration
T Visit(VarExpr node)
Parameters
Type | Name | Description |
---|---|---|
VarExpr | node |
Returns
Type | Description |
---|---|
T |
Visit(WhileStmt)
Declaration
T Visit(WhileStmt node)
Parameters
Type | Name | Description |
---|---|---|
WhileStmt | node |
Returns
Type | Description |
---|---|
T |