]> git.saurik.com Git - bison.git/blobdiff - src/symlist.c
* configure.ac (AC_GNU_SOURCE): Use it instead of hand written code.
[bison.git] / src / symlist.c
index 4ae5f0171d489abb275cecfa04cae1dee4ac2a2e..8b61c8dcb5b6f97ab1917d1cf0cfa98311c7427b 100644 (file)
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include "system.h"
    Boston, MA 02111-1307, USA.  */
 
 #include "system.h"
+#include "complain.h"
 #include "symlist.h"
 
 
 #include "symlist.h"
 
 
@@ -35,6 +36,8 @@ symbol_list_new (symbol_t *sym, location_t location)
   res->location = location;
   res->action = NULL;
   res->ruleprec = NULL;
   res->location = location;
   res->action = NULL;
   res->ruleprec = NULL;
+  res->dprec = 0;
+  res->merger = 0;
   return res;
 }
 
   return res;
 }
 
@@ -64,6 +67,20 @@ symbol_list_free (symbol_list_t *list)
 }
 
 
 }
 
 
+/*--------------------.
+| Return its length.  |
+`--------------------*/
+
+unsigned int
+symbol_list_length (symbol_list_t *list)
+{
+  int res = 0;
+  for (/* Nothing. */; list; list = list->next)
+    ++res;
+  return res;
+}
+
+
 /*--------------------------------------------------------------.
 | Get the data type (alternative in the union) of the value for |
 | symbol N in rule RULE.                                        |
 /*--------------------------------------------------------------.
 | Get the data type (alternative in the union) of the value for |
 | symbol N in rule RULE.                                        |