source: src/Parser/parser.h@ 02e5ab6

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since 02e5ab6 was 02e5ab6, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

add preprocessor flag -DCFORALL=1, add syntax for constructor/destructor

  • Property mode set to 100644
File size: 6.3 KB
Line 
1/* A Bison parser, made by GNU Bison 2.5. */
2
3/* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20/* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33
34/* Tokens. */
35#ifndef YYTOKENTYPE
36# define YYTOKENTYPE
37 /* Put the tokens into the symbol table, so that GDB and other debuggers
38 know about them. */
39 enum yytokentype {
40 TYPEDEF = 258,
41 AUTO = 259,
42 EXTERN = 260,
43 REGISTER = 261,
44 STATIC = 262,
45 INLINE = 263,
46 FORTRAN = 264,
47 CONST = 265,
48 VOLATILE = 266,
49 RESTRICT = 267,
50 FORALL = 268,
51 LVALUE = 269,
52 VOID = 270,
53 CHAR = 271,
54 SHORT = 272,
55 INT = 273,
56 LONG = 274,
57 FLOAT = 275,
58 DOUBLE = 276,
59 SIGNED = 277,
60 UNSIGNED = 278,
61 BOOL = 279,
62 COMPLEX = 280,
63 IMAGINARY = 281,
64 TYPEOF = 282,
65 LABEL = 283,
66 ENUM = 284,
67 STRUCT = 285,
68 UNION = 286,
69 TYPE = 287,
70 FTYPE = 288,
71 DTYPE = 289,
72 CONTEXT = 290,
73 SIZEOF = 291,
74 ATTRIBUTE = 292,
75 EXTENSION = 293,
76 IF = 294,
77 ELSE = 295,
78 SWITCH = 296,
79 CASE = 297,
80 DEFAULT = 298,
81 DO = 299,
82 WHILE = 300,
83 FOR = 301,
84 BREAK = 302,
85 CONTINUE = 303,
86 GOTO = 304,
87 RETURN = 305,
88 CHOOSE = 306,
89 DISABLE = 307,
90 ENABLE = 308,
91 FALLTHRU = 309,
92 TRY = 310,
93 CATCH = 311,
94 CATCHRESUME = 312,
95 FINALLY = 313,
96 THROW = 314,
97 THROWRESUME = 315,
98 AT = 316,
99 ASM = 317,
100 ALIGNAS = 318,
101 ALIGNOF = 319,
102 ATOMIC = 320,
103 GENERIC = 321,
104 NORETURN = 322,
105 STATICASSERT = 323,
106 THREADLOCAL = 324,
107 IDENTIFIER = 325,
108 QUOTED_IDENTIFIER = 326,
109 TYPEDEFname = 327,
110 TYPEGENname = 328,
111 ATTR_IDENTIFIER = 329,
112 ATTR_TYPEDEFname = 330,
113 ATTR_TYPEGENname = 331,
114 INTEGERconstant = 332,
115 FLOATINGconstant = 333,
116 CHARACTERconstant = 334,
117 STRINGliteral = 335,
118 ZERO = 336,
119 ONE = 337,
120 ARROW = 338,
121 ICR = 339,
122 DECR = 340,
123 LS = 341,
124 RS = 342,
125 LE = 343,
126 GE = 344,
127 EQ = 345,
128 NE = 346,
129 ANDAND = 347,
130 OROR = 348,
131 ELLIPSIS = 349,
132 MULTassign = 350,
133 DIVassign = 351,
134 MODassign = 352,
135 PLUSassign = 353,
136 MINUSassign = 354,
137 LSassign = 355,
138 RSassign = 356,
139 ANDassign = 357,
140 ERassign = 358,
141 ORassign = 359,
142 THEN = 360
143 };
144#endif
145/* Tokens. */
146#define TYPEDEF 258
147#define AUTO 259
148#define EXTERN 260
149#define REGISTER 261
150#define STATIC 262
151#define INLINE 263
152#define FORTRAN 264
153#define CONST 265
154#define VOLATILE 266
155#define RESTRICT 267
156#define FORALL 268
157#define LVALUE 269
158#define VOID 270
159#define CHAR 271
160#define SHORT 272
161#define INT 273
162#define LONG 274
163#define FLOAT 275
164#define DOUBLE 276
165#define SIGNED 277
166#define UNSIGNED 278
167#define BOOL 279
168#define COMPLEX 280
169#define IMAGINARY 281
170#define TYPEOF 282
171#define LABEL 283
172#define ENUM 284
173#define STRUCT 285
174#define UNION 286
175#define TYPE 287
176#define FTYPE 288
177#define DTYPE 289
178#define CONTEXT 290
179#define SIZEOF 291
180#define ATTRIBUTE 292
181#define EXTENSION 293
182#define IF 294
183#define ELSE 295
184#define SWITCH 296
185#define CASE 297
186#define DEFAULT 298
187#define DO 299
188#define WHILE 300
189#define FOR 301
190#define BREAK 302
191#define CONTINUE 303
192#define GOTO 304
193#define RETURN 305
194#define CHOOSE 306
195#define DISABLE 307
196#define ENABLE 308
197#define FALLTHRU 309
198#define TRY 310
199#define CATCH 311
200#define CATCHRESUME 312
201#define FINALLY 313
202#define THROW 314
203#define THROWRESUME 315
204#define AT 316
205#define ASM 317
206#define ALIGNAS 318
207#define ALIGNOF 319
208#define ATOMIC 320
209#define GENERIC 321
210#define NORETURN 322
211#define STATICASSERT 323
212#define THREADLOCAL 324
213#define IDENTIFIER 325
214#define QUOTED_IDENTIFIER 326
215#define TYPEDEFname 327
216#define TYPEGENname 328
217#define ATTR_IDENTIFIER 329
218#define ATTR_TYPEDEFname 330
219#define ATTR_TYPEGENname 331
220#define INTEGERconstant 332
221#define FLOATINGconstant 333
222#define CHARACTERconstant 334
223#define STRINGliteral 335
224#define ZERO 336
225#define ONE 337
226#define ARROW 338
227#define ICR 339
228#define DECR 340
229#define LS 341
230#define RS 342
231#define LE 343
232#define GE 344
233#define EQ 345
234#define NE 346
235#define ANDAND 347
236#define OROR 348
237#define ELLIPSIS 349
238#define MULTassign 350
239#define DIVassign 351
240#define MODassign 352
241#define PLUSassign 353
242#define MINUSassign 354
243#define LSassign 355
244#define RSassign 356
245#define ANDassign 357
246#define ERassign 358
247#define ORassign 359
248#define THEN 360
249
250
251
252
253#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
254typedef union YYSTYPE
255{
256
257/* Line 2068 of yacc.c */
258#line 108 "parser.yy"
259
260 Token tok;
261 ParseNode *pn;
262 ExpressionNode *en;
263 DeclarationNode *decl;
264 DeclarationNode::Aggregate aggKey;
265 DeclarationNode::TypeClass tclass;
266 StatementNode *sn;
267 ConstantNode *constant;
268 LabelNode *label;
269 InitializerNode *in;
270 bool flag;
271
272
273
274/* Line 2068 of yacc.c */
275#line 276 "Parser/parser.h"
276} YYSTYPE;
277# define YYSTYPE_IS_TRIVIAL 1
278# define yystype YYSTYPE /* obsolescent; will be withdrawn */
279# define YYSTYPE_IS_DECLARED 1
280#endif
281
282extern YYSTYPE yylval;
283
284
Note: See TracBrowser for help on using the repository browser.