source: src/Parser/parser.h@ 6152c81

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

add _Coroutine, _Monitor, _Thread keywords

  • Property mode set to 100644
File size: 6.8 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 EXTERN = 259,
42 STATIC = 260,
43 AUTO = 261,
44 REGISTER = 262,
45 THREADLOCAL = 263,
46 INLINE = 264,
47 FORTRAN = 265,
48 NORETURN = 266,
49 CONST = 267,
50 VOLATILE = 268,
51 RESTRICT = 269,
52 ATOMIC = 270,
53 FORALL = 271,
54 LVALUE = 272,
55 MUTEX = 273,
56 VOID = 274,
57 CHAR = 275,
58 SHORT = 276,
59 INT = 277,
60 LONG = 278,
61 FLOAT = 279,
62 DOUBLE = 280,
63 SIGNED = 281,
64 UNSIGNED = 282,
65 ZERO_T = 283,
66 ONE_T = 284,
67 VALIST = 285,
68 BOOL = 286,
69 COMPLEX = 287,
70 IMAGINARY = 288,
71 TYPEOF = 289,
72 LABEL = 290,
73 ENUM = 291,
74 STRUCT = 292,
75 UNION = 293,
76 COROUTINE = 294,
77 MONITOR = 295,
78 THREAD = 296,
79 OTYPE = 297,
80 FTYPE = 298,
81 DTYPE = 299,
82 TTYPE = 300,
83 TRAIT = 301,
84 SIZEOF = 302,
85 OFFSETOF = 303,
86 ATTRIBUTE = 304,
87 EXTENSION = 305,
88 IF = 306,
89 ELSE = 307,
90 SWITCH = 308,
91 CASE = 309,
92 DEFAULT = 310,
93 DO = 311,
94 WHILE = 312,
95 FOR = 313,
96 BREAK = 314,
97 CONTINUE = 315,
98 GOTO = 316,
99 RETURN = 317,
100 CHOOSE = 318,
101 DISABLE = 319,
102 ENABLE = 320,
103 FALLTHRU = 321,
104 TRY = 322,
105 CATCH = 323,
106 CATCHRESUME = 324,
107 FINALLY = 325,
108 THROW = 326,
109 THROWRESUME = 327,
110 AT = 328,
111 ASM = 329,
112 ALIGNAS = 330,
113 ALIGNOF = 331,
114 GENERIC = 332,
115 STATICASSERT = 333,
116 IDENTIFIER = 334,
117 QUOTED_IDENTIFIER = 335,
118 TYPEDEFname = 336,
119 TYPEGENname = 337,
120 ATTR_IDENTIFIER = 338,
121 ATTR_TYPEDEFname = 339,
122 ATTR_TYPEGENname = 340,
123 INTEGERconstant = 341,
124 CHARACTERconstant = 342,
125 STRINGliteral = 343,
126 REALDECIMALconstant = 344,
127 REALFRACTIONconstant = 345,
128 FLOATINGconstant = 346,
129 ZERO = 347,
130 ONE = 348,
131 ARROW = 349,
132 ICR = 350,
133 DECR = 351,
134 LS = 352,
135 RS = 353,
136 LE = 354,
137 GE = 355,
138 EQ = 356,
139 NE = 357,
140 ANDAND = 358,
141 OROR = 359,
142 ELLIPSIS = 360,
143 MULTassign = 361,
144 DIVassign = 362,
145 MODassign = 363,
146 PLUSassign = 364,
147 MINUSassign = 365,
148 LSassign = 366,
149 RSassign = 367,
150 ANDassign = 368,
151 ERassign = 369,
152 ORassign = 370,
153 ATassign = 371,
154 THEN = 372
155 };
156#endif
157/* Tokens. */
158#define TYPEDEF 258
159#define EXTERN 259
160#define STATIC 260
161#define AUTO 261
162#define REGISTER 262
163#define THREADLOCAL 263
164#define INLINE 264
165#define FORTRAN 265
166#define NORETURN 266
167#define CONST 267
168#define VOLATILE 268
169#define RESTRICT 269
170#define ATOMIC 270
171#define FORALL 271
172#define LVALUE 272
173#define MUTEX 273
174#define VOID 274
175#define CHAR 275
176#define SHORT 276
177#define INT 277
178#define LONG 278
179#define FLOAT 279
180#define DOUBLE 280
181#define SIGNED 281
182#define UNSIGNED 282
183#define ZERO_T 283
184#define ONE_T 284
185#define VALIST 285
186#define BOOL 286
187#define COMPLEX 287
188#define IMAGINARY 288
189#define TYPEOF 289
190#define LABEL 290
191#define ENUM 291
192#define STRUCT 292
193#define UNION 293
194#define COROUTINE 294
195#define MONITOR 295
196#define THREAD 296
197#define OTYPE 297
198#define FTYPE 298
199#define DTYPE 299
200#define TTYPE 300
201#define TRAIT 301
202#define SIZEOF 302
203#define OFFSETOF 303
204#define ATTRIBUTE 304
205#define EXTENSION 305
206#define IF 306
207#define ELSE 307
208#define SWITCH 308
209#define CASE 309
210#define DEFAULT 310
211#define DO 311
212#define WHILE 312
213#define FOR 313
214#define BREAK 314
215#define CONTINUE 315
216#define GOTO 316
217#define RETURN 317
218#define CHOOSE 318
219#define DISABLE 319
220#define ENABLE 320
221#define FALLTHRU 321
222#define TRY 322
223#define CATCH 323
224#define CATCHRESUME 324
225#define FINALLY 325
226#define THROW 326
227#define THROWRESUME 327
228#define AT 328
229#define ASM 329
230#define ALIGNAS 330
231#define ALIGNOF 331
232#define GENERIC 332
233#define STATICASSERT 333
234#define IDENTIFIER 334
235#define QUOTED_IDENTIFIER 335
236#define TYPEDEFname 336
237#define TYPEGENname 337
238#define ATTR_IDENTIFIER 338
239#define ATTR_TYPEDEFname 339
240#define ATTR_TYPEGENname 340
241#define INTEGERconstant 341
242#define CHARACTERconstant 342
243#define STRINGliteral 343
244#define REALDECIMALconstant 344
245#define REALFRACTIONconstant 345
246#define FLOATINGconstant 346
247#define ZERO 347
248#define ONE 348
249#define ARROW 349
250#define ICR 350
251#define DECR 351
252#define LS 352
253#define RS 353
254#define LE 354
255#define GE 355
256#define EQ 356
257#define NE 357
258#define ANDAND 358
259#define OROR 359
260#define ELLIPSIS 360
261#define MULTassign 361
262#define DIVassign 362
263#define MODassign 363
264#define PLUSassign 364
265#define MINUSassign 365
266#define LSassign 366
267#define RSassign 367
268#define ANDassign 368
269#define ERassign 369
270#define ORassign 370
271#define ATassign 371
272#define THEN 372
273
274
275
276
277#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
278typedef union YYSTYPE
279{
280
281/* Line 2068 of yacc.c */
282#line 142 "parser.yy"
283
284 Token tok;
285 ParseNode * pn;
286 ExpressionNode * en;
287 DeclarationNode * decl;
288 DeclarationNode::Aggregate aggKey;
289 DeclarationNode::TypeClass tclass;
290 StatementNode * sn;
291 ConstantExpr * constant;
292 ForCtl * fctl;
293 LabelNode * label;
294 InitializerNode * in;
295 OperKinds op;
296 std::string * str;
297 bool flag;
298
299
300
301/* Line 2068 of yacc.c */
302#line 303 "Parser/parser.h"
303} YYSTYPE;
304# define YYSTYPE_IS_TRIVIAL 1
305# define yystype YYSTYPE /* obsolescent; will be withdrawn */
306# define YYSTYPE_IS_DECLARED 1
307#endif
308
309extern YYSTYPE yylval;
310
311
Note: See TracBrowser for help on using the repository browser.