diff -r ba80c3ceb6fb -r 2c3c4dc34979 absyntax/visitor.hh --- a/absyntax/visitor.hh Mon Jul 11 09:47:27 2011 +0100 +++ b/absyntax/visitor.hh Fri Jul 29 16:03:28 2011 +0100 @@ -78,31 +78,31 @@ -#define SYM_LIST(class_name_c) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_TOKEN(class_name_c) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_REF0(class_name_c) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_REF1(class_name_c, ref1) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_REF2(class_name_c, ref1, ref2) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_REF3(class_name_c, ref1, ref2, ref3) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_REF4(class_name_c, ref1, ref2, ref3, ref4) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_REF5(class_name_c, ref1, ref2, ref3, ref4, ref5) \ - virtual void *visit(class_name_c *symbol) = 0; - -#define SYM_REF6(class_name_c, ref1, ref2, ref3, ref4, ref5, ref6) \ +#define SYM_LIST(class_name_c, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_TOKEN(class_name_c, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_REF0(class_name_c, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_REF1(class_name_c, ref1, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_REF2(class_name_c, ref1, ref2, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_REF3(class_name_c, ref1, ref2, ref3, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_REF4(class_name_c, ref1, ref2, ref3, ref4, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_REF5(class_name_c, ref1, ref2, ref3, ref4, ref5, ...) \ + virtual void *visit(class_name_c *symbol) = 0; + +#define SYM_REF6(class_name_c, ref1, ref2, ref3, ref4, ref5, ref6, ...) \ virtual void *visit(class_name_c *symbol) = 0; class visitor_c { @@ -127,31 +127,31 @@ -#define SYM_LIST(class_name_c) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_TOKEN(class_name_c) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_REF0(class_name_c) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_REF1(class_name_c, ref1) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_REF2(class_name_c, ref1, ref2) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_REF3(class_name_c, ref1, ref2, ref3) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_REF4(class_name_c, ref1, ref2, ref3, ref4) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_REF5(class_name_c, ref1, ref2, ref3, ref4, ref5) \ - virtual void *visit(class_name_c *symbol); - -#define SYM_REF6(class_name_c, ref1, ref2, ref3, ref4, ref5, ref6) \ +#define SYM_LIST(class_name_c, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_TOKEN(class_name_c, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_REF0(class_name_c, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_REF1(class_name_c, ref1, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_REF2(class_name_c, ref1, ref2, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_REF3(class_name_c, ref1, ref2, ref3, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_REF4(class_name_c, ref1, ref2, ref3, ref4, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_REF5(class_name_c, ref1, ref2, ref3, ref4, ref5, ...) \ + virtual void *visit(class_name_c *symbol); + +#define SYM_REF6(class_name_c, ref1, ref2, ref3, ref4, ref5, ref6, ...) \ virtual void *visit(class_name_c *symbol);