]> git.saurik.com Git - bison.git/blob - src/parse-gram.h
portability: fix pointer arithmetic to conform to C standard.
[bison.git] / src / parse-gram.h
1 /* A Bison parser, made by GNU Bison 2.4.2.5-1849. */
2
3 /* Skeleton interface for Bison's Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6 Foundation, Inc.
7
8 This program is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20
21 /* As a special exception, you may create a larger work that contains
22 part or all of the Bison parser skeleton and distribute that work
23 under terms of your choice, so long as that work isn't itself a
24 parser generator using the skeleton or a modified version thereof
25 as a parser skeleton. Alternatively, if you modify or redistribute
26 the parser skeleton itself, you may (at your option) remove this
27 special exception, which will cause the skeleton and the resulting
28 Bison output files to be licensed under the GNU General Public
29 License without this special exception.
30
31 This special exception was added by the Free Software Foundation in
32 version 2.2 of Bison. */
33
34
35 /* Tokens. */
36 #ifndef YYTOKENTYPE
37 # define YYTOKENTYPE
38 /* Put the tokens into the symbol table, so that GDB and other debuggers
39 know about them. */
40 enum yytokentype {
41 GRAM_EOF = 0,
42 STRING = 258,
43 INT = 259,
44 PERCENT_TOKEN = 260,
45 PERCENT_NTERM = 261,
46 PERCENT_TYPE = 262,
47 PERCENT_DESTRUCTOR = 263,
48 PERCENT_PRINTER = 264,
49 PERCENT_LEFT = 265,
50 PERCENT_RIGHT = 266,
51 PERCENT_NONASSOC = 267,
52 PERCENT_PREC = 268,
53 PERCENT_DPREC = 269,
54 PERCENT_MERGE = 270,
55 PERCENT_CODE = 271,
56 PERCENT_DEBUG = 272,
57 PERCENT_DEFAULT_PREC = 273,
58 PERCENT_DEFINE = 274,
59 PERCENT_DEFINES = 275,
60 PERCENT_ERROR_VERBOSE = 276,
61 PERCENT_EXPECT = 277,
62 PERCENT_EXPECT_RR = 278,
63 PERCENT_FILE_PREFIX = 279,
64 PERCENT_GLR_PARSER = 280,
65 PERCENT_INITIAL_ACTION = 281,
66 PERCENT_LANGUAGE = 282,
67 PERCENT_LEX_PARAM = 283,
68 PERCENT_LOCATIONS = 284,
69 PERCENT_NAME_PREFIX = 285,
70 PERCENT_NO_DEFAULT_PREC = 286,
71 PERCENT_NO_LINES = 287,
72 PERCENT_NONDETERMINISTIC_PARSER = 288,
73 PERCENT_OUTPUT = 289,
74 PERCENT_PARSE_PARAM = 290,
75 PERCENT_PURE_PARSER = 291,
76 PERCENT_REQUIRE = 292,
77 PERCENT_SKELETON = 293,
78 PERCENT_START = 294,
79 PERCENT_TOKEN_TABLE = 295,
80 PERCENT_VERBOSE = 296,
81 PERCENT_YACC = 297,
82 BRACED_CODE = 298,
83 CHAR = 299,
84 EPILOGUE = 300,
85 EQUAL = 301,
86 ID = 302,
87 ID_COLON = 303,
88 PERCENT_PERCENT = 304,
89 PIPE = 305,
90 PROLOGUE = 306,
91 SEMICOLON = 307,
92 TYPE = 308,
93 TYPE_TAG_ANY = 309,
94 TYPE_TAG_NONE = 310,
95 PERCENT_UNION = 311
96 };
97 #endif
98 /* Tokens. */
99 #define GRAM_EOF 0
100 #define STRING 258
101 #define INT 259
102 #define PERCENT_TOKEN 260
103 #define PERCENT_NTERM 261
104 #define PERCENT_TYPE 262
105 #define PERCENT_DESTRUCTOR 263
106 #define PERCENT_PRINTER 264
107 #define PERCENT_LEFT 265
108 #define PERCENT_RIGHT 266
109 #define PERCENT_NONASSOC 267
110 #define PERCENT_PREC 268
111 #define PERCENT_DPREC 269
112 #define PERCENT_MERGE 270
113 #define PERCENT_CODE 271
114 #define PERCENT_DEBUG 272
115 #define PERCENT_DEFAULT_PREC 273
116 #define PERCENT_DEFINE 274
117 #define PERCENT_DEFINES 275
118 #define PERCENT_ERROR_VERBOSE 276
119 #define PERCENT_EXPECT 277
120 #define PERCENT_EXPECT_RR 278
121 #define PERCENT_FILE_PREFIX 279
122 #define PERCENT_GLR_PARSER 280
123 #define PERCENT_INITIAL_ACTION 281
124 #define PERCENT_LANGUAGE 282
125 #define PERCENT_LEX_PARAM 283
126 #define PERCENT_LOCATIONS 284
127 #define PERCENT_NAME_PREFIX 285
128 #define PERCENT_NO_DEFAULT_PREC 286
129 #define PERCENT_NO_LINES 287
130 #define PERCENT_NONDETERMINISTIC_PARSER 288
131 #define PERCENT_OUTPUT 289
132 #define PERCENT_PARSE_PARAM 290
133 #define PERCENT_PURE_PARSER 291
134 #define PERCENT_REQUIRE 292
135 #define PERCENT_SKELETON 293
136 #define PERCENT_START 294
137 #define PERCENT_TOKEN_TABLE 295
138 #define PERCENT_VERBOSE 296
139 #define PERCENT_YACC 297
140 #define BRACED_CODE 298
141 #define CHAR 299
142 #define EPILOGUE 300
143 #define EQUAL 301
144 #define ID 302
145 #define ID_COLON 303
146 #define PERCENT_PERCENT 304
147 #define PIPE 305
148 #define PROLOGUE 306
149 #define SEMICOLON 307
150 #define TYPE 308
151 #define TYPE_TAG_ANY 309
152 #define TYPE_TAG_NONE 310
153 #define PERCENT_UNION 311
154
155
156
157
158 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
159 typedef union YYSTYPE
160 {
161
162 /* Line 1685 of yacc.c */
163 #line 91 "parse-gram.y"
164
165 symbol *symbol;
166 symbol_list *list;
167 int integer;
168 char const *chars;
169 char *code;
170 assoc assoc;
171 uniqstr uniqstr;
172 unsigned char character;
173
174
175
176 /* Line 1685 of yacc.c */
177 #line 178 "parse-gram.h"
178 } YYSTYPE;
179 # define YYSTYPE_IS_TRIVIAL 1
180 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
181 # define YYSTYPE_IS_DECLARED 1
182 #endif
183
184
185
186 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
187 typedef struct YYLTYPE
188 {
189 int first_line;
190 int first_column;
191 int last_line;
192 int last_column;
193 } YYLTYPE;
194 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
195 # define YYLTYPE_IS_DECLARED 1
196 # define YYLTYPE_IS_TRIVIAL 1
197 #endif
198
199
200