]> git.saurik.com Git - bison.git/blobdiff - src/gram.c
* src/nullable.c (set_nullable): Deobfuscate the handling of
[bison.git] / src / gram.c
index 6b487376faa14c0d23b0c3ebb4c39394f18cd6b1..35302616ace92a925b46d4bc0cd2c4c44409e31f 100644 (file)
@@ -1,5 +1,5 @@
 /* Allocate input grammar variables for bison,
-   Copyright (C) 1984, 1986, 1989 Free Software Foundation, Inc.
+   Copyright 1984, 1986, 1989, 2001 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Compiler Compiler.
 
@@ -15,9 +15,16 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with Bison; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 
+#include "system.h"
+#include "gram.h"
+#include "reader.h"
+
+void dummy PARAMS((void));
+
 /* comments for these variables are in gram.h  */
 
 int nitems;
@@ -26,21 +33,18 @@ int nsyms;
 int ntokens;
 int nvars;
 
-short *ritem;
-short *rlhs;
-short *rrhs;
-short *rprec;
-short *rprecsym;
-short *sprec;
-short *rassoc;
-short *sassoc;
-short *token_translations;
-short *rline;
+short *ritem = NULL;
+rule_t *rule_table = NULL;
+short *rprec = NULL;
+short *rprecsym = NULL;
+short *sprec = NULL;
+short *rassoc = NULL;
+short *sassoc = NULL;
+short *token_translations = NULL;
+short *rline = NULL;
 
 int start_symbol;
 
-int translations;
-
 int max_user_token_number;
 
 int semantic_parser;
@@ -49,10 +53,15 @@ int pure_parser;
 
 int error_token_number;
 
-/* This is to avoid linker problems which occur on VMS when using GCC,
-   when the file in question contains data definitions only.  */
-
-static void
-dummy (void)
+void
+ritem_print (FILE *out)
 {
+  int i;
+  fputs ("RITEM\n", out);
+  for (i = 0; ritem[i]; ++i)
+    if (ritem[i] > 0)
+      fprintf (out, "  %s", tags[ritem[i]]);
+    else
+      fprintf (out, "  (rule %d)\n", -ritem[i]);
+  fputs ("\n\n", out);
 }