]> git.saurik.com Git - bison.git/blobdiff - src/gram.h
* src/gram.h (rule_t): Rename `number' as `user_number'.
[bison.git] / src / gram.h
index b12a8a9124da93f08c6c23bdadc3db5363b32188..024501e3f07da7c41e7f01c5f2cdfd79ea8f5b85 100644 (file)
@@ -1,5 +1,5 @@
 /* Data definitions for internal representation of bison's input,
 /* Data definitions for internal representation of bison's input,
-   Copyright 1984, 1986, 1989, 1992, 2001, 2002
+   Copyright (C) 1984, 1986, 1989, 1992, 2001, 2002
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
@@ -98,6 +98,7 @@
 
    Associativities are recorded similarly in SYMBOLS[I]->assoc.  */
 
 
    Associativities are recorded similarly in SYMBOLS[I]->assoc.  */
 
+#include "symtab.h"
 
 #define        ISTOKEN(s)      ((s) < ntokens)
 #define        ISVAR(s)        ((s) >= ntokens)
 
 #define        ISTOKEN(s)      ((s) < ntokens)
 #define        ISVAR(s)        ((s) >= ntokens)
@@ -113,22 +114,17 @@ extern int nritems;
 
 extern int start_symbol;
 
 
 extern int start_symbol;
 
-/* Associativity values for tokens and rules.  */
-typedef enum
-{
-  right_assoc,
-  left_assoc,
-  non_assoc
-} associativity;
-
-
 typedef struct rule_s
 {
   /* The number of the rule in the source.  It is usually the index in
      RULES too, except if there are useless rules.  */
 typedef struct rule_s
 {
   /* The number of the rule in the source.  It is usually the index in
      RULES too, except if there are useless rules.  */
+  short user_number;
+
+  /* The index in RULES.  Usually the rule number in the source,
+     except if some rules are useless.  */
   short number;
 
   short number;
 
-  short lhs;
+  bucket *lhs;
   short *rhs;
   short prec;
   short precsym;
   short *rhs;
   short prec;
   short precsym;