]> git.saurik.com Git - bison.git/blobdiff - src/gram.c
* doc/bison.texinfo (Debugging): Split into...
[bison.git] / src / gram.c
index e6fb7089b08aa0819e6446dd019836f5728ec1c7..de5a217c7ebd5aa86fa64607a5258b9270f94b1d 100644 (file)
@@ -29,7 +29,7 @@
 /* comments for these variables are in gram.h  */
 
 item_number_t *ritem = NULL;
 /* comments for these variables are in gram.h  */
 
 item_number_t *ritem = NULL;
-int nritems = 0;
+unsigned int nritems = 0;
 
 rule_t *rules = NULL;
 int nrules = 0;
 
 rule_t *rules = NULL;
 int nrules = 0;
@@ -45,8 +45,6 @@ token_number_t start_symbol = 0;
 
 int max_user_token_number = 256;
 
 
 int max_user_token_number = 256;
 
-int semantic_parser = 0;
-
 int pure_parser = 0;
 
 
 int pure_parser = 0;
 
 
@@ -72,7 +70,7 @@ rule_rhs_length (rule_t *rule)
 void
 ritem_print (FILE *out)
 {
 void
 ritem_print (FILE *out)
 {
-  int i;
+  unsigned int i;
   fputs ("RITEM\n", out);
   for (i = 0; i < nritems; ++i)
     if (ritem[i] >= 0)
   fputs ("RITEM\n", out);
   for (i = 0; i < nritems; ++i)
     if (ritem[i] >= 0)
@@ -161,3 +159,14 @@ grammar_dump (FILE *out, const char *title)
     }
   fprintf (out, "\n\n");
 }
     }
   fprintf (out, "\n\n");
 }
+
+
+void
+grammar_free (void)
+{
+  XFREE (ritem);
+  free (rules + 1);
+  XFREE (token_translations);
+  /* Free the symbol table data structure.  */
+  symbols_free ();
+}