absyntax/visitor.hh
changeset 350 2c3c4dc34979
parent 279 c0453b7f99df
child 680 df783da3ebe2
--- 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);