]> git.saurik.com Git - bison.git/blobdiff - src/gram.h
* src/parse-gram.y (grammar_declaration): Location of printer
[bison.git] / src / gram.h
index caae4847b98bc231e39b7e5c4a043149827919ab..b8f316a03945546fa2c6c63267bef98c7e08517d 100644 (file)
@@ -1,6 +1,6 @@
 /* Data definitions for internal representation of Bison's input.
 
 /* Data definitions for internal representation of Bison's input.
 
-   Copyright (C) 1984, 1986, 1989, 1992, 2001, 2002, 2003, 2004
+   Copyright (C) 1984, 1986, 1989, 1992, 2001, 2002, 2003, 2004, 2005
    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.
@@ -17,8 +17,8 @@
 
    You should have received a copy of the GNU General Public License
    along with Bison; see the file COPYING.  If not, write to
 
    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, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #ifndef GRAM_H_
 # define GRAM_H_
 
 #ifndef GRAM_H_
 # define GRAM_H_
@@ -138,8 +138,14 @@ item_number_as_symbol_number (item_number i)
   return i;
 }
 
   return i;
 }
 
+static inline bool
+item_number_is_symbol_number (item_number i)
+{
+  return i >= 0;
+}
+
 /* Rule numbers.  */
 /* Rule numbers.  */
-typedef short int rule_number;
+typedef int rule_number;
 extern rule_number nrules;
 
 static inline item_number
 extern rule_number nrules;
 
 static inline item_number
@@ -154,6 +160,11 @@ item_number_as_rule_number (item_number i)
   return -1 - i;
 }
 
   return -1 - i;
 }
 
+static inline bool
+item_number_is_rule_number (item_number i)
+{
+  return i < 0;
+}
 
 /*--------.
 | Rules.  |
 
 /*--------.
 | Rules.  |
@@ -175,8 +186,8 @@ typedef struct
   /* This symbol provides both the associativity, and the precedence. */
   symbol *prec;
 
   /* This symbol provides both the associativity, and the precedence. */
   symbol *prec;
 
-  short int dprec;
-  short int merger;
+  int dprec;
+  int merger;
 
   /* This symbol was attached to the rule via %prec. */
   symbol *precsym;
 
   /* This symbol was attached to the rule via %prec. */
   symbol *precsym;