File indexing completed on 2024-05-05 04:37:08
0001 // THIS FILE IS GENERATED 0002 // WARNING! All changes made in this file will be lost! 0003 0004 #ifndef cool_VISITOR_H_INCLUDED 0005 #define cool_VISITOR_H_INCLUDED 0006 0007 #include "cool_ast.h" 0008 0009 namespace cool 0010 { 0011 0012 class visitor 0013 { 0014 typedef void (visitor::*parser_fun_t)(ast_node *); 0015 static parser_fun_t _S_parser_table[]; 0016 0017 public: 0018 virtual ~visitor() 0019 {} 0020 virtual void visit_node(ast_node *node) 0021 { 0022 if (node) 0023 (this->*_S_parser_table[node->kind - 1000])(node); 0024 } 0025 virtual void visit_additive_expression(additive_expression_ast *) 0026 {} 0027 virtual void visit_block_expression(block_expression_ast *) 0028 {} 0029 virtual void visit_case_condition(case_condition_ast *) 0030 {} 0031 virtual void visit_case_expression(case_expression_ast *) 0032 {} 0033 virtual void visit_class(class_ast *) 0034 {} 0035 virtual void visit_expression(expression_ast *) 0036 {} 0037 virtual void visit_feature(feature_ast *) 0038 {} 0039 virtual void visit_formal(formal_ast *) 0040 {} 0041 virtual void visit_if_expression(if_expression_ast *) 0042 {} 0043 virtual void visit_let_declaration(let_declaration_ast *) 0044 {} 0045 virtual void visit_let_expression(let_expression_ast *) 0046 {} 0047 virtual void visit_multiplicative_expression(multiplicative_expression_ast *) 0048 {} 0049 virtual void visit_postfix_expression(postfix_expression_ast *) 0050 {} 0051 virtual void visit_primary_expression(primary_expression_ast *) 0052 {} 0053 virtual void visit_program(program_ast *) 0054 {} 0055 virtual void visit_relational_expression(relational_expression_ast *) 0056 {} 0057 virtual void visit_unary_expression(unary_expression_ast *) 0058 {} 0059 virtual void visit_while_expression(while_expression_ast *) 0060 {} 0061 } 0062 ; 0063 0064 } // end of namespace cool 0065 0066 #endif 0067 0068