source: src/Parser/parser.h @ 9d7b3ea

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 9d7b3ea was 5721a6d, checked in by Peter A. Buhr <pabuhr@…>, 9 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
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     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
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
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
253
254
255
256
257#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
258typedef union YYSTYPE
259{
260
261/* Line 2068 of yacc.c  */
262#line 110 "parser.yy"
263
264        Token tok;
265        ParseNode *pn;
266        ExpressionNode *en;
267        DeclarationNode *decl;
268        DeclarationNode::Aggregate aggKey;
269        DeclarationNode::TypeClass tclass;
270        StatementNode *sn;
271        ConstantNode *constant;
272        LabelNode *label;
273        InitializerNode *in;
274        bool flag;
275
276
277
278/* Line 2068 of yacc.c  */
279#line 280 "Parser/parser.h"
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.