[WIDL]
[reactos.git] / reactos / tools / widl / parser.tab.h
1
2 /* A Bison parser, made by GNU Bison 2.4.1. */
3
4 /* Skeleton interface for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
8
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22 /* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
31
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
34
35
36 /* Tokens. */
37 #ifndef YYTOKENTYPE
38 # define YYTOKENTYPE
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
40 know about them. */
41 enum yytokentype {
42 aIDENTIFIER = 258,
43 aKNOWNTYPE = 259,
44 aNUM = 260,
45 aHEXNUM = 261,
46 aDOUBLE = 262,
47 aSTRING = 263,
48 aWSTRING = 264,
49 aSQSTRING = 265,
50 aUUID = 266,
51 aEOF = 267,
52 SHL = 268,
53 SHR = 269,
54 MEMBERPTR = 270,
55 EQUALITY = 271,
56 INEQUALITY = 272,
57 GREATEREQUAL = 273,
58 LESSEQUAL = 274,
59 LOGICALOR = 275,
60 LOGICALAND = 276,
61 ELLIPSIS = 277,
62 tAGGREGATABLE = 278,
63 tALLOCATE = 279,
64 tANNOTATION = 280,
65 tAPPOBJECT = 281,
66 tASYNC = 282,
67 tASYNCUUID = 283,
68 tAUTOHANDLE = 284,
69 tBINDABLE = 285,
70 tBOOLEAN = 286,
71 tBROADCAST = 287,
72 tBYTE = 288,
73 tBYTECOUNT = 289,
74 tCALLAS = 290,
75 tCALLBACK = 291,
76 tCASE = 292,
77 tCDECL = 293,
78 tCHAR = 294,
79 tCOCLASS = 295,
80 tCODE = 296,
81 tCOMMSTATUS = 297,
82 tCONST = 298,
83 tCONTEXTHANDLE = 299,
84 tCONTEXTHANDLENOSERIALIZE = 300,
85 tCONTEXTHANDLESERIALIZE = 301,
86 tCONTROL = 302,
87 tCPPQUOTE = 303,
88 tDECODE = 304,
89 tDEFAULT = 305,
90 tDEFAULTBIND = 306,
91 tDEFAULTCOLLELEM = 307,
92 tDEFAULTVALUE = 308,
93 tDEFAULTVTABLE = 309,
94 tDISABLECONSISTENCYCHECK = 310,
95 tDISPLAYBIND = 311,
96 tDISPINTERFACE = 312,
97 tDLLNAME = 313,
98 tDOUBLE = 314,
99 tDUAL = 315,
100 tENABLEALLOCATE = 316,
101 tENCODE = 317,
102 tENDPOINT = 318,
103 tENTRY = 319,
104 tENUM = 320,
105 tERRORSTATUST = 321,
106 tEXPLICITHANDLE = 322,
107 tEXTERN = 323,
108 tFALSE = 324,
109 tFASTCALL = 325,
110 tFAULTSTATUS = 326,
111 tFLOAT = 327,
112 tFORCEALLOCATE = 328,
113 tHANDLE = 329,
114 tHANDLET = 330,
115 tHELPCONTEXT = 331,
116 tHELPFILE = 332,
117 tHELPSTRING = 333,
118 tHELPSTRINGCONTEXT = 334,
119 tHELPSTRINGDLL = 335,
120 tHIDDEN = 336,
121 tHYPER = 337,
122 tID = 338,
123 tIDEMPOTENT = 339,
124 tIGNORE = 340,
125 tIIDIS = 341,
126 tIMMEDIATEBIND = 342,
127 tIMPLICITHANDLE = 343,
128 tIMPORT = 344,
129 tIMPORTLIB = 345,
130 tIN = 346,
131 tIN_LINE = 347,
132 tINLINE = 348,
133 tINPUTSYNC = 349,
134 tINT = 350,
135 tINT3264 = 351,
136 tINT64 = 352,
137 tINTERFACE = 353,
138 tLCID = 354,
139 tLENGTHIS = 355,
140 tLIBRARY = 356,
141 tLICENSED = 357,
142 tLOCAL = 358,
143 tLONG = 359,
144 tMAYBE = 360,
145 tMESSAGE = 361,
146 tMETHODS = 362,
147 tMODULE = 363,
148 tNOCODE = 364,
149 tNONBROWSABLE = 365,
150 tNONCREATABLE = 366,
151 tNONEXTENSIBLE = 367,
152 tNOTIFY = 368,
153 tNOTIFYFLAG = 369,
154 tNULL = 370,
155 tOBJECT = 371,
156 tODL = 372,
157 tOLEAUTOMATION = 373,
158 tOPTIMIZE = 374,
159 tOPTIONAL = 375,
160 tOUT = 376,
161 tPARTIALIGNORE = 377,
162 tPASCAL = 378,
163 tPOINTERDEFAULT = 379,
164 tPROGID = 380,
165 tPROPERTIES = 381,
166 tPROPGET = 382,
167 tPROPPUT = 383,
168 tPROPPUTREF = 384,
169 tPROXY = 385,
170 tPTR = 386,
171 tPUBLIC = 387,
172 tRANGE = 388,
173 tREADONLY = 389,
174 tREF = 390,
175 tREGISTER = 391,
176 tREPRESENTAS = 392,
177 tREQUESTEDIT = 393,
178 tRESTRICTED = 394,
179 tRETVAL = 395,
180 tSAFEARRAY = 396,
181 tSHORT = 397,
182 tSIGNED = 398,
183 tSIZEIS = 399,
184 tSIZEOF = 400,
185 tSMALL = 401,
186 tSOURCE = 402,
187 tSTATIC = 403,
188 tSTDCALL = 404,
189 tSTRICTCONTEXTHANDLE = 405,
190 tSTRING = 406,
191 tSTRUCT = 407,
192 tSWITCH = 408,
193 tSWITCHIS = 409,
194 tSWITCHTYPE = 410,
195 tTHREADING = 411,
196 tTRANSMITAS = 412,
197 tTRUE = 413,
198 tTYPEDEF = 414,
199 tUIDEFAULT = 415,
200 tUNION = 416,
201 tUNIQUE = 417,
202 tUNSIGNED = 418,
203 tUSESGETLASTERROR = 419,
204 tUSERMARSHAL = 420,
205 tUUID = 421,
206 tV1ENUM = 422,
207 tVARARG = 423,
208 tVERSION = 424,
209 tVIPROGID = 425,
210 tVOID = 426,
211 tWCHAR = 427,
212 tWIREMARSHAL = 428,
213 tAPARTMENT = 429,
214 tNEUTRAL = 430,
215 tSINGLE = 431,
216 tFREE = 432,
217 tBOTH = 433,
218 ADDRESSOF = 434,
219 NEG = 435,
220 POS = 436,
221 PPTR = 437,
222 CAST = 438
223 };
224 #endif
225
226
227
228 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
229 typedef union YYSTYPE
230 {
231
232 /* Line 1676 of yacc.c */
233 #line 153 "parser.y"
234
235 attr_t *attr;
236 attr_list_t *attr_list;
237 str_list_t *str_list;
238 expr_t *expr;
239 expr_list_t *expr_list;
240 array_dims_t *array_dims;
241 type_t *type;
242 var_t *var;
243 var_list_t *var_list;
244 declarator_t *declarator;
245 declarator_list_t *declarator_list;
246 statement_t *statement;
247 statement_list_t *stmt_list;
248 ifref_t *ifref;
249 ifref_list_t *ifref_list;
250 char *str;
251 UUID *uuid;
252 unsigned int num;
253 double dbl;
254 interface_info_t ifinfo;
255 typelib_t *typelib;
256 struct _import_t *import;
257 struct _decl_spec_t *declspec;
258 enum storage_class stgclass;
259
260
261
262 /* Line 1676 of yacc.c */
263 #line 264 "parser.tab.h"
264 } YYSTYPE;
265 # define YYSTYPE_IS_TRIVIAL 1
266 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
267 # define YYSTYPE_IS_DECLARED 1
268 #endif
269
270 extern YYSTYPE parser_lval;
271
272