|
virtual void | walk (AstNode *node) |
| This function walk the AstNode depth-first and invoke handler methods. More...
|
|
template<typename D > |
void | dispatch (AstNode *node) |
| This function invoke the appropriate handler method for the node's token type.. More...
|
|
|
virtual void | handleRoot (AstNode *node, top_down) |
|
virtual AstNode * | handleProgram (AstNode *node, top_down) |
|
virtual AstNode * | handleConst (AstNode *node, top_down) |
|
virtual AstNode * | handleChildren (AstNode *node, top_down) |
|
virtual AstNode * | handleType (AstNode *node, top_down) |
|
virtual AstNode * | handleEnum (AstNode *node, top_down) |
|
virtual AstNode * | handleEnumMember (AstNode *node, top_down) |
|
virtual AstNode * | handleStruct (AstNode *node, top_down) |
|
virtual AstNode * | handleStructMember (AstNode *node, top_down) |
|
virtual AstNode * | handleUnion (AstNode *node, top_down) |
|
virtual AstNode * | handleUnionCase (AstNode *node, top_down) |
|
virtual AstNode * | handleInterface (AstNode *node, top_down) |
|
virtual AstNode * | handleFunction (AstNode *node, top_down) |
|
virtual AstNode * | handleParam (AstNode *node, top_down) |
|
virtual AstNode * | handleExpr (AstNode *node, top_down) |
|
virtual AstNode * | handleBinaryOp (AstNode *node, top_down) |
|
virtual AstNode * | handleUnaryOp (AstNode *node, top_down) |
|
virtual AstNode * | handleAnnotation (AstNode *node, top_down) |
|
|
virtual void | handleRoot (AstNode *node, bottom_up) |
|
virtual AstNode * | handleProgram (AstNode *node, bottom_up) |
|
virtual AstNode * | handleConst (AstNode *node, bottom_up) |
|
virtual AstNode * | handleChildren (AstNode *node, bottom_up) |
|
virtual AstNode * | handleType (AstNode *node, bottom_up) |
|
virtual AstNode * | handleEnum (AstNode *node, bottom_up) |
|
virtual AstNode * | handleEnumMember (AstNode *node, bottom_up) |
|
virtual AstNode * | handleStruct (AstNode *node, bottom_up) |
|
virtual AstNode * | handleStructMember (AstNode *node, bottom_up) |
|
virtual AstNode * | handleUnion (AstNode *node, bottom_up) |
|
virtual AstNode * | handleUnionCase (AstNode *node, bottom_up) |
|
virtual AstNode * | handleInterface (AstNode *node, bottom_up) |
|
virtual AstNode * | handleFunction (AstNode *node, bottom_up) |
|
virtual AstNode * | handleParam (AstNode *node, bottom_up) |
|
virtual AstNode * | handleExpr (AstNode *node, bottom_up) |
|
virtual AstNode * | handleBinaryOp (AstNode *node, bottom_up) |
|
virtual AstNode * | handleUnaryOp (AstNode *node, bottom_up) |
|
virtual AstNode * | handleAnnotation (AstNode *node, bottom_up) |
|
Performs a depth-first walk of an AST.
Handles these token types:
- TOK_PROGRAM
- TOK_CONST
- TOK_ENUM
- TOK_STRUCT
- TOK_TYPE
- TOK_INTERFACE
- TOK_CHILDREN
- TOK_ENUM_MEMBER
- TOK_STRUCT_MEMBER
- TOK_FUNCTION
- TOK_PARAM
- TOK_EXPR
- TOK_ANNOTATION
- TOK_LIST
- TOK_ARRAY