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

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 02e5ab6 was 02e5ab6, checked in by Peter A. Buhr <pabuhr@…>, 9 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.