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 |