1 /* ex: set ro ft=c: -*- buffer-read-only:t -*-
2  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3  *
4  * This file is generated automatically from 'compilers/imcc/imcc.y'
5  * by tools/build/fixup_gen_file.pl.
6  *
7  * Any changes made here will be lost!
8  *
9  */
10 /* HEADERIZER HFILE: none */
11 /* HEADERIZER STOP */
12 /* A Bison parser, made by GNU Bison 3.0.2.  */
13 
14 /* Bison interface for Yacc-like parsers in C
15 
16    Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
17 
18    This program is free software: you can redistribute it and/or modify
19    it under the terms of the GNU General Public License as published by
20    the Free Software Foundation, either version 3 of the License, or
21    (at your option) any later version.
22 
23    This program is distributed in the hope that it will be useful,
24    but WITHOUT ANY WARRANTY; without even the implied warranty of
25    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26    GNU General Public License for more details.
27 
28    You should have received a copy of the GNU General Public License
29    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
30 
31 /* As a special exception, you may create a larger work that contains
32    part or all of the Bison parser skeleton and distribute that work
33    under terms of your choice, so long as that work isn't itself a
34    parser generator using the skeleton or a modified version thereof
35    as a parser skeleton.  Alternatively, if you modify or redistribute
36    the parser skeleton itself, you may (at your option) remove this
37    special exception, which will cause the skeleton and the resulting
38    Bison output files to be licensed under the GNU General Public
39    License without this special exception.
40 
41    This special exception was added by the Free Software Foundation in
42    version 2.2 of Bison.  */
43 
44 #ifndef YY_YY_COMPILERS_IMCC_IMCPARSER_H_INCLUDED
45 # define YY_YY_COMPILERS_IMCC_IMCPARSER_H_INCLUDED
46 /* Debug traces.  */
47 #ifndef YYDEBUG
48 # define YYDEBUG 0
49 #endif
50 #if YYDEBUG
51 extern int yydebug;
52 #endif
53 
54 /* Token type.  */
55 #ifndef YYTOKENTYPE
56 # define YYTOKENTYPE
57   enum yytokentype
58   {
59     LOW_PREC = 258,
60     PARAM = 259,
61     SOL = 260,
62     HLL = 261,
63     GOTO = 262,
64     ARG = 263,
65     IF = 264,
66     UNLESS = 265,
67     PNULL = 266,
68     SET_RETURN = 267,
69     SET_YIELD = 268,
70     ADV_FLAT = 269,
71     ADV_SLURPY = 270,
72     ADV_OPTIONAL = 271,
73     ADV_OPT_FLAG = 272,
74     ADV_NAMED = 273,
75     ADV_ARROW = 274,
76     ADV_INVOCANT = 275,
77     ADV_CALL_SIG = 276,
78     NAMESPACE = 277,
79     DOT_METHOD = 278,
80     SUB = 279,
81     SYM = 280,
82     LOCAL = 281,
83     LEXICAL = 282,
84     CONST = 283,
85     ANNOTATE = 284,
86     GLOBAL_CONST = 285,
87     PLUS_ASSIGN = 286,
88     MINUS_ASSIGN = 287,
89     MUL_ASSIGN = 288,
90     DIV_ASSIGN = 289,
91     CONCAT_ASSIGN = 290,
92     BAND_ASSIGN = 291,
93     BOR_ASSIGN = 292,
94     BXOR_ASSIGN = 293,
95     FDIV = 294,
96     FDIV_ASSIGN = 295,
97     MOD_ASSIGN = 296,
98     SHR_ASSIGN = 297,
99     SHL_ASSIGN = 298,
100     SHR_U_ASSIGN = 299,
101     SHIFT_LEFT = 300,
102     SHIFT_RIGHT = 301,
103     INTV = 302,
104     FLOATV = 303,
105     STRINGV = 304,
106     PMCV = 305,
107     LOG_XOR = 306,
108     RELOP_EQ = 307,
109     RELOP_NE = 308,
110     RELOP_GT = 309,
111     RELOP_GTE = 310,
112     RELOP_LT = 311,
113     RELOP_LTE = 312,
114     RESULT = 313,
115     RETURN = 314,
116     TAILCALL = 315,
117     YIELDT = 316,
118     GET_RESULTS = 317,
119     POW = 318,
120     SHIFT_RIGHT_U = 319,
121     LOG_AND = 320,
122     LOG_OR = 321,
123     COMMA = 322,
124     ESUB = 323,
125     DOTDOT = 324,
126     PCC_BEGIN = 325,
127     PCC_END = 326,
128     PCC_CALL = 327,
129     PCC_SUB = 328,
130     PCC_BEGIN_RETURN = 329,
131     PCC_END_RETURN = 330,
132     PCC_BEGIN_YIELD = 331,
133     PCC_END_YIELD = 332,
134     INVOCANT = 333,
135     MAIN = 334,
136     LOAD = 335,
137     INIT = 336,
138     IMMEDIATE = 337,
139     POSTCOMP = 338,
140     METHOD = 339,
141     ANON = 340,
142     OUTER = 341,
143     NEED_LEX = 342,
144     MULTI = 343,
145     SUBTAG = 344,
146     VTABLE_METHOD = 345,
147     LOADLIB = 346,
148     SUB_INSTANCE_OF = 347,
149     SUBID = 348,
150     NS_ENTRY = 349,
151     LABEL = 350,
152     EMIT = 351,
153     EOM = 352,
154     IREG = 353,
155     NREG = 354,
156     SREG = 355,
157     PREG = 356,
158     IDENTIFIER = 357,
159     REG = 358,
160     MACRO = 359,
161     ENDM = 360,
162     STRINGC = 361,
163     INTC = 362,
164     FLOATC = 363,
165     USTRINGC = 364,
166     PARROT_OP = 365,
167     VAR = 366,
168     LINECOMMENT = 367,
169     FILECOMMENT = 368,
170     CONCAT = 369,
171     DOT = 370
172   };
173 #endif
174 /* Tokens.  */
175 #define LOW_PREC 258
176 #define PARAM 259
177 #define SOL 260
178 #define HLL 261
179 #define GOTO 262
180 #define ARG 263
181 #define IF 264
182 #define UNLESS 265
183 #define PNULL 266
184 #define SET_RETURN 267
185 #define SET_YIELD 268
186 #define ADV_FLAT 269
187 #define ADV_SLURPY 270
188 #define ADV_OPTIONAL 271
189 #define ADV_OPT_FLAG 272
190 #define ADV_NAMED 273
191 #define ADV_ARROW 274
192 #define ADV_INVOCANT 275
193 #define ADV_CALL_SIG 276
194 #define NAMESPACE 277
195 #define DOT_METHOD 278
196 #define SUB 279
197 #define SYM 280
198 #define LOCAL 281
199 #define LEXICAL 282
200 #define CONST 283
201 #define ANNOTATE 284
202 #define GLOBAL_CONST 285
203 #define PLUS_ASSIGN 286
204 #define MINUS_ASSIGN 287
205 #define MUL_ASSIGN 288
206 #define DIV_ASSIGN 289
207 #define CONCAT_ASSIGN 290
208 #define BAND_ASSIGN 291
209 #define BOR_ASSIGN 292
210 #define BXOR_ASSIGN 293
211 #define FDIV 294
212 #define FDIV_ASSIGN 295
213 #define MOD_ASSIGN 296
214 #define SHR_ASSIGN 297
215 #define SHL_ASSIGN 298
216 #define SHR_U_ASSIGN 299
217 #define SHIFT_LEFT 300
218 #define SHIFT_RIGHT 301
219 #define INTV 302
220 #define FLOATV 303
221 #define STRINGV 304
222 #define PMCV 305
223 #define LOG_XOR 306
224 #define RELOP_EQ 307
225 #define RELOP_NE 308
226 #define RELOP_GT 309
227 #define RELOP_GTE 310
228 #define RELOP_LT 311
229 #define RELOP_LTE 312
230 #define RESULT 313
231 #define RETURN 314
232 #define TAILCALL 315
233 #define YIELDT 316
234 #define GET_RESULTS 317
235 #define POW 318
236 #define SHIFT_RIGHT_U 319
237 #define LOG_AND 320
238 #define LOG_OR 321
239 #define COMMA 322
240 #define ESUB 323
241 #define DOTDOT 324
242 #define PCC_BEGIN 325
243 #define PCC_END 326
244 #define PCC_CALL 327
245 #define PCC_SUB 328
246 #define PCC_BEGIN_RETURN 329
247 #define PCC_END_RETURN 330
248 #define PCC_BEGIN_YIELD 331
249 #define PCC_END_YIELD 332
250 #define INVOCANT 333
251 #define MAIN 334
252 #define LOAD 335
253 #define INIT 336
254 #define IMMEDIATE 337
255 #define POSTCOMP 338
256 #define METHOD 339
257 #define ANON 340
258 #define OUTER 341
259 #define NEED_LEX 342
260 #define MULTI 343
261 #define SUBTAG 344
262 #define VTABLE_METHOD 345
263 #define LOADLIB 346
264 #define SUB_INSTANCE_OF 347
265 #define SUBID 348
266 #define NS_ENTRY 349
267 #define LABEL 350
268 #define EMIT 351
269 #define EOM 352
270 #define IREG 353
271 #define NREG 354
272 #define SREG 355
273 #define PREG 356
274 #define IDENTIFIER 357
275 #define REG 358
276 #define MACRO 359
277 #define ENDM 360
278 #define STRINGC 361
279 #define INTC 362
280 #define FLOATC 363
281 #define USTRINGC 364
282 #define PARROT_OP 365
283 #define VAR 366
284 #define LINECOMMENT 367
285 #define FILECOMMENT 368
286 #define CONCAT 369
287 #define DOT 370
288 
289 /* Value type.  */
290 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
291 typedef union YYSTYPE YYSTYPE;
292 union YYSTYPE
293 {
294 #line 1049 "compilers/imcc/imcc.y" /* yacc.c:1909  */
295 
296     IdList * idlist;
297     int t;
298     char * s;
299     SymReg * sr;
300     Instruction *i;
301 
302 #line 292 "compilers/imcc/imcparser.h" /* yacc.c:1909  */
303 };
304 # define YYSTYPE_IS_TRIVIAL 1
305 # define YYSTYPE_IS_DECLARED 1
306 #endif
307 
308 
309 
310 int yyparse (void *yyscanner, imc_info_t *imcc);
311 
312 #endif /* !YY_YY_COMPILERS_IMCC_IMCPARSER_H_INCLUDED  */
313