]> git.saurik.com Git - bison.git/blame - src/parse-gram.h
Simplify union and prologue handling, and escape union and lex/parse
[bison.git] / src / parse-gram.h
CommitLineData
1c7b7e1d 1
136a0f76 2/* A Bison parser, made by GNU Bison 2.3a+. */
04b6e11e 3
04c12cb8 4/* Skeleton interface for Bison's Yacc-like parsers in C
136a0f76
PB
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
04c12cb8 7 Free Software Foundation, Inc.
136a0f76 8
04b6e11e
PE
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
136a0f76 13
04b6e11e
PE
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
136a0f76 18
04b6e11e
PE
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
0fb669f9
PE
21 Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 Boston, MA 02110-1301, USA. */
04b6e11e 23
04c12cb8
PE
24/* As a special exception, you may create a larger work that contains
25 part or all of the Bison parser skeleton and distribute that work
26 under terms of your choice, so long as that work isn't itself a
27 parser generator using the skeleton or a modified version thereof
28 as a parser skeleton. Alternatively, if you modify or redistribute
29 the parser skeleton itself, you may (at your option) remove this
30 special exception, which will cause the skeleton and the resulting
31 Bison output files to be licensed under the GNU General Public
32 License without this special exception.
136a0f76 33
04c12cb8
PE
34 This special exception was added by the Free Software Foundation in
35 version 2.2 of Bison. */
04b6e11e 36
9bc0dd67 37
1921f1d7
AD
38/* Tokens. */
39#ifndef YYTOKENTYPE
ae7453f2 40# define YYTOKENTYPE
1921f1d7
AD
41 /* Put the tokens into the symbol table, so that GDB and other debuggers
42 know about them. */
43 enum yytokentype {
44 GRAM_EOF = 0,
45 STRING = 258,
62ddaef6
PE
46 INT = 259,
47 PERCENT_TOKEN = 260,
48 PERCENT_NTERM = 261,
49 PERCENT_TYPE = 262,
50 PERCENT_DESTRUCTOR = 263,
51 PERCENT_PRINTER = 264,
12e35840
JD
52 PERCENT_LEFT = 265,
53 PERCENT_RIGHT = 266,
54 PERCENT_NONASSOC = 267,
55 PERCENT_PREC = 268,
56 PERCENT_DPREC = 269,
57 PERCENT_MERGE = 270,
58 PERCENT_CODE = 271,
8e0a5e9e
JD
59 PERCENT_DEBUG = 272,
60 PERCENT_DEFAULT_PREC = 273,
61 PERCENT_DEFINE = 274,
62 PERCENT_DEFINES = 275,
63 PERCENT_ERROR_VERBOSE = 276,
64 PERCENT_EXPECT = 277,
65 PERCENT_EXPECT_RR = 278,
66 PERCENT_FILE_PREFIX = 279,
67 PERCENT_GLR_PARSER = 280,
68 PERCENT_INITIAL_ACTION = 281,
69 PERCENT_LANGUAGE = 282,
70 PERCENT_LEX_PARAM = 283,
71 PERCENT_LOCATIONS = 284,
72 PERCENT_NAME_PREFIX = 285,
73 PERCENT_NO_DEFAULT_PREC = 286,
74 PERCENT_NO_LINES = 287,
75 PERCENT_NONDETERMINISTIC_PARSER = 288,
76 PERCENT_OUTPUT = 289,
77 PERCENT_PARSE_PARAM = 290,
78 PERCENT_PURE_PARSER = 291,
79 PERCENT_PUSH_PARSER = 292,
80 PERCENT_PUSH_PULL_PARSER = 293,
81 PERCENT_REQUIRE = 294,
82 PERCENT_SKELETON = 295,
83 PERCENT_START = 296,
84 PERCENT_TOKEN_TABLE = 297,
85 PERCENT_VERBOSE = 298,
86 PERCENT_YACC = 299,
87 BRACED_CODE = 300,
88 CHAR = 301,
89 EPILOGUE = 302,
90 EQUAL = 303,
91 ID = 304,
92 ID_COLON = 305,
93 PERCENT_PERCENT = 306,
94 PIPE = 307,
95 PROLOGUE = 308,
96 SEMICOLON = 309,
97 TYPE = 310,
98 TYPE_TAG_ANY = 311,
99 TYPE_TAG_NONE = 312,
100 PERCENT_UNION = 313
1921f1d7 101 };
ae7453f2 102#endif
1921f1d7
AD
103
104
105
bf8b3d98
PE
106#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
107typedef union YYSTYPE
136a0f76 108{
7ecec4dd
JD
109
110/* Line 1537 of yacc.c */
7eb8a0bc 111#line 97 "parse-gram.y"
50a33993 112
05d18c24
PE
113 symbol *symbol;
114 symbol_list *list;
e9955c83 115 int integer;
ff8d8df2
PE
116 char const *chars;
117 char *code;
05d18c24
PE
118 assoc assoc;
119 uniqstr uniqstr;
58d7a1a1 120 unsigned char character;
136a0f76 121
7ecec4dd
JD
122
123
124/* Line 1537 of yacc.c */
125#line 126 "parse-gram.h"
126} YYSTYPE;
1f4cc0f4 127# define YYSTYPE_IS_TRIVIAL 1
73521d9f
PE
128# define yystype YYSTYPE /* obsolescent; will be withdrawn */
129# define YYSTYPE_IS_DECLARED 1
e9955c83
AD
130#endif
131
1921f1d7
AD
132
133
bf8b3d98 134#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
73521d9f 135typedef struct YYLTYPE
e9955c83
AD
136{
137 int first_line;
138 int first_column;
139 int last_line;
140 int last_column;
73521d9f
PE
141} YYLTYPE;
142# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
143# define YYLTYPE_IS_DECLARED 1
144# define YYLTYPE_IS_TRIVIAL 1
e9955c83
AD
145#endif
146
147
9bc0dd67 148
ff8d8df2 149