1 /* A Bison parser, made by GNU Bison 3.8.2. */
2
3 /* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6 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 <https://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 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35 especially those whose name start with YY_ or yy_. They are
36 private implementation details that can be changed or removed. */
37
38 #ifndef YY_YY_RCPARSE_H_INCLUDED
39 # define YY_YY_RCPARSE_H_INCLUDED
40 /* Debug traces. */
41 #ifndef YYDEBUG
42 # define YYDEBUG 0
43 #endif
44 #if YYDEBUG
45 extern int yydebug;
46 #endif
47
48 /* Token kinds. */
49 #ifndef YYTOKENTYPE
50 # define YYTOKENTYPE
51 enum yytokentype
52 {
53 YYEMPTY = -2,
54 YYEOF = 0, /* "end of file" */
55 YYerror = 256, /* error */
56 YYUNDEF = 257, /* "invalid token" */
57 BEG = 258, /* BEG */
58 END = 259, /* END */
59 ACCELERATORS = 260, /* ACCELERATORS */
60 VIRTKEY = 261, /* VIRTKEY */
61 ASCII = 262, /* ASCII */
62 NOINVERT = 263, /* NOINVERT */
63 SHIFT = 264, /* SHIFT */
64 CONTROL = 265, /* CONTROL */
65 ALT = 266, /* ALT */
66 BITMAP = 267, /* BITMAP */
67 CURSOR = 268, /* CURSOR */
68 DIALOG = 269, /* DIALOG */
69 DIALOGEX = 270, /* DIALOGEX */
70 EXSTYLE = 271, /* EXSTYLE */
71 CAPTION = 272, /* CAPTION */
72 CLASS = 273, /* CLASS */
73 STYLE = 274, /* STYLE */
74 AUTO3STATE = 275, /* AUTO3STATE */
75 AUTOCHECKBOX = 276, /* AUTOCHECKBOX */
76 AUTORADIOBUTTON = 277, /* AUTORADIOBUTTON */
77 CHECKBOX = 278, /* CHECKBOX */
78 COMBOBOX = 279, /* COMBOBOX */
79 CTEXT = 280, /* CTEXT */
80 DEFPUSHBUTTON = 281, /* DEFPUSHBUTTON */
81 EDITTEXT = 282, /* EDITTEXT */
82 GROUPBOX = 283, /* GROUPBOX */
83 LISTBOX = 284, /* LISTBOX */
84 LTEXT = 285, /* LTEXT */
85 PUSHBOX = 286, /* PUSHBOX */
86 PUSHBUTTON = 287, /* PUSHBUTTON */
87 RADIOBUTTON = 288, /* RADIOBUTTON */
88 RTEXT = 289, /* RTEXT */
89 SCROLLBAR = 290, /* SCROLLBAR */
90 STATE3 = 291, /* STATE3 */
91 USERBUTTON = 292, /* USERBUTTON */
92 BEDIT = 293, /* BEDIT */
93 HEDIT = 294, /* HEDIT */
94 IEDIT = 295, /* IEDIT */
95 FONT = 296, /* FONT */
96 ICON = 297, /* ICON */
97 ANICURSOR = 298, /* ANICURSOR */
98 ANIICON = 299, /* ANIICON */
99 DLGINCLUDE = 300, /* DLGINCLUDE */
100 DLGINIT = 301, /* DLGINIT */
101 FONTDIR = 302, /* FONTDIR */
102 HTML = 303, /* HTML */
103 MANIFEST = 304, /* MANIFEST */
104 PLUGPLAY = 305, /* PLUGPLAY */
105 VXD = 306, /* VXD */
106 TOOLBAR = 307, /* TOOLBAR */
107 BUTTON = 308, /* BUTTON */
108 LANGUAGE = 309, /* LANGUAGE */
109 CHARACTERISTICS = 310, /* CHARACTERISTICS */
110 VERSIONK = 311, /* VERSIONK */
111 MENU = 312, /* MENU */
112 MENUEX = 313, /* MENUEX */
113 MENUITEM = 314, /* MENUITEM */
114 SEPARATOR = 315, /* SEPARATOR */
115 POPUP = 316, /* POPUP */
116 CHECKED = 317, /* CHECKED */
117 GRAYED = 318, /* GRAYED */
118 HELP = 319, /* HELP */
119 INACTIVE = 320, /* INACTIVE */
120 OWNERDRAW = 321, /* OWNERDRAW */
121 MENUBARBREAK = 322, /* MENUBARBREAK */
122 MENUBREAK = 323, /* MENUBREAK */
123 MESSAGETABLE = 324, /* MESSAGETABLE */
124 RCDATA = 325, /* RCDATA */
125 STRINGTABLE = 326, /* STRINGTABLE */
126 VERSIONINFO = 327, /* VERSIONINFO */
127 FILEVERSION = 328, /* FILEVERSION */
128 PRODUCTVERSION = 329, /* PRODUCTVERSION */
129 FILEFLAGSMASK = 330, /* FILEFLAGSMASK */
130 FILEFLAGS = 331, /* FILEFLAGS */
131 FILEOS = 332, /* FILEOS */
132 FILETYPE = 333, /* FILETYPE */
133 FILESUBTYPE = 334, /* FILESUBTYPE */
134 BLOCKSTRINGFILEINFO = 335, /* BLOCKSTRINGFILEINFO */
135 BLOCKVARFILEINFO = 336, /* BLOCKVARFILEINFO */
136 VALUE = 337, /* VALUE */
137 BLOCK = 338, /* BLOCK */
138 MOVEABLE = 339, /* MOVEABLE */
139 FIXED = 340, /* FIXED */
140 PURE = 341, /* PURE */
141 IMPURE = 342, /* IMPURE */
142 PRELOAD = 343, /* PRELOAD */
143 LOADONCALL = 344, /* LOADONCALL */
144 DISCARDABLE = 345, /* DISCARDABLE */
145 NOT = 346, /* NOT */
146 QUOTEDUNISTRING = 347, /* QUOTEDUNISTRING */
147 QUOTEDSTRING = 348, /* QUOTEDSTRING */
148 STRING = 349, /* STRING */
149 NUMBER = 350, /* NUMBER */
150 SIZEDUNISTRING = 351, /* SIZEDUNISTRING */
151 SIZEDSTRING = 352, /* SIZEDSTRING */
152 IGNORED_TOKEN = 353, /* IGNORED_TOKEN */
153 NEG = 354 /* NEG */
154 };
155 typedef enum yytokentype yytoken_kind_t;
156 #endif
157 /* Token kinds. */
158 #define YYEMPTY -2
159 #define YYEOF 0
160 #define YYerror 256
161 #define YYUNDEF 257
162 #define BEG 258
163 #define END 259
164 #define ACCELERATORS 260
165 #define VIRTKEY 261
166 #define ASCII 262
167 #define NOINVERT 263
168 #define SHIFT 264
169 #define CONTROL 265
170 #define ALT 266
171 #define BITMAP 267
172 #define CURSOR 268
173 #define DIALOG 269
174 #define DIALOGEX 270
175 #define EXSTYLE 271
176 #define CAPTION 272
177 #define CLASS 273
178 #define STYLE 274
179 #define AUTO3STATE 275
180 #define AUTOCHECKBOX 276
181 #define AUTORADIOBUTTON 277
182 #define CHECKBOX 278
183 #define COMBOBOX 279
184 #define CTEXT 280
185 #define DEFPUSHBUTTON 281
186 #define EDITTEXT 282
187 #define GROUPBOX 283
188 #define LISTBOX 284
189 #define LTEXT 285
190 #define PUSHBOX 286
191 #define PUSHBUTTON 287
192 #define RADIOBUTTON 288
193 #define RTEXT 289
194 #define SCROLLBAR 290
195 #define STATE3 291
196 #define USERBUTTON 292
197 #define BEDIT 293
198 #define HEDIT 294
199 #define IEDIT 295
200 #define FONT 296
201 #define ICON 297
202 #define ANICURSOR 298
203 #define ANIICON 299
204 #define DLGINCLUDE 300
205 #define DLGINIT 301
206 #define FONTDIR 302
207 #define HTML 303
208 #define MANIFEST 304
209 #define PLUGPLAY 305
210 #define VXD 306
211 #define TOOLBAR 307
212 #define BUTTON 308
213 #define LANGUAGE 309
214 #define CHARACTERISTICS 310
215 #define VERSIONK 311
216 #define MENU 312
217 #define MENUEX 313
218 #define MENUITEM 314
219 #define SEPARATOR 315
220 #define POPUP 316
221 #define CHECKED 317
222 #define GRAYED 318
223 #define HELP 319
224 #define INACTIVE 320
225 #define OWNERDRAW 321
226 #define MENUBARBREAK 322
227 #define MENUBREAK 323
228 #define MESSAGETABLE 324
229 #define RCDATA 325
230 #define STRINGTABLE 326
231 #define VERSIONINFO 327
232 #define FILEVERSION 328
233 #define PRODUCTVERSION 329
234 #define FILEFLAGSMASK 330
235 #define FILEFLAGS 331
236 #define FILEOS 332
237 #define FILETYPE 333
238 #define FILESUBTYPE 334
239 #define BLOCKSTRINGFILEINFO 335
240 #define BLOCKVARFILEINFO 336
241 #define VALUE 337
242 #define BLOCK 338
243 #define MOVEABLE 339
244 #define FIXED 340
245 #define PURE 341
246 #define IMPURE 342
247 #define PRELOAD 343
248 #define LOADONCALL 344
249 #define DISCARDABLE 345
250 #define NOT 346
251 #define QUOTEDUNISTRING 347
252 #define QUOTEDSTRING 348
253 #define STRING 349
254 #define NUMBER 350
255 #define SIZEDUNISTRING 351
256 #define SIZEDSTRING 352
257 #define IGNORED_TOKEN 353
258 #define NEG 354
259
260 /* Value type. */
261 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
262 union YYSTYPE
263 {
264 #line 68 "rcparse.y"
265
266 rc_accelerator acc;
267 rc_accelerator *pacc;
268 rc_dialog_control *dialog_control;
269 rc_menuitem *menuitem;
270 struct
271 {
272 rc_rcdata_item *first;
273 rc_rcdata_item *last;
274 } rcdata;
275 rc_rcdata_item *rcdata_item;
276 rc_fixed_versioninfo *fixver;
277 rc_ver_info *verinfo;
278 rc_ver_stringtable *verstringtable;
279 rc_ver_stringinfo *verstring;
280 rc_ver_varinfo *vervar;
281 rc_toolbar_item *toobar_item;
282 rc_res_id id;
283 rc_res_res_info res_info;
284 struct
285 {
286 rc_uint_type on;
287 rc_uint_type off;
288 } memflags;
289 struct
290 {
291 rc_uint_type val;
292 /* Nonzero if this number was explicitly specified as long. */
293 int dword;
294 } i;
295 rc_uint_type il;
296 rc_uint_type is;
297 const char *s;
298 struct
299 {
300 rc_uint_type length;
301 const char *s;
302 } ss;
303 unichar *uni;
304 struct
305 {
306 rc_uint_type length;
307 const unichar *s;
308 } suni;
309
310 #line 311 "rcparse.h"
311
312 };
313 typedef union YYSTYPE YYSTYPE;
314 # define YYSTYPE_IS_TRIVIAL 1
315 # define YYSTYPE_IS_DECLARED 1
316 #endif
317
318
319 extern YYSTYPE yylval;
320
321
322 int yyparse (void);
323
324
325 #endif /* !YY_YY_RCPARSE_H_INCLUDED */