source: src/Parser/parser.h@ ae42f2a

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 with_gc
Last change on this file since ae42f2a was 5721a6d, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

correctly set type for complex constants, consolidate function name tables, add offsetof, refactor printing complex constants to use basic types

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