diff -r 0c2ef191b22a -r d48f53715f77 absyntax/visitor.cc --- a/absyntax/visitor.cc Wed Feb 01 13:01:08 2012 +0000 +++ b/absyntax/visitor.cc Wed Feb 01 19:49:11 2012 +0000 @@ -73,13 +73,13 @@ #define SYM_LIST(class_name_c) \ void *null_visitor_c::visit(class_name_c *symbol) {return NULL;} -#define SYM_TOKEN(class_name_c) \ - void *null_visitor_c::visit(class_name_c *symbol) {return NULL;} - -#define SYM_REF0(class_name_c) \ - void *null_visitor_c::visit(class_name_c *symbol) {return NULL;} - -#define SYM_REF1(class_name_c, ref1) \ +#define SYM_TOKEN(class_name_c, ...) \ + void *null_visitor_c::visit(class_name_c *symbol) {return NULL;} + +#define SYM_REF0(class_name_c, ...) \ + void *null_visitor_c::visit(class_name_c *symbol) {return NULL;} + +#define SYM_REF1(class_name_c, ref1, ...) \ void *null_visitor_c::visit(class_name_c *symbol) {return NULL;} #define SYM_REF2(class_name_c, ref1, ref2, ...) \ @@ -136,13 +136,13 @@ #define SYM_LIST(class_name_c) \ void *iterator_visitor_c::visit(class_name_c *symbol) {return visit_list(symbol);} -#define SYM_TOKEN(class_name_c) \ +#define SYM_TOKEN(class_name_c, ...) \ void *iterator_visitor_c::visit(class_name_c *symbol) {return NULL;} -#define SYM_REF0(class_name_c) \ +#define SYM_REF0(class_name_c, ...) \ void *iterator_visitor_c::visit(class_name_c *symbol) {return NULL;} -#define SYM_REF1(class_name_c, ref1) \ +#define SYM_REF1(class_name_c, ref1, ...) \ void *iterator_visitor_c::visit(class_name_c *symbol) { \ if (symbol->ref1!=NULL) symbol->ref1->accept(*this); \ return NULL; \ @@ -238,13 +238,13 @@ #define SYM_LIST(class_name_c) \ void *search_visitor_c::visit(class_name_c *symbol) {return visit_list(symbol);} -#define SYM_TOKEN(class_name_c) \ +#define SYM_TOKEN(class_name_c, ...) \ void *search_visitor_c::visit(class_name_c *symbol) {return NULL;} -#define SYM_REF0(class_name_c) \ +#define SYM_REF0(class_name_c, ...) \ void *search_visitor_c::visit(class_name_c *symbol) {return NULL;} -#define SYM_REF1(class_name_c, ref1) \ +#define SYM_REF1(class_name_c, ref1, ...) \ void *search_visitor_c::visit(class_name_c *symbol) { \ if (symbol->ref1) return symbol->ref1->accept(*this); \ return NULL; \