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