tagged release 0.6.4
[parrot.git] / compilers / pirc / new / pirparser.h
blob915c6cc285b14aa794da8ce55ea155eb6c5c8bbb
1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton interface for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
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 2, or (at your option)
11 any later version.
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.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* Tokens. */
37 #ifndef YYTOKENTYPE
38 # define YYTOKENTYPE
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
40 know about them. */
41 enum yytokentype {
42 TK_LABEL = 258,
43 TK_NL = 259,
44 TK_HLL = 260,
45 TK_HLL_MAP = 261,
46 TK_N_OPERATORS = 262,
47 TK_PRAGMA = 263,
48 TK_LOADLIB = 264,
49 TK_SUB = 265,
50 TK_END = 266,
51 TK_PARAM = 267,
52 TK_LEX = 268,
53 TK_LOCAL = 269,
54 TK_NAMESPACE = 270,
55 TK_INVOCANT = 271,
56 TK_METH_CALL = 272,
57 TK_GLOBALCONST = 273,
58 TK_CONST = 274,
59 TK_RETURN = 275,
60 TK_YIELD = 276,
61 TK_BEGIN_YIELD = 277,
62 TK_END_YIELD = 278,
63 TK_BEGIN_RETURN = 279,
64 TK_END_RETURN = 280,
65 TK_BEGIN_CALL = 281,
66 TK_END_CALL = 282,
67 TK_GET_RESULTS = 283,
68 TK_CALL = 284,
69 TK_ARG = 285,
70 TK_RESULT = 286,
71 TK_NCI_CALL = 287,
72 TK_IDENT = 288,
73 TK_STRINGC = 289,
74 TK_INTC = 290,
75 TK_NUMC = 291,
76 TK_PASM_PREG = 292,
77 TK_PASM_NREG = 293,
78 TK_PASM_SREG = 294,
79 TK_PASM_IREG = 295,
80 TK_SYM_PREG = 296,
81 TK_SYM_NREG = 297,
82 TK_SYM_SREG = 298,
83 TK_SYM_IREG = 299,
84 TK_PARROT_OP = 300,
85 TK_INT = 301,
86 TK_NUM = 302,
87 TK_PMC = 303,
88 TK_STRING = 304,
89 TK_IF = 305,
90 TK_UNLESS = 306,
91 TK_NULL = 307,
92 TK_GOTO = 308,
93 TK_ARROW = 309,
94 TK_NE = 310,
95 TK_EQ = 311,
96 TK_LT = 312,
97 TK_LE = 313,
98 TK_GT = 314,
99 TK_GE = 315,
100 TK_USHIFT = 316,
101 TK_RSHIFT = 317,
102 TK_LSHIFT = 318,
103 TK_FDIV = 319,
104 TK_OR = 320,
105 TK_AND = 321,
106 TK_XOR = 322,
107 TK_CONC = 323,
108 TK_ASSIGN_USHIFT = 324,
109 TK_ASSIGN_RSHIFT = 325,
110 TK_ASSIGN_LSHIFT = 326,
111 TK_ASSIGN_INC = 327,
112 TK_ASSIGN_DEC = 328,
113 TK_ASSIGN_MUL = 329,
114 TK_ASSIGN_MOD = 330,
115 TK_ASSIGN_POW = 331,
116 TK_ASSIGN_DIV = 332,
117 TK_ASSIGN_BOR = 333,
118 TK_ASSIGN_BAND = 334,
119 TK_ASSIGN_FDIV = 335,
120 TK_ASSIGN_BNOT = 336,
121 TK_ASSIGN_CONC = 337,
122 TK_FLAG_INIT = 338,
123 TK_FLAG_LOAD = 339,
124 TK_FLAG_MAIN = 340,
125 TK_FLAG_ANON = 341,
126 TK_FLAG_METHOD = 342,
127 TK_FLAG_OUTER = 343,
128 TK_FLAG_VTABLE = 344,
129 TK_FLAG_LEX = 345,
130 TK_FLAG_MULTI = 346,
131 TK_FLAG_POSTCOMP = 347,
132 TK_FLAG_IMMEDIATE = 348,
133 TK_FLAG_LEXID = 349,
134 TK_FLAG_UNIQUE_REG = 350,
135 TK_FLAG_NAMED = 351,
136 TK_FLAG_SLURPY = 352,
137 TK_FLAG_FLAT = 353,
138 TK_FLAG_OPTIONAL = 354,
139 TK_FLAG_OPT_FLAG = 355,
140 TK_FLAG_INVOCANT = 356
142 #endif
143 /* Tokens. */
144 #define TK_LABEL 258
145 #define TK_NL 259
146 #define TK_HLL 260
147 #define TK_HLL_MAP 261
148 #define TK_N_OPERATORS 262
149 #define TK_PRAGMA 263
150 #define TK_LOADLIB 264
151 #define TK_SUB 265
152 #define TK_END 266
153 #define TK_PARAM 267
154 #define TK_LEX 268
155 #define TK_LOCAL 269
156 #define TK_NAMESPACE 270
157 #define TK_INVOCANT 271
158 #define TK_METH_CALL 272
159 #define TK_GLOBALCONST 273
160 #define TK_CONST 274
161 #define TK_RETURN 275
162 #define TK_YIELD 276
163 #define TK_BEGIN_YIELD 277
164 #define TK_END_YIELD 278
165 #define TK_BEGIN_RETURN 279
166 #define TK_END_RETURN 280
167 #define TK_BEGIN_CALL 281
168 #define TK_END_CALL 282
169 #define TK_GET_RESULTS 283
170 #define TK_CALL 284
171 #define TK_ARG 285
172 #define TK_RESULT 286
173 #define TK_NCI_CALL 287
174 #define TK_IDENT 288
175 #define TK_STRINGC 289
176 #define TK_INTC 290
177 #define TK_NUMC 291
178 #define TK_PASM_PREG 292
179 #define TK_PASM_NREG 293
180 #define TK_PASM_SREG 294
181 #define TK_PASM_IREG 295
182 #define TK_SYM_PREG 296
183 #define TK_SYM_NREG 297
184 #define TK_SYM_SREG 298
185 #define TK_SYM_IREG 299
186 #define TK_PARROT_OP 300
187 #define TK_INT 301
188 #define TK_NUM 302
189 #define TK_PMC 303
190 #define TK_STRING 304
191 #define TK_IF 305
192 #define TK_UNLESS 306
193 #define TK_NULL 307
194 #define TK_GOTO 308
195 #define TK_ARROW 309
196 #define TK_NE 310
197 #define TK_EQ 311
198 #define TK_LT 312
199 #define TK_LE 313
200 #define TK_GT 314
201 #define TK_GE 315
202 #define TK_USHIFT 316
203 #define TK_RSHIFT 317
204 #define TK_LSHIFT 318
205 #define TK_FDIV 319
206 #define TK_OR 320
207 #define TK_AND 321
208 #define TK_XOR 322
209 #define TK_CONC 323
210 #define TK_ASSIGN_USHIFT 324
211 #define TK_ASSIGN_RSHIFT 325
212 #define TK_ASSIGN_LSHIFT 326
213 #define TK_ASSIGN_INC 327
214 #define TK_ASSIGN_DEC 328
215 #define TK_ASSIGN_MUL 329
216 #define TK_ASSIGN_MOD 330
217 #define TK_ASSIGN_POW 331
218 #define TK_ASSIGN_DIV 332
219 #define TK_ASSIGN_BOR 333
220 #define TK_ASSIGN_BAND 334
221 #define TK_ASSIGN_FDIV 335
222 #define TK_ASSIGN_BNOT 336
223 #define TK_ASSIGN_CONC 337
224 #define TK_FLAG_INIT 338
225 #define TK_FLAG_LOAD 339
226 #define TK_FLAG_MAIN 340
227 #define TK_FLAG_ANON 341
228 #define TK_FLAG_METHOD 342
229 #define TK_FLAG_OUTER 343
230 #define TK_FLAG_VTABLE 344
231 #define TK_FLAG_LEX 345
232 #define TK_FLAG_MULTI 346
233 #define TK_FLAG_POSTCOMP 347
234 #define TK_FLAG_IMMEDIATE 348
235 #define TK_FLAG_LEXID 349
236 #define TK_FLAG_UNIQUE_REG 350
237 #define TK_FLAG_NAMED 351
238 #define TK_FLAG_SLURPY 352
239 #define TK_FLAG_FLAT 353
240 #define TK_FLAG_OPTIONAL 354
241 #define TK_FLAG_OPT_FLAG 355
242 #define TK_FLAG_INVOCANT 356
247 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
248 typedef union YYSTYPE
249 #line 84 "pir.y"
251 double dval;
252 int ival;
253 char *sval;
254 struct constant *constval;
255 struct instruction *instr;
256 struct expression *expr;
257 struct target *targ;
258 struct argument *argm;
259 struct invocation *invo;
261 void *fixme;
263 /* Line 1489 of yacc.c. */
264 #line 265 "pirparser.h"
265 YYSTYPE;
266 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
267 # define YYSTYPE_IS_DECLARED 1
268 # define YYSTYPE_IS_TRIVIAL 1
269 #endif