compiler: (WIP) Fixes for MinGW/GCC 5
[sdk] / compiler / libec / src / grammar.h
1 /* A Bison parser, made by GNU Bison 2.4.2.  */
2
3 /* Skeleton interface for Bison's Yacc-like parsers in C
4    
5       Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6    Foundation, Inc.
7    
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30    
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33
34
35 /* Tokens.  */
36 #ifndef YYTOKENTYPE
37 # define YYTOKENTYPE
38    /* Put the tokens into the symbol table, so that GDB and other debuggers
39       know about them.  */
40    enum yytokentype {
41      IDENTIFIER = 258,
42      CONSTANT = 259,
43      STRING_LITERAL = 260,
44      SIZEOF = 261,
45      PTR_OP = 262,
46      INC_OP = 263,
47      DEC_OP = 264,
48      LEFT_OP = 265,
49      RIGHT_OP = 266,
50      LE_OP = 267,
51      GE_OP = 268,
52      EQ_OP = 269,
53      NE_OP = 270,
54      AND_OP = 271,
55      OR_OP = 272,
56      MUL_ASSIGN = 273,
57      DIV_ASSIGN = 274,
58      MOD_ASSIGN = 275,
59      ADD_ASSIGN = 276,
60      SUB_ASSIGN = 277,
61      LEFT_ASSIGN = 278,
62      RIGHT_ASSIGN = 279,
63      AND_ASSIGN = 280,
64      XOR_ASSIGN = 281,
65      OR_ASSIGN = 282,
66      TYPE_NAME = 283,
67      TYPEDEF = 284,
68      EXTERN = 285,
69      STATIC = 286,
70      AUTO = 287,
71      REGISTER = 288,
72      CHAR = 289,
73      SHORT = 290,
74      INT = 291,
75      UINT = 292,
76      INT64 = 293,
77      INT128 = 294,
78      LONG = 295,
79      SIGNED = 296,
80      UNSIGNED = 297,
81      FLOAT = 298,
82      DOUBLE = 299,
83      CONST = 300,
84      VOLATILE = 301,
85      VOID = 302,
86      VALIST = 303,
87      STRUCT = 304,
88      UNION = 305,
89      ENUM = 306,
90      ELLIPSIS = 307,
91      CASE = 308,
92      DEFAULT = 309,
93      IF = 310,
94      SWITCH = 311,
95      WHILE = 312,
96      DO = 313,
97      FOR = 314,
98      GOTO = 315,
99      CONTINUE = 316,
100      BREAK = 317,
101      RETURN = 318,
102      IFX = 319,
103      ELSE = 320,
104      CLASS = 321,
105      THISCLASS = 322,
106      CLASS_NAME = 323,
107      PROPERTY = 324,
108      SETPROP = 325,
109      GETPROP = 326,
110      NEWOP = 327,
111      RENEW = 328,
112      DELETE = 329,
113      EXT_DECL = 330,
114      EXT_STORAGE = 331,
115      IMPORT = 332,
116      DEFINE = 333,
117      VIRTUAL = 334,
118      ATTRIB = 335,
119      PUBLIC = 336,
120      PRIVATE = 337,
121      TYPED_OBJECT = 338,
122      ANY_OBJECT = 339,
123      _INCREF = 340,
124      EXTENSION = 341,
125      ASM = 342,
126      TYPEOF = 343,
127      WATCH = 344,
128      STOPWATCHING = 345,
129      FIREWATCHERS = 346,
130      WATCHABLE = 347,
131      CLASS_DESIGNER = 348,
132      CLASS_NO_EXPANSION = 349,
133      CLASS_FIXED = 350,
134      ISPROPSET = 351,
135      CLASS_DEFAULT_PROPERTY = 352,
136      PROPERTY_CATEGORY = 353,
137      CLASS_DATA = 354,
138      CLASS_PROPERTY = 355,
139      SUBCLASS = 356,
140      NAMESPACE = 357,
141      NEW0OP = 358,
142      RENEW0 = 359,
143      VAARG = 360,
144      DBTABLE = 361,
145      DBFIELD = 362,
146      DBINDEX = 363,
147      DATABASE_OPEN = 364,
148      ALIGNOF = 365,
149      ATTRIB_DEP = 366,
150      __ATTRIB = 367,
151      BOOL = 368,
152      _BOOL = 369,
153      _COMPLEX = 370,
154      _IMAGINARY = 371,
155      RESTRICT = 372,
156      THREAD = 373,
157      WIDE_STRING_LITERAL = 374,
158      BUILTIN_OFFSETOF = 375
159    };
160 #endif
161
162
163
164 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
165 typedef union YYSTYPE
166 {
167
168 /* Line 1685 of yacc.c  */
169 #line 39 "grammar.y"
170
171    SpecifierType specifierType;
172    int i;
173    AccessMode declMode;
174    Identifier id;
175    Expression exp;
176    Specifier specifier;
177    OldList * list;
178    Enumerator enumerator;
179    Declarator declarator;
180    Pointer pointer;
181    Initializer initializer;
182    InitDeclarator initDeclarator;
183    TypeName typeName;
184    Declaration declaration;
185    Statement stmt;
186    FunctionDefinition function;
187    External external;
188    Context context;
189    AsmField asmField;
190    Attrib attrib;
191    ExtDecl extDecl;
192    Attribute attribute;
193
194    Instantiation instance;
195    MembersInit membersInit;
196    MemberInit memberInit;
197    ClassFunction classFunction;
198    ClassDefinition _class;
199    ClassDef classDef;
200    PropertyDef prop;
201    char * string;
202    Symbol symbol;
203    PropertyWatch propertyWatch;
204    TemplateParameter templateParameter;
205    TemplateArgument templateArgument;
206    TemplateDatatype templateDatatype;
207
208    DBTableEntry dbtableEntry;
209    DBIndexItem dbindexItem;
210    DBTableDef dbtableDef;
211
212
213
214 /* Line 1685 of yacc.c  */
215 #line 216 "grammar.h"
216 } YYSTYPE;
217 # define YYSTYPE_IS_TRIVIAL 1
218 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
219 # define YYSTYPE_IS_DECLARED 1
220 #endif
221
222 extern YYSTYPE yylval;
223
224 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
225 typedef struct YYLTYPE
226 {
227   int first_line;
228   int first_column;
229   int last_line;
230   int last_column;
231 } YYLTYPE;
232 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
233 # define YYLTYPE_IS_DECLARED 1
234 # define YYLTYPE_IS_TRIVIAL 1
235 #endif
236
237 extern YYLTYPE yylloc;
238