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