File indexing completed on 2024-04-28 04:36:08
0001 // THIS FILE IS GENERATED 0002 // WARNING! All changes made in this file will be lost! 0003 0004 #ifndef FACT_VISITOR_H_INCLUDED 0005 #define FACT_VISITOR_H_INCLUDED 0006 0007 #include "factast.h" 0008 0009 namespace fact 0010 { 0011 0012 class Visitor 0013 { 0014 typedef void (Visitor::*ParserFuncType)(AstNode *); 0015 static ParserFuncType sParserTable[]; 0016 0017 public: 0018 virtual ~Visitor() {} 0019 virtual void visitNode(AstNode *node) 0020 { 0021 if (node) (this->*sParserTable[node->kind - 1000])(node); 0022 } 0023 virtual void visitAssignmentStatement(AssignmentStatementAst *) {} 0024 virtual void visitBlockStatement(BlockStatementAst *) {} 0025 virtual void visitBody(BodyAst *) {} 0026 virtual void visitCondition(ConditionAst *) {} 0027 virtual void visitDeclaration(DeclarationAst *) {} 0028 virtual void visitExpression(ExpressionAst *) {} 0029 virtual void visitFunctionDefinition(FunctionDefinitionAst *) {} 0030 virtual void visitIfStatement(IfStatementAst *) {} 0031 virtual void visitMultExpression(MultExpressionAst *) {} 0032 virtual void visitPrimary(PrimaryAst *) {} 0033 virtual void visitProgram(ProgramAst *) {} 0034 virtual void visitReturnStatement(ReturnStatementAst *) {} 0035 virtual void visitStatement(StatementAst *) {} 0036 virtual void visitVariable(VariableAst *) {} 0037 }; 0038 0039 } // end of namespace fact 0040 0041 #endif 0042