]> git.saurik.com Git - bison.git/blobdiff - src/symtab.h
* bison.s1 (#line): All set to `#line' only, since the Makefile
[bison.git] / src / symtab.h
index 9f2cb564c8aeb0c144443c181e118d02ef17594d..03e2ea1cab9725ddbe4aef71d6531ecb6080adf8 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for symtab.c and callers, part of bison,
-   Copyright (C) 1984, 1989 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1992 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Compiler Compiler.
 
@@ -15,8 +15,12 @@ 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.  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 
 #define        TABSIZE 1009
 
@@ -24,9 +28,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /*  symbol classes  */
 
 #define SUNKNOWN 0
-#define STOKEN  1
-#define SNTERM  2
+#define STOKEN  1      /* terminal symbol */
+#define SNTERM  2      /* non-terminal */
 
+#define SALIAS -9991   /* for symbol generated with an alias */
 
 typedef
   struct bucket
@@ -39,6 +44,11 @@ typedef
       short prec;
       short assoc;
       short user_token_number;
+                       /* special value SALIAS in the identifier
+                        half of the identifier-symbol pair for an alias */
+      struct bucket *alias;      
+                       /* points to the other in the identifier-symbol
+                        pair for an alias */
       char class;
     }
   bucket;
@@ -47,4 +57,4 @@ typedef
 extern bucket **symtab;
 extern bucket *firstsymbol;
 
-extern bucket *getsym();
+extern bucket *getsym PARAMS((char *));