1*b88e3e88Schristos /* A Bison parser, made by GNU Bison 3.0.5. */
2ed0d50c3Schristos
306324dcfSchristos /* Bison implementation for Yacc-like parsers in C
4ed0d50c3Schristos
5*b88e3e88Schristos Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
6ed0d50c3Schristos
706324dcfSchristos This program is free software: you can redistribute it and/or modify
8ed0d50c3Schristos it under the terms of the GNU General Public License as published by
906324dcfSchristos the Free Software Foundation, either version 3 of the License, or
1006324dcfSchristos (at your option) any later version.
11ed0d50c3Schristos
12ed0d50c3Schristos This program is distributed in the hope that it will be useful,
13ed0d50c3Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of
14ed0d50c3Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15ed0d50c3Schristos GNU General Public License for more details.
16ed0d50c3Schristos
17ed0d50c3Schristos You should have received a copy of the GNU General Public License
1806324dcfSchristos along with this program. If not, see <http://www.gnu.org/licenses/>. */
19ed0d50c3Schristos
20ed0d50c3Schristos /* As a special exception, you may create a larger work that contains
21ed0d50c3Schristos part or all of the Bison parser skeleton and distribute that work
22ed0d50c3Schristos under terms of your choice, so long as that work isn't itself a
23ed0d50c3Schristos parser generator using the skeleton or a modified version thereof
24ed0d50c3Schristos as a parser skeleton. Alternatively, if you modify or redistribute
25ed0d50c3Schristos the parser skeleton itself, you may (at your option) remove this
26ed0d50c3Schristos special exception, which will cause the skeleton and the resulting
27ed0d50c3Schristos Bison output files to be licensed under the GNU General Public
28ed0d50c3Schristos License without this special exception.
29ed0d50c3Schristos
30ed0d50c3Schristos This special exception was added by the Free Software Foundation in
31ed0d50c3Schristos version 2.2 of Bison. */
32ed0d50c3Schristos
33ed0d50c3Schristos /* C LALR(1) parser skeleton written by Richard Stallman, by
34ed0d50c3Schristos simplifying the original so-called "semantic" parser. */
35ed0d50c3Schristos
36ed0d50c3Schristos /* All symbols defined below should begin with yy or YY, to avoid
37ed0d50c3Schristos infringing on user name space. This should be done even for local
38ed0d50c3Schristos variables, as they might otherwise be expanded by user macros.
39ed0d50c3Schristos There are some unavoidable exceptions within include files to
40ed0d50c3Schristos define necessary library symbols; they are noted "INFRINGES ON
41ed0d50c3Schristos USER NAME SPACE" below. */
42ed0d50c3Schristos
43ed0d50c3Schristos /* Identify Bison output. */
44ed0d50c3Schristos #define YYBISON 1
45ed0d50c3Schristos
46ed0d50c3Schristos /* Bison version. */
47*b88e3e88Schristos #define YYBISON_VERSION "3.0.5"
48ed0d50c3Schristos
49ed0d50c3Schristos /* Skeleton name. */
50ed0d50c3Schristos #define YYSKELETON_NAME "yacc.c"
51ed0d50c3Schristos
52ed0d50c3Schristos /* Pure parsers. */
53ed0d50c3Schristos #define YYPURE 0
54ed0d50c3Schristos
5506324dcfSchristos /* Push parsers. */
5606324dcfSchristos #define YYPUSH 0
5706324dcfSchristos
5806324dcfSchristos /* Pull parsers. */
5906324dcfSchristos #define YYPULL 1
60ed0d50c3Schristos
61ed0d50c3Schristos
62ed0d50c3Schristos
6306324dcfSchristos
6406324dcfSchristos /* Copy the first part of user declarations. */
6506324dcfSchristos #line 1 "rcparse.y" /* yacc.c:339 */
6606324dcfSchristos /* rcparse.y -- parser for Windows rc files
67*b88e3e88Schristos Copyright (C) 1997-2020 Free Software Foundation, Inc.
6806324dcfSchristos Written by Ian Lance Taylor, Cygnus Support.
6906324dcfSchristos Extended by Kai Tietz, Onevision.
7006324dcfSchristos
7106324dcfSchristos This file is part of GNU Binutils.
7206324dcfSchristos
7306324dcfSchristos This program is free software; you can redistribute it and/or modify
7406324dcfSchristos it under the terms of the GNU General Public License as published by
7506324dcfSchristos the Free Software Foundation; either version 3 of the License, or
7606324dcfSchristos (at your option) any later version.
7706324dcfSchristos
7806324dcfSchristos This program is distributed in the hope that it will be useful,
7906324dcfSchristos but WITHOUT ANY WARRANTY; without even the implied warranty of
8006324dcfSchristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8106324dcfSchristos GNU General Public License for more details.
8206324dcfSchristos
8306324dcfSchristos You should have received a copy of the GNU General Public License
8406324dcfSchristos along with this program; if not, write to the Free Software
8506324dcfSchristos Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
8606324dcfSchristos 02110-1301, USA. */
8706324dcfSchristos
8806324dcfSchristos
8906324dcfSchristos /* This is a parser for Windows rc files. It is based on the parser
9006324dcfSchristos by Gunther Ebert <gunther.ebert@ixos-leipzig.de>. */
9106324dcfSchristos
9206324dcfSchristos #include "sysdep.h"
9306324dcfSchristos #include "bfd.h"
9406324dcfSchristos #include "bucomm.h"
9506324dcfSchristos #include "libiberty.h"
9606324dcfSchristos #include "windres.h"
9706324dcfSchristos #include "safe-ctype.h"
9806324dcfSchristos
9906324dcfSchristos /* The current language. */
10006324dcfSchristos
10106324dcfSchristos static unsigned short language;
10206324dcfSchristos
10306324dcfSchristos /* The resource information during a sub statement. */
10406324dcfSchristos
10506324dcfSchristos static rc_res_res_info sub_res_info;
10606324dcfSchristos
10706324dcfSchristos /* Dialog information. This is built by the nonterminals styles and
10806324dcfSchristos controls. */
10906324dcfSchristos
11006324dcfSchristos static rc_dialog dialog;
11106324dcfSchristos
11206324dcfSchristos /* This is used when building a style. It is modified by the
11306324dcfSchristos nonterminal styleexpr. */
11406324dcfSchristos
11506324dcfSchristos static unsigned long style;
11606324dcfSchristos
11706324dcfSchristos /* These are used when building a control. They are set before using
11806324dcfSchristos control_params. */
11906324dcfSchristos
12006324dcfSchristos static rc_uint_type base_style;
12106324dcfSchristos static rc_uint_type default_style;
12206324dcfSchristos static rc_res_id class;
12306324dcfSchristos static rc_res_id res_text_field;
12406324dcfSchristos static unichar null_unichar;
12506324dcfSchristos
12606324dcfSchristos /* This is used for COMBOBOX, LISTBOX and EDITTEXT which
12706324dcfSchristos do not allow resource 'text' field in control definition. */
12806324dcfSchristos static const rc_res_id res_null_text = { 1, {{0, &null_unichar}}};
12906324dcfSchristos
13006324dcfSchristos
13106324dcfSchristos #line 132 "rcparse.c" /* yacc.c:339 */
13206324dcfSchristos
13306324dcfSchristos # ifndef YY_NULLPTR
13406324dcfSchristos # if defined __cplusplus && 201103L <= __cplusplus
13506324dcfSchristos # define YY_NULLPTR nullptr
13606324dcfSchristos # else
13706324dcfSchristos # define YY_NULLPTR 0
13806324dcfSchristos # endif
13906324dcfSchristos # endif
14006324dcfSchristos
14106324dcfSchristos /* Enabling verbose error messages. */
14206324dcfSchristos #ifdef YYERROR_VERBOSE
14306324dcfSchristos # undef YYERROR_VERBOSE
14406324dcfSchristos # define YYERROR_VERBOSE 1
14506324dcfSchristos #else
14606324dcfSchristos # define YYERROR_VERBOSE 0
14706324dcfSchristos #endif
14806324dcfSchristos
14906324dcfSchristos /* In a future release of Bison, this section will be replaced
15006324dcfSchristos by #include "y.tab.h". */
15106324dcfSchristos #ifndef YY_YY_RCPARSE_H_INCLUDED
15206324dcfSchristos # define YY_YY_RCPARSE_H_INCLUDED
15306324dcfSchristos /* Debug traces. */
15406324dcfSchristos #ifndef YYDEBUG
15506324dcfSchristos # define YYDEBUG 0
15606324dcfSchristos #endif
15706324dcfSchristos #if YYDEBUG
15806324dcfSchristos extern int yydebug;
15906324dcfSchristos #endif
16006324dcfSchristos
16106324dcfSchristos /* Token type. */
162ed0d50c3Schristos #ifndef YYTOKENTYPE
163ed0d50c3Schristos # define YYTOKENTYPE
16406324dcfSchristos enum yytokentype
16506324dcfSchristos {
166ed0d50c3Schristos BEG = 258,
167ed0d50c3Schristos END = 259,
168ed0d50c3Schristos ACCELERATORS = 260,
169ed0d50c3Schristos VIRTKEY = 261,
170ed0d50c3Schristos ASCII = 262,
171ed0d50c3Schristos NOINVERT = 263,
172ed0d50c3Schristos SHIFT = 264,
173ed0d50c3Schristos CONTROL = 265,
174ed0d50c3Schristos ALT = 266,
175ed0d50c3Schristos BITMAP = 267,
176ed0d50c3Schristos CURSOR = 268,
177ed0d50c3Schristos DIALOG = 269,
178ed0d50c3Schristos DIALOGEX = 270,
179ed0d50c3Schristos EXSTYLE = 271,
180ed0d50c3Schristos CAPTION = 272,
181ed0d50c3Schristos CLASS = 273,
182ed0d50c3Schristos STYLE = 274,
183ed0d50c3Schristos AUTO3STATE = 275,
184ed0d50c3Schristos AUTOCHECKBOX = 276,
185ed0d50c3Schristos AUTORADIOBUTTON = 277,
186ed0d50c3Schristos CHECKBOX = 278,
187ed0d50c3Schristos COMBOBOX = 279,
188ed0d50c3Schristos CTEXT = 280,
189ed0d50c3Schristos DEFPUSHBUTTON = 281,
190ed0d50c3Schristos EDITTEXT = 282,
191ed0d50c3Schristos GROUPBOX = 283,
192ed0d50c3Schristos LISTBOX = 284,
193ed0d50c3Schristos LTEXT = 285,
194ed0d50c3Schristos PUSHBOX = 286,
195ed0d50c3Schristos PUSHBUTTON = 287,
196ed0d50c3Schristos RADIOBUTTON = 288,
197ed0d50c3Schristos RTEXT = 289,
198ed0d50c3Schristos SCROLLBAR = 290,
199ed0d50c3Schristos STATE3 = 291,
200ed0d50c3Schristos USERBUTTON = 292,
201ed0d50c3Schristos BEDIT = 293,
202ed0d50c3Schristos HEDIT = 294,
203ed0d50c3Schristos IEDIT = 295,
204ed0d50c3Schristos FONT = 296,
205ed0d50c3Schristos ICON = 297,
206ed0d50c3Schristos ANICURSOR = 298,
207ed0d50c3Schristos ANIICON = 299,
208ed0d50c3Schristos DLGINCLUDE = 300,
209ed0d50c3Schristos DLGINIT = 301,
210ed0d50c3Schristos FONTDIR = 302,
211ed0d50c3Schristos HTML = 303,
212ed0d50c3Schristos MANIFEST = 304,
213ed0d50c3Schristos PLUGPLAY = 305,
214ed0d50c3Schristos VXD = 306,
215ed0d50c3Schristos TOOLBAR = 307,
216ed0d50c3Schristos BUTTON = 308,
217ed0d50c3Schristos LANGUAGE = 309,
218ed0d50c3Schristos CHARACTERISTICS = 310,
219ed0d50c3Schristos VERSIONK = 311,
220ed0d50c3Schristos MENU = 312,
221ed0d50c3Schristos MENUEX = 313,
222ed0d50c3Schristos MENUITEM = 314,
223ed0d50c3Schristos SEPARATOR = 315,
224ed0d50c3Schristos POPUP = 316,
225ed0d50c3Schristos CHECKED = 317,
226ed0d50c3Schristos GRAYED = 318,
227ed0d50c3Schristos HELP = 319,
228ed0d50c3Schristos INACTIVE = 320,
229ed0d50c3Schristos MENUBARBREAK = 321,
230ed0d50c3Schristos MENUBREAK = 322,
231ed0d50c3Schristos MESSAGETABLE = 323,
232ed0d50c3Schristos RCDATA = 324,
233ed0d50c3Schristos STRINGTABLE = 325,
234ed0d50c3Schristos VERSIONINFO = 326,
235ed0d50c3Schristos FILEVERSION = 327,
236ed0d50c3Schristos PRODUCTVERSION = 328,
237ed0d50c3Schristos FILEFLAGSMASK = 329,
238ed0d50c3Schristos FILEFLAGS = 330,
239ed0d50c3Schristos FILEOS = 331,
240ed0d50c3Schristos FILETYPE = 332,
241ed0d50c3Schristos FILESUBTYPE = 333,
242ed0d50c3Schristos BLOCKSTRINGFILEINFO = 334,
243ed0d50c3Schristos BLOCKVARFILEINFO = 335,
244ed0d50c3Schristos VALUE = 336,
245ed0d50c3Schristos BLOCK = 337,
246ed0d50c3Schristos MOVEABLE = 338,
247ed0d50c3Schristos FIXED = 339,
248ed0d50c3Schristos PURE = 340,
249ed0d50c3Schristos IMPURE = 341,
250ed0d50c3Schristos PRELOAD = 342,
251ed0d50c3Schristos LOADONCALL = 343,
252ed0d50c3Schristos DISCARDABLE = 344,
253ed0d50c3Schristos NOT = 345,
254ed0d50c3Schristos QUOTEDUNISTRING = 346,
255ed0d50c3Schristos QUOTEDSTRING = 347,
256ed0d50c3Schristos STRING = 348,
257ed0d50c3Schristos NUMBER = 349,
258ed0d50c3Schristos SIZEDUNISTRING = 350,
259ed0d50c3Schristos SIZEDSTRING = 351,
260ed0d50c3Schristos IGNORED_TOKEN = 352,
261ed0d50c3Schristos NEG = 353
262ed0d50c3Schristos };
263ed0d50c3Schristos #endif
264ed0d50c3Schristos /* Tokens. */
265ed0d50c3Schristos #define BEG 258
266ed0d50c3Schristos #define END 259
267ed0d50c3Schristos #define ACCELERATORS 260
268ed0d50c3Schristos #define VIRTKEY 261
269ed0d50c3Schristos #define ASCII 262
270ed0d50c3Schristos #define NOINVERT 263
271ed0d50c3Schristos #define SHIFT 264
272ed0d50c3Schristos #define CONTROL 265
273ed0d50c3Schristos #define ALT 266
274ed0d50c3Schristos #define BITMAP 267
275ed0d50c3Schristos #define CURSOR 268
276ed0d50c3Schristos #define DIALOG 269
277ed0d50c3Schristos #define DIALOGEX 270
278ed0d50c3Schristos #define EXSTYLE 271
279ed0d50c3Schristos #define CAPTION 272
280ed0d50c3Schristos #define CLASS 273
281ed0d50c3Schristos #define STYLE 274
282ed0d50c3Schristos #define AUTO3STATE 275
283ed0d50c3Schristos #define AUTOCHECKBOX 276
284ed0d50c3Schristos #define AUTORADIOBUTTON 277
285ed0d50c3Schristos #define CHECKBOX 278
286ed0d50c3Schristos #define COMBOBOX 279
287ed0d50c3Schristos #define CTEXT 280
288ed0d50c3Schristos #define DEFPUSHBUTTON 281
289ed0d50c3Schristos #define EDITTEXT 282
290ed0d50c3Schristos #define GROUPBOX 283
291ed0d50c3Schristos #define LISTBOX 284
292ed0d50c3Schristos #define LTEXT 285
293ed0d50c3Schristos #define PUSHBOX 286
294ed0d50c3Schristos #define PUSHBUTTON 287
295ed0d50c3Schristos #define RADIOBUTTON 288
296ed0d50c3Schristos #define RTEXT 289
297ed0d50c3Schristos #define SCROLLBAR 290
298ed0d50c3Schristos #define STATE3 291
299ed0d50c3Schristos #define USERBUTTON 292
300ed0d50c3Schristos #define BEDIT 293
301ed0d50c3Schristos #define HEDIT 294
302ed0d50c3Schristos #define IEDIT 295
303ed0d50c3Schristos #define FONT 296
304ed0d50c3Schristos #define ICON 297
305ed0d50c3Schristos #define ANICURSOR 298
306ed0d50c3Schristos #define ANIICON 299
307ed0d50c3Schristos #define DLGINCLUDE 300
308ed0d50c3Schristos #define DLGINIT 301
309ed0d50c3Schristos #define FONTDIR 302
310ed0d50c3Schristos #define HTML 303
311ed0d50c3Schristos #define MANIFEST 304
312ed0d50c3Schristos #define PLUGPLAY 305
313ed0d50c3Schristos #define VXD 306
314ed0d50c3Schristos #define TOOLBAR 307
315ed0d50c3Schristos #define BUTTON 308
316ed0d50c3Schristos #define LANGUAGE 309
317ed0d50c3Schristos #define CHARACTERISTICS 310
318ed0d50c3Schristos #define VERSIONK 311
319ed0d50c3Schristos #define MENU 312
320ed0d50c3Schristos #define MENUEX 313
321ed0d50c3Schristos #define MENUITEM 314
322ed0d50c3Schristos #define SEPARATOR 315
323ed0d50c3Schristos #define POPUP 316
324ed0d50c3Schristos #define CHECKED 317
325ed0d50c3Schristos #define GRAYED 318
326ed0d50c3Schristos #define HELP 319
327ed0d50c3Schristos #define INACTIVE 320
328ed0d50c3Schristos #define MENUBARBREAK 321
329ed0d50c3Schristos #define MENUBREAK 322
330ed0d50c3Schristos #define MESSAGETABLE 323
331ed0d50c3Schristos #define RCDATA 324
332ed0d50c3Schristos #define STRINGTABLE 325
333ed0d50c3Schristos #define VERSIONINFO 326
334ed0d50c3Schristos #define FILEVERSION 327
335ed0d50c3Schristos #define PRODUCTVERSION 328
336ed0d50c3Schristos #define FILEFLAGSMASK 329
337ed0d50c3Schristos #define FILEFLAGS 330
338ed0d50c3Schristos #define FILEOS 331
339ed0d50c3Schristos #define FILETYPE 332
340ed0d50c3Schristos #define FILESUBTYPE 333
341ed0d50c3Schristos #define BLOCKSTRINGFILEINFO 334
342ed0d50c3Schristos #define BLOCKVARFILEINFO 335
343ed0d50c3Schristos #define VALUE 336
344ed0d50c3Schristos #define BLOCK 337
345ed0d50c3Schristos #define MOVEABLE 338
346ed0d50c3Schristos #define FIXED 339
347ed0d50c3Schristos #define PURE 340
348ed0d50c3Schristos #define IMPURE 341
349ed0d50c3Schristos #define PRELOAD 342
350ed0d50c3Schristos #define LOADONCALL 343
351ed0d50c3Schristos #define DISCARDABLE 344
352ed0d50c3Schristos #define NOT 345
353ed0d50c3Schristos #define QUOTEDUNISTRING 346
354ed0d50c3Schristos #define QUOTEDSTRING 347
355ed0d50c3Schristos #define STRING 348
356ed0d50c3Schristos #define NUMBER 349
357ed0d50c3Schristos #define SIZEDUNISTRING 350
358ed0d50c3Schristos #define SIZEDSTRING 351
359ed0d50c3Schristos #define IGNORED_TOKEN 352
360ed0d50c3Schristos #define NEG 353
361ed0d50c3Schristos
36206324dcfSchristos /* Value type. */
363ed0d50c3Schristos #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
36406324dcfSchristos
36506324dcfSchristos union YYSTYPE
366ed0d50c3Schristos {
36706324dcfSchristos #line 68 "rcparse.y" /* yacc.c:355 */
36806324dcfSchristos
369ed0d50c3Schristos rc_accelerator acc;
370ed0d50c3Schristos rc_accelerator *pacc;
371ed0d50c3Schristos rc_dialog_control *dialog_control;
372ed0d50c3Schristos rc_menuitem *menuitem;
373ed0d50c3Schristos struct
374ed0d50c3Schristos {
375ed0d50c3Schristos rc_rcdata_item *first;
376ed0d50c3Schristos rc_rcdata_item *last;
377ed0d50c3Schristos } rcdata;
378ed0d50c3Schristos rc_rcdata_item *rcdata_item;
379ed0d50c3Schristos rc_fixed_versioninfo *fixver;
380ed0d50c3Schristos rc_ver_info *verinfo;
381ed0d50c3Schristos rc_ver_stringtable *verstringtable;
382ed0d50c3Schristos rc_ver_stringinfo *verstring;
383ed0d50c3Schristos rc_ver_varinfo *vervar;
384ed0d50c3Schristos rc_toolbar_item *toobar_item;
385ed0d50c3Schristos rc_res_id id;
386ed0d50c3Schristos rc_res_res_info res_info;
387ed0d50c3Schristos struct
388ed0d50c3Schristos {
389ed0d50c3Schristos rc_uint_type on;
390ed0d50c3Schristos rc_uint_type off;
391ed0d50c3Schristos } memflags;
392ed0d50c3Schristos struct
393ed0d50c3Schristos {
394ed0d50c3Schristos rc_uint_type val;
395ed0d50c3Schristos /* Nonzero if this number was explicitly specified as long. */
396ed0d50c3Schristos int dword;
397ed0d50c3Schristos } i;
398ed0d50c3Schristos rc_uint_type il;
399ed0d50c3Schristos rc_uint_type is;
400ed0d50c3Schristos const char *s;
401ed0d50c3Schristos struct
402ed0d50c3Schristos {
403ed0d50c3Schristos rc_uint_type length;
404ed0d50c3Schristos const char *s;
405ed0d50c3Schristos } ss;
406ed0d50c3Schristos unichar *uni;
407ed0d50c3Schristos struct
408ed0d50c3Schristos {
409ed0d50c3Schristos rc_uint_type length;
410ed0d50c3Schristos const unichar *s;
411ed0d50c3Schristos } suni;
41206324dcfSchristos
41306324dcfSchristos #line 414 "rcparse.c" /* yacc.c:355 */
41406324dcfSchristos };
41506324dcfSchristos
41606324dcfSchristos typedef union YYSTYPE YYSTYPE;
417ed0d50c3Schristos # define YYSTYPE_IS_TRIVIAL 1
41806324dcfSchristos # define YYSTYPE_IS_DECLARED 1
419ed0d50c3Schristos #endif
420ed0d50c3Schristos
421ed0d50c3Schristos
42206324dcfSchristos extern YYSTYPE yylval;
42306324dcfSchristos
42406324dcfSchristos int yyparse (void);
42506324dcfSchristos
42606324dcfSchristos #endif /* !YY_YY_RCPARSE_H_INCLUDED */
427ed0d50c3Schristos
428ed0d50c3Schristos /* Copy the second part of user declarations. */
429ed0d50c3Schristos
43006324dcfSchristos #line 431 "rcparse.c" /* yacc.c:358 */
431ed0d50c3Schristos
432ed0d50c3Schristos #ifdef short
433ed0d50c3Schristos # undef short
434ed0d50c3Schristos #endif
435ed0d50c3Schristos
436ed0d50c3Schristos #ifdef YYTYPE_UINT8
437ed0d50c3Schristos typedef YYTYPE_UINT8 yytype_uint8;
438ed0d50c3Schristos #else
439ed0d50c3Schristos typedef unsigned char yytype_uint8;
440ed0d50c3Schristos #endif
441ed0d50c3Schristos
442ed0d50c3Schristos #ifdef YYTYPE_INT8
443ed0d50c3Schristos typedef YYTYPE_INT8 yytype_int8;
444ed0d50c3Schristos #else
44506324dcfSchristos typedef signed char yytype_int8;
446ed0d50c3Schristos #endif
447ed0d50c3Schristos
448ed0d50c3Schristos #ifdef YYTYPE_UINT16
449ed0d50c3Schristos typedef YYTYPE_UINT16 yytype_uint16;
450ed0d50c3Schristos #else
451ed0d50c3Schristos typedef unsigned short int yytype_uint16;
452ed0d50c3Schristos #endif
453ed0d50c3Schristos
454ed0d50c3Schristos #ifdef YYTYPE_INT16
455ed0d50c3Schristos typedef YYTYPE_INT16 yytype_int16;
456ed0d50c3Schristos #else
457ed0d50c3Schristos typedef short int yytype_int16;
458ed0d50c3Schristos #endif
459ed0d50c3Schristos
460ed0d50c3Schristos #ifndef YYSIZE_T
461ed0d50c3Schristos # ifdef __SIZE_TYPE__
462ed0d50c3Schristos # define YYSIZE_T __SIZE_TYPE__
463ed0d50c3Schristos # elif defined size_t
464ed0d50c3Schristos # define YYSIZE_T size_t
46506324dcfSchristos # elif ! defined YYSIZE_T
466ed0d50c3Schristos # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
467ed0d50c3Schristos # define YYSIZE_T size_t
468ed0d50c3Schristos # else
469ed0d50c3Schristos # define YYSIZE_T unsigned int
470ed0d50c3Schristos # endif
471ed0d50c3Schristos #endif
472ed0d50c3Schristos
473ed0d50c3Schristos #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
474ed0d50c3Schristos
475ed0d50c3Schristos #ifndef YY_
476ed0d50c3Schristos # if defined YYENABLE_NLS && YYENABLE_NLS
477ed0d50c3Schristos # if ENABLE_NLS
478ed0d50c3Schristos # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
47906324dcfSchristos # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
480ed0d50c3Schristos # endif
481ed0d50c3Schristos # endif
482ed0d50c3Schristos # ifndef YY_
48306324dcfSchristos # define YY_(Msgid) Msgid
48406324dcfSchristos # endif
48506324dcfSchristos #endif
48606324dcfSchristos
48706324dcfSchristos #ifndef YY_ATTRIBUTE
48806324dcfSchristos # if (defined __GNUC__ \
48906324dcfSchristos && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
49006324dcfSchristos || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
49106324dcfSchristos # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
49206324dcfSchristos # else
49306324dcfSchristos # define YY_ATTRIBUTE(Spec) /* empty */
49406324dcfSchristos # endif
49506324dcfSchristos #endif
49606324dcfSchristos
49706324dcfSchristos #ifndef YY_ATTRIBUTE_PURE
49806324dcfSchristos # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
49906324dcfSchristos #endif
50006324dcfSchristos
50106324dcfSchristos #ifndef YY_ATTRIBUTE_UNUSED
50206324dcfSchristos # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
50306324dcfSchristos #endif
50406324dcfSchristos
50506324dcfSchristos #if !defined _Noreturn \
50606324dcfSchristos && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
50706324dcfSchristos # if defined _MSC_VER && 1200 <= _MSC_VER
50806324dcfSchristos # define _Noreturn __declspec (noreturn)
50906324dcfSchristos # else
51006324dcfSchristos # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
511ed0d50c3Schristos # endif
512ed0d50c3Schristos #endif
513ed0d50c3Schristos
514ed0d50c3Schristos /* Suppress unused-variable warnings by "using" E. */
515ed0d50c3Schristos #if ! defined lint || defined __GNUC__
51606324dcfSchristos # define YYUSE(E) ((void) (E))
517ed0d50c3Schristos #else
51806324dcfSchristos # define YYUSE(E) /* empty */
519ed0d50c3Schristos #endif
520ed0d50c3Schristos
52106324dcfSchristos #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
52206324dcfSchristos /* Suppress an incorrect diagnostic about yylval being uninitialized. */
52306324dcfSchristos # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
52406324dcfSchristos _Pragma ("GCC diagnostic push") \
52506324dcfSchristos _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
52606324dcfSchristos _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
52706324dcfSchristos # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
52806324dcfSchristos _Pragma ("GCC diagnostic pop")
529ed0d50c3Schristos #else
53006324dcfSchristos # define YY_INITIAL_VALUE(Value) Value
531ed0d50c3Schristos #endif
53206324dcfSchristos #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
53306324dcfSchristos # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
53406324dcfSchristos # define YY_IGNORE_MAYBE_UNINITIALIZED_END
535ed0d50c3Schristos #endif
53606324dcfSchristos #ifndef YY_INITIAL_VALUE
53706324dcfSchristos # define YY_INITIAL_VALUE(Value) /* Nothing. */
53806324dcfSchristos #endif
53906324dcfSchristos
540ed0d50c3Schristos
541ed0d50c3Schristos #if ! defined yyoverflow || YYERROR_VERBOSE
542ed0d50c3Schristos
543ed0d50c3Schristos /* The parser invokes alloca or malloc; define the necessary symbols. */
544ed0d50c3Schristos
545ed0d50c3Schristos # ifdef YYSTACK_USE_ALLOCA
546ed0d50c3Schristos # if YYSTACK_USE_ALLOCA
547ed0d50c3Schristos # ifdef __GNUC__
548ed0d50c3Schristos # define YYSTACK_ALLOC __builtin_alloca
549ed0d50c3Schristos # elif defined __BUILTIN_VA_ARG_INCR
550ed0d50c3Schristos # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
551ed0d50c3Schristos # elif defined _AIX
552ed0d50c3Schristos # define YYSTACK_ALLOC __alloca
553ed0d50c3Schristos # elif defined _MSC_VER
554ed0d50c3Schristos # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
555ed0d50c3Schristos # define alloca _alloca
556ed0d50c3Schristos # else
557ed0d50c3Schristos # define YYSTACK_ALLOC alloca
55806324dcfSchristos # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
559ed0d50c3Schristos # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
56006324dcfSchristos /* Use EXIT_SUCCESS as a witness for stdlib.h. */
56106324dcfSchristos # ifndef EXIT_SUCCESS
56206324dcfSchristos # define EXIT_SUCCESS 0
563ed0d50c3Schristos # endif
564ed0d50c3Schristos # endif
565ed0d50c3Schristos # endif
566ed0d50c3Schristos # endif
567ed0d50c3Schristos # endif
568ed0d50c3Schristos
569ed0d50c3Schristos # ifdef YYSTACK_ALLOC
57006324dcfSchristos /* Pacify GCC's 'empty if-body' warning. */
57106324dcfSchristos # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
572ed0d50c3Schristos # ifndef YYSTACK_ALLOC_MAXIMUM
573ed0d50c3Schristos /* The OS might guarantee only one guard page at the bottom of the stack,
574ed0d50c3Schristos and a page size can be as small as 4096 bytes. So we cannot safely
575ed0d50c3Schristos invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
576ed0d50c3Schristos to allow for a few compiler-allocated temporary stack slots. */
577ed0d50c3Schristos # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
578ed0d50c3Schristos # endif
579ed0d50c3Schristos # else
580ed0d50c3Schristos # define YYSTACK_ALLOC YYMALLOC
581ed0d50c3Schristos # define YYSTACK_FREE YYFREE
582ed0d50c3Schristos # ifndef YYSTACK_ALLOC_MAXIMUM
583ed0d50c3Schristos # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
584ed0d50c3Schristos # endif
58506324dcfSchristos # if (defined __cplusplus && ! defined EXIT_SUCCESS \
586ed0d50c3Schristos && ! ((defined YYMALLOC || defined malloc) \
587ed0d50c3Schristos && (defined YYFREE || defined free)))
588ed0d50c3Schristos # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
58906324dcfSchristos # ifndef EXIT_SUCCESS
59006324dcfSchristos # define EXIT_SUCCESS 0
591ed0d50c3Schristos # endif
592ed0d50c3Schristos # endif
593ed0d50c3Schristos # ifndef YYMALLOC
594ed0d50c3Schristos # define YYMALLOC malloc
59506324dcfSchristos # if ! defined malloc && ! defined EXIT_SUCCESS
596ed0d50c3Schristos void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
597ed0d50c3Schristos # endif
598ed0d50c3Schristos # endif
599ed0d50c3Schristos # ifndef YYFREE
600ed0d50c3Schristos # define YYFREE free
60106324dcfSchristos # if ! defined free && ! defined EXIT_SUCCESS
602ed0d50c3Schristos void free (void *); /* INFRINGES ON USER NAME SPACE */
603ed0d50c3Schristos # endif
604ed0d50c3Schristos # endif
605ed0d50c3Schristos # endif
606ed0d50c3Schristos #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
607ed0d50c3Schristos
608ed0d50c3Schristos
609ed0d50c3Schristos #if (! defined yyoverflow \
610ed0d50c3Schristos && (! defined __cplusplus \
611ed0d50c3Schristos || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
612ed0d50c3Schristos
613ed0d50c3Schristos /* A type that is properly aligned for any stack member. */
614ed0d50c3Schristos union yyalloc
615ed0d50c3Schristos {
61606324dcfSchristos yytype_int16 yyss_alloc;
61706324dcfSchristos YYSTYPE yyvs_alloc;
618ed0d50c3Schristos };
619ed0d50c3Schristos
620ed0d50c3Schristos /* The size of the maximum gap between one aligned stack and the next. */
621ed0d50c3Schristos # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
622ed0d50c3Schristos
623ed0d50c3Schristos /* The size of an array large to enough to hold all stacks, each with
624ed0d50c3Schristos N elements. */
625ed0d50c3Schristos # define YYSTACK_BYTES(N) \
626ed0d50c3Schristos ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
627ed0d50c3Schristos + YYSTACK_GAP_MAXIMUM)
628ed0d50c3Schristos
62906324dcfSchristos # define YYCOPY_NEEDED 1
630ed0d50c3Schristos
631ed0d50c3Schristos /* Relocate STACK from its old location to the new one. The
632ed0d50c3Schristos local variables YYSIZE and YYSTACKSIZE give the old and new number of
633ed0d50c3Schristos elements in the stack, and YYPTR gives the new location of the
634ed0d50c3Schristos stack. Advance YYPTR to a properly aligned location for the next
635ed0d50c3Schristos stack. */
63606324dcfSchristos # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
637ed0d50c3Schristos do \
638ed0d50c3Schristos { \
639ed0d50c3Schristos YYSIZE_T yynewbytes; \
64006324dcfSchristos YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
64106324dcfSchristos Stack = &yyptr->Stack_alloc; \
642ed0d50c3Schristos yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
643ed0d50c3Schristos yyptr += yynewbytes / sizeof (*yyptr); \
644ed0d50c3Schristos } \
64506324dcfSchristos while (0)
646ed0d50c3Schristos
647ed0d50c3Schristos #endif
648ed0d50c3Schristos
64906324dcfSchristos #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
65006324dcfSchristos /* Copy COUNT objects from SRC to DST. The source and destination do
65106324dcfSchristos not overlap. */
65206324dcfSchristos # ifndef YYCOPY
65306324dcfSchristos # if defined __GNUC__ && 1 < __GNUC__
65406324dcfSchristos # define YYCOPY(Dst, Src, Count) \
65506324dcfSchristos __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
65606324dcfSchristos # else
65706324dcfSchristos # define YYCOPY(Dst, Src, Count) \
65806324dcfSchristos do \
65906324dcfSchristos { \
66006324dcfSchristos YYSIZE_T yyi; \
66106324dcfSchristos for (yyi = 0; yyi < (Count); yyi++) \
66206324dcfSchristos (Dst)[yyi] = (Src)[yyi]; \
66306324dcfSchristos } \
66406324dcfSchristos while (0)
66506324dcfSchristos # endif
66606324dcfSchristos # endif
66706324dcfSchristos #endif /* !YYCOPY_NEEDED */
66806324dcfSchristos
669ed0d50c3Schristos /* YYFINAL -- State number of the termination state. */
670ed0d50c3Schristos #define YYFINAL 2
671ed0d50c3Schristos /* YYLAST -- Last index in YYTABLE. */
672ed0d50c3Schristos #define YYLAST 830
673ed0d50c3Schristos
674ed0d50c3Schristos /* YYNTOKENS -- Number of terminals. */
675ed0d50c3Schristos #define YYNTOKENS 112
676ed0d50c3Schristos /* YYNNTS -- Number of nonterminals. */
677ed0d50c3Schristos #define YYNNTS 102
678ed0d50c3Schristos /* YYNRULES -- Number of rules. */
679ed0d50c3Schristos #define YYNRULES 276
68006324dcfSchristos /* YYNSTATES -- Number of states. */
681ed0d50c3Schristos #define YYNSTATES 520
682ed0d50c3Schristos
68306324dcfSchristos /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
68406324dcfSchristos by yylex, with out-of-bounds checking. */
685ed0d50c3Schristos #define YYUNDEFTOK 2
686ed0d50c3Schristos #define YYMAXUTOK 353
687ed0d50c3Schristos
688ed0d50c3Schristos #define YYTRANSLATE(YYX) \
689ed0d50c3Schristos ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
690ed0d50c3Schristos
69106324dcfSchristos /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
69206324dcfSchristos as returned by yylex, without out-of-bounds checking. */
693ed0d50c3Schristos static const yytype_uint8 yytranslate[] =
694ed0d50c3Schristos {
695ed0d50c3Schristos 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
696ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
697ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
698ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 105, 100, 2,
699ed0d50c3Schristos 110, 111, 103, 101, 108, 102, 2, 104, 2, 2,
700ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
701ed0d50c3Schristos 2, 109, 2, 2, 2, 2, 2, 2, 2, 2,
702ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
703ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
704ed0d50c3Schristos 2, 2, 2, 2, 99, 2, 2, 2, 2, 2,
705ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
706ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
707ed0d50c3Schristos 2, 2, 2, 2, 98, 2, 106, 2, 2, 2,
708ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
709ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
710ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
711ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
712ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
713ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
714ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
715ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
716ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
717ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
718ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
719ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
720ed0d50c3Schristos 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
721ed0d50c3Schristos 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
722ed0d50c3Schristos 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
723ed0d50c3Schristos 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
724ed0d50c3Schristos 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
725ed0d50c3Schristos 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
726ed0d50c3Schristos 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
727ed0d50c3Schristos 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
728ed0d50c3Schristos 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
729ed0d50c3Schristos 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
730ed0d50c3Schristos 95, 96, 97, 107
731ed0d50c3Schristos };
732ed0d50c3Schristos
733ed0d50c3Schristos #if YYDEBUG
73406324dcfSchristos /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
735ed0d50c3Schristos static const yytype_uint16 yyrline[] =
736ed0d50c3Schristos {
737ed0d50c3Schristos 0, 178, 178, 180, 181, 182, 183, 184, 185, 186,
738ed0d50c3Schristos 187, 188, 189, 190, 191, 192, 193, 194, 200, 211,
739ed0d50c3Schristos 214, 235, 240, 252, 272, 282, 286, 291, 298, 302,
740ed0d50c3Schristos 307, 311, 315, 319, 328, 340, 354, 352, 379, 377,
741ed0d50c3Schristos 406, 404, 436, 439, 445, 447, 453, 457, 462, 466,
742ed0d50c3Schristos 470, 483, 498, 513, 528, 532, 536, 540, 546, 548,
743ed0d50c3Schristos 560, 559, 572, 571, 584, 583, 596, 595, 611, 610,
744ed0d50c3Schristos 623, 622, 636, 647, 657, 656, 669, 668, 681, 680,
745ed0d50c3Schristos 693, 692, 705, 704, 719, 724, 730, 736, 743, 742,
746ed0d50c3Schristos 758, 757, 770, 769, 782, 781, 793, 792, 805, 804,
747ed0d50c3Schristos 817, 816, 829, 828, 841, 840, 854, 852, 873, 884,
748ed0d50c3Schristos 895, 907, 918, 921, 925, 930, 940, 943, 953, 952,
749ed0d50c3Schristos 959, 958, 965, 964, 972, 984, 997, 1006, 1017, 1020,
750ed0d50c3Schristos 1037, 1041, 1045, 1053, 1056, 1060, 1067, 1071, 1075, 1079,
751ed0d50c3Schristos 1083, 1087, 1096, 1107, 1110, 1127, 1131, 1135, 1139, 1143,
752ed0d50c3Schristos 1147, 1151, 1155, 1165, 1178, 1178, 1190, 1194, 1201, 1209,
753ed0d50c3Schristos 1217, 1225, 1234, 1243, 1252, 1262, 1261, 1266, 1268, 1273,
754ed0d50c3Schristos 1278, 1286, 1290, 1295, 1300, 1305, 1310, 1315, 1320, 1325,
755ed0d50c3Schristos 1330, 1341, 1348, 1358, 1364, 1365, 1384, 1409, 1420, 1425,
756ed0d50c3Schristos 1432, 1439, 1444, 1449, 1454, 1459, 1474, 1477, 1481, 1489,
757ed0d50c3Schristos 1492, 1500, 1503, 1511, 1514, 1523, 1528, 1537, 1541, 1551,
758ed0d50c3Schristos 1556, 1560, 1571, 1577, 1583, 1588, 1593, 1604, 1609, 1621,
759ed0d50c3Schristos 1626, 1638, 1643, 1648, 1653, 1658, 1663, 1668, 1678, 1682,
760ed0d50c3Schristos 1690, 1695, 1710, 1714, 1723, 1727, 1739, 1744, 1760, 1764,
761ed0d50c3Schristos 1776, 1780, 1802, 1806, 1810, 1814, 1821, 1825, 1835, 1838,
762ed0d50c3Schristos 1847, 1856, 1865, 1869, 1873, 1878, 1883, 1888, 1893, 1898,
763ed0d50c3Schristos 1903, 1908, 1913, 1918, 1929, 1938, 1949, 1953, 1957, 1962,
764ed0d50c3Schristos 1967, 1972, 1978, 1983, 1988, 1993, 1998
765ed0d50c3Schristos };
766ed0d50c3Schristos #endif
767ed0d50c3Schristos
76806324dcfSchristos #if YYDEBUG || YYERROR_VERBOSE || 0
769ed0d50c3Schristos /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
770ed0d50c3Schristos First, the terminals, then, starting at YYNTOKENS, nonterminals. */
771ed0d50c3Schristos static const char *const yytname[] =
772ed0d50c3Schristos {
773ed0d50c3Schristos "$end", "error", "$undefined", "BEG", "END", "ACCELERATORS", "VIRTKEY",
774ed0d50c3Schristos "ASCII", "NOINVERT", "SHIFT", "CONTROL", "ALT", "BITMAP", "CURSOR",
775ed0d50c3Schristos "DIALOG", "DIALOGEX", "EXSTYLE", "CAPTION", "CLASS", "STYLE",
776ed0d50c3Schristos "AUTO3STATE", "AUTOCHECKBOX", "AUTORADIOBUTTON", "CHECKBOX", "COMBOBOX",
777ed0d50c3Schristos "CTEXT", "DEFPUSHBUTTON", "EDITTEXT", "GROUPBOX", "LISTBOX", "LTEXT",
778ed0d50c3Schristos "PUSHBOX", "PUSHBUTTON", "RADIOBUTTON", "RTEXT", "SCROLLBAR", "STATE3",
779ed0d50c3Schristos "USERBUTTON", "BEDIT", "HEDIT", "IEDIT", "FONT", "ICON", "ANICURSOR",
780ed0d50c3Schristos "ANIICON", "DLGINCLUDE", "DLGINIT", "FONTDIR", "HTML", "MANIFEST",
781ed0d50c3Schristos "PLUGPLAY", "VXD", "TOOLBAR", "BUTTON", "LANGUAGE", "CHARACTERISTICS",
782ed0d50c3Schristos "VERSIONK", "MENU", "MENUEX", "MENUITEM", "SEPARATOR", "POPUP",
783ed0d50c3Schristos "CHECKED", "GRAYED", "HELP", "INACTIVE", "MENUBARBREAK", "MENUBREAK",
784ed0d50c3Schristos "MESSAGETABLE", "RCDATA", "STRINGTABLE", "VERSIONINFO", "FILEVERSION",
785ed0d50c3Schristos "PRODUCTVERSION", "FILEFLAGSMASK", "FILEFLAGS", "FILEOS", "FILETYPE",
786ed0d50c3Schristos "FILESUBTYPE", "BLOCKSTRINGFILEINFO", "BLOCKVARFILEINFO", "VALUE",
787ed0d50c3Schristos "BLOCK", "MOVEABLE", "FIXED", "PURE", "IMPURE", "PRELOAD", "LOADONCALL",
788ed0d50c3Schristos "DISCARDABLE", "NOT", "QUOTEDUNISTRING", "QUOTEDSTRING", "STRING",
789ed0d50c3Schristos "NUMBER", "SIZEDUNISTRING", "SIZEDSTRING", "IGNORED_TOKEN", "'|'", "'^'",
790ed0d50c3Schristos "'&'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "NEG", "','", "'='",
791ed0d50c3Schristos "'('", "')'", "$accept", "input", "accelerator", "acc_entries",
792ed0d50c3Schristos "acc_entry", "acc_event", "acc_options", "acc_option", "bitmap",
79306324dcfSchristos "cursor", "dialog", "$@1", "$@2", "$@3", "exstyle", "styles", "controls",
79406324dcfSchristos "control", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11",
79506324dcfSchristos "$@12", "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", "$@19", "$@20",
79606324dcfSchristos "$@21", "$@22", "$@23", "$@24", "control_params", "cresid", "optresidc",
79706324dcfSchristos "resid", "opt_control_data", "control_styleexpr", "$@25",
79806324dcfSchristos "icon_styleexpr", "$@26", "control_params_styleexpr", "$@27", "font",
79906324dcfSchristos "icon", "language", "menu", "menuitems", "menuitem", "menuitem_flags",
80006324dcfSchristos "menuitem_flag", "menuex", "menuexitems", "menuexitem", "messagetable",
80106324dcfSchristos "optrcdata_data", "$@28", "optrcdata_data_int", "rcdata_data",
80206324dcfSchristos "stringtable", "$@29", "string_data", "rcdata_id", "user", "toolbar",
80306324dcfSchristos "toolbar_data", "versioninfo", "fixedverinfo", "verblocks",
80406324dcfSchristos "verstringtables", "vervals", "vertrans", "id", "resname", "resref",
80506324dcfSchristos "suboptions", "memflags_move_discard", "memflags_move", "memflag",
80606324dcfSchristos "file_name", "res_unicode_string_concat", "res_unicode_string",
80706324dcfSchristos "res_unicode_sizedstring", "res_unicode_sizedstring_concat",
80806324dcfSchristos "sizedstring", "sizedunistring", "styleexpr", "parennumber",
80906324dcfSchristos "optcnumexpr", "cnumexpr", "numexpr", "sizednumexpr", "cposnumexpr",
81006324dcfSchristos "posnumexpr", "sizedposnumexpr", YY_NULLPTR
811ed0d50c3Schristos };
812ed0d50c3Schristos #endif
813ed0d50c3Schristos
814ed0d50c3Schristos # ifdef YYPRINT
81506324dcfSchristos /* YYTOKNUM[NUM] -- (External) token number corresponding to the
81606324dcfSchristos (internal) symbol number NUM (which must be that of a token). */
817ed0d50c3Schristos static const yytype_uint16 yytoknum[] =
818ed0d50c3Schristos {
819ed0d50c3Schristos 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
820ed0d50c3Schristos 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
821ed0d50c3Schristos 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
822ed0d50c3Schristos 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
823ed0d50c3Schristos 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
824ed0d50c3Schristos 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
825ed0d50c3Schristos 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
826ed0d50c3Schristos 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
827ed0d50c3Schristos 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
828ed0d50c3Schristos 345, 346, 347, 348, 349, 350, 351, 352, 124, 94,
829ed0d50c3Schristos 38, 43, 45, 42, 47, 37, 126, 353, 44, 61,
830ed0d50c3Schristos 40, 41
831ed0d50c3Schristos };
832ed0d50c3Schristos # endif
833ed0d50c3Schristos
83406324dcfSchristos #define YYPACT_NINF -446
83506324dcfSchristos
83606324dcfSchristos #define yypact_value_is_default(Yystate) \
83706324dcfSchristos (!!((Yystate) == (-446)))
83806324dcfSchristos
83906324dcfSchristos #define YYTABLE_NINF -231
84006324dcfSchristos
84106324dcfSchristos #define yytable_value_is_error(Yytable_value) \
84206324dcfSchristos 0
84306324dcfSchristos
84406324dcfSchristos /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
84506324dcfSchristos STATE-NUM. */
84606324dcfSchristos static const yytype_int16 yypact[] =
847ed0d50c3Schristos {
84806324dcfSchristos -446, 75, -446, 317, -446, -446, -446, -446, -446, -446,
84906324dcfSchristos 317, 317, -446, -446, -446, -446, -446, -446, -446, -446,
85006324dcfSchristos -446, -446, -446, -446, -446, -446, 463, -446, -446, -446,
85106324dcfSchristos 589, -446, 317, 317, 317, -93, 626, 209, -446, 437,
85206324dcfSchristos -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
85306324dcfSchristos -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
85406324dcfSchristos -446, -446, -446, 317, 317, 317, 317, 317, 317, 317,
85506324dcfSchristos 317, -446, -446, 526, 317, -446, 317, 317, 317, 317,
85606324dcfSchristos 317, 317, 317, 317, -446, 317, 317, 317, -446, -446,
85706324dcfSchristos -446, -446, -446, -446, -446, -446, -446, 267, 675, 675,
85806324dcfSchristos 275, 275, 675, 675, 491, 404, 441, 675, 168, 256,
85906324dcfSchristos 719, 379, 397, 213, 213, -446, -446, -446, -446, -446,
86006324dcfSchristos 719, 379, 397, 213, 213, -446, -446, -446, -446, -93,
86106324dcfSchristos -446, -446, -446, -446, -446, -446, -446, -446, -446, -65,
86206324dcfSchristos 144, 144, -446, -446, -93, -446, -446, -446, -446, 317,
86306324dcfSchristos 317, 317, 317, 317, 317, 317, -446, -446, 18, -446,
86406324dcfSchristos 21, 317, -93, -93, 31, 140, 155, 126, -93, -93,
86506324dcfSchristos -446, -446, -446, -446, -446, 47, 177, -446, -446, 212,
86606324dcfSchristos -446, -446, -446, -34, -446, -446, -93, -93, -446, -446,
86706324dcfSchristos -36, -5, -446, -446, -25, -5, -446, -446, 119, 131,
86806324dcfSchristos -93, -446, -93, -446, -446, -446, -446, 54, 68, 84,
86906324dcfSchristos 626, 2, -446, 2, 68, 84, 144, 87, -93, -93,
87006324dcfSchristos 25, -446, 95, -446, -5, -446, 95, 62, -446, 102,
87106324dcfSchristos -93, -93, 177, -446, -446, 2, -446, -446, 552, -446,
87206324dcfSchristos -93, -446, 306, -446, -446, -446, 76, -93, -446, 8,
87306324dcfSchristos 6, -5, -446, -446, 68, 84, 626, -446, -446, -446,
87406324dcfSchristos -446, -446, -446, 167, -446, -446, -446, -446, -446, 271,
87506324dcfSchristos -446, -446, -446, -446, -446, -446, -446, 763, -446, -93,
87606324dcfSchristos 161, -446, 11, -446, 197, -5, 552, -446, 374, 548,
87706324dcfSchristos -446, 178, -446, -446, -446, 190, -446, -93, -446, 3,
87806324dcfSchristos -446, -446, 317, -5, 306, -47, 317, 317, 317, 317,
87906324dcfSchristos 306, -446, 565, -446, -446, 194, 201, -1, -446, -93,
88006324dcfSchristos 639, -446, -5, -446, -5, 143, -33, -446, 317, 110,
88106324dcfSchristos -446, 105, -93, -446, -446, -446, 676, -446, -446, -446,
88206324dcfSchristos -446, -5, -446, -446, 311, 311, 311, 311, 311, -446,
88306324dcfSchristos 311, 311, -446, 311, -446, 311, 311, 311, 311, 311,
88406324dcfSchristos -446, 311, 306, 311, 311, 311, 306, -446, -446, 104,
88506324dcfSchristos -42, -5, -446, -446, 713, 207, 99, 317, 113, -5,
88606324dcfSchristos -446, -446, -446, -446, -446, 317, -446, -446, 317, -446,
88706324dcfSchristos 317, -446, -446, -446, -446, -446, 317, -446, 115, 317,
88806324dcfSchristos 120, -446, -446, -446, 317, -446, -33, -446, 95, -446,
88906324dcfSchristos -446, -5, 152, -446, 317, 317, 317, 317, -446, -93,
89006324dcfSchristos 317, 317, -446, 317, -446, 317, 317, 317, 317, 317,
89106324dcfSchristos -446, 317, -446, 153, -446, 317, 317, 317, -93, -446,
89206324dcfSchristos -93, -5, 311, 159, -446, -446, -446, -446, -93, -446,
89306324dcfSchristos -446, -446, -446, -446, -446, -446, -446, -446, 317, -446,
89406324dcfSchristos -446, -446, -93, -93, -446, -446, -93, -93, 173, 15,
89506324dcfSchristos -446, -47, -93, -93, 317, -446, -446, -93, 110, -93,
89606324dcfSchristos 27, 180, 244, 29, -93, -446, -446, -93, 317, -446,
89706324dcfSchristos -446, -446, -93, -93, -47, 273, -93, 192, -47, 273,
89806324dcfSchristos -93, 273, -93, 110, -446, 273, 317, 110, -446, 273,
89906324dcfSchristos -446, 273, -446, 193, -446, -446, -446, -47, -75, -446
900ed0d50c3Schristos };
901ed0d50c3Schristos
90206324dcfSchristos /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
90306324dcfSchristos Performed when YYTABLE does not specify something else to do. Zero
904ed0d50c3Schristos means the default is an error. */
905ed0d50c3Schristos static const yytype_uint16 yydefact[] =
906ed0d50c3Schristos {
907ed0d50c3Schristos 2, 0, 1, 0, 212, 232, 233, 208, 266, 17,
908ed0d50c3Schristos 0, 0, 3, 4, 5, 6, 7, 8, 9, 10,
909ed0d50c3Schristos 11, 12, 13, 15, 14, 16, 0, 206, 207, 205,
910ed0d50c3Schristos 265, 252, 0, 0, 0, 0, 251, 0, 268, 0,
911ed0d50c3Schristos 212, 219, 217, 219, 219, 217, 217, 179, 180, 177,
912ed0d50c3Schristos 178, 172, 174, 175, 176, 212, 212, 212, 219, 173,
913ed0d50c3Schristos 188, 212, 171, 0, 0, 0, 0, 0, 0, 0,
914ed0d50c3Schristos 0, 255, 254, 0, 0, 126, 0, 0, 0, 0,
915ed0d50c3Schristos 0, 0, 0, 0, 165, 0, 0, 0, 221, 222,
916ed0d50c3Schristos 223, 224, 225, 226, 227, 213, 267, 0, 0, 0,
917ed0d50c3Schristos 42, 42, 0, 0, 0, 0, 0, 0, 0, 0,
918ed0d50c3Schristos 276, 275, 274, 272, 273, 269, 270, 271, 253, 250,
919ed0d50c3Schristos 263, 262, 261, 259, 260, 256, 257, 258, 167, 0,
920ed0d50c3Schristos 214, 216, 19, 228, 229, 220, 34, 218, 35, 0,
921ed0d50c3Schristos 0, 0, 124, 125, 0, 128, 143, 153, 196, 0,
922ed0d50c3Schristos 0, 0, 0, 0, 0, 0, 154, 182, 0, 215,
923ed0d50c3Schristos 0, 0, 0, 0, 0, 0, 0, 0, 248, 248,
924ed0d50c3Schristos 191, 192, 193, 194, 195, 0, 156, 170, 166, 0,
925ed0d50c3Schristos 18, 23, 20, 0, 24, 43, 0, 0, 184, 127,
926ed0d50c3Schristos 0, 0, 129, 142, 0, 0, 144, 187, 0, 0,
927ed0d50c3Schristos 248, 249, 248, 181, 240, 238, 155, 157, 158, 159,
928ed0d50c3Schristos 160, 0, 236, 168, 235, 234, 0, 21, 0, 0,
929ed0d50c3Schristos 0, 131, 0, 230, 133, 148, 145, 0, 199, 0,
930ed0d50c3Schristos 248, 248, 164, 239, 241, 169, 237, 264, 0, 36,
931ed0d50c3Schristos 38, 183, 0, 186, 231, 133, 0, 146, 143, 0,
932ed0d50c3Schristos 0, 0, 189, 190, 161, 162, 163, 28, 29, 30,
933ed0d50c3Schristos 31, 32, 33, 22, 25, 44, 44, 40, 185, 130,
934ed0d50c3Schristos 128, 136, 137, 138, 139, 140, 141, 0, 135, 248,
935ed0d50c3Schristos 0, 143, 0, 197, 0, 203, 0, 27, 0, 0,
936ed0d50c3Schristos 44, 0, 134, 147, 149, 0, 143, 248, 201, 0,
937ed0d50c3Schristos 26, 58, 0, 0, 0, 0, 0, 0, 0, 0,
938ed0d50c3Schristos 0, 58, 0, 132, 150, 0, 0, 0, 198, 0,
939ed0d50c3Schristos 0, 48, 45, 46, 49, 207, 0, 246, 0, 47,
940ed0d50c3Schristos 242, 0, 0, 55, 57, 54, 0, 58, 151, 143,
941ed0d50c3Schristos 200, 0, 204, 37, 112, 112, 112, 112, 112, 70,
942ed0d50c3Schristos 112, 112, 78, 112, 90, 112, 112, 112, 112, 112,
943ed0d50c3Schristos 102, 112, 0, 112, 112, 112, 0, 59, 243, 0,
944ed0d50c3Schristos 0, 0, 56, 39, 0, 0, 0, 0, 0, 115,
945ed0d50c3Schristos 114, 60, 62, 64, 68, 0, 74, 76, 0, 80,
946ed0d50c3Schristos 0, 92, 94, 96, 98, 100, 0, 104, 210, 0,
947ed0d50c3Schristos 0, 66, 82, 88, 0, 247, 0, 244, 50, 41,
948ed0d50c3Schristos 152, 0, 0, 113, 0, 0, 0, 0, 71, 0,
949ed0d50c3Schristos 0, 0, 79, 0, 91, 0, 0, 0, 0, 0,
950ed0d50c3Schristos 103, 0, 211, 0, 209, 0, 0, 0, 0, 245,
951ed0d50c3Schristos 51, 202, 0, 0, 61, 63, 65, 69, 0, 75,
952ed0d50c3Schristos 77, 81, 93, 95, 97, 99, 101, 105, 0, 67,
953ed0d50c3Schristos 83, 89, 0, 52, 111, 118, 0, 0, 0, 116,
954ed0d50c3Schristos 53, 0, 0, 0, 0, 154, 84, 0, 119, 0,
955ed0d50c3Schristos 116, 0, 0, 116, 0, 122, 108, 248, 0, 117,
956ed0d50c3Schristos 120, 85, 248, 248, 0, 116, 249, 0, 0, 116,
957ed0d50c3Schristos 249, 116, 249, 123, 109, 116, 0, 121, 86, 116,
958ed0d50c3Schristos 72, 116, 110, 0, 87, 73, 106, 0, 248, 107
959ed0d50c3Schristos };
960ed0d50c3Schristos
961ed0d50c3Schristos /* YYPGOTO[NTERM-NUM]. */
962ed0d50c3Schristos static const yytype_int16 yypgoto[] =
963ed0d50c3Schristos {
964ed0d50c3Schristos -446, -446, -446, -446, -446, -446, -446, -236, -446, -446,
965ed0d50c3Schristos -446, -446, -446, -446, 184, -262, -273, -446, -446, -446,
966ed0d50c3Schristos -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
967ed0d50c3Schristos -446, -446, -446, -446, -446, -446, -446, -446, -446, 219,
968ed0d50c3Schristos -446, 442, -123, 274, -446, -446, -446, -446, -446, -446,
969ed0d50c3Schristos -446, -446, -446, -446, 77, -446, 101, 88, -446, -239,
970ed0d50c3Schristos -446, -446, -109, -446, -446, -446, -446, -446, -446, -446,
971ed0d50c3Schristos -446, -446, -446, -446, -446, -446, -446, -446, -446, -24,
972ed0d50c3Schristos -245, 4, 169, 211, 270, 710, 175, -178, 5, -173,
973ed0d50c3Schristos 157, -156, -122, -445, -325, -161, -30, -3, 26, -446,
974ed0d50c3Schristos 20, -446
975ed0d50c3Schristos };
976ed0d50c3Schristos
97706324dcfSchristos /* YYDEFGOTO[NTERM-NUM]. */
97806324dcfSchristos static const yytype_int16 yydefgoto[] =
97906324dcfSchristos {
98006324dcfSchristos -1, 1, 12, 160, 182, 183, 263, 264, 13, 14,
98106324dcfSchristos 15, 265, 266, 290, 140, 288, 320, 367, 414, 415,
98206324dcfSchristos 416, 435, 417, 385, 420, 421, 388, 423, 436, 437,
98306324dcfSchristos 390, 425, 426, 427, 428, 429, 396, 431, 517, 418,
98406324dcfSchristos 443, 377, 378, 476, 466, 471, 492, 498, 487, 494,
98506324dcfSchristos 16, 17, 18, 19, 165, 192, 246, 278, 20, 166,
98606324dcfSchristos 196, 21, 175, 176, 206, 207, 22, 128, 158, 61,
98706324dcfSchristos 23, 24, 220, 25, 108, 167, 250, 317, 299, 26,
98806324dcfSchristos 27, 399, 37, 99, 98, 95, 136, 379, 223, 212,
98906324dcfSchristos 213, 214, 215, 329, 330, 200, 201, 419, 36, 217,
99006324dcfSchristos 380, 30
99106324dcfSchristos };
99206324dcfSchristos
99306324dcfSchristos /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
99406324dcfSchristos positive, shift that token. If negative, reduce the rule whose
99506324dcfSchristos number is the opposite. If YYTABLE_NINF, syntax error. */
996ed0d50c3Schristos static const yytype_int16 yytable[] =
997ed0d50c3Schristos {
998ed0d50c3Schristos 35, 368, 62, 340, 289, 75, 28, 318, 202, 280,
999ed0d50c3Schristos 283, 281, 222, 224, 296, 74, 226, 227, 475, 177,
1000ed0d50c3Schristos 208, 29, 178, 370, 221, 180, 478, 287, 312, 241,
1001ed0d50c3Schristos 475, 28, 475, 74, 188, 225, 38, 39, 336, 230,
1002ed0d50c3Schristos 236, 231, 295, 326, 161, 407, 29, 327, 406, 503,
1003ed0d50c3Schristos 300, 203, 327, 507, 209, 5, 6, 315, 71, 72,
1004ed0d50c3Schristos 73, 327, 236, 328, 374, 248, 5, 6, 328, 252,
1005ed0d50c3Schristos 253, 119, 518, 285, 216, 2, 254, 328, 242, 270,
1006ed0d50c3Schristos 341, 439, 129, 130, 131, 243, 5, 6, 284, 110,
1007ed0d50c3Schristos 111, 112, 113, 114, 115, 116, 117, 204, 205, 159,
1008ed0d50c3Schristos 375, 144, 120, 121, 122, 123, 124, 125, 126, 127,
1009ed0d50c3Schristos 255, 74, 31, 181, 164, 8, 74, 398, 293, 74,
1010ed0d50c3Schristos 32, 398, 228, 74, 33, 322, 324, 10, 34, 3,
1011ed0d50c3Schristos 197, 11, 186, 187, 229, 485, 316, 490, 271, 272,
1012ed0d50c3Schristos 273, 274, 275, 276, 189, 4, 168, 169, 170, 171,
1013ed0d50c3Schristos 172, 173, 174, 5, 6, 179, 218, 219, 185, 193,
1014ed0d50c3Schristos 162, 163, 232, 376, 233, 294, 5, 6, 7, 8,
1015ed0d50c3Schristos 74, 148, 9, 257, 258, 259, 260, 261, 262, 234,
1016ed0d50c3Schristos 184, 10, 313, 251, 277, 11, 5, 6, 239, 240,
1017ed0d50c3Schristos 5, 6, 245, 408, 314, 238, 247, 249, 338, 190,
1018ed0d50c3Schristos 298, 191, 210, 74, 339, 198, 199, 411, 370, 97,
1019ed0d50c3Schristos 267, 410, 84, 371, 194, 405, 195, 279, 268, 282,
1020ed0d50c3Schristos 194, 413, 195, 432, 104, 105, 106, 244, 434, 244,
1021ed0d50c3Schristos 109, 244, 244, 441, -230, -230, 237, 190, 8, 191,
1022ed0d50c3Schristos 149, 150, 151, 152, 153, 154, 155, 28, 489, 194,
1023ed0d50c3Schristos 10, 195, 297, 194, 11, 195, 102, 103, 256, 156,
1024ed0d50c3Schristos 442, 458, 29, 85, 86, 87, 194, 465, 195, 319,
1025ed0d50c3Schristos 132, 31, 204, 205, 138, 286, 475, 142, 143, 32,
1026ed0d50c3Schristos 323, 474, 147, 33, 157, 141, 335, 34, 488, 342,
1027ed0d50c3Schristos 244, 139, 88, 89, 90, 91, 92, 93, 94, 321,
1028ed0d50c3Schristos 506, 516, 372, 331, 332, 333, 334, 204, 205, 325,
1029ed0d50c3Schristos 85, 86, 87, 100, 101, 28, 81, 82, 83, 464,
1030ed0d50c3Schristos 211, 85, 86, 87, 29, 369, 495, 244, 107, 244,
1031ed0d50c3Schristos 29, 499, 501, 271, 272, 273, 274, 275, 276, 88,
1032ed0d50c3Schristos 89, 90, 91, 92, 93, 94, 269, 291, 133, 134,
1033ed0d50c3Schristos 88, 89, 90, 91, 92, 93, 94, 519, 88, 89,
1034ed0d50c3Schristos 90, 91, 92, 93, 94, 292, 482, 28, 235, 0,
1035ed0d50c3Schristos 404, 28, 0, 0, 412, 0, 0, 301, 440, 277,
1036ed0d50c3Schristos 0, 244, 400, 0, 244, 0, 400, 0, 0, 448,
1037ed0d50c3Schristos 302, 303, 304, 305, 0, 0, 433, 5, 6, 7,
1038ed0d50c3Schristos 8, 438, 5, 6, 0, 8, 0, 145, 462, 0,
1039ed0d50c3Schristos 463, 31, 10, 244, 0, 306, 11, 10, 467, 32,
1040ed0d50c3Schristos 0, 11, 0, 33, 0, 0, 0, 34, 307, 308,
1041ed0d50c3Schristos 309, 310, 469, 470, 0, 0, 472, 473, 0, 477,
1042ed0d50c3Schristos 0, 0, 479, 480, 146, 0, 244, 483, 0, 484,
1043ed0d50c3Schristos 0, 0, 0, 0, 493, 468, 0, 496, 85, 86,
1044ed0d50c3Schristos 87, 0, 500, 502, 0, 0, 505, 0, 40, 0,
1045ed0d50c3Schristos 509, 481, 511, 0, 0, 41, 42, 43, 44, 78,
1046ed0d50c3Schristos 79, 80, 81, 82, 83, 497, 0, 88, 89, 90,
1047ed0d50c3Schristos 91, 92, 93, 94, 0, 85, 86, 87, 79, 80,
1048ed0d50c3Schristos 81, 82, 83, 513, 45, 46, 47, 48, 49, 50,
1049ed0d50c3Schristos 0, 51, 52, 53, 54, 55, 0, 0, 0, 0,
1050ed0d50c3Schristos 56, 57, 0, 0, 88, 89, 90, 91, 92, 93,
1051ed0d50c3Schristos 94, 58, 59, 0, 60, 76, 77, 78, 79, 80,
1052ed0d50c3Schristos 81, 82, 83, 0, 0, 85, 86, 87, 96, 0,
1053ed0d50c3Schristos 0, 311, 0, 0, 5, 6, 7, 8, 257, 258,
1054ed0d50c3Schristos 259, 260, 261, 262, 302, 303, 304, 305, 337, 10,
1055ed0d50c3Schristos 0, 0, 0, 11, 88, 89, 90, 91, 92, 93,
1056ed0d50c3Schristos 94, 302, 303, 304, 305, 31, 0, 0, 0, 306,
1057ed0d50c3Schristos 0, 0, 0, 32, 0, 0, 0, 33, 0, 0,
1058ed0d50c3Schristos 0, 34, 307, 308, 309, 310, 306, 422, 0, 424,
1059ed0d50c3Schristos 0, 0, 0, 0, 0, 430, 0, 0, 0, 307,
1060ed0d50c3Schristos 308, 309, 310, 0, 76, 77, 78, 79, 80, 81,
1061ed0d50c3Schristos 82, 83, 0, 444, 445, 446, 447, 118, 0, 449,
1062ed0d50c3Schristos 450, 0, 451, 343, 452, 453, 454, 455, 456, 344,
1063ed0d50c3Schristos 457, 0, 0, 0, 459, 460, 461, 0, 0, 345,
1064ed0d50c3Schristos 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
1065ed0d50c3Schristos 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
1066ed0d50c3Schristos 373, 366, 0, 0, 0, 0, 344, 63, 64, 65,
1067ed0d50c3Schristos 66, 67, 68, 69, 70, 0, 345, 346, 347, 348,
1068ed0d50c3Schristos 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
1069ed0d50c3Schristos 359, 360, 361, 362, 363, 364, 365, 409, 366, 0,
1070ed0d50c3Schristos 0, 0, 0, 344, 76, 77, 78, 79, 80, 81,
1071ed0d50c3Schristos 82, 83, 0, 345, 346, 347, 348, 349, 350, 351,
1072ed0d50c3Schristos 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
1073ed0d50c3Schristos 362, 363, 364, 365, 486, 366, 0, 491, 88, 89,
1074ed0d50c3Schristos 90, 91, 92, 93, 94, 0, 0, 133, 134, 504,
1075ed0d50c3Schristos 0, 0, 0, 508, 0, 510, 0, 0, 0, 512,
1076ed0d50c3Schristos 0, 0, 0, 514, 0, 515, 0, 381, 382, 383,
1077ed0d50c3Schristos 384, 0, 386, 387, 0, 389, 0, 391, 392, 393,
1078ed0d50c3Schristos 394, 395, 0, 397, 0, 401, 402, 403, 135, 137,
1079ed0d50c3Schristos 135, 135, 137, 137, 0, 0, 0, 135, 77, 78,
1080ed0d50c3Schristos 79, 80, 81, 82, 83, 271, 272, 273, 274, 275,
1081ed0d50c3Schristos 276
1082ed0d50c3Schristos };
1083ed0d50c3Schristos
1084ed0d50c3Schristos static const yytype_int16 yycheck[] =
1085ed0d50c3Schristos {
1086ed0d50c3Schristos 3, 326, 26, 4, 266, 35, 1, 4, 169, 248,
1087ed0d50c3Schristos 4, 3, 190, 191, 3, 108, 194, 195, 3, 1,
1088ed0d50c3Schristos 176, 1, 4, 98, 60, 4, 471, 263, 290, 4,
1089ed0d50c3Schristos 3, 26, 3, 108, 3, 60, 10, 11, 311, 200,
1090ed0d50c3Schristos 213, 202, 281, 90, 109, 370, 26, 94, 90, 494,
1091ed0d50c3Schristos 286, 4, 94, 498, 176, 91, 92, 296, 32, 33,
1092ed0d50c3Schristos 34, 94, 235, 110, 337, 3, 91, 92, 110, 230,
1093ed0d50c3Schristos 231, 74, 517, 251, 108, 0, 232, 110, 53, 3,
1094ed0d50c3Schristos 81, 406, 85, 86, 87, 60, 91, 92, 82, 63,
1095ed0d50c3Schristos 64, 65, 66, 67, 68, 69, 70, 95, 96, 129,
1096ed0d50c3Schristos 339, 104, 76, 77, 78, 79, 80, 81, 82, 83,
1097ed0d50c3Schristos 232, 108, 94, 92, 144, 94, 108, 362, 279, 108,
1098ed0d50c3Schristos 102, 366, 3, 108, 106, 303, 304, 106, 110, 54,
1099ed0d50c3Schristos 4, 110, 162, 163, 3, 108, 297, 108, 62, 63,
1100ed0d50c3Schristos 64, 65, 66, 67, 4, 70, 149, 150, 151, 152,
1101ed0d50c3Schristos 153, 154, 155, 91, 92, 158, 186, 187, 161, 4,
1102ed0d50c3Schristos 140, 141, 108, 341, 96, 4, 91, 92, 93, 94,
1103ed0d50c3Schristos 108, 3, 97, 6, 7, 8, 9, 10, 11, 95,
1104ed0d50c3Schristos 160, 106, 4, 81, 108, 110, 91, 92, 218, 219,
1105ed0d50c3Schristos 91, 92, 222, 371, 4, 108, 226, 227, 4, 59,
1106ed0d50c3Schristos 3, 61, 176, 108, 3, 79, 80, 108, 98, 40,
1107ed0d50c3Schristos 240, 4, 3, 108, 59, 111, 61, 247, 242, 249,
1108ed0d50c3Schristos 59, 108, 61, 108, 55, 56, 57, 222, 108, 224,
1109ed0d50c3Schristos 61, 226, 227, 411, 91, 92, 216, 59, 94, 61,
1110ed0d50c3Schristos 72, 73, 74, 75, 76, 77, 78, 242, 4, 59,
1111ed0d50c3Schristos 106, 61, 282, 59, 110, 61, 45, 46, 232, 3,
1112ed0d50c3Schristos 108, 108, 242, 54, 55, 56, 59, 108, 61, 299,
1113ed0d50c3Schristos 3, 94, 95, 96, 99, 108, 3, 102, 103, 102,
1114ed0d50c3Schristos 304, 108, 107, 106, 109, 101, 310, 110, 108, 319,
1115ed0d50c3Schristos 285, 16, 83, 84, 85, 86, 87, 88, 89, 302,
1116ed0d50c3Schristos 108, 108, 332, 306, 307, 308, 309, 95, 96, 304,
1117ed0d50c3Schristos 54, 55, 56, 43, 44, 310, 103, 104, 105, 442,
1118ed0d50c3Schristos 108, 54, 55, 56, 304, 328, 487, 322, 58, 324,
1119ed0d50c3Schristos 310, 492, 493, 62, 63, 64, 65, 66, 67, 83,
1120ed0d50c3Schristos 84, 85, 86, 87, 88, 89, 245, 270, 92, 93,
1121ed0d50c3Schristos 83, 84, 85, 86, 87, 88, 89, 518, 83, 84,
1122ed0d50c3Schristos 85, 86, 87, 88, 89, 277, 475, 362, 211, -1,
1123ed0d50c3Schristos 366, 366, -1, -1, 377, -1, -1, 3, 408, 108,
1124ed0d50c3Schristos -1, 376, 362, -1, 379, -1, 366, -1, -1, 419,
1125ed0d50c3Schristos 16, 17, 18, 19, -1, -1, 399, 91, 92, 93,
1126ed0d50c3Schristos 94, 404, 91, 92, -1, 94, -1, 3, 438, -1,
1127ed0d50c3Schristos 440, 94, 106, 408, -1, 41, 110, 106, 448, 102,
1128ed0d50c3Schristos -1, 110, -1, 106, -1, -1, -1, 110, 54, 55,
1129ed0d50c3Schristos 56, 57, 462, 463, -1, -1, 466, 467, -1, 469,
1130ed0d50c3Schristos -1, -1, 472, 473, 3, -1, 441, 477, -1, 479,
1131ed0d50c3Schristos -1, -1, -1, -1, 484, 458, -1, 487, 54, 55,
1132ed0d50c3Schristos 56, -1, 492, 493, -1, -1, 496, -1, 5, -1,
1133ed0d50c3Schristos 500, 474, 502, -1, -1, 12, 13, 14, 15, 100,
1134ed0d50c3Schristos 101, 102, 103, 104, 105, 488, -1, 83, 84, 85,
1135ed0d50c3Schristos 86, 87, 88, 89, -1, 54, 55, 56, 101, 102,
1136ed0d50c3Schristos 103, 104, 105, 506, 41, 42, 43, 44, 45, 46,
1137ed0d50c3Schristos -1, 48, 49, 50, 51, 52, -1, -1, -1, -1,
1138ed0d50c3Schristos 57, 58, -1, -1, 83, 84, 85, 86, 87, 88,
1139ed0d50c3Schristos 89, 68, 69, -1, 71, 98, 99, 100, 101, 102,
1140ed0d50c3Schristos 103, 104, 105, -1, -1, 54, 55, 56, 111, -1,
1141ed0d50c3Schristos -1, 3, -1, -1, 91, 92, 93, 94, 6, 7,
1142ed0d50c3Schristos 8, 9, 10, 11, 16, 17, 18, 19, 3, 106,
1143ed0d50c3Schristos -1, -1, -1, 110, 83, 84, 85, 86, 87, 88,
1144ed0d50c3Schristos 89, 16, 17, 18, 19, 94, -1, -1, -1, 41,
1145ed0d50c3Schristos -1, -1, -1, 102, -1, -1, -1, 106, -1, -1,
1146ed0d50c3Schristos -1, 110, 54, 55, 56, 57, 41, 388, -1, 390,
1147ed0d50c3Schristos -1, -1, -1, -1, -1, 396, -1, -1, -1, 54,
1148ed0d50c3Schristos 55, 56, 57, -1, 98, 99, 100, 101, 102, 103,
1149ed0d50c3Schristos 104, 105, -1, 414, 415, 416, 417, 111, -1, 420,
1150ed0d50c3Schristos 421, -1, 423, 4, 425, 426, 427, 428, 429, 10,
1151ed0d50c3Schristos 431, -1, -1, -1, 435, 436, 437, -1, -1, 20,
1152ed0d50c3Schristos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1153ed0d50c3Schristos 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1154ed0d50c3Schristos 4, 42, -1, -1, -1, -1, 10, 98, 99, 100,
1155ed0d50c3Schristos 101, 102, 103, 104, 105, -1, 20, 21, 22, 23,
1156ed0d50c3Schristos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1157ed0d50c3Schristos 34, 35, 36, 37, 38, 39, 40, 4, 42, -1,
1158ed0d50c3Schristos -1, -1, -1, 10, 98, 99, 100, 101, 102, 103,
1159ed0d50c3Schristos 104, 105, -1, 20, 21, 22, 23, 24, 25, 26,
1160ed0d50c3Schristos 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1161ed0d50c3Schristos 37, 38, 39, 40, 480, 42, -1, 483, 83, 84,
1162ed0d50c3Schristos 85, 86, 87, 88, 89, -1, -1, 92, 93, 495,
1163ed0d50c3Schristos -1, -1, -1, 499, -1, 501, -1, -1, -1, 505,
1164ed0d50c3Schristos -1, -1, -1, 509, -1, 511, -1, 345, 346, 347,
1165ed0d50c3Schristos 348, -1, 350, 351, -1, 353, -1, 355, 356, 357,
1166ed0d50c3Schristos 358, 359, -1, 361, -1, 363, 364, 365, 98, 99,
1167ed0d50c3Schristos 100, 101, 102, 103, -1, -1, -1, 107, 99, 100,
1168ed0d50c3Schristos 101, 102, 103, 104, 105, 62, 63, 64, 65, 66,
1169ed0d50c3Schristos 67
1170ed0d50c3Schristos };
1171ed0d50c3Schristos
1172ed0d50c3Schristos /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1173ed0d50c3Schristos symbol of state STATE-NUM. */
1174ed0d50c3Schristos static const yytype_uint8 yystos[] =
1175ed0d50c3Schristos {
1176ed0d50c3Schristos 0, 113, 0, 54, 70, 91, 92, 93, 94, 97,
1177ed0d50c3Schristos 106, 110, 114, 120, 121, 122, 162, 163, 164, 165,
1178ed0d50c3Schristos 170, 173, 178, 182, 183, 185, 191, 192, 200, 212,
1179ed0d50c3Schristos 213, 94, 102, 106, 110, 209, 210, 194, 210, 210,
1180ed0d50c3Schristos 5, 12, 13, 14, 15, 41, 42, 43, 44, 45,
1181ed0d50c3Schristos 46, 48, 49, 50, 51, 52, 57, 58, 68, 69,
1182ed0d50c3Schristos 71, 181, 191, 98, 99, 100, 101, 102, 103, 104,
1183ed0d50c3Schristos 105, 210, 210, 210, 108, 208, 98, 99, 100, 101,
1184ed0d50c3Schristos 102, 103, 104, 105, 3, 54, 55, 56, 83, 84,
1185ed0d50c3Schristos 85, 86, 87, 88, 89, 197, 111, 194, 196, 195,
1186ed0d50c3Schristos 196, 196, 195, 195, 194, 194, 194, 196, 186, 194,
1187ed0d50c3Schristos 210, 210, 210, 210, 210, 210, 210, 210, 111, 209,
1188ed0d50c3Schristos 210, 210, 210, 210, 210, 210, 210, 210, 179, 209,
1189ed0d50c3Schristos 209, 209, 3, 92, 93, 197, 198, 197, 198, 16,
1190ed0d50c3Schristos 126, 126, 198, 198, 209, 3, 3, 198, 3, 72,
1191ed0d50c3Schristos 73, 74, 75, 76, 77, 78, 3, 198, 180, 208,
1192ed0d50c3Schristos 115, 109, 212, 212, 208, 166, 171, 187, 209, 209,
1193ed0d50c3Schristos 209, 209, 209, 209, 209, 174, 175, 1, 4, 209,
1194ed0d50c3Schristos 4, 92, 116, 117, 212, 209, 208, 208, 3, 4,
1195ed0d50c3Schristos 59, 61, 167, 4, 59, 61, 172, 4, 79, 80,
1196ed0d50c3Schristos 207, 208, 207, 4, 95, 96, 176, 177, 203, 204,
1197ed0d50c3Schristos 210, 108, 201, 202, 203, 204, 108, 211, 208, 208,
1198ed0d50c3Schristos 184, 60, 199, 200, 199, 60, 199, 199, 3, 3,
1199ed0d50c3Schristos 207, 207, 108, 96, 95, 202, 201, 212, 108, 208,
1200ed0d50c3Schristos 208, 4, 53, 60, 200, 208, 168, 208, 3, 208,
1201ed0d50c3Schristos 188, 81, 207, 207, 203, 204, 210, 6, 7, 8,
1202ed0d50c3Schristos 9, 10, 11, 118, 119, 123, 124, 208, 191, 168,
1203ed0d50c3Schristos 3, 62, 63, 64, 65, 66, 67, 108, 169, 208,
1204ed0d50c3Schristos 171, 3, 208, 4, 82, 199, 108, 119, 127, 127,
1205ed0d50c3Schristos 125, 166, 169, 207, 4, 171, 3, 208, 3, 190,
1206ed0d50c3Schristos 119, 3, 16, 17, 18, 19, 41, 54, 55, 56,
1207ed0d50c3Schristos 57, 3, 127, 4, 4, 171, 207, 189, 4, 208,
1208ed0d50c3Schristos 128, 209, 199, 191, 199, 200, 90, 94, 110, 205,
1209ed0d50c3Schristos 206, 209, 209, 209, 209, 191, 128, 3, 4, 3,
1210ed0d50c3Schristos 4, 81, 208, 4, 10, 20, 21, 22, 23, 24,
1211ed0d50c3Schristos 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1212ed0d50c3Schristos 35, 36, 37, 38, 39, 40, 42, 129, 206, 209,
1213ed0d50c3Schristos 98, 108, 208, 4, 128, 171, 199, 153, 154, 199,
1214ed0d50c3Schristos 212, 153, 153, 153, 153, 135, 153, 153, 138, 153,
1215ed0d50c3Schristos 142, 153, 153, 153, 153, 153, 148, 153, 192, 193,
1216ed0d50c3Schristos 212, 153, 153, 153, 193, 111, 90, 206, 199, 4,
1217ed0d50c3Schristos 4, 108, 209, 108, 130, 131, 132, 134, 151, 209,
1218ed0d50c3Schristos 136, 137, 151, 139, 151, 143, 144, 145, 146, 147,
1219ed0d50c3Schristos 151, 149, 108, 209, 108, 133, 140, 141, 209, 206,
1220ed0d50c3Schristos 208, 199, 108, 152, 151, 151, 151, 151, 208, 151,
1221ed0d50c3Schristos 151, 151, 151, 151, 151, 151, 151, 151, 108, 151,
1222ed0d50c3Schristos 151, 151, 208, 208, 154, 108, 156, 208, 209, 208,
1223ed0d50c3Schristos 208, 157, 208, 208, 108, 3, 155, 208, 205, 208,
1224ed0d50c3Schristos 208, 209, 174, 208, 208, 108, 155, 160, 108, 4,
1225ed0d50c3Schristos 108, 155, 158, 208, 161, 207, 208, 209, 159, 207,
1226ed0d50c3Schristos 208, 207, 208, 205, 155, 208, 108, 205, 155, 208,
1227ed0d50c3Schristos 155, 208, 155, 209, 155, 155, 108, 150, 205, 207
1228ed0d50c3Schristos };
1229ed0d50c3Schristos
123006324dcfSchristos /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
123106324dcfSchristos static const yytype_uint8 yyr1[] =
123206324dcfSchristos {
123306324dcfSchristos 0, 112, 113, 113, 113, 113, 113, 113, 113, 113,
123406324dcfSchristos 113, 113, 113, 113, 113, 113, 113, 113, 114, 115,
123506324dcfSchristos 115, 116, 116, 117, 117, 118, 118, 118, 119, 119,
123606324dcfSchristos 119, 119, 119, 119, 120, 121, 123, 122, 124, 122,
123706324dcfSchristos 125, 122, 126, 126, 127, 127, 127, 127, 127, 127,
123806324dcfSchristos 127, 127, 127, 127, 127, 127, 127, 127, 128, 128,
123906324dcfSchristos 130, 129, 131, 129, 132, 129, 133, 129, 134, 129,
124006324dcfSchristos 135, 129, 129, 129, 136, 129, 137, 129, 138, 129,
124106324dcfSchristos 139, 129, 140, 129, 129, 129, 129, 129, 141, 129,
124206324dcfSchristos 142, 129, 143, 129, 144, 129, 145, 129, 146, 129,
124306324dcfSchristos 147, 129, 148, 129, 149, 129, 150, 129, 151, 151,
124406324dcfSchristos 151, 152, 153, 153, 154, 154, 155, 155, 157, 156,
124506324dcfSchristos 159, 158, 161, 160, 162, 163, 164, 165, 166, 166,
124606324dcfSchristos 167, 167, 167, 168, 168, 168, 169, 169, 169, 169,
124706324dcfSchristos 169, 169, 170, 171, 171, 172, 172, 172, 172, 172,
124806324dcfSchristos 172, 172, 172, 173, 175, 174, 176, 176, 177, 177,
124906324dcfSchristos 177, 177, 177, 177, 177, 179, 178, 180, 180, 180,
125006324dcfSchristos 180, 181, 181, 181, 181, 181, 181, 181, 181, 181,
125106324dcfSchristos 181, 182, 182, 183, 184, 184, 184, 185, 186, 186,
125206324dcfSchristos 186, 186, 186, 186, 186, 186, 187, 187, 187, 188,
125306324dcfSchristos 188, 189, 189, 190, 190, 191, 191, 192, 192, 193,
125406324dcfSchristos 193, 193, 194, 194, 194, 194, 194, 195, 195, 196,
125506324dcfSchristos 196, 197, 197, 197, 197, 197, 197, 197, 198, 198,
125606324dcfSchristos 199, 199, 200, 200, 201, 201, 202, 202, 203, 203,
125706324dcfSchristos 204, 204, 205, 205, 205, 205, 206, 206, 207, 207,
125806324dcfSchristos 208, 209, 210, 210, 210, 210, 210, 210, 210, 210,
125906324dcfSchristos 210, 210, 210, 210, 211, 212, 213, 213, 213, 213,
126006324dcfSchristos 213, 213, 213, 213, 213, 213, 213
126106324dcfSchristos };
126206324dcfSchristos
126306324dcfSchristos /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
126406324dcfSchristos static const yytype_uint8 yyr2[] =
126506324dcfSchristos {
126606324dcfSchristos 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
126706324dcfSchristos 2, 2, 2, 2, 2, 2, 2, 2, 6, 0,
126806324dcfSchristos 2, 2, 4, 1, 1, 1, 3, 2, 1, 1,
126906324dcfSchristos 1, 1, 1, 1, 4, 4, 0, 13, 0, 13,
127006324dcfSchristos 0, 14, 0, 3, 0, 3, 3, 3, 3, 3,
127106324dcfSchristos 5, 6, 7, 8, 3, 3, 4, 3, 0, 2,
127206324dcfSchristos 0, 4, 0, 4, 0, 4, 0, 4, 0, 4,
127306324dcfSchristos 0, 3, 11, 12, 0, 4, 0, 4, 0, 3,
127406324dcfSchristos 0, 4, 0, 4, 6, 8, 10, 11, 0, 4,
127506324dcfSchristos 0, 3, 0, 4, 0, 4, 0, 4, 0, 4,
127606324dcfSchristos 0, 4, 0, 3, 0, 4, 0, 15, 6, 8,
127706324dcfSchristos 9, 2, 0, 2, 1, 1, 0, 3, 0, 3,
127806324dcfSchristos 0, 3, 0, 3, 4, 4, 3, 6, 0, 2,
127906324dcfSchristos 4, 2, 6, 0, 3, 2, 1, 1, 1, 1,
128006324dcfSchristos 1, 1, 6, 0, 2, 2, 3, 5, 2, 5,
128106324dcfSchristos 6, 7, 9, 4, 0, 2, 0, 1, 1, 1,
128206324dcfSchristos 1, 3, 3, 3, 2, 0, 6, 0, 3, 4,
128306324dcfSchristos 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
128406324dcfSchristos 1, 6, 4, 8, 0, 3, 2, 6, 0, 6,
128506324dcfSchristos 6, 3, 3, 3, 3, 3, 0, 5, 7, 0,
128606324dcfSchristos 5, 0, 5, 0, 3, 1, 1, 1, 1, 2,
128706324dcfSchristos 1, 2, 0, 2, 3, 4, 3, 0, 2, 0,
128806324dcfSchristos 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
128906324dcfSchristos 1, 2, 1, 1, 1, 1, 1, 2, 1, 2,
129006324dcfSchristos 1, 2, 1, 2, 3, 4, 1, 3, 0, 1,
129106324dcfSchristos 2, 1, 1, 3, 2, 2, 3, 3, 3, 3,
129206324dcfSchristos 3, 3, 3, 3, 2, 1, 1, 3, 2, 3,
129306324dcfSchristos 3, 3, 3, 3, 3, 3, 3
129406324dcfSchristos };
129506324dcfSchristos
129606324dcfSchristos
1297ed0d50c3Schristos #define yyerrok (yyerrstatus = 0)
1298ed0d50c3Schristos #define yyclearin (yychar = YYEMPTY)
1299ed0d50c3Schristos #define YYEMPTY (-2)
1300ed0d50c3Schristos #define YYEOF 0
1301ed0d50c3Schristos
1302ed0d50c3Schristos #define YYACCEPT goto yyacceptlab
1303ed0d50c3Schristos #define YYABORT goto yyabortlab
1304ed0d50c3Schristos #define YYERROR goto yyerrorlab
1305ed0d50c3Schristos
1306ed0d50c3Schristos
1307ed0d50c3Schristos #define YYRECOVERING() (!!yyerrstatus)
1308ed0d50c3Schristos
1309ed0d50c3Schristos #define YYBACKUP(Token, Value) \
1310ed0d50c3Schristos do \
131106324dcfSchristos if (yychar == YYEMPTY) \
1312ed0d50c3Schristos { \
1313ed0d50c3Schristos yychar = (Token); \
1314ed0d50c3Schristos yylval = (Value); \
131506324dcfSchristos YYPOPSTACK (yylen); \
131606324dcfSchristos yystate = *yyssp; \
1317ed0d50c3Schristos goto yybackup; \
1318ed0d50c3Schristos } \
1319ed0d50c3Schristos else \
1320ed0d50c3Schristos { \
1321ed0d50c3Schristos yyerror (YY_("syntax error: cannot back up")); \
1322ed0d50c3Schristos YYERROR; \
1323ed0d50c3Schristos } \
132406324dcfSchristos while (0)
1325ed0d50c3Schristos
132606324dcfSchristos /* Error token number */
1327ed0d50c3Schristos #define YYTERROR 1
1328ed0d50c3Schristos #define YYERRCODE 256
1329ed0d50c3Schristos
1330ed0d50c3Schristos
1331ed0d50c3Schristos
1332ed0d50c3Schristos /* Enable debugging if requested. */
1333ed0d50c3Schristos #if YYDEBUG
1334ed0d50c3Schristos
1335ed0d50c3Schristos # ifndef YYFPRINTF
1336ed0d50c3Schristos # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1337ed0d50c3Schristos # define YYFPRINTF fprintf
1338ed0d50c3Schristos # endif
1339ed0d50c3Schristos
1340ed0d50c3Schristos # define YYDPRINTF(Args) \
1341ed0d50c3Schristos do { \
1342ed0d50c3Schristos if (yydebug) \
1343ed0d50c3Schristos YYFPRINTF Args; \
134406324dcfSchristos } while (0)
134506324dcfSchristos
134606324dcfSchristos /* This macro is provided for backward compatibility. */
134706324dcfSchristos #ifndef YY_LOCATION_PRINT
134806324dcfSchristos # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
134906324dcfSchristos #endif
135006324dcfSchristos
1351ed0d50c3Schristos
1352ed0d50c3Schristos # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1353ed0d50c3Schristos do { \
1354ed0d50c3Schristos if (yydebug) \
1355ed0d50c3Schristos { \
1356ed0d50c3Schristos YYFPRINTF (stderr, "%s ", Title); \
1357ed0d50c3Schristos yy_symbol_print (stderr, \
1358ed0d50c3Schristos Type, Value); \
1359ed0d50c3Schristos YYFPRINTF (stderr, "\n"); \
1360ed0d50c3Schristos } \
136106324dcfSchristos } while (0)
1362ed0d50c3Schristos
1363ed0d50c3Schristos
136406324dcfSchristos /*----------------------------------------.
136506324dcfSchristos | Print this symbol's value on YYOUTPUT. |
136606324dcfSchristos `----------------------------------------*/
1367ed0d50c3Schristos
1368ed0d50c3Schristos static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)1369ed0d50c3Schristos yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1370ed0d50c3Schristos {
137106324dcfSchristos FILE *yyo = yyoutput;
137206324dcfSchristos YYUSE (yyo);
1373ed0d50c3Schristos if (!yyvaluep)
1374ed0d50c3Schristos return;
1375ed0d50c3Schristos # ifdef YYPRINT
1376ed0d50c3Schristos if (yytype < YYNTOKENS)
1377ed0d50c3Schristos YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1378ed0d50c3Schristos # endif
137906324dcfSchristos YYUSE (yytype);
1380ed0d50c3Schristos }
1381ed0d50c3Schristos
1382ed0d50c3Schristos
1383ed0d50c3Schristos /*--------------------------------.
1384ed0d50c3Schristos | Print this symbol on YYOUTPUT. |
1385ed0d50c3Schristos `--------------------------------*/
1386ed0d50c3Schristos
1387ed0d50c3Schristos static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)1388ed0d50c3Schristos yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1389ed0d50c3Schristos {
139006324dcfSchristos YYFPRINTF (yyoutput, "%s %s (",
139106324dcfSchristos yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
1392ed0d50c3Schristos
1393ed0d50c3Schristos yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1394ed0d50c3Schristos YYFPRINTF (yyoutput, ")");
1395ed0d50c3Schristos }
1396ed0d50c3Schristos
1397ed0d50c3Schristos /*------------------------------------------------------------------.
1398ed0d50c3Schristos | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1399ed0d50c3Schristos | TOP (included). |
1400ed0d50c3Schristos `------------------------------------------------------------------*/
1401ed0d50c3Schristos
1402ed0d50c3Schristos static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)140306324dcfSchristos yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1404ed0d50c3Schristos {
1405ed0d50c3Schristos YYFPRINTF (stderr, "Stack now");
140606324dcfSchristos for (; yybottom <= yytop; yybottom++)
140706324dcfSchristos {
140806324dcfSchristos int yybot = *yybottom;
140906324dcfSchristos YYFPRINTF (stderr, " %d", yybot);
141006324dcfSchristos }
1411ed0d50c3Schristos YYFPRINTF (stderr, "\n");
1412ed0d50c3Schristos }
1413ed0d50c3Schristos
1414ed0d50c3Schristos # define YY_STACK_PRINT(Bottom, Top) \
1415ed0d50c3Schristos do { \
1416ed0d50c3Schristos if (yydebug) \
1417ed0d50c3Schristos yy_stack_print ((Bottom), (Top)); \
141806324dcfSchristos } while (0)
1419ed0d50c3Schristos
1420ed0d50c3Schristos
1421ed0d50c3Schristos /*------------------------------------------------.
1422ed0d50c3Schristos | Report that the YYRULE is going to be reduced. |
1423ed0d50c3Schristos `------------------------------------------------*/
1424ed0d50c3Schristos
1425ed0d50c3Schristos static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,int yyrule)142606324dcfSchristos yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
1427ed0d50c3Schristos {
142806324dcfSchristos unsigned long int yylno = yyrline[yyrule];
1429ed0d50c3Schristos int yynrhs = yyr2[yyrule];
1430ed0d50c3Schristos int yyi;
1431ed0d50c3Schristos YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1432ed0d50c3Schristos yyrule - 1, yylno);
1433ed0d50c3Schristos /* The symbols being reduced. */
1434ed0d50c3Schristos for (yyi = 0; yyi < yynrhs; yyi++)
1435ed0d50c3Schristos {
143606324dcfSchristos YYFPRINTF (stderr, " $%d = ", yyi + 1);
143706324dcfSchristos yy_symbol_print (stderr,
143806324dcfSchristos yystos[yyssp[yyi + 1 - yynrhs]],
1439ed0d50c3Schristos &(yyvsp[(yyi + 1) - (yynrhs)])
1440ed0d50c3Schristos );
144106324dcfSchristos YYFPRINTF (stderr, "\n");
1442ed0d50c3Schristos }
1443ed0d50c3Schristos }
1444ed0d50c3Schristos
1445ed0d50c3Schristos # define YY_REDUCE_PRINT(Rule) \
1446ed0d50c3Schristos do { \
1447ed0d50c3Schristos if (yydebug) \
144806324dcfSchristos yy_reduce_print (yyssp, yyvsp, Rule); \
144906324dcfSchristos } while (0)
1450ed0d50c3Schristos
1451ed0d50c3Schristos /* Nonzero means print parse trace. It is left uninitialized so that
1452ed0d50c3Schristos multiple parsers can coexist. */
1453ed0d50c3Schristos int yydebug;
1454ed0d50c3Schristos #else /* !YYDEBUG */
1455ed0d50c3Schristos # define YYDPRINTF(Args)
1456ed0d50c3Schristos # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1457ed0d50c3Schristos # define YY_STACK_PRINT(Bottom, Top)
1458ed0d50c3Schristos # define YY_REDUCE_PRINT(Rule)
1459ed0d50c3Schristos #endif /* !YYDEBUG */
1460ed0d50c3Schristos
1461ed0d50c3Schristos
1462ed0d50c3Schristos /* YYINITDEPTH -- initial size of the parser's stacks. */
1463ed0d50c3Schristos #ifndef YYINITDEPTH
1464ed0d50c3Schristos # define YYINITDEPTH 200
1465ed0d50c3Schristos #endif
1466ed0d50c3Schristos
1467ed0d50c3Schristos /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1468ed0d50c3Schristos if the built-in stack extension method is used).
1469ed0d50c3Schristos
1470ed0d50c3Schristos Do not make this value too large; the results are undefined if
1471ed0d50c3Schristos YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1472ed0d50c3Schristos evaluated with infinite-precision integer arithmetic. */
1473ed0d50c3Schristos
1474ed0d50c3Schristos #ifndef YYMAXDEPTH
1475ed0d50c3Schristos # define YYMAXDEPTH 10000
1476ed0d50c3Schristos #endif
1477ed0d50c3Schristos
1478ed0d50c3Schristos
1479ed0d50c3Schristos #if YYERROR_VERBOSE
1480ed0d50c3Schristos
1481ed0d50c3Schristos # ifndef yystrlen
1482ed0d50c3Schristos # if defined __GLIBC__ && defined _STRING_H
1483ed0d50c3Schristos # define yystrlen strlen
1484ed0d50c3Schristos # else
1485ed0d50c3Schristos /* Return the length of YYSTR. */
1486ed0d50c3Schristos static YYSIZE_T
yystrlen(const char * yystr)1487ed0d50c3Schristos yystrlen (const char *yystr)
1488ed0d50c3Schristos {
1489ed0d50c3Schristos YYSIZE_T yylen;
1490ed0d50c3Schristos for (yylen = 0; yystr[yylen]; yylen++)
1491ed0d50c3Schristos continue;
1492ed0d50c3Schristos return yylen;
1493ed0d50c3Schristos }
1494ed0d50c3Schristos # endif
1495ed0d50c3Schristos # endif
1496ed0d50c3Schristos
1497ed0d50c3Schristos # ifndef yystpcpy
1498ed0d50c3Schristos # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1499ed0d50c3Schristos # define yystpcpy stpcpy
1500ed0d50c3Schristos # else
1501ed0d50c3Schristos /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1502ed0d50c3Schristos YYDEST. */
1503ed0d50c3Schristos static char *
yystpcpy(char * yydest,const char * yysrc)1504ed0d50c3Schristos yystpcpy (char *yydest, const char *yysrc)
1505ed0d50c3Schristos {
1506ed0d50c3Schristos char *yyd = yydest;
1507ed0d50c3Schristos const char *yys = yysrc;
1508ed0d50c3Schristos
1509ed0d50c3Schristos while ((*yyd++ = *yys++) != '\0')
1510ed0d50c3Schristos continue;
1511ed0d50c3Schristos
1512ed0d50c3Schristos return yyd - 1;
1513ed0d50c3Schristos }
1514ed0d50c3Schristos # endif
1515ed0d50c3Schristos # endif
1516ed0d50c3Schristos
1517ed0d50c3Schristos # ifndef yytnamerr
1518ed0d50c3Schristos /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1519ed0d50c3Schristos quotes and backslashes, so that it's suitable for yyerror. The
1520ed0d50c3Schristos heuristic is that double-quoting is unnecessary unless the string
1521ed0d50c3Schristos contains an apostrophe, a comma, or backslash (other than
1522ed0d50c3Schristos backslash-backslash). YYSTR is taken from yytname. If YYRES is
1523ed0d50c3Schristos null, do not copy; instead, return the length of what the result
1524ed0d50c3Schristos would have been. */
1525ed0d50c3Schristos static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)1526ed0d50c3Schristos yytnamerr (char *yyres, const char *yystr)
1527ed0d50c3Schristos {
1528ed0d50c3Schristos if (*yystr == '"')
1529ed0d50c3Schristos {
1530ed0d50c3Schristos YYSIZE_T yyn = 0;
1531ed0d50c3Schristos char const *yyp = yystr;
1532ed0d50c3Schristos
1533ed0d50c3Schristos for (;;)
1534ed0d50c3Schristos switch (*++yyp)
1535ed0d50c3Schristos {
1536ed0d50c3Schristos case '\'':
1537ed0d50c3Schristos case ',':
1538ed0d50c3Schristos goto do_not_strip_quotes;
1539ed0d50c3Schristos
1540ed0d50c3Schristos case '\\':
1541ed0d50c3Schristos if (*++yyp != '\\')
1542ed0d50c3Schristos goto do_not_strip_quotes;
1543ed0d50c3Schristos /* Fall through. */
1544ed0d50c3Schristos default:
1545ed0d50c3Schristos if (yyres)
1546ed0d50c3Schristos yyres[yyn] = *yyp;
1547ed0d50c3Schristos yyn++;
1548ed0d50c3Schristos break;
1549ed0d50c3Schristos
1550ed0d50c3Schristos case '"':
1551ed0d50c3Schristos if (yyres)
1552ed0d50c3Schristos yyres[yyn] = '\0';
1553ed0d50c3Schristos return yyn;
1554ed0d50c3Schristos }
1555ed0d50c3Schristos do_not_strip_quotes: ;
1556ed0d50c3Schristos }
1557ed0d50c3Schristos
1558ed0d50c3Schristos if (! yyres)
1559ed0d50c3Schristos return yystrlen (yystr);
1560ed0d50c3Schristos
1561ed0d50c3Schristos return yystpcpy (yyres, yystr) - yyres;
1562ed0d50c3Schristos }
1563ed0d50c3Schristos # endif
1564ed0d50c3Schristos
156506324dcfSchristos /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
156606324dcfSchristos about the unexpected token YYTOKEN for the state stack whose top is
156706324dcfSchristos YYSSP.
1568ed0d50c3Schristos
156906324dcfSchristos Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
157006324dcfSchristos not large enough to hold the message. In that case, also set
157106324dcfSchristos *YYMSG_ALLOC to the required number of bytes. Return 2 if the
157206324dcfSchristos required number of bytes is too large to store. */
157306324dcfSchristos static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)157406324dcfSchristos yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
157506324dcfSchristos yytype_int16 *yyssp, int yytoken)
1576ed0d50c3Schristos {
157706324dcfSchristos YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
1578ed0d50c3Schristos YYSIZE_T yysize = yysize0;
1579ed0d50c3Schristos enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
158006324dcfSchristos /* Internationalized format string. */
158106324dcfSchristos const char *yyformat = YY_NULLPTR;
158206324dcfSchristos /* Arguments of yyformat. */
1583ed0d50c3Schristos char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
158406324dcfSchristos /* Number of reported tokens (one for the "unexpected", one per
158506324dcfSchristos "expected"). */
158606324dcfSchristos int yycount = 0;
1587ed0d50c3Schristos
158806324dcfSchristos /* There are many possibilities here to consider:
158906324dcfSchristos - If this state is a consistent state with a default action, then
159006324dcfSchristos the only way this function was invoked is if the default action
159106324dcfSchristos is an error action. In that case, don't check for expected
159206324dcfSchristos tokens because there are none.
159306324dcfSchristos - The only way there can be no lookahead present (in yychar) is if
159406324dcfSchristos this state is a consistent state with a default action. Thus,
159506324dcfSchristos detecting the absence of a lookahead is sufficient to determine
159606324dcfSchristos that there is no unexpected or expected token to report. In that
159706324dcfSchristos case, just report a simple "syntax error".
159806324dcfSchristos - Don't assume there isn't a lookahead just because this state is a
159906324dcfSchristos consistent state with a default action. There might have been a
160006324dcfSchristos previous inconsistent state, consistent state with a non-default
160106324dcfSchristos action, or user semantic action that manipulated yychar.
160206324dcfSchristos - Of course, the expected token list depends on states to have
160306324dcfSchristos correct lookahead information, and it depends on the parser not
160406324dcfSchristos to perform extra reductions after fetching a lookahead from the
160506324dcfSchristos scanner and before detecting a syntax error. Thus, state merging
160606324dcfSchristos (from LALR or IELR) and default reductions corrupt the expected
160706324dcfSchristos token list. However, the list is correct for canonical LR with
160806324dcfSchristos one exception: it will still contain any token that will not be
160906324dcfSchristos accepted due to an error action in a later state.
161006324dcfSchristos */
161106324dcfSchristos if (yytoken != YYEMPTY)
161206324dcfSchristos {
161306324dcfSchristos int yyn = yypact[*yyssp];
161406324dcfSchristos yyarg[yycount++] = yytname[yytoken];
161506324dcfSchristos if (!yypact_value_is_default (yyn))
161606324dcfSchristos {
1617ed0d50c3Schristos /* Start YYX at -YYN if negative to avoid negative indexes in
161806324dcfSchristos YYCHECK. In other words, skip the first -YYN actions for
161906324dcfSchristos this state because they are default actions. */
1620ed0d50c3Schristos int yyxbegin = yyn < 0 ? -yyn : 0;
1621ed0d50c3Schristos /* Stay within bounds of both yycheck and yytname. */
1622ed0d50c3Schristos int yychecklim = YYLAST - yyn + 1;
1623ed0d50c3Schristos int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
162406324dcfSchristos int yyx;
1625ed0d50c3Schristos
1626ed0d50c3Schristos for (yyx = yyxbegin; yyx < yyxend; ++yyx)
162706324dcfSchristos if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
162806324dcfSchristos && !yytable_value_is_error (yytable[yyx + yyn]))
1629ed0d50c3Schristos {
1630ed0d50c3Schristos if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1631ed0d50c3Schristos {
1632ed0d50c3Schristos yycount = 1;
1633ed0d50c3Schristos yysize = yysize0;
1634ed0d50c3Schristos break;
1635ed0d50c3Schristos }
1636ed0d50c3Schristos yyarg[yycount++] = yytname[yyx];
163706324dcfSchristos {
163806324dcfSchristos YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
163906324dcfSchristos if (! (yysize <= yysize1
164006324dcfSchristos && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
164106324dcfSchristos return 2;
1642ed0d50c3Schristos yysize = yysize1;
164306324dcfSchristos }
164406324dcfSchristos }
164506324dcfSchristos }
1646ed0d50c3Schristos }
1647ed0d50c3Schristos
164806324dcfSchristos switch (yycount)
1649ed0d50c3Schristos {
165006324dcfSchristos # define YYCASE_(N, S) \
165106324dcfSchristos case N: \
165206324dcfSchristos yyformat = S; \
165306324dcfSchristos break
1654*b88e3e88Schristos default: /* Avoid compiler warnings. */
165506324dcfSchristos YYCASE_(0, YY_("syntax error"));
165606324dcfSchristos YYCASE_(1, YY_("syntax error, unexpected %s"));
165706324dcfSchristos YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
165806324dcfSchristos YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
165906324dcfSchristos YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
166006324dcfSchristos YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
166106324dcfSchristos # undef YYCASE_
166206324dcfSchristos }
166306324dcfSchristos
166406324dcfSchristos {
166506324dcfSchristos YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
166606324dcfSchristos if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
166706324dcfSchristos return 2;
166806324dcfSchristos yysize = yysize1;
166906324dcfSchristos }
167006324dcfSchristos
167106324dcfSchristos if (*yymsg_alloc < yysize)
167206324dcfSchristos {
167306324dcfSchristos *yymsg_alloc = 2 * yysize;
167406324dcfSchristos if (! (yysize <= *yymsg_alloc
167506324dcfSchristos && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
167606324dcfSchristos *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
167706324dcfSchristos return 1;
167806324dcfSchristos }
167906324dcfSchristos
1680ed0d50c3Schristos /* Avoid sprintf, as that infringes on the user's name space.
1681ed0d50c3Schristos Don't have undefined behavior even if the translation
1682ed0d50c3Schristos produced a string with the wrong number of "%s"s. */
1683ed0d50c3Schristos {
168406324dcfSchristos char *yyp = *yymsg;
168506324dcfSchristos int yyi = 0;
168606324dcfSchristos while ((*yyp = *yyformat) != '\0')
168706324dcfSchristos if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1688ed0d50c3Schristos {
1689ed0d50c3Schristos yyp += yytnamerr (yyp, yyarg[yyi++]);
169006324dcfSchristos yyformat += 2;
1691ed0d50c3Schristos }
1692ed0d50c3Schristos else
1693ed0d50c3Schristos {
1694ed0d50c3Schristos yyp++;
169506324dcfSchristos yyformat++;
1696ed0d50c3Schristos }
1697ed0d50c3Schristos }
169806324dcfSchristos return 0;
1699ed0d50c3Schristos }
1700ed0d50c3Schristos #endif /* YYERROR_VERBOSE */
1701ed0d50c3Schristos
1702ed0d50c3Schristos /*-----------------------------------------------.
1703ed0d50c3Schristos | Release the memory associated to this symbol. |
1704ed0d50c3Schristos `-----------------------------------------------*/
1705ed0d50c3Schristos
1706ed0d50c3Schristos static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep)1707ed0d50c3Schristos yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1708ed0d50c3Schristos {
1709ed0d50c3Schristos YYUSE (yyvaluep);
1710ed0d50c3Schristos if (!yymsg)
1711ed0d50c3Schristos yymsg = "Deleting";
1712ed0d50c3Schristos YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1713ed0d50c3Schristos
171406324dcfSchristos YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
171506324dcfSchristos YYUSE (yytype);
171606324dcfSchristos YY_IGNORE_MAYBE_UNINITIALIZED_END
1717ed0d50c3Schristos }
1718ed0d50c3Schristos
1719ed0d50c3Schristos
1720ed0d50c3Schristos
172106324dcfSchristos
172206324dcfSchristos /* The lookahead symbol. */
1723ed0d50c3Schristos int yychar;
1724ed0d50c3Schristos
172506324dcfSchristos /* The semantic value of the lookahead symbol. */
1726ed0d50c3Schristos YYSTYPE yylval;
1727ed0d50c3Schristos /* Number of syntax errors so far. */
1728ed0d50c3Schristos int yynerrs;
1729ed0d50c3Schristos
1730ed0d50c3Schristos
1731ed0d50c3Schristos /*----------.
1732ed0d50c3Schristos | yyparse. |
1733ed0d50c3Schristos `----------*/
1734ed0d50c3Schristos
1735ed0d50c3Schristos int
yyparse(void)1736ed0d50c3Schristos yyparse (void)
1737ed0d50c3Schristos {
1738ed0d50c3Schristos int yystate;
1739ed0d50c3Schristos /* Number of tokens to shift before error messages enabled. */
1740ed0d50c3Schristos int yyerrstatus;
174106324dcfSchristos
174206324dcfSchristos /* The stacks and their tools:
174306324dcfSchristos 'yyss': related to states.
174406324dcfSchristos 'yyvs': related to semantic values.
174506324dcfSchristos
174606324dcfSchristos Refer to the stacks through separate pointers, to allow yyoverflow
174706324dcfSchristos to reallocate them elsewhere. */
174806324dcfSchristos
174906324dcfSchristos /* The state stack. */
175006324dcfSchristos yytype_int16 yyssa[YYINITDEPTH];
175106324dcfSchristos yytype_int16 *yyss;
175206324dcfSchristos yytype_int16 *yyssp;
175306324dcfSchristos
175406324dcfSchristos /* The semantic value stack. */
175506324dcfSchristos YYSTYPE yyvsa[YYINITDEPTH];
175606324dcfSchristos YYSTYPE *yyvs;
175706324dcfSchristos YYSTYPE *yyvsp;
175806324dcfSchristos
175906324dcfSchristos YYSIZE_T yystacksize;
176006324dcfSchristos
176106324dcfSchristos int yyn;
176206324dcfSchristos int yyresult;
176306324dcfSchristos /* Lookahead token as an internal (translated) token number. */
1764ed0d50c3Schristos int yytoken = 0;
176506324dcfSchristos /* The variables used to return semantic value and location from the
176606324dcfSchristos action routines. */
176706324dcfSchristos YYSTYPE yyval;
176806324dcfSchristos
1769ed0d50c3Schristos #if YYERROR_VERBOSE
1770ed0d50c3Schristos /* Buffer for error messages, and its allocated size. */
1771ed0d50c3Schristos char yymsgbuf[128];
1772ed0d50c3Schristos char *yymsg = yymsgbuf;
1773ed0d50c3Schristos YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1774ed0d50c3Schristos #endif
1775ed0d50c3Schristos
1776ed0d50c3Schristos #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1777ed0d50c3Schristos
1778ed0d50c3Schristos /* The number of symbols on the RHS of the reduced rule.
1779ed0d50c3Schristos Keep to zero when no symbol should be popped. */
1780ed0d50c3Schristos int yylen = 0;
1781ed0d50c3Schristos
178206324dcfSchristos yyssp = yyss = yyssa;
178306324dcfSchristos yyvsp = yyvs = yyvsa;
178406324dcfSchristos yystacksize = YYINITDEPTH;
178506324dcfSchristos
1786ed0d50c3Schristos YYDPRINTF ((stderr, "Starting parse\n"));
1787ed0d50c3Schristos
1788ed0d50c3Schristos yystate = 0;
1789ed0d50c3Schristos yyerrstatus = 0;
1790ed0d50c3Schristos yynerrs = 0;
1791ed0d50c3Schristos yychar = YYEMPTY; /* Cause a token to be read. */
1792ed0d50c3Schristos goto yysetstate;
1793ed0d50c3Schristos
1794ed0d50c3Schristos /*------------------------------------------------------------.
1795ed0d50c3Schristos | yynewstate -- Push a new state, which is found in yystate. |
1796ed0d50c3Schristos `------------------------------------------------------------*/
1797ed0d50c3Schristos yynewstate:
1798ed0d50c3Schristos /* In all cases, when you get here, the value and location stacks
1799ed0d50c3Schristos have just been pushed. So pushing a state here evens the stacks. */
1800ed0d50c3Schristos yyssp++;
1801ed0d50c3Schristos
1802ed0d50c3Schristos yysetstate:
1803ed0d50c3Schristos *yyssp = yystate;
1804ed0d50c3Schristos
1805ed0d50c3Schristos if (yyss + yystacksize - 1 <= yyssp)
1806ed0d50c3Schristos {
1807ed0d50c3Schristos /* Get the current used size of the three stacks, in elements. */
1808ed0d50c3Schristos YYSIZE_T yysize = yyssp - yyss + 1;
1809ed0d50c3Schristos
1810ed0d50c3Schristos #ifdef yyoverflow
1811ed0d50c3Schristos {
1812ed0d50c3Schristos /* Give user a chance to reallocate the stack. Use copies of
1813ed0d50c3Schristos these so that the &'s don't force the real ones into
1814ed0d50c3Schristos memory. */
1815ed0d50c3Schristos YYSTYPE *yyvs1 = yyvs;
1816ed0d50c3Schristos yytype_int16 *yyss1 = yyss;
1817ed0d50c3Schristos
1818ed0d50c3Schristos /* Each stack pointer address is followed by the size of the
1819ed0d50c3Schristos data in use in that stack, in bytes. This used to be a
1820ed0d50c3Schristos conditional around just the two extra args, but that might
1821ed0d50c3Schristos be undefined if yyoverflow is a macro. */
1822ed0d50c3Schristos yyoverflow (YY_("memory exhausted"),
1823ed0d50c3Schristos &yyss1, yysize * sizeof (*yyssp),
1824ed0d50c3Schristos &yyvs1, yysize * sizeof (*yyvsp),
1825ed0d50c3Schristos &yystacksize);
1826ed0d50c3Schristos
1827ed0d50c3Schristos yyss = yyss1;
1828ed0d50c3Schristos yyvs = yyvs1;
1829ed0d50c3Schristos }
1830ed0d50c3Schristos #else /* no yyoverflow */
1831ed0d50c3Schristos # ifndef YYSTACK_RELOCATE
1832ed0d50c3Schristos goto yyexhaustedlab;
1833ed0d50c3Schristos # else
1834ed0d50c3Schristos /* Extend the stack our own way. */
1835ed0d50c3Schristos if (YYMAXDEPTH <= yystacksize)
1836ed0d50c3Schristos goto yyexhaustedlab;
1837ed0d50c3Schristos yystacksize *= 2;
1838ed0d50c3Schristos if (YYMAXDEPTH < yystacksize)
1839ed0d50c3Schristos yystacksize = YYMAXDEPTH;
1840ed0d50c3Schristos
1841ed0d50c3Schristos {
1842ed0d50c3Schristos yytype_int16 *yyss1 = yyss;
1843ed0d50c3Schristos union yyalloc *yyptr =
1844ed0d50c3Schristos (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1845ed0d50c3Schristos if (! yyptr)
1846ed0d50c3Schristos goto yyexhaustedlab;
184706324dcfSchristos YYSTACK_RELOCATE (yyss_alloc, yyss);
184806324dcfSchristos YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1849ed0d50c3Schristos # undef YYSTACK_RELOCATE
1850ed0d50c3Schristos if (yyss1 != yyssa)
1851ed0d50c3Schristos YYSTACK_FREE (yyss1);
1852ed0d50c3Schristos }
1853ed0d50c3Schristos # endif
1854ed0d50c3Schristos #endif /* no yyoverflow */
1855ed0d50c3Schristos
1856ed0d50c3Schristos yyssp = yyss + yysize - 1;
1857ed0d50c3Schristos yyvsp = yyvs + yysize - 1;
1858ed0d50c3Schristos
1859ed0d50c3Schristos YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1860ed0d50c3Schristos (unsigned long int) yystacksize));
1861ed0d50c3Schristos
1862ed0d50c3Schristos if (yyss + yystacksize - 1 <= yyssp)
1863ed0d50c3Schristos YYABORT;
1864ed0d50c3Schristos }
1865ed0d50c3Schristos
1866ed0d50c3Schristos YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1867ed0d50c3Schristos
186806324dcfSchristos if (yystate == YYFINAL)
186906324dcfSchristos YYACCEPT;
187006324dcfSchristos
1871ed0d50c3Schristos goto yybackup;
1872ed0d50c3Schristos
1873ed0d50c3Schristos /*-----------.
1874ed0d50c3Schristos | yybackup. |
1875ed0d50c3Schristos `-----------*/
1876ed0d50c3Schristos yybackup:
1877ed0d50c3Schristos
1878ed0d50c3Schristos /* Do appropriate processing given the current state. Read a
187906324dcfSchristos lookahead token if we need one and don't already have one. */
1880ed0d50c3Schristos
188106324dcfSchristos /* First try to decide what to do without reference to lookahead token. */
1882ed0d50c3Schristos yyn = yypact[yystate];
188306324dcfSchristos if (yypact_value_is_default (yyn))
1884ed0d50c3Schristos goto yydefault;
1885ed0d50c3Schristos
188606324dcfSchristos /* Not known => get a lookahead token if don't already have one. */
1887ed0d50c3Schristos
188806324dcfSchristos /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1889ed0d50c3Schristos if (yychar == YYEMPTY)
1890ed0d50c3Schristos {
1891ed0d50c3Schristos YYDPRINTF ((stderr, "Reading a token: "));
189206324dcfSchristos yychar = yylex ();
1893ed0d50c3Schristos }
1894ed0d50c3Schristos
1895ed0d50c3Schristos if (yychar <= YYEOF)
1896ed0d50c3Schristos {
1897ed0d50c3Schristos yychar = yytoken = YYEOF;
1898ed0d50c3Schristos YYDPRINTF ((stderr, "Now at end of input.\n"));
1899ed0d50c3Schristos }
1900ed0d50c3Schristos else
1901ed0d50c3Schristos {
1902ed0d50c3Schristos yytoken = YYTRANSLATE (yychar);
1903ed0d50c3Schristos YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1904ed0d50c3Schristos }
1905ed0d50c3Schristos
1906ed0d50c3Schristos /* If the proper action on seeing token YYTOKEN is to reduce or to
1907ed0d50c3Schristos detect an error, take that action. */
1908ed0d50c3Schristos yyn += yytoken;
1909ed0d50c3Schristos if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1910ed0d50c3Schristos goto yydefault;
1911ed0d50c3Schristos yyn = yytable[yyn];
1912ed0d50c3Schristos if (yyn <= 0)
1913ed0d50c3Schristos {
191406324dcfSchristos if (yytable_value_is_error (yyn))
1915ed0d50c3Schristos goto yyerrlab;
1916ed0d50c3Schristos yyn = -yyn;
1917ed0d50c3Schristos goto yyreduce;
1918ed0d50c3Schristos }
1919ed0d50c3Schristos
1920ed0d50c3Schristos /* Count tokens shifted since error; after three, turn off error
1921ed0d50c3Schristos status. */
1922ed0d50c3Schristos if (yyerrstatus)
1923ed0d50c3Schristos yyerrstatus--;
1924ed0d50c3Schristos
192506324dcfSchristos /* Shift the lookahead token. */
1926ed0d50c3Schristos YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1927ed0d50c3Schristos
192806324dcfSchristos /* Discard the shifted token. */
1929ed0d50c3Schristos yychar = YYEMPTY;
1930ed0d50c3Schristos
1931ed0d50c3Schristos yystate = yyn;
193206324dcfSchristos YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1933ed0d50c3Schristos *++yyvsp = yylval;
193406324dcfSchristos YY_IGNORE_MAYBE_UNINITIALIZED_END
1935ed0d50c3Schristos
1936ed0d50c3Schristos goto yynewstate;
1937ed0d50c3Schristos
1938ed0d50c3Schristos
1939ed0d50c3Schristos /*-----------------------------------------------------------.
1940ed0d50c3Schristos | yydefault -- do the default action for the current state. |
1941ed0d50c3Schristos `-----------------------------------------------------------*/
1942ed0d50c3Schristos yydefault:
1943ed0d50c3Schristos yyn = yydefact[yystate];
1944ed0d50c3Schristos if (yyn == 0)
1945ed0d50c3Schristos goto yyerrlab;
1946ed0d50c3Schristos goto yyreduce;
1947ed0d50c3Schristos
1948ed0d50c3Schristos
1949ed0d50c3Schristos /*-----------------------------.
1950ed0d50c3Schristos | yyreduce -- Do a reduction. |
1951ed0d50c3Schristos `-----------------------------*/
1952ed0d50c3Schristos yyreduce:
1953ed0d50c3Schristos /* yyn is the number of a rule to reduce with. */
1954ed0d50c3Schristos yylen = yyr2[yyn];
1955ed0d50c3Schristos
1956ed0d50c3Schristos /* If YYLEN is nonzero, implement the default value of the action:
195706324dcfSchristos '$$ = $1'.
1958ed0d50c3Schristos
1959ed0d50c3Schristos Otherwise, the following line sets YYVAL to garbage.
1960ed0d50c3Schristos This behavior is undocumented and Bison
1961ed0d50c3Schristos users should not rely upon it. Assigning to YYVAL
1962ed0d50c3Schristos unconditionally makes the parser a bit smaller, and it avoids a
1963ed0d50c3Schristos GCC warning that YYVAL may be used uninitialized. */
1964ed0d50c3Schristos yyval = yyvsp[1-yylen];
1965ed0d50c3Schristos
1966ed0d50c3Schristos
1967ed0d50c3Schristos YY_REDUCE_PRINT (yyn);
1968ed0d50c3Schristos switch (yyn)
1969ed0d50c3Schristos {
1970ed0d50c3Schristos case 18:
1971*b88e3e88Schristos #line 201 "rcparse.y" /* yacc.c:1648 */
1972ed0d50c3Schristos {
197306324dcfSchristos define_accelerator ((yyvsp[-5].id), &(yyvsp[-3].res_info), (yyvsp[-1].pacc));
1974ed0d50c3Schristos if (yychar != YYEMPTY)
1975ed0d50c3Schristos YYERROR;
1976ed0d50c3Schristos rcparse_discard_strings ();
1977ed0d50c3Schristos }
1978*b88e3e88Schristos #line 1979 "rcparse.c" /* yacc.c:1648 */
1979ed0d50c3Schristos break;
1980ed0d50c3Schristos
1981ed0d50c3Schristos case 19:
1982*b88e3e88Schristos #line 211 "rcparse.y" /* yacc.c:1648 */
1983ed0d50c3Schristos {
1984ed0d50c3Schristos (yyval.pacc) = NULL;
1985ed0d50c3Schristos }
1986*b88e3e88Schristos #line 1987 "rcparse.c" /* yacc.c:1648 */
1987ed0d50c3Schristos break;
1988ed0d50c3Schristos
1989ed0d50c3Schristos case 20:
1990*b88e3e88Schristos #line 215 "rcparse.y" /* yacc.c:1648 */
1991ed0d50c3Schristos {
1992ed0d50c3Schristos rc_accelerator *a;
1993ed0d50c3Schristos
1994ed0d50c3Schristos a = (rc_accelerator *) res_alloc (sizeof *a);
199506324dcfSchristos *a = (yyvsp[0].acc);
199606324dcfSchristos if ((yyvsp[-1].pacc) == NULL)
1997ed0d50c3Schristos (yyval.pacc) = a;
1998ed0d50c3Schristos else
1999ed0d50c3Schristos {
2000ed0d50c3Schristos rc_accelerator **pp;
2001ed0d50c3Schristos
200206324dcfSchristos for (pp = &(yyvsp[-1].pacc)->next; *pp != NULL; pp = &(*pp)->next)
2003ed0d50c3Schristos ;
2004ed0d50c3Schristos *pp = a;
200506324dcfSchristos (yyval.pacc) = (yyvsp[-1].pacc);
2006ed0d50c3Schristos }
2007ed0d50c3Schristos }
2008*b88e3e88Schristos #line 2009 "rcparse.c" /* yacc.c:1648 */
2009ed0d50c3Schristos break;
2010ed0d50c3Schristos
2011ed0d50c3Schristos case 21:
2012*b88e3e88Schristos #line 236 "rcparse.y" /* yacc.c:1648 */
2013ed0d50c3Schristos {
201406324dcfSchristos (yyval.acc) = (yyvsp[-1].acc);
201506324dcfSchristos (yyval.acc).id = (yyvsp[0].il);
2016ed0d50c3Schristos }
2017*b88e3e88Schristos #line 2018 "rcparse.c" /* yacc.c:1648 */
2018ed0d50c3Schristos break;
2019ed0d50c3Schristos
2020ed0d50c3Schristos case 22:
2021*b88e3e88Schristos #line 241 "rcparse.y" /* yacc.c:1648 */
2022ed0d50c3Schristos {
202306324dcfSchristos (yyval.acc) = (yyvsp[-3].acc);
202406324dcfSchristos (yyval.acc).id = (yyvsp[-2].il);
202506324dcfSchristos (yyval.acc).flags |= (yyvsp[0].is);
2026ed0d50c3Schristos if (((yyval.acc).flags & ACC_VIRTKEY) == 0
2027ed0d50c3Schristos && ((yyval.acc).flags & (ACC_SHIFT | ACC_CONTROL)) != 0)
2028ed0d50c3Schristos rcparse_warning (_("inappropriate modifiers for non-VIRTKEY"));
2029ed0d50c3Schristos }
2030*b88e3e88Schristos #line 2031 "rcparse.c" /* yacc.c:1648 */
2031ed0d50c3Schristos break;
2032ed0d50c3Schristos
2033ed0d50c3Schristos case 23:
2034*b88e3e88Schristos #line 253 "rcparse.y" /* yacc.c:1648 */
2035ed0d50c3Schristos {
203606324dcfSchristos const char *s = (yyvsp[0].s);
2037ed0d50c3Schristos char ch;
2038ed0d50c3Schristos
2039ed0d50c3Schristos (yyval.acc).next = NULL;
2040ed0d50c3Schristos (yyval.acc).id = 0;
2041ed0d50c3Schristos ch = *s;
2042ed0d50c3Schristos if (ch != '^')
2043ed0d50c3Schristos (yyval.acc).flags = 0;
2044ed0d50c3Schristos else
2045ed0d50c3Schristos {
2046ed0d50c3Schristos (yyval.acc).flags = ACC_CONTROL | ACC_VIRTKEY;
2047ed0d50c3Schristos ++s;
2048ed0d50c3Schristos ch = TOUPPER (s[0]);
2049ed0d50c3Schristos }
2050ed0d50c3Schristos (yyval.acc).key = ch;
2051ed0d50c3Schristos if (s[1] != '\0')
2052ed0d50c3Schristos rcparse_warning (_("accelerator should only be one character"));
2053ed0d50c3Schristos }
2054*b88e3e88Schristos #line 2055 "rcparse.c" /* yacc.c:1648 */
2055ed0d50c3Schristos break;
2056ed0d50c3Schristos
2057ed0d50c3Schristos case 24:
2058*b88e3e88Schristos #line 273 "rcparse.y" /* yacc.c:1648 */
2059ed0d50c3Schristos {
2060ed0d50c3Schristos (yyval.acc).next = NULL;
2061ed0d50c3Schristos (yyval.acc).flags = 0;
2062ed0d50c3Schristos (yyval.acc).id = 0;
206306324dcfSchristos (yyval.acc).key = (yyvsp[0].il);
2064ed0d50c3Schristos }
2065*b88e3e88Schristos #line 2066 "rcparse.c" /* yacc.c:1648 */
2066ed0d50c3Schristos break;
2067ed0d50c3Schristos
2068ed0d50c3Schristos case 25:
2069*b88e3e88Schristos #line 283 "rcparse.y" /* yacc.c:1648 */
2070ed0d50c3Schristos {
207106324dcfSchristos (yyval.is) = (yyvsp[0].is);
2072ed0d50c3Schristos }
2073*b88e3e88Schristos #line 2074 "rcparse.c" /* yacc.c:1648 */
2074ed0d50c3Schristos break;
2075ed0d50c3Schristos
2076ed0d50c3Schristos case 26:
2077*b88e3e88Schristos #line 287 "rcparse.y" /* yacc.c:1648 */
2078ed0d50c3Schristos {
207906324dcfSchristos (yyval.is) = (yyvsp[-2].is) | (yyvsp[0].is);
2080ed0d50c3Schristos }
2081*b88e3e88Schristos #line 2082 "rcparse.c" /* yacc.c:1648 */
2082ed0d50c3Schristos break;
2083ed0d50c3Schristos
2084ed0d50c3Schristos case 27:
2085*b88e3e88Schristos #line 292 "rcparse.y" /* yacc.c:1648 */
2086ed0d50c3Schristos {
208706324dcfSchristos (yyval.is) = (yyvsp[-1].is) | (yyvsp[0].is);
2088ed0d50c3Schristos }
2089*b88e3e88Schristos #line 2090 "rcparse.c" /* yacc.c:1648 */
2090ed0d50c3Schristos break;
2091ed0d50c3Schristos
2092ed0d50c3Schristos case 28:
2093*b88e3e88Schristos #line 299 "rcparse.y" /* yacc.c:1648 */
2094ed0d50c3Schristos {
2095ed0d50c3Schristos (yyval.is) = ACC_VIRTKEY;
2096ed0d50c3Schristos }
2097*b88e3e88Schristos #line 2098 "rcparse.c" /* yacc.c:1648 */
2098ed0d50c3Schristos break;
2099ed0d50c3Schristos
2100ed0d50c3Schristos case 29:
2101*b88e3e88Schristos #line 303 "rcparse.y" /* yacc.c:1648 */
2102ed0d50c3Schristos {
2103ed0d50c3Schristos /* This is just the absence of VIRTKEY. */
2104ed0d50c3Schristos (yyval.is) = 0;
2105ed0d50c3Schristos }
2106*b88e3e88Schristos #line 2107 "rcparse.c" /* yacc.c:1648 */
2107ed0d50c3Schristos break;
2108ed0d50c3Schristos
2109ed0d50c3Schristos case 30:
2110*b88e3e88Schristos #line 308 "rcparse.y" /* yacc.c:1648 */
2111ed0d50c3Schristos {
2112ed0d50c3Schristos (yyval.is) = ACC_NOINVERT;
2113ed0d50c3Schristos }
2114*b88e3e88Schristos #line 2115 "rcparse.c" /* yacc.c:1648 */
2115ed0d50c3Schristos break;
2116ed0d50c3Schristos
2117ed0d50c3Schristos case 31:
2118*b88e3e88Schristos #line 312 "rcparse.y" /* yacc.c:1648 */
2119ed0d50c3Schristos {
2120ed0d50c3Schristos (yyval.is) = ACC_SHIFT;
2121ed0d50c3Schristos }
2122*b88e3e88Schristos #line 2123 "rcparse.c" /* yacc.c:1648 */
2123ed0d50c3Schristos break;
2124ed0d50c3Schristos
2125ed0d50c3Schristos case 32:
2126*b88e3e88Schristos #line 316 "rcparse.y" /* yacc.c:1648 */
2127ed0d50c3Schristos {
2128ed0d50c3Schristos (yyval.is) = ACC_CONTROL;
2129ed0d50c3Schristos }
2130*b88e3e88Schristos #line 2131 "rcparse.c" /* yacc.c:1648 */
2131ed0d50c3Schristos break;
2132ed0d50c3Schristos
2133ed0d50c3Schristos case 33:
2134*b88e3e88Schristos #line 320 "rcparse.y" /* yacc.c:1648 */
2135ed0d50c3Schristos {
2136ed0d50c3Schristos (yyval.is) = ACC_ALT;
2137ed0d50c3Schristos }
2138*b88e3e88Schristos #line 2139 "rcparse.c" /* yacc.c:1648 */
2139ed0d50c3Schristos break;
2140ed0d50c3Schristos
2141ed0d50c3Schristos case 34:
2142*b88e3e88Schristos #line 329 "rcparse.y" /* yacc.c:1648 */
2143ed0d50c3Schristos {
214406324dcfSchristos define_bitmap ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s));
2145ed0d50c3Schristos if (yychar != YYEMPTY)
2146ed0d50c3Schristos YYERROR;
2147ed0d50c3Schristos rcparse_discard_strings ();
2148ed0d50c3Schristos }
2149*b88e3e88Schristos #line 2150 "rcparse.c" /* yacc.c:1648 */
2150ed0d50c3Schristos break;
2151ed0d50c3Schristos
2152ed0d50c3Schristos case 35:
2153*b88e3e88Schristos #line 341 "rcparse.y" /* yacc.c:1648 */
2154ed0d50c3Schristos {
215506324dcfSchristos define_cursor ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s));
2156ed0d50c3Schristos if (yychar != YYEMPTY)
2157ed0d50c3Schristos YYERROR;
2158ed0d50c3Schristos rcparse_discard_strings ();
2159ed0d50c3Schristos }
2160*b88e3e88Schristos #line 2161 "rcparse.c" /* yacc.c:1648 */
2161ed0d50c3Schristos break;
2162ed0d50c3Schristos
2163ed0d50c3Schristos case 36:
2164*b88e3e88Schristos #line 354 "rcparse.y" /* yacc.c:1648 */
2165ed0d50c3Schristos {
2166ed0d50c3Schristos memset (&dialog, 0, sizeof dialog);
216706324dcfSchristos dialog.x = (yyvsp[-3].il);
216806324dcfSchristos dialog.y = (yyvsp[-2].il);
216906324dcfSchristos dialog.width = (yyvsp[-1].il);
217006324dcfSchristos dialog.height = (yyvsp[0].il);
2171ed0d50c3Schristos dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU;
217206324dcfSchristos dialog.exstyle = (yyvsp[-4].il);
2173ed0d50c3Schristos dialog.menu.named = 1;
2174ed0d50c3Schristos dialog.class.named = 1;
2175ed0d50c3Schristos dialog.font = NULL;
2176ed0d50c3Schristos dialog.ex = NULL;
2177ed0d50c3Schristos dialog.controls = NULL;
217806324dcfSchristos sub_res_info = (yyvsp[-5].res_info);
2179ed0d50c3Schristos style = 0;
2180ed0d50c3Schristos }
2181*b88e3e88Schristos #line 2182 "rcparse.c" /* yacc.c:1648 */
2182ed0d50c3Schristos break;
2183ed0d50c3Schristos
2184ed0d50c3Schristos case 37:
2185*b88e3e88Schristos #line 371 "rcparse.y" /* yacc.c:1648 */
2186ed0d50c3Schristos {
218706324dcfSchristos define_dialog ((yyvsp[-12].id), &sub_res_info, &dialog);
2188ed0d50c3Schristos if (yychar != YYEMPTY)
2189ed0d50c3Schristos YYERROR;
2190ed0d50c3Schristos rcparse_discard_strings ();
2191ed0d50c3Schristos }
2192*b88e3e88Schristos #line 2193 "rcparse.c" /* yacc.c:1648 */
2193ed0d50c3Schristos break;
2194ed0d50c3Schristos
2195ed0d50c3Schristos case 38:
2196*b88e3e88Schristos #line 379 "rcparse.y" /* yacc.c:1648 */
2197ed0d50c3Schristos {
2198ed0d50c3Schristos memset (&dialog, 0, sizeof dialog);
219906324dcfSchristos dialog.x = (yyvsp[-3].il);
220006324dcfSchristos dialog.y = (yyvsp[-2].il);
220106324dcfSchristos dialog.width = (yyvsp[-1].il);
220206324dcfSchristos dialog.height = (yyvsp[0].il);
2203ed0d50c3Schristos dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU;
220406324dcfSchristos dialog.exstyle = (yyvsp[-4].il);
2205ed0d50c3Schristos dialog.menu.named = 1;
2206ed0d50c3Schristos dialog.class.named = 1;
2207ed0d50c3Schristos dialog.font = NULL;
2208ed0d50c3Schristos dialog.ex = ((rc_dialog_ex *)
2209ed0d50c3Schristos res_alloc (sizeof (rc_dialog_ex)));
2210ed0d50c3Schristos memset (dialog.ex, 0, sizeof (rc_dialog_ex));
2211ed0d50c3Schristos dialog.controls = NULL;
221206324dcfSchristos sub_res_info = (yyvsp[-5].res_info);
2213ed0d50c3Schristos style = 0;
2214ed0d50c3Schristos }
2215*b88e3e88Schristos #line 2216 "rcparse.c" /* yacc.c:1648 */
2216ed0d50c3Schristos break;
2217ed0d50c3Schristos
2218ed0d50c3Schristos case 39:
2219*b88e3e88Schristos #line 398 "rcparse.y" /* yacc.c:1648 */
2220ed0d50c3Schristos {
222106324dcfSchristos define_dialog ((yyvsp[-12].id), &sub_res_info, &dialog);
2222ed0d50c3Schristos if (yychar != YYEMPTY)
2223ed0d50c3Schristos YYERROR;
2224ed0d50c3Schristos rcparse_discard_strings ();
2225ed0d50c3Schristos }
2226*b88e3e88Schristos #line 2227 "rcparse.c" /* yacc.c:1648 */
2227ed0d50c3Schristos break;
2228ed0d50c3Schristos
2229ed0d50c3Schristos case 40:
2230*b88e3e88Schristos #line 406 "rcparse.y" /* yacc.c:1648 */
2231ed0d50c3Schristos {
2232ed0d50c3Schristos memset (&dialog, 0, sizeof dialog);
223306324dcfSchristos dialog.x = (yyvsp[-4].il);
223406324dcfSchristos dialog.y = (yyvsp[-3].il);
223506324dcfSchristos dialog.width = (yyvsp[-2].il);
223606324dcfSchristos dialog.height = (yyvsp[-1].il);
2237ed0d50c3Schristos dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU;
223806324dcfSchristos dialog.exstyle = (yyvsp[-5].il);
2239ed0d50c3Schristos dialog.menu.named = 1;
2240ed0d50c3Schristos dialog.class.named = 1;
2241ed0d50c3Schristos dialog.font = NULL;
2242ed0d50c3Schristos dialog.ex = ((rc_dialog_ex *)
2243ed0d50c3Schristos res_alloc (sizeof (rc_dialog_ex)));
2244ed0d50c3Schristos memset (dialog.ex, 0, sizeof (rc_dialog_ex));
224506324dcfSchristos dialog.ex->help = (yyvsp[0].il);
2246ed0d50c3Schristos dialog.controls = NULL;
224706324dcfSchristos sub_res_info = (yyvsp[-6].res_info);
2248ed0d50c3Schristos style = 0;
2249ed0d50c3Schristos }
2250*b88e3e88Schristos #line 2251 "rcparse.c" /* yacc.c:1648 */
2251ed0d50c3Schristos break;
2252ed0d50c3Schristos
2253ed0d50c3Schristos case 41:
2254*b88e3e88Schristos #line 426 "rcparse.y" /* yacc.c:1648 */
2255ed0d50c3Schristos {
225606324dcfSchristos define_dialog ((yyvsp[-13].id), &sub_res_info, &dialog);
2257ed0d50c3Schristos if (yychar != YYEMPTY)
2258ed0d50c3Schristos YYERROR;
2259ed0d50c3Schristos rcparse_discard_strings ();
2260ed0d50c3Schristos }
2261*b88e3e88Schristos #line 2262 "rcparse.c" /* yacc.c:1648 */
2262ed0d50c3Schristos break;
2263ed0d50c3Schristos
2264ed0d50c3Schristos case 42:
2265*b88e3e88Schristos #line 436 "rcparse.y" /* yacc.c:1648 */
2266ed0d50c3Schristos {
2267ed0d50c3Schristos (yyval.il) = 0;
2268ed0d50c3Schristos }
2269*b88e3e88Schristos #line 2270 "rcparse.c" /* yacc.c:1648 */
2270ed0d50c3Schristos break;
2271ed0d50c3Schristos
2272ed0d50c3Schristos case 43:
2273*b88e3e88Schristos #line 440 "rcparse.y" /* yacc.c:1648 */
2274ed0d50c3Schristos {
227506324dcfSchristos (yyval.il) = (yyvsp[0].il);
2276ed0d50c3Schristos }
2277*b88e3e88Schristos #line 2278 "rcparse.c" /* yacc.c:1648 */
2278ed0d50c3Schristos break;
2279ed0d50c3Schristos
2280ed0d50c3Schristos case 45:
2281*b88e3e88Schristos #line 448 "rcparse.y" /* yacc.c:1648 */
2282ed0d50c3Schristos {
2283ed0d50c3Schristos dialog.style |= WS_CAPTION;
2284ed0d50c3Schristos style |= WS_CAPTION;
228506324dcfSchristos dialog.caption = (yyvsp[0].uni);
2286ed0d50c3Schristos }
2287*b88e3e88Schristos #line 2288 "rcparse.c" /* yacc.c:1648 */
2288ed0d50c3Schristos break;
2289ed0d50c3Schristos
2290ed0d50c3Schristos case 46:
2291*b88e3e88Schristos #line 454 "rcparse.y" /* yacc.c:1648 */
2292ed0d50c3Schristos {
229306324dcfSchristos dialog.class = (yyvsp[0].id);
2294ed0d50c3Schristos }
2295*b88e3e88Schristos #line 2296 "rcparse.c" /* yacc.c:1648 */
2296ed0d50c3Schristos break;
2297ed0d50c3Schristos
2298ed0d50c3Schristos case 47:
2299*b88e3e88Schristos #line 459 "rcparse.y" /* yacc.c:1648 */
2300ed0d50c3Schristos {
2301ed0d50c3Schristos dialog.style = style;
2302ed0d50c3Schristos }
2303*b88e3e88Schristos #line 2304 "rcparse.c" /* yacc.c:1648 */
2304ed0d50c3Schristos break;
2305ed0d50c3Schristos
2306ed0d50c3Schristos case 48:
2307*b88e3e88Schristos #line 463 "rcparse.y" /* yacc.c:1648 */
2308ed0d50c3Schristos {
230906324dcfSchristos dialog.exstyle = (yyvsp[0].il);
2310ed0d50c3Schristos }
2311*b88e3e88Schristos #line 2312 "rcparse.c" /* yacc.c:1648 */
2312ed0d50c3Schristos break;
2313ed0d50c3Schristos
2314ed0d50c3Schristos case 49:
2315*b88e3e88Schristos #line 467 "rcparse.y" /* yacc.c:1648 */
2316ed0d50c3Schristos {
231706324dcfSchristos res_unistring_to_id (& dialog.class, (yyvsp[0].uni));
2318ed0d50c3Schristos }
2319*b88e3e88Schristos #line 2320 "rcparse.c" /* yacc.c:1648 */
2320ed0d50c3Schristos break;
2321ed0d50c3Schristos
2322ed0d50c3Schristos case 50:
2323*b88e3e88Schristos #line 471 "rcparse.y" /* yacc.c:1648 */
2324ed0d50c3Schristos {
2325ed0d50c3Schristos dialog.style |= DS_SETFONT;
2326ed0d50c3Schristos style |= DS_SETFONT;
232706324dcfSchristos dialog.pointsize = (yyvsp[-2].il);
232806324dcfSchristos dialog.font = (yyvsp[0].uni);
2329ed0d50c3Schristos if (dialog.ex != NULL)
2330ed0d50c3Schristos {
2331ed0d50c3Schristos dialog.ex->weight = 0;
2332ed0d50c3Schristos dialog.ex->italic = 0;
2333ed0d50c3Schristos dialog.ex->charset = 1;
2334ed0d50c3Schristos }
2335ed0d50c3Schristos }
2336*b88e3e88Schristos #line 2337 "rcparse.c" /* yacc.c:1648 */
2337ed0d50c3Schristos break;
2338ed0d50c3Schristos
2339ed0d50c3Schristos case 51:
2340*b88e3e88Schristos #line 484 "rcparse.y" /* yacc.c:1648 */
2341ed0d50c3Schristos {
2342ed0d50c3Schristos dialog.style |= DS_SETFONT;
2343ed0d50c3Schristos style |= DS_SETFONT;
234406324dcfSchristos dialog.pointsize = (yyvsp[-3].il);
234506324dcfSchristos dialog.font = (yyvsp[-1].uni);
2346ed0d50c3Schristos if (dialog.ex == NULL)
2347ed0d50c3Schristos rcparse_warning (_("extended FONT requires DIALOGEX"));
2348ed0d50c3Schristos else
2349ed0d50c3Schristos {
235006324dcfSchristos dialog.ex->weight = (yyvsp[0].il);
2351ed0d50c3Schristos dialog.ex->italic = 0;
2352ed0d50c3Schristos dialog.ex->charset = 1;
2353ed0d50c3Schristos }
2354ed0d50c3Schristos }
2355*b88e3e88Schristos #line 2356 "rcparse.c" /* yacc.c:1648 */
2356ed0d50c3Schristos break;
2357ed0d50c3Schristos
2358ed0d50c3Schristos case 52:
2359*b88e3e88Schristos #line 499 "rcparse.y" /* yacc.c:1648 */
2360ed0d50c3Schristos {
2361ed0d50c3Schristos dialog.style |= DS_SETFONT;
2362ed0d50c3Schristos style |= DS_SETFONT;
236306324dcfSchristos dialog.pointsize = (yyvsp[-4].il);
236406324dcfSchristos dialog.font = (yyvsp[-2].uni);
2365ed0d50c3Schristos if (dialog.ex == NULL)
2366ed0d50c3Schristos rcparse_warning (_("extended FONT requires DIALOGEX"));
2367ed0d50c3Schristos else
2368ed0d50c3Schristos {
236906324dcfSchristos dialog.ex->weight = (yyvsp[-1].il);
237006324dcfSchristos dialog.ex->italic = (yyvsp[0].il);
2371ed0d50c3Schristos dialog.ex->charset = 1;
2372ed0d50c3Schristos }
2373ed0d50c3Schristos }
2374*b88e3e88Schristos #line 2375 "rcparse.c" /* yacc.c:1648 */
2375ed0d50c3Schristos break;
2376ed0d50c3Schristos
2377ed0d50c3Schristos case 53:
2378*b88e3e88Schristos #line 514 "rcparse.y" /* yacc.c:1648 */
2379ed0d50c3Schristos {
2380ed0d50c3Schristos dialog.style |= DS_SETFONT;
2381ed0d50c3Schristos style |= DS_SETFONT;
238206324dcfSchristos dialog.pointsize = (yyvsp[-5].il);
238306324dcfSchristos dialog.font = (yyvsp[-3].uni);
2384ed0d50c3Schristos if (dialog.ex == NULL)
2385ed0d50c3Schristos rcparse_warning (_("extended FONT requires DIALOGEX"));
2386ed0d50c3Schristos else
2387ed0d50c3Schristos {
238806324dcfSchristos dialog.ex->weight = (yyvsp[-2].il);
238906324dcfSchristos dialog.ex->italic = (yyvsp[-1].il);
239006324dcfSchristos dialog.ex->charset = (yyvsp[0].il);
2391ed0d50c3Schristos }
2392ed0d50c3Schristos }
2393*b88e3e88Schristos #line 2394 "rcparse.c" /* yacc.c:1648 */
2394ed0d50c3Schristos break;
2395ed0d50c3Schristos
2396ed0d50c3Schristos case 54:
2397*b88e3e88Schristos #line 529 "rcparse.y" /* yacc.c:1648 */
2398ed0d50c3Schristos {
239906324dcfSchristos dialog.menu = (yyvsp[0].id);
2400ed0d50c3Schristos }
2401*b88e3e88Schristos #line 2402 "rcparse.c" /* yacc.c:1648 */
2402ed0d50c3Schristos break;
2403ed0d50c3Schristos
2404ed0d50c3Schristos case 55:
2405*b88e3e88Schristos #line 533 "rcparse.y" /* yacc.c:1648 */
2406ed0d50c3Schristos {
240706324dcfSchristos sub_res_info.characteristics = (yyvsp[0].il);
2408ed0d50c3Schristos }
2409*b88e3e88Schristos #line 2410 "rcparse.c" /* yacc.c:1648 */
2410ed0d50c3Schristos break;
2411ed0d50c3Schristos
2412ed0d50c3Schristos case 56:
2413*b88e3e88Schristos #line 537 "rcparse.y" /* yacc.c:1648 */
2414ed0d50c3Schristos {
241506324dcfSchristos sub_res_info.language = (yyvsp[-1].il) | ((yyvsp[0].il) << SUBLANG_SHIFT);
2416ed0d50c3Schristos }
2417*b88e3e88Schristos #line 2418 "rcparse.c" /* yacc.c:1648 */
2418ed0d50c3Schristos break;
2419ed0d50c3Schristos
2420ed0d50c3Schristos case 57:
2421*b88e3e88Schristos #line 541 "rcparse.y" /* yacc.c:1648 */
2422ed0d50c3Schristos {
242306324dcfSchristos sub_res_info.version = (yyvsp[0].il);
2424ed0d50c3Schristos }
2425*b88e3e88Schristos #line 2426 "rcparse.c" /* yacc.c:1648 */
2426ed0d50c3Schristos break;
2427ed0d50c3Schristos
2428ed0d50c3Schristos case 59:
2429*b88e3e88Schristos #line 549 "rcparse.y" /* yacc.c:1648 */
2430ed0d50c3Schristos {
2431ed0d50c3Schristos rc_dialog_control **pp;
2432ed0d50c3Schristos
2433ed0d50c3Schristos for (pp = &dialog.controls; *pp != NULL; pp = &(*pp)->next)
2434ed0d50c3Schristos ;
243506324dcfSchristos *pp = (yyvsp[0].dialog_control);
2436ed0d50c3Schristos }
2437*b88e3e88Schristos #line 2438 "rcparse.c" /* yacc.c:1648 */
2438ed0d50c3Schristos break;
2439ed0d50c3Schristos
2440ed0d50c3Schristos case 60:
2441*b88e3e88Schristos #line 560 "rcparse.y" /* yacc.c:1648 */
2442ed0d50c3Schristos {
2443ed0d50c3Schristos default_style = BS_AUTO3STATE | WS_TABSTOP;
2444ed0d50c3Schristos base_style = BS_AUTO3STATE;
2445ed0d50c3Schristos class.named = 0;
2446ed0d50c3Schristos class.u.id = CTL_BUTTON;
244706324dcfSchristos res_text_field = (yyvsp[0].id);
2448ed0d50c3Schristos }
2449*b88e3e88Schristos #line 2450 "rcparse.c" /* yacc.c:1648 */
2450ed0d50c3Schristos break;
2451ed0d50c3Schristos
2452ed0d50c3Schristos case 61:
2453*b88e3e88Schristos #line 568 "rcparse.y" /* yacc.c:1648 */
2454ed0d50c3Schristos {
245506324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2456ed0d50c3Schristos }
2457*b88e3e88Schristos #line 2458 "rcparse.c" /* yacc.c:1648 */
2458ed0d50c3Schristos break;
2459ed0d50c3Schristos
2460ed0d50c3Schristos case 62:
2461*b88e3e88Schristos #line 572 "rcparse.y" /* yacc.c:1648 */
2462ed0d50c3Schristos {
2463ed0d50c3Schristos default_style = BS_AUTOCHECKBOX | WS_TABSTOP;
2464ed0d50c3Schristos base_style = BS_AUTOCHECKBOX;
2465ed0d50c3Schristos class.named = 0;
2466ed0d50c3Schristos class.u.id = CTL_BUTTON;
246706324dcfSchristos res_text_field = (yyvsp[0].id);
2468ed0d50c3Schristos }
2469*b88e3e88Schristos #line 2470 "rcparse.c" /* yacc.c:1648 */
2470ed0d50c3Schristos break;
2471ed0d50c3Schristos
2472ed0d50c3Schristos case 63:
2473*b88e3e88Schristos #line 580 "rcparse.y" /* yacc.c:1648 */
2474ed0d50c3Schristos {
247506324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2476ed0d50c3Schristos }
2477*b88e3e88Schristos #line 2478 "rcparse.c" /* yacc.c:1648 */
2478ed0d50c3Schristos break;
2479ed0d50c3Schristos
2480ed0d50c3Schristos case 64:
2481*b88e3e88Schristos #line 584 "rcparse.y" /* yacc.c:1648 */
2482ed0d50c3Schristos {
2483ed0d50c3Schristos default_style = BS_AUTORADIOBUTTON | WS_TABSTOP;
2484ed0d50c3Schristos base_style = BS_AUTORADIOBUTTON;
2485ed0d50c3Schristos class.named = 0;
2486ed0d50c3Schristos class.u.id = CTL_BUTTON;
248706324dcfSchristos res_text_field = (yyvsp[0].id);
2488ed0d50c3Schristos }
2489*b88e3e88Schristos #line 2490 "rcparse.c" /* yacc.c:1648 */
2490ed0d50c3Schristos break;
2491ed0d50c3Schristos
2492ed0d50c3Schristos case 65:
2493*b88e3e88Schristos #line 592 "rcparse.y" /* yacc.c:1648 */
2494ed0d50c3Schristos {
249506324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2496ed0d50c3Schristos }
2497*b88e3e88Schristos #line 2498 "rcparse.c" /* yacc.c:1648 */
2498ed0d50c3Schristos break;
2499ed0d50c3Schristos
2500ed0d50c3Schristos case 66:
2501*b88e3e88Schristos #line 596 "rcparse.y" /* yacc.c:1648 */
2502ed0d50c3Schristos {
2503ed0d50c3Schristos default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2504ed0d50c3Schristos base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2505ed0d50c3Schristos class.named = 0;
2506ed0d50c3Schristos class.u.id = CTL_EDIT;
250706324dcfSchristos res_text_field = (yyvsp[0].id);
2508ed0d50c3Schristos }
2509*b88e3e88Schristos #line 2510 "rcparse.c" /* yacc.c:1648 */
2510ed0d50c3Schristos break;
2511ed0d50c3Schristos
2512ed0d50c3Schristos case 67:
2513*b88e3e88Schristos #line 604 "rcparse.y" /* yacc.c:1648 */
2514ed0d50c3Schristos {
251506324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2516ed0d50c3Schristos if (dialog.ex == NULL)
2517ed0d50c3Schristos rcparse_warning (_("BEDIT requires DIALOGEX"));
2518ed0d50c3Schristos res_string_to_id (&(yyval.dialog_control)->class, "BEDIT");
2519ed0d50c3Schristos }
2520*b88e3e88Schristos #line 2521 "rcparse.c" /* yacc.c:1648 */
2521ed0d50c3Schristos break;
2522ed0d50c3Schristos
2523ed0d50c3Schristos case 68:
2524*b88e3e88Schristos #line 611 "rcparse.y" /* yacc.c:1648 */
2525ed0d50c3Schristos {
2526ed0d50c3Schristos default_style = BS_CHECKBOX | WS_TABSTOP;
2527ed0d50c3Schristos base_style = BS_CHECKBOX | WS_TABSTOP;
2528ed0d50c3Schristos class.named = 0;
2529ed0d50c3Schristos class.u.id = CTL_BUTTON;
253006324dcfSchristos res_text_field = (yyvsp[0].id);
2531ed0d50c3Schristos }
2532*b88e3e88Schristos #line 2533 "rcparse.c" /* yacc.c:1648 */
2533ed0d50c3Schristos break;
2534ed0d50c3Schristos
2535ed0d50c3Schristos case 69:
2536*b88e3e88Schristos #line 619 "rcparse.y" /* yacc.c:1648 */
2537ed0d50c3Schristos {
253806324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2539ed0d50c3Schristos }
2540*b88e3e88Schristos #line 2541 "rcparse.c" /* yacc.c:1648 */
2541ed0d50c3Schristos break;
2542ed0d50c3Schristos
2543ed0d50c3Schristos case 70:
2544*b88e3e88Schristos #line 623 "rcparse.y" /* yacc.c:1648 */
2545ed0d50c3Schristos {
2546ed0d50c3Schristos /* This is as per MSDN documentation. With some (???)
2547ed0d50c3Schristos versions of MS rc.exe their is no default style. */
2548ed0d50c3Schristos default_style = CBS_SIMPLE | WS_TABSTOP;
2549ed0d50c3Schristos base_style = 0;
2550ed0d50c3Schristos class.named = 0;
2551ed0d50c3Schristos class.u.id = CTL_COMBOBOX;
2552ed0d50c3Schristos res_text_field = res_null_text;
2553ed0d50c3Schristos }
2554*b88e3e88Schristos #line 2555 "rcparse.c" /* yacc.c:1648 */
2555ed0d50c3Schristos break;
2556ed0d50c3Schristos
2557ed0d50c3Schristos case 71:
2558*b88e3e88Schristos #line 633 "rcparse.y" /* yacc.c:1648 */
2559ed0d50c3Schristos {
256006324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2561ed0d50c3Schristos }
2562*b88e3e88Schristos #line 2563 "rcparse.c" /* yacc.c:1648 */
2563ed0d50c3Schristos break;
2564ed0d50c3Schristos
2565ed0d50c3Schristos case 72:
2566*b88e3e88Schristos #line 638 "rcparse.y" /* yacc.c:1648 */
2567ed0d50c3Schristos {
256806324dcfSchristos (yyval.dialog_control) = define_control ((yyvsp[-9].id), (yyvsp[-8].il), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-2].il), (yyvsp[-7].id), style, (yyvsp[-1].il));
256906324dcfSchristos if ((yyvsp[0].rcdata_item) != NULL)
2570ed0d50c3Schristos {
2571ed0d50c3Schristos if (dialog.ex == NULL)
2572ed0d50c3Schristos rcparse_warning (_("control data requires DIALOGEX"));
257306324dcfSchristos (yyval.dialog_control)->data = (yyvsp[0].rcdata_item);
2574ed0d50c3Schristos }
2575ed0d50c3Schristos }
2576*b88e3e88Schristos #line 2577 "rcparse.c" /* yacc.c:1648 */
2577ed0d50c3Schristos break;
2578ed0d50c3Schristos
2579ed0d50c3Schristos case 73:
2580*b88e3e88Schristos #line 649 "rcparse.y" /* yacc.c:1648 */
2581ed0d50c3Schristos {
258206324dcfSchristos (yyval.dialog_control) = define_control ((yyvsp[-10].id), (yyvsp[-9].il), (yyvsp[-6].il), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-8].id), style, (yyvsp[-2].il));
2583ed0d50c3Schristos if (dialog.ex == NULL)
2584ed0d50c3Schristos rcparse_warning (_("help ID requires DIALOGEX"));
258506324dcfSchristos (yyval.dialog_control)->help = (yyvsp[-1].il);
258606324dcfSchristos (yyval.dialog_control)->data = (yyvsp[0].rcdata_item);
2587ed0d50c3Schristos }
2588*b88e3e88Schristos #line 2589 "rcparse.c" /* yacc.c:1648 */
2589ed0d50c3Schristos break;
2590ed0d50c3Schristos
2591ed0d50c3Schristos case 74:
2592*b88e3e88Schristos #line 657 "rcparse.y" /* yacc.c:1648 */
2593ed0d50c3Schristos {
2594ed0d50c3Schristos default_style = SS_CENTER | WS_GROUP;
2595ed0d50c3Schristos base_style = SS_CENTER;
2596ed0d50c3Schristos class.named = 0;
2597ed0d50c3Schristos class.u.id = CTL_STATIC;
259806324dcfSchristos res_text_field = (yyvsp[0].id);
2599ed0d50c3Schristos }
2600*b88e3e88Schristos #line 2601 "rcparse.c" /* yacc.c:1648 */
2601ed0d50c3Schristos break;
2602ed0d50c3Schristos
2603ed0d50c3Schristos case 75:
2604*b88e3e88Schristos #line 665 "rcparse.y" /* yacc.c:1648 */
2605ed0d50c3Schristos {
260606324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2607ed0d50c3Schristos }
2608*b88e3e88Schristos #line 2609 "rcparse.c" /* yacc.c:1648 */
2609ed0d50c3Schristos break;
2610ed0d50c3Schristos
2611ed0d50c3Schristos case 76:
2612*b88e3e88Schristos #line 669 "rcparse.y" /* yacc.c:1648 */
2613ed0d50c3Schristos {
2614ed0d50c3Schristos default_style = BS_DEFPUSHBUTTON | WS_TABSTOP;
2615ed0d50c3Schristos base_style = BS_DEFPUSHBUTTON | WS_TABSTOP;
2616ed0d50c3Schristos class.named = 0;
2617ed0d50c3Schristos class.u.id = CTL_BUTTON;
261806324dcfSchristos res_text_field = (yyvsp[0].id);
2619ed0d50c3Schristos }
2620*b88e3e88Schristos #line 2621 "rcparse.c" /* yacc.c:1648 */
2621ed0d50c3Schristos break;
2622ed0d50c3Schristos
2623ed0d50c3Schristos case 77:
2624*b88e3e88Schristos #line 677 "rcparse.y" /* yacc.c:1648 */
2625ed0d50c3Schristos {
262606324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2627ed0d50c3Schristos }
2628*b88e3e88Schristos #line 2629 "rcparse.c" /* yacc.c:1648 */
2629ed0d50c3Schristos break;
2630ed0d50c3Schristos
2631ed0d50c3Schristos case 78:
2632*b88e3e88Schristos #line 681 "rcparse.y" /* yacc.c:1648 */
2633ed0d50c3Schristos {
2634ed0d50c3Schristos default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2635ed0d50c3Schristos base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2636ed0d50c3Schristos class.named = 0;
2637ed0d50c3Schristos class.u.id = CTL_EDIT;
2638ed0d50c3Schristos res_text_field = res_null_text;
2639ed0d50c3Schristos }
2640*b88e3e88Schristos #line 2641 "rcparse.c" /* yacc.c:1648 */
2641ed0d50c3Schristos break;
2642ed0d50c3Schristos
2643ed0d50c3Schristos case 79:
2644*b88e3e88Schristos #line 689 "rcparse.y" /* yacc.c:1648 */
2645ed0d50c3Schristos {
264606324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2647ed0d50c3Schristos }
2648*b88e3e88Schristos #line 2649 "rcparse.c" /* yacc.c:1648 */
2649ed0d50c3Schristos break;
2650ed0d50c3Schristos
2651ed0d50c3Schristos case 80:
2652*b88e3e88Schristos #line 693 "rcparse.y" /* yacc.c:1648 */
2653ed0d50c3Schristos {
2654ed0d50c3Schristos default_style = BS_GROUPBOX;
2655ed0d50c3Schristos base_style = BS_GROUPBOX;
2656ed0d50c3Schristos class.named = 0;
2657ed0d50c3Schristos class.u.id = CTL_BUTTON;
265806324dcfSchristos res_text_field = (yyvsp[0].id);
2659ed0d50c3Schristos }
2660*b88e3e88Schristos #line 2661 "rcparse.c" /* yacc.c:1648 */
2661ed0d50c3Schristos break;
2662ed0d50c3Schristos
2663ed0d50c3Schristos case 81:
2664*b88e3e88Schristos #line 701 "rcparse.y" /* yacc.c:1648 */
2665ed0d50c3Schristos {
266606324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2667ed0d50c3Schristos }
2668*b88e3e88Schristos #line 2669 "rcparse.c" /* yacc.c:1648 */
2669ed0d50c3Schristos break;
2670ed0d50c3Schristos
2671ed0d50c3Schristos case 82:
2672*b88e3e88Schristos #line 705 "rcparse.y" /* yacc.c:1648 */
2673ed0d50c3Schristos {
2674ed0d50c3Schristos default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2675ed0d50c3Schristos base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2676ed0d50c3Schristos class.named = 0;
2677ed0d50c3Schristos class.u.id = CTL_EDIT;
267806324dcfSchristos res_text_field = (yyvsp[0].id);
2679ed0d50c3Schristos }
2680*b88e3e88Schristos #line 2681 "rcparse.c" /* yacc.c:1648 */
2681ed0d50c3Schristos break;
2682ed0d50c3Schristos
2683ed0d50c3Schristos case 83:
2684*b88e3e88Schristos #line 713 "rcparse.y" /* yacc.c:1648 */
2685ed0d50c3Schristos {
268606324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2687ed0d50c3Schristos if (dialog.ex == NULL)
2688ed0d50c3Schristos rcparse_warning (_("IEDIT requires DIALOGEX"));
2689ed0d50c3Schristos res_string_to_id (&(yyval.dialog_control)->class, "HEDIT");
2690ed0d50c3Schristos }
2691*b88e3e88Schristos #line 2692 "rcparse.c" /* yacc.c:1648 */
2692ed0d50c3Schristos break;
2693ed0d50c3Schristos
2694ed0d50c3Schristos case 84:
2695*b88e3e88Schristos #line 720 "rcparse.y" /* yacc.c:1648 */
2696ed0d50c3Schristos {
269706324dcfSchristos (yyval.dialog_control) = define_icon_control ((yyvsp[-4].id), (yyvsp[-3].il), (yyvsp[-2].il), (yyvsp[-1].il), 0, 0, 0, (yyvsp[0].rcdata_item),
2698ed0d50c3Schristos dialog.ex);
2699ed0d50c3Schristos }
2700*b88e3e88Schristos #line 2701 "rcparse.c" /* yacc.c:1648 */
2701ed0d50c3Schristos break;
2702ed0d50c3Schristos
2703ed0d50c3Schristos case 85:
2704*b88e3e88Schristos #line 726 "rcparse.y" /* yacc.c:1648 */
2705ed0d50c3Schristos {
270606324dcfSchristos (yyval.dialog_control) = define_icon_control ((yyvsp[-6].id), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), 0, 0, 0, (yyvsp[0].rcdata_item),
2707ed0d50c3Schristos dialog.ex);
2708ed0d50c3Schristos }
2709*b88e3e88Schristos #line 2710 "rcparse.c" /* yacc.c:1648 */
2710ed0d50c3Schristos break;
2711ed0d50c3Schristos
2712ed0d50c3Schristos case 86:
2713*b88e3e88Schristos #line 732 "rcparse.y" /* yacc.c:1648 */
2714ed0d50c3Schristos {
271506324dcfSchristos (yyval.dialog_control) = define_icon_control ((yyvsp[-8].id), (yyvsp[-7].il), (yyvsp[-6].il), (yyvsp[-5].il), style, (yyvsp[-1].il), 0, (yyvsp[0].rcdata_item),
2716ed0d50c3Schristos dialog.ex);
2717ed0d50c3Schristos }
2718*b88e3e88Schristos #line 2719 "rcparse.c" /* yacc.c:1648 */
2719ed0d50c3Schristos break;
2720ed0d50c3Schristos
2721ed0d50c3Schristos case 87:
2722*b88e3e88Schristos #line 738 "rcparse.y" /* yacc.c:1648 */
2723ed0d50c3Schristos {
272406324dcfSchristos (yyval.dialog_control) = define_icon_control ((yyvsp[-9].id), (yyvsp[-8].il), (yyvsp[-7].il), (yyvsp[-6].il), style, (yyvsp[-2].il), (yyvsp[-1].il), (yyvsp[0].rcdata_item),
2725ed0d50c3Schristos dialog.ex);
2726ed0d50c3Schristos }
2727*b88e3e88Schristos #line 2728 "rcparse.c" /* yacc.c:1648 */
2728ed0d50c3Schristos break;
2729ed0d50c3Schristos
2730ed0d50c3Schristos case 88:
2731*b88e3e88Schristos #line 743 "rcparse.y" /* yacc.c:1648 */
2732ed0d50c3Schristos {
2733ed0d50c3Schristos default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2734ed0d50c3Schristos base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;
2735ed0d50c3Schristos class.named = 0;
2736ed0d50c3Schristos class.u.id = CTL_EDIT;
273706324dcfSchristos res_text_field = (yyvsp[0].id);
2738ed0d50c3Schristos }
2739*b88e3e88Schristos #line 2740 "rcparse.c" /* yacc.c:1648 */
2740ed0d50c3Schristos break;
2741ed0d50c3Schristos
2742ed0d50c3Schristos case 89:
2743*b88e3e88Schristos #line 751 "rcparse.y" /* yacc.c:1648 */
2744ed0d50c3Schristos {
274506324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2746ed0d50c3Schristos if (dialog.ex == NULL)
2747ed0d50c3Schristos rcparse_warning (_("IEDIT requires DIALOGEX"));
2748ed0d50c3Schristos res_string_to_id (&(yyval.dialog_control)->class, "IEDIT");
2749ed0d50c3Schristos }
2750*b88e3e88Schristos #line 2751 "rcparse.c" /* yacc.c:1648 */
2751ed0d50c3Schristos break;
2752ed0d50c3Schristos
2753ed0d50c3Schristos case 90:
2754*b88e3e88Schristos #line 758 "rcparse.y" /* yacc.c:1648 */
2755ed0d50c3Schristos {
2756ed0d50c3Schristos default_style = LBS_NOTIFY | WS_BORDER;
2757ed0d50c3Schristos base_style = LBS_NOTIFY | WS_BORDER;
2758ed0d50c3Schristos class.named = 0;
2759ed0d50c3Schristos class.u.id = CTL_LISTBOX;
2760ed0d50c3Schristos res_text_field = res_null_text;
2761ed0d50c3Schristos }
2762*b88e3e88Schristos #line 2763 "rcparse.c" /* yacc.c:1648 */
2763ed0d50c3Schristos break;
2764ed0d50c3Schristos
2765ed0d50c3Schristos case 91:
2766*b88e3e88Schristos #line 766 "rcparse.y" /* yacc.c:1648 */
2767ed0d50c3Schristos {
276806324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2769ed0d50c3Schristos }
2770*b88e3e88Schristos #line 2771 "rcparse.c" /* yacc.c:1648 */
2771ed0d50c3Schristos break;
2772ed0d50c3Schristos
2773ed0d50c3Schristos case 92:
2774*b88e3e88Schristos #line 770 "rcparse.y" /* yacc.c:1648 */
2775ed0d50c3Schristos {
2776ed0d50c3Schristos default_style = SS_LEFT | WS_GROUP;
2777ed0d50c3Schristos base_style = SS_LEFT;
2778ed0d50c3Schristos class.named = 0;
2779ed0d50c3Schristos class.u.id = CTL_STATIC;
278006324dcfSchristos res_text_field = (yyvsp[0].id);
2781ed0d50c3Schristos }
2782*b88e3e88Schristos #line 2783 "rcparse.c" /* yacc.c:1648 */
2783ed0d50c3Schristos break;
2784ed0d50c3Schristos
2785ed0d50c3Schristos case 93:
2786*b88e3e88Schristos #line 778 "rcparse.y" /* yacc.c:1648 */
2787ed0d50c3Schristos {
278806324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2789ed0d50c3Schristos }
2790*b88e3e88Schristos #line 2791 "rcparse.c" /* yacc.c:1648 */
2791ed0d50c3Schristos break;
2792ed0d50c3Schristos
2793ed0d50c3Schristos case 94:
2794*b88e3e88Schristos #line 782 "rcparse.y" /* yacc.c:1648 */
2795ed0d50c3Schristos {
2796ed0d50c3Schristos default_style = BS_PUSHBOX | WS_TABSTOP;
2797ed0d50c3Schristos base_style = BS_PUSHBOX;
2798ed0d50c3Schristos class.named = 0;
2799ed0d50c3Schristos class.u.id = CTL_BUTTON;
2800ed0d50c3Schristos }
2801*b88e3e88Schristos #line 2802 "rcparse.c" /* yacc.c:1648 */
2802ed0d50c3Schristos break;
2803ed0d50c3Schristos
2804ed0d50c3Schristos case 95:
2805*b88e3e88Schristos #line 789 "rcparse.y" /* yacc.c:1648 */
2806ed0d50c3Schristos {
280706324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2808ed0d50c3Schristos }
2809*b88e3e88Schristos #line 2810 "rcparse.c" /* yacc.c:1648 */
2810ed0d50c3Schristos break;
2811ed0d50c3Schristos
2812ed0d50c3Schristos case 96:
2813*b88e3e88Schristos #line 793 "rcparse.y" /* yacc.c:1648 */
2814ed0d50c3Schristos {
2815ed0d50c3Schristos default_style = BS_PUSHBUTTON | WS_TABSTOP;
2816ed0d50c3Schristos base_style = BS_PUSHBUTTON | WS_TABSTOP;
2817ed0d50c3Schristos class.named = 0;
2818ed0d50c3Schristos class.u.id = CTL_BUTTON;
281906324dcfSchristos res_text_field = (yyvsp[0].id);
2820ed0d50c3Schristos }
2821*b88e3e88Schristos #line 2822 "rcparse.c" /* yacc.c:1648 */
2822ed0d50c3Schristos break;
2823ed0d50c3Schristos
2824ed0d50c3Schristos case 97:
2825*b88e3e88Schristos #line 801 "rcparse.y" /* yacc.c:1648 */
2826ed0d50c3Schristos {
282706324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2828ed0d50c3Schristos }
2829*b88e3e88Schristos #line 2830 "rcparse.c" /* yacc.c:1648 */
2830ed0d50c3Schristos break;
2831ed0d50c3Schristos
2832ed0d50c3Schristos case 98:
2833*b88e3e88Schristos #line 805 "rcparse.y" /* yacc.c:1648 */
2834ed0d50c3Schristos {
2835ed0d50c3Schristos default_style = BS_RADIOBUTTON | WS_TABSTOP;
2836ed0d50c3Schristos base_style = BS_RADIOBUTTON;
2837ed0d50c3Schristos class.named = 0;
2838ed0d50c3Schristos class.u.id = CTL_BUTTON;
283906324dcfSchristos res_text_field = (yyvsp[0].id);
2840ed0d50c3Schristos }
2841*b88e3e88Schristos #line 2842 "rcparse.c" /* yacc.c:1648 */
2842ed0d50c3Schristos break;
2843ed0d50c3Schristos
2844ed0d50c3Schristos case 99:
2845*b88e3e88Schristos #line 813 "rcparse.y" /* yacc.c:1648 */
2846ed0d50c3Schristos {
284706324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2848ed0d50c3Schristos }
2849*b88e3e88Schristos #line 2850 "rcparse.c" /* yacc.c:1648 */
2850ed0d50c3Schristos break;
2851ed0d50c3Schristos
2852ed0d50c3Schristos case 100:
2853*b88e3e88Schristos #line 817 "rcparse.y" /* yacc.c:1648 */
2854ed0d50c3Schristos {
2855ed0d50c3Schristos default_style = SS_RIGHT | WS_GROUP;
2856ed0d50c3Schristos base_style = SS_RIGHT;
2857ed0d50c3Schristos class.named = 0;
2858ed0d50c3Schristos class.u.id = CTL_STATIC;
285906324dcfSchristos res_text_field = (yyvsp[0].id);
2860ed0d50c3Schristos }
2861*b88e3e88Schristos #line 2862 "rcparse.c" /* yacc.c:1648 */
2862ed0d50c3Schristos break;
2863ed0d50c3Schristos
2864ed0d50c3Schristos case 101:
2865*b88e3e88Schristos #line 825 "rcparse.y" /* yacc.c:1648 */
2866ed0d50c3Schristos {
286706324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2868ed0d50c3Schristos }
2869*b88e3e88Schristos #line 2870 "rcparse.c" /* yacc.c:1648 */
2870ed0d50c3Schristos break;
2871ed0d50c3Schristos
2872ed0d50c3Schristos case 102:
2873*b88e3e88Schristos #line 829 "rcparse.y" /* yacc.c:1648 */
2874ed0d50c3Schristos {
2875ed0d50c3Schristos default_style = SBS_HORZ;
2876ed0d50c3Schristos base_style = 0;
2877ed0d50c3Schristos class.named = 0;
2878ed0d50c3Schristos class.u.id = CTL_SCROLLBAR;
2879ed0d50c3Schristos res_text_field = res_null_text;
2880ed0d50c3Schristos }
2881*b88e3e88Schristos #line 2882 "rcparse.c" /* yacc.c:1648 */
2882ed0d50c3Schristos break;
2883ed0d50c3Schristos
2884ed0d50c3Schristos case 103:
2885*b88e3e88Schristos #line 837 "rcparse.y" /* yacc.c:1648 */
2886ed0d50c3Schristos {
288706324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2888ed0d50c3Schristos }
2889*b88e3e88Schristos #line 2890 "rcparse.c" /* yacc.c:1648 */
2890ed0d50c3Schristos break;
2891ed0d50c3Schristos
2892ed0d50c3Schristos case 104:
2893*b88e3e88Schristos #line 841 "rcparse.y" /* yacc.c:1648 */
2894ed0d50c3Schristos {
2895ed0d50c3Schristos default_style = BS_3STATE | WS_TABSTOP;
2896ed0d50c3Schristos base_style = BS_3STATE;
2897ed0d50c3Schristos class.named = 0;
2898ed0d50c3Schristos class.u.id = CTL_BUTTON;
289906324dcfSchristos res_text_field = (yyvsp[0].id);
2900ed0d50c3Schristos }
2901*b88e3e88Schristos #line 2902 "rcparse.c" /* yacc.c:1648 */
2902ed0d50c3Schristos break;
2903ed0d50c3Schristos
2904ed0d50c3Schristos case 105:
2905*b88e3e88Schristos #line 849 "rcparse.y" /* yacc.c:1648 */
2906ed0d50c3Schristos {
290706324dcfSchristos (yyval.dialog_control) = (yyvsp[0].dialog_control);
2908ed0d50c3Schristos }
2909*b88e3e88Schristos #line 2910 "rcparse.c" /* yacc.c:1648 */
2910ed0d50c3Schristos break;
2911ed0d50c3Schristos
2912ed0d50c3Schristos case 106:
2913*b88e3e88Schristos #line 854 "rcparse.y" /* yacc.c:1648 */
2914ed0d50c3Schristos { style = WS_CHILD | WS_VISIBLE; }
2915*b88e3e88Schristos #line 2916 "rcparse.c" /* yacc.c:1648 */
2916ed0d50c3Schristos break;
2917ed0d50c3Schristos
2918ed0d50c3Schristos case 107:
2919*b88e3e88Schristos #line 856 "rcparse.y" /* yacc.c:1648 */
2920ed0d50c3Schristos {
2921ed0d50c3Schristos rc_res_id cid;
2922ed0d50c3Schristos cid.named = 0;
2923ed0d50c3Schristos cid.u.id = CTL_BUTTON;
292406324dcfSchristos (yyval.dialog_control) = define_control ((yyvsp[-13].id), (yyvsp[-12].il), (yyvsp[-10].il), (yyvsp[-8].il), (yyvsp[-6].il), (yyvsp[-4].il), cid,
292506324dcfSchristos style, (yyvsp[0].il));
2926ed0d50c3Schristos }
2927*b88e3e88Schristos #line 2928 "rcparse.c" /* yacc.c:1648 */
2928ed0d50c3Schristos break;
2929ed0d50c3Schristos
2930ed0d50c3Schristos case 108:
2931*b88e3e88Schristos #line 874 "rcparse.y" /* yacc.c:1648 */
2932ed0d50c3Schristos {
293306324dcfSchristos (yyval.dialog_control) = define_control (res_text_field, (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-2].il), (yyvsp[-1].il), class,
2934ed0d50c3Schristos default_style | WS_CHILD | WS_VISIBLE, 0);
293506324dcfSchristos if ((yyvsp[0].rcdata_item) != NULL)
2936ed0d50c3Schristos {
2937ed0d50c3Schristos if (dialog.ex == NULL)
2938ed0d50c3Schristos rcparse_warning (_("control data requires DIALOGEX"));
293906324dcfSchristos (yyval.dialog_control)->data = (yyvsp[0].rcdata_item);
2940ed0d50c3Schristos }
2941ed0d50c3Schristos }
2942*b88e3e88Schristos #line 2943 "rcparse.c" /* yacc.c:1648 */
2943ed0d50c3Schristos break;
2944ed0d50c3Schristos
2945ed0d50c3Schristos case 109:
2946*b88e3e88Schristos #line 886 "rcparse.y" /* yacc.c:1648 */
2947ed0d50c3Schristos {
294806324dcfSchristos (yyval.dialog_control) = define_control (res_text_field, (yyvsp[-7].il), (yyvsp[-6].il), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), class, style, (yyvsp[-1].il));
294906324dcfSchristos if ((yyvsp[0].rcdata_item) != NULL)
2950ed0d50c3Schristos {
2951ed0d50c3Schristos if (dialog.ex == NULL)
2952ed0d50c3Schristos rcparse_warning (_("control data requires DIALOGEX"));
295306324dcfSchristos (yyval.dialog_control)->data = (yyvsp[0].rcdata_item);
2954ed0d50c3Schristos }
2955ed0d50c3Schristos }
2956*b88e3e88Schristos #line 2957 "rcparse.c" /* yacc.c:1648 */
2957ed0d50c3Schristos break;
2958ed0d50c3Schristos
2959ed0d50c3Schristos case 110:
2960*b88e3e88Schristos #line 897 "rcparse.y" /* yacc.c:1648 */
2961ed0d50c3Schristos {
296206324dcfSchristos (yyval.dialog_control) = define_control (res_text_field, (yyvsp[-8].il), (yyvsp[-7].il), (yyvsp[-6].il), (yyvsp[-5].il), (yyvsp[-4].il), class, style, (yyvsp[-2].il));
2963ed0d50c3Schristos if (dialog.ex == NULL)
2964ed0d50c3Schristos rcparse_warning (_("help ID requires DIALOGEX"));
296506324dcfSchristos (yyval.dialog_control)->help = (yyvsp[-1].il);
296606324dcfSchristos (yyval.dialog_control)->data = (yyvsp[0].rcdata_item);
2967ed0d50c3Schristos }
2968*b88e3e88Schristos #line 2969 "rcparse.c" /* yacc.c:1648 */
2969ed0d50c3Schristos break;
2970ed0d50c3Schristos
2971ed0d50c3Schristos case 111:
2972*b88e3e88Schristos #line 908 "rcparse.y" /* yacc.c:1648 */
2973ed0d50c3Schristos {
297406324dcfSchristos if ((yyvsp[0].id).named)
297506324dcfSchristos res_unistring_to_id (&(yyval.id), (yyvsp[0].id).u.n.name);
2976ed0d50c3Schristos else
297706324dcfSchristos (yyval.id)=(yyvsp[0].id);
2978ed0d50c3Schristos }
2979*b88e3e88Schristos #line 2980 "rcparse.c" /* yacc.c:1648 */
2980ed0d50c3Schristos break;
2981ed0d50c3Schristos
2982ed0d50c3Schristos case 112:
2983*b88e3e88Schristos #line 918 "rcparse.y" /* yacc.c:1648 */
2984ed0d50c3Schristos {
2985ed0d50c3Schristos res_string_to_id (&(yyval.id), "");
2986ed0d50c3Schristos }
2987*b88e3e88Schristos #line 2988 "rcparse.c" /* yacc.c:1648 */
2988ed0d50c3Schristos break;
2989ed0d50c3Schristos
2990ed0d50c3Schristos case 113:
2991*b88e3e88Schristos #line 921 "rcparse.y" /* yacc.c:1648 */
299206324dcfSchristos { (yyval.id)=(yyvsp[-1].id); }
2993*b88e3e88Schristos #line 2994 "rcparse.c" /* yacc.c:1648 */
2994ed0d50c3Schristos break;
2995ed0d50c3Schristos
2996ed0d50c3Schristos case 114:
2997*b88e3e88Schristos #line 926 "rcparse.y" /* yacc.c:1648 */
2998ed0d50c3Schristos {
2999ed0d50c3Schristos (yyval.id).named = 0;
300006324dcfSchristos (yyval.id).u.id = (yyvsp[0].il);
3001ed0d50c3Schristos }
3002*b88e3e88Schristos #line 3003 "rcparse.c" /* yacc.c:1648 */
3003ed0d50c3Schristos break;
3004ed0d50c3Schristos
3005ed0d50c3Schristos case 115:
3006*b88e3e88Schristos #line 931 "rcparse.y" /* yacc.c:1648 */
3007ed0d50c3Schristos {
3008ed0d50c3Schristos (yyval.id).named = 1;
300906324dcfSchristos (yyval.id).u.n.name = (yyvsp[0].uni);
301006324dcfSchristos (yyval.id).u.n.length = unichar_len ((yyvsp[0].uni));
3011ed0d50c3Schristos }
3012*b88e3e88Schristos #line 3013 "rcparse.c" /* yacc.c:1648 */
3013ed0d50c3Schristos break;
3014ed0d50c3Schristos
3015ed0d50c3Schristos case 116:
3016*b88e3e88Schristos #line 940 "rcparse.y" /* yacc.c:1648 */
3017ed0d50c3Schristos {
3018ed0d50c3Schristos (yyval.rcdata_item) = NULL;
3019ed0d50c3Schristos }
3020*b88e3e88Schristos #line 3021 "rcparse.c" /* yacc.c:1648 */
3021ed0d50c3Schristos break;
3022ed0d50c3Schristos
3023ed0d50c3Schristos case 117:
3024*b88e3e88Schristos #line 944 "rcparse.y" /* yacc.c:1648 */
3025ed0d50c3Schristos {
302606324dcfSchristos (yyval.rcdata_item) = (yyvsp[-1].rcdata).first;
3027ed0d50c3Schristos }
3028*b88e3e88Schristos #line 3029 "rcparse.c" /* yacc.c:1648 */
3029ed0d50c3Schristos break;
3030ed0d50c3Schristos
3031ed0d50c3Schristos case 118:
3032*b88e3e88Schristos #line 953 "rcparse.y" /* yacc.c:1648 */
3033ed0d50c3Schristos { style = WS_CHILD | WS_VISIBLE; }
3034*b88e3e88Schristos #line 3035 "rcparse.c" /* yacc.c:1648 */
3035ed0d50c3Schristos break;
3036ed0d50c3Schristos
3037ed0d50c3Schristos case 120:
3038*b88e3e88Schristos #line 959 "rcparse.y" /* yacc.c:1648 */
3039ed0d50c3Schristos { style = SS_ICON | WS_CHILD | WS_VISIBLE; }
3040*b88e3e88Schristos #line 3041 "rcparse.c" /* yacc.c:1648 */
3041ed0d50c3Schristos break;
3042ed0d50c3Schristos
3043ed0d50c3Schristos case 122:
3044*b88e3e88Schristos #line 965 "rcparse.y" /* yacc.c:1648 */
3045ed0d50c3Schristos { style = base_style | WS_CHILD | WS_VISIBLE; }
3046*b88e3e88Schristos #line 3047 "rcparse.c" /* yacc.c:1648 */
3047ed0d50c3Schristos break;
3048ed0d50c3Schristos
3049ed0d50c3Schristos case 124:
3050*b88e3e88Schristos #line 973 "rcparse.y" /* yacc.c:1648 */
3051ed0d50c3Schristos {
305206324dcfSchristos define_font ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s));
3053ed0d50c3Schristos if (yychar != YYEMPTY)
3054ed0d50c3Schristos YYERROR;
3055ed0d50c3Schristos rcparse_discard_strings ();
3056ed0d50c3Schristos }
3057*b88e3e88Schristos #line 3058 "rcparse.c" /* yacc.c:1648 */
3058ed0d50c3Schristos break;
3059ed0d50c3Schristos
3060ed0d50c3Schristos case 125:
3061*b88e3e88Schristos #line 985 "rcparse.y" /* yacc.c:1648 */
3062ed0d50c3Schristos {
306306324dcfSchristos define_icon ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s));
3064ed0d50c3Schristos if (yychar != YYEMPTY)
3065ed0d50c3Schristos YYERROR;
3066ed0d50c3Schristos rcparse_discard_strings ();
3067ed0d50c3Schristos }
3068*b88e3e88Schristos #line 3069 "rcparse.c" /* yacc.c:1648 */
3069ed0d50c3Schristos break;
3070ed0d50c3Schristos
3071ed0d50c3Schristos case 126:
3072*b88e3e88Schristos #line 998 "rcparse.y" /* yacc.c:1648 */
3073ed0d50c3Schristos {
307406324dcfSchristos language = (yyvsp[-1].il) | ((yyvsp[0].il) << SUBLANG_SHIFT);
3075ed0d50c3Schristos }
3076*b88e3e88Schristos #line 3077 "rcparse.c" /* yacc.c:1648 */
3077ed0d50c3Schristos break;
3078ed0d50c3Schristos
3079ed0d50c3Schristos case 127:
3080*b88e3e88Schristos #line 1007 "rcparse.y" /* yacc.c:1648 */
3081ed0d50c3Schristos {
308206324dcfSchristos define_menu ((yyvsp[-5].id), &(yyvsp[-3].res_info), (yyvsp[-1].menuitem));
3083ed0d50c3Schristos if (yychar != YYEMPTY)
3084ed0d50c3Schristos YYERROR;
3085ed0d50c3Schristos rcparse_discard_strings ();
3086ed0d50c3Schristos }
3087*b88e3e88Schristos #line 3088 "rcparse.c" /* yacc.c:1648 */
3088ed0d50c3Schristos break;
3089ed0d50c3Schristos
3090ed0d50c3Schristos case 128:
3091*b88e3e88Schristos #line 1017 "rcparse.y" /* yacc.c:1648 */
3092ed0d50c3Schristos {
3093ed0d50c3Schristos (yyval.menuitem) = NULL;
3094ed0d50c3Schristos }
3095*b88e3e88Schristos #line 3096 "rcparse.c" /* yacc.c:1648 */
3096ed0d50c3Schristos break;
3097ed0d50c3Schristos
3098ed0d50c3Schristos case 129:
3099*b88e3e88Schristos #line 1021 "rcparse.y" /* yacc.c:1648 */
3100ed0d50c3Schristos {
310106324dcfSchristos if ((yyvsp[-1].menuitem) == NULL)
310206324dcfSchristos (yyval.menuitem) = (yyvsp[0].menuitem);
3103ed0d50c3Schristos else
3104ed0d50c3Schristos {
3105ed0d50c3Schristos rc_menuitem **pp;
3106ed0d50c3Schristos
310706324dcfSchristos for (pp = &(yyvsp[-1].menuitem)->next; *pp != NULL; pp = &(*pp)->next)
3108ed0d50c3Schristos ;
310906324dcfSchristos *pp = (yyvsp[0].menuitem);
311006324dcfSchristos (yyval.menuitem) = (yyvsp[-1].menuitem);
3111ed0d50c3Schristos }
3112ed0d50c3Schristos }
3113*b88e3e88Schristos #line 3114 "rcparse.c" /* yacc.c:1648 */
3114ed0d50c3Schristos break;
3115ed0d50c3Schristos
3116ed0d50c3Schristos case 130:
3117*b88e3e88Schristos #line 1038 "rcparse.y" /* yacc.c:1648 */
3118ed0d50c3Schristos {
311906324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-2].uni), (yyvsp[-1].il), (yyvsp[0].is), 0, 0, NULL);
3120ed0d50c3Schristos }
3121*b88e3e88Schristos #line 3122 "rcparse.c" /* yacc.c:1648 */
3122ed0d50c3Schristos break;
3123ed0d50c3Schristos
3124ed0d50c3Schristos case 131:
3125*b88e3e88Schristos #line 1042 "rcparse.y" /* yacc.c:1648 */
3126ed0d50c3Schristos {
3127ed0d50c3Schristos (yyval.menuitem) = define_menuitem (NULL, 0, 0, 0, 0, NULL);
3128ed0d50c3Schristos }
3129*b88e3e88Schristos #line 3130 "rcparse.c" /* yacc.c:1648 */
3130ed0d50c3Schristos break;
3131ed0d50c3Schristos
3132ed0d50c3Schristos case 132:
3133*b88e3e88Schristos #line 1046 "rcparse.y" /* yacc.c:1648 */
3134ed0d50c3Schristos {
313506324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-4].uni), 0, (yyvsp[-3].is), 0, 0, (yyvsp[-1].menuitem));
3136ed0d50c3Schristos }
3137*b88e3e88Schristos #line 3138 "rcparse.c" /* yacc.c:1648 */
3138ed0d50c3Schristos break;
3139ed0d50c3Schristos
3140ed0d50c3Schristos case 133:
3141*b88e3e88Schristos #line 1053 "rcparse.y" /* yacc.c:1648 */
3142ed0d50c3Schristos {
3143ed0d50c3Schristos (yyval.is) = 0;
3144ed0d50c3Schristos }
3145*b88e3e88Schristos #line 3146 "rcparse.c" /* yacc.c:1648 */
3146ed0d50c3Schristos break;
3147ed0d50c3Schristos
3148ed0d50c3Schristos case 134:
3149*b88e3e88Schristos #line 1057 "rcparse.y" /* yacc.c:1648 */
3150ed0d50c3Schristos {
315106324dcfSchristos (yyval.is) = (yyvsp[-2].is) | (yyvsp[0].is);
3152ed0d50c3Schristos }
3153*b88e3e88Schristos #line 3154 "rcparse.c" /* yacc.c:1648 */
3154ed0d50c3Schristos break;
3155ed0d50c3Schristos
3156ed0d50c3Schristos case 135:
3157*b88e3e88Schristos #line 1061 "rcparse.y" /* yacc.c:1648 */
3158ed0d50c3Schristos {
315906324dcfSchristos (yyval.is) = (yyvsp[-1].is) | (yyvsp[0].is);
3160ed0d50c3Schristos }
3161*b88e3e88Schristos #line 3162 "rcparse.c" /* yacc.c:1648 */
3162ed0d50c3Schristos break;
3163ed0d50c3Schristos
3164ed0d50c3Schristos case 136:
3165*b88e3e88Schristos #line 1068 "rcparse.y" /* yacc.c:1648 */
3166ed0d50c3Schristos {
3167ed0d50c3Schristos (yyval.is) = MENUITEM_CHECKED;
3168ed0d50c3Schristos }
3169*b88e3e88Schristos #line 3170 "rcparse.c" /* yacc.c:1648 */
3170ed0d50c3Schristos break;
3171ed0d50c3Schristos
3172ed0d50c3Schristos case 137:
3173*b88e3e88Schristos #line 1072 "rcparse.y" /* yacc.c:1648 */
3174ed0d50c3Schristos {
3175ed0d50c3Schristos (yyval.is) = MENUITEM_GRAYED;
3176ed0d50c3Schristos }
3177*b88e3e88Schristos #line 3178 "rcparse.c" /* yacc.c:1648 */
3178ed0d50c3Schristos break;
3179ed0d50c3Schristos
3180ed0d50c3Schristos case 138:
3181*b88e3e88Schristos #line 1076 "rcparse.y" /* yacc.c:1648 */
3182ed0d50c3Schristos {
3183ed0d50c3Schristos (yyval.is) = MENUITEM_HELP;
3184ed0d50c3Schristos }
3185*b88e3e88Schristos #line 3186 "rcparse.c" /* yacc.c:1648 */
3186ed0d50c3Schristos break;
3187ed0d50c3Schristos
3188ed0d50c3Schristos case 139:
3189*b88e3e88Schristos #line 1080 "rcparse.y" /* yacc.c:1648 */
3190ed0d50c3Schristos {
3191ed0d50c3Schristos (yyval.is) = MENUITEM_INACTIVE;
3192ed0d50c3Schristos }
3193*b88e3e88Schristos #line 3194 "rcparse.c" /* yacc.c:1648 */
3194ed0d50c3Schristos break;
3195ed0d50c3Schristos
3196ed0d50c3Schristos case 140:
3197*b88e3e88Schristos #line 1084 "rcparse.y" /* yacc.c:1648 */
3198ed0d50c3Schristos {
3199ed0d50c3Schristos (yyval.is) = MENUITEM_MENUBARBREAK;
3200ed0d50c3Schristos }
3201*b88e3e88Schristos #line 3202 "rcparse.c" /* yacc.c:1648 */
3202ed0d50c3Schristos break;
3203ed0d50c3Schristos
3204ed0d50c3Schristos case 141:
3205*b88e3e88Schristos #line 1088 "rcparse.y" /* yacc.c:1648 */
3206ed0d50c3Schristos {
3207ed0d50c3Schristos (yyval.is) = MENUITEM_MENUBREAK;
3208ed0d50c3Schristos }
3209*b88e3e88Schristos #line 3210 "rcparse.c" /* yacc.c:1648 */
3210ed0d50c3Schristos break;
3211ed0d50c3Schristos
3212ed0d50c3Schristos case 142:
3213*b88e3e88Schristos #line 1097 "rcparse.y" /* yacc.c:1648 */
3214ed0d50c3Schristos {
321506324dcfSchristos define_menu ((yyvsp[-5].id), &(yyvsp[-3].res_info), (yyvsp[-1].menuitem));
3216ed0d50c3Schristos if (yychar != YYEMPTY)
3217ed0d50c3Schristos YYERROR;
3218ed0d50c3Schristos rcparse_discard_strings ();
3219ed0d50c3Schristos }
3220*b88e3e88Schristos #line 3221 "rcparse.c" /* yacc.c:1648 */
3221ed0d50c3Schristos break;
3222ed0d50c3Schristos
3223ed0d50c3Schristos case 143:
3224*b88e3e88Schristos #line 1107 "rcparse.y" /* yacc.c:1648 */
3225ed0d50c3Schristos {
3226ed0d50c3Schristos (yyval.menuitem) = NULL;
3227ed0d50c3Schristos }
3228*b88e3e88Schristos #line 3229 "rcparse.c" /* yacc.c:1648 */
3229ed0d50c3Schristos break;
3230ed0d50c3Schristos
3231ed0d50c3Schristos case 144:
3232*b88e3e88Schristos #line 1111 "rcparse.y" /* yacc.c:1648 */
3233ed0d50c3Schristos {
323406324dcfSchristos if ((yyvsp[-1].menuitem) == NULL)
323506324dcfSchristos (yyval.menuitem) = (yyvsp[0].menuitem);
3236ed0d50c3Schristos else
3237ed0d50c3Schristos {
3238ed0d50c3Schristos rc_menuitem **pp;
3239ed0d50c3Schristos
324006324dcfSchristos for (pp = &(yyvsp[-1].menuitem)->next; *pp != NULL; pp = &(*pp)->next)
3241ed0d50c3Schristos ;
324206324dcfSchristos *pp = (yyvsp[0].menuitem);
324306324dcfSchristos (yyval.menuitem) = (yyvsp[-1].menuitem);
3244ed0d50c3Schristos }
3245ed0d50c3Schristos }
3246*b88e3e88Schristos #line 3247 "rcparse.c" /* yacc.c:1648 */
3247ed0d50c3Schristos break;
3248ed0d50c3Schristos
3249ed0d50c3Schristos case 145:
3250*b88e3e88Schristos #line 1128 "rcparse.y" /* yacc.c:1648 */
3251ed0d50c3Schristos {
325206324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[0].uni), 0, 0, 0, 0, NULL);
3253ed0d50c3Schristos }
3254*b88e3e88Schristos #line 3255 "rcparse.c" /* yacc.c:1648 */
3255ed0d50c3Schristos break;
3256ed0d50c3Schristos
3257ed0d50c3Schristos case 146:
3258*b88e3e88Schristos #line 1132 "rcparse.y" /* yacc.c:1648 */
3259ed0d50c3Schristos {
326006324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-1].uni), (yyvsp[0].il), 0, 0, 0, NULL);
3261ed0d50c3Schristos }
3262*b88e3e88Schristos #line 3263 "rcparse.c" /* yacc.c:1648 */
3263ed0d50c3Schristos break;
3264ed0d50c3Schristos
3265ed0d50c3Schristos case 147:
3266*b88e3e88Schristos #line 1136 "rcparse.y" /* yacc.c:1648 */
3267ed0d50c3Schristos {
326806324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-3].uni), (yyvsp[-2].il), (yyvsp[-1].il), (yyvsp[0].il), 0, NULL);
3269ed0d50c3Schristos }
3270*b88e3e88Schristos #line 3271 "rcparse.c" /* yacc.c:1648 */
3271ed0d50c3Schristos break;
3272ed0d50c3Schristos
3273ed0d50c3Schristos case 148:
3274*b88e3e88Schristos #line 1140 "rcparse.y" /* yacc.c:1648 */
3275ed0d50c3Schristos {
3276ed0d50c3Schristos (yyval.menuitem) = define_menuitem (NULL, 0, 0, 0, 0, NULL);
3277ed0d50c3Schristos }
3278*b88e3e88Schristos #line 3279 "rcparse.c" /* yacc.c:1648 */
3279ed0d50c3Schristos break;
3280ed0d50c3Schristos
3281ed0d50c3Schristos case 149:
3282*b88e3e88Schristos #line 1144 "rcparse.y" /* yacc.c:1648 */
3283ed0d50c3Schristos {
328406324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-3].uni), 0, 0, 0, 0, (yyvsp[-1].menuitem));
3285ed0d50c3Schristos }
3286*b88e3e88Schristos #line 3287 "rcparse.c" /* yacc.c:1648 */
3287ed0d50c3Schristos break;
3288ed0d50c3Schristos
3289ed0d50c3Schristos case 150:
3290*b88e3e88Schristos #line 1148 "rcparse.y" /* yacc.c:1648 */
3291ed0d50c3Schristos {
329206324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-4].uni), (yyvsp[-3].il), 0, 0, 0, (yyvsp[-1].menuitem));
3293ed0d50c3Schristos }
3294*b88e3e88Schristos #line 3295 "rcparse.c" /* yacc.c:1648 */
3295ed0d50c3Schristos break;
3296ed0d50c3Schristos
3297ed0d50c3Schristos case 151:
3298*b88e3e88Schristos #line 1152 "rcparse.y" /* yacc.c:1648 */
3299ed0d50c3Schristos {
330006324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-5].uni), (yyvsp[-4].il), (yyvsp[-3].il), 0, 0, (yyvsp[-1].menuitem));
3301ed0d50c3Schristos }
3302*b88e3e88Schristos #line 3303 "rcparse.c" /* yacc.c:1648 */
3303ed0d50c3Schristos break;
3304ed0d50c3Schristos
3305ed0d50c3Schristos case 152:
3306*b88e3e88Schristos #line 1157 "rcparse.y" /* yacc.c:1648 */
3307ed0d50c3Schristos {
330806324dcfSchristos (yyval.menuitem) = define_menuitem ((yyvsp[-7].uni), (yyvsp[-6].il), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-1].menuitem));
3309ed0d50c3Schristos }
3310*b88e3e88Schristos #line 3311 "rcparse.c" /* yacc.c:1648 */
3311ed0d50c3Schristos break;
3312ed0d50c3Schristos
3313ed0d50c3Schristos case 153:
3314*b88e3e88Schristos #line 1166 "rcparse.y" /* yacc.c:1648 */
3315ed0d50c3Schristos {
331606324dcfSchristos define_messagetable ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s));
3317ed0d50c3Schristos if (yychar != YYEMPTY)
3318ed0d50c3Schristos YYERROR;
3319ed0d50c3Schristos rcparse_discard_strings ();
3320ed0d50c3Schristos }
3321*b88e3e88Schristos #line 3322 "rcparse.c" /* yacc.c:1648 */
3322ed0d50c3Schristos break;
3323ed0d50c3Schristos
3324ed0d50c3Schristos case 154:
3325*b88e3e88Schristos #line 1178 "rcparse.y" /* yacc.c:1648 */
3326ed0d50c3Schristos {
3327ed0d50c3Schristos rcparse_rcdata ();
3328ed0d50c3Schristos }
3329*b88e3e88Schristos #line 3330 "rcparse.c" /* yacc.c:1648 */
3330ed0d50c3Schristos break;
3331ed0d50c3Schristos
3332ed0d50c3Schristos case 155:
3333*b88e3e88Schristos #line 1182 "rcparse.y" /* yacc.c:1648 */
3334ed0d50c3Schristos {
3335ed0d50c3Schristos rcparse_normal ();
333606324dcfSchristos (yyval.rcdata) = (yyvsp[0].rcdata);
3337ed0d50c3Schristos }
3338*b88e3e88Schristos #line 3339 "rcparse.c" /* yacc.c:1648 */
3339ed0d50c3Schristos break;
3340ed0d50c3Schristos
3341ed0d50c3Schristos case 156:
3342*b88e3e88Schristos #line 1190 "rcparse.y" /* yacc.c:1648 */
3343ed0d50c3Schristos {
3344ed0d50c3Schristos (yyval.rcdata).first = NULL;
3345ed0d50c3Schristos (yyval.rcdata).last = NULL;
3346ed0d50c3Schristos }
3347*b88e3e88Schristos #line 3348 "rcparse.c" /* yacc.c:1648 */
3348ed0d50c3Schristos break;
3349ed0d50c3Schristos
3350ed0d50c3Schristos case 157:
3351*b88e3e88Schristos #line 1195 "rcparse.y" /* yacc.c:1648 */
3352ed0d50c3Schristos {
335306324dcfSchristos (yyval.rcdata) = (yyvsp[0].rcdata);
3354ed0d50c3Schristos }
3355*b88e3e88Schristos #line 3356 "rcparse.c" /* yacc.c:1648 */
3356ed0d50c3Schristos break;
3357ed0d50c3Schristos
3358ed0d50c3Schristos case 158:
3359*b88e3e88Schristos #line 1202 "rcparse.y" /* yacc.c:1648 */
3360ed0d50c3Schristos {
3361ed0d50c3Schristos rc_rcdata_item *ri;
3362ed0d50c3Schristos
336306324dcfSchristos ri = define_rcdata_string ((yyvsp[0].ss).s, (yyvsp[0].ss).length);
3364ed0d50c3Schristos (yyval.rcdata).first = ri;
3365ed0d50c3Schristos (yyval.rcdata).last = ri;
3366ed0d50c3Schristos }
3367*b88e3e88Schristos #line 3368 "rcparse.c" /* yacc.c:1648 */
3368ed0d50c3Schristos break;
3369ed0d50c3Schristos
3370ed0d50c3Schristos case 159:
3371*b88e3e88Schristos #line 1210 "rcparse.y" /* yacc.c:1648 */
3372ed0d50c3Schristos {
3373ed0d50c3Schristos rc_rcdata_item *ri;
3374ed0d50c3Schristos
337506324dcfSchristos ri = define_rcdata_unistring ((yyvsp[0].suni).s, (yyvsp[0].suni).length);
3376ed0d50c3Schristos (yyval.rcdata).first = ri;
3377ed0d50c3Schristos (yyval.rcdata).last = ri;
3378ed0d50c3Schristos }
3379*b88e3e88Schristos #line 3380 "rcparse.c" /* yacc.c:1648 */
3380ed0d50c3Schristos break;
3381ed0d50c3Schristos
3382ed0d50c3Schristos case 160:
3383*b88e3e88Schristos #line 1218 "rcparse.y" /* yacc.c:1648 */
3384ed0d50c3Schristos {
3385ed0d50c3Schristos rc_rcdata_item *ri;
3386ed0d50c3Schristos
338706324dcfSchristos ri = define_rcdata_number ((yyvsp[0].i).val, (yyvsp[0].i).dword);
3388ed0d50c3Schristos (yyval.rcdata).first = ri;
3389ed0d50c3Schristos (yyval.rcdata).last = ri;
3390ed0d50c3Schristos }
3391*b88e3e88Schristos #line 3392 "rcparse.c" /* yacc.c:1648 */
3392ed0d50c3Schristos break;
3393ed0d50c3Schristos
3394ed0d50c3Schristos case 161:
3395*b88e3e88Schristos #line 1226 "rcparse.y" /* yacc.c:1648 */
3396ed0d50c3Schristos {
3397ed0d50c3Schristos rc_rcdata_item *ri;
3398ed0d50c3Schristos
339906324dcfSchristos ri = define_rcdata_string ((yyvsp[0].ss).s, (yyvsp[0].ss).length);
340006324dcfSchristos (yyval.rcdata).first = (yyvsp[-2].rcdata).first;
340106324dcfSchristos (yyvsp[-2].rcdata).last->next = ri;
3402ed0d50c3Schristos (yyval.rcdata).last = ri;
3403ed0d50c3Schristos }
3404*b88e3e88Schristos #line 3405 "rcparse.c" /* yacc.c:1648 */
3405ed0d50c3Schristos break;
3406ed0d50c3Schristos
3407ed0d50c3Schristos case 162:
3408*b88e3e88Schristos #line 1235 "rcparse.y" /* yacc.c:1648 */
3409ed0d50c3Schristos {
3410ed0d50c3Schristos rc_rcdata_item *ri;
3411ed0d50c3Schristos
341206324dcfSchristos ri = define_rcdata_unistring ((yyvsp[0].suni).s, (yyvsp[0].suni).length);
341306324dcfSchristos (yyval.rcdata).first = (yyvsp[-2].rcdata).first;
341406324dcfSchristos (yyvsp[-2].rcdata).last->next = ri;
3415ed0d50c3Schristos (yyval.rcdata).last = ri;
3416ed0d50c3Schristos }
3417*b88e3e88Schristos #line 3418 "rcparse.c" /* yacc.c:1648 */
3418ed0d50c3Schristos break;
3419ed0d50c3Schristos
3420ed0d50c3Schristos case 163:
3421*b88e3e88Schristos #line 1244 "rcparse.y" /* yacc.c:1648 */
3422ed0d50c3Schristos {
3423ed0d50c3Schristos rc_rcdata_item *ri;
3424ed0d50c3Schristos
342506324dcfSchristos ri = define_rcdata_number ((yyvsp[0].i).val, (yyvsp[0].i).dword);
342606324dcfSchristos (yyval.rcdata).first = (yyvsp[-2].rcdata).first;
342706324dcfSchristos (yyvsp[-2].rcdata).last->next = ri;
3428ed0d50c3Schristos (yyval.rcdata).last = ri;
3429ed0d50c3Schristos }
3430*b88e3e88Schristos #line 3431 "rcparse.c" /* yacc.c:1648 */
3431ed0d50c3Schristos break;
3432ed0d50c3Schristos
3433ed0d50c3Schristos case 164:
3434*b88e3e88Schristos #line 1253 "rcparse.y" /* yacc.c:1648 */
3435ed0d50c3Schristos {
343606324dcfSchristos (yyval.rcdata)=(yyvsp[-1].rcdata);
3437ed0d50c3Schristos }
3438*b88e3e88Schristos #line 3439 "rcparse.c" /* yacc.c:1648 */
3439ed0d50c3Schristos break;
3440ed0d50c3Schristos
3441ed0d50c3Schristos case 165:
3442*b88e3e88Schristos #line 1262 "rcparse.y" /* yacc.c:1648 */
344306324dcfSchristos { sub_res_info = (yyvsp[-1].res_info); rcparse_rcdata (); }
3444*b88e3e88Schristos #line 3445 "rcparse.c" /* yacc.c:1648 */
3445ed0d50c3Schristos break;
3446ed0d50c3Schristos
3447ed0d50c3Schristos case 166:
3448*b88e3e88Schristos #line 1263 "rcparse.y" /* yacc.c:1648 */
3449ed0d50c3Schristos { rcparse_normal (); }
3450*b88e3e88Schristos #line 3451 "rcparse.c" /* yacc.c:1648 */
3451ed0d50c3Schristos break;
3452ed0d50c3Schristos
3453ed0d50c3Schristos case 168:
3454*b88e3e88Schristos #line 1269 "rcparse.y" /* yacc.c:1648 */
3455ed0d50c3Schristos {
345606324dcfSchristos define_stringtable (&sub_res_info, (yyvsp[-1].il), (yyvsp[0].suni).s, (yyvsp[0].suni).length);
3457ed0d50c3Schristos rcparse_discard_strings ();
3458ed0d50c3Schristos }
3459*b88e3e88Schristos #line 3460 "rcparse.c" /* yacc.c:1648 */
3460ed0d50c3Schristos break;
3461ed0d50c3Schristos
3462ed0d50c3Schristos case 169:
3463*b88e3e88Schristos #line 1274 "rcparse.y" /* yacc.c:1648 */
3464ed0d50c3Schristos {
346506324dcfSchristos define_stringtable (&sub_res_info, (yyvsp[-2].il), (yyvsp[0].suni).s, (yyvsp[0].suni).length);
3466ed0d50c3Schristos rcparse_discard_strings ();
3467ed0d50c3Schristos }
3468*b88e3e88Schristos #line 3469 "rcparse.c" /* yacc.c:1648 */
3469ed0d50c3Schristos break;
3470ed0d50c3Schristos
3471ed0d50c3Schristos case 170:
3472*b88e3e88Schristos #line 1279 "rcparse.y" /* yacc.c:1648 */
3473ed0d50c3Schristos {
3474ed0d50c3Schristos rcparse_warning (_("invalid stringtable resource."));
3475ed0d50c3Schristos abort ();
3476ed0d50c3Schristos }
3477*b88e3e88Schristos #line 3478 "rcparse.c" /* yacc.c:1648 */
3478ed0d50c3Schristos break;
3479ed0d50c3Schristos
3480ed0d50c3Schristos case 171:
3481*b88e3e88Schristos #line 1287 "rcparse.y" /* yacc.c:1648 */
3482ed0d50c3Schristos {
348306324dcfSchristos (yyval.id)=(yyvsp[0].id);
3484ed0d50c3Schristos }
3485*b88e3e88Schristos #line 3486 "rcparse.c" /* yacc.c:1648 */
3486ed0d50c3Schristos break;
3487ed0d50c3Schristos
3488ed0d50c3Schristos case 172:
3489*b88e3e88Schristos #line 1291 "rcparse.y" /* yacc.c:1648 */
3490ed0d50c3Schristos {
3491ed0d50c3Schristos (yyval.id).named = 0;
3492ed0d50c3Schristos (yyval.id).u.id = 23;
3493ed0d50c3Schristos }
3494*b88e3e88Schristos #line 3495 "rcparse.c" /* yacc.c:1648 */
3495ed0d50c3Schristos break;
3496ed0d50c3Schristos
3497ed0d50c3Schristos case 173:
3498*b88e3e88Schristos #line 1296 "rcparse.y" /* yacc.c:1648 */
3499ed0d50c3Schristos {
3500ed0d50c3Schristos (yyval.id).named = 0;
3501ed0d50c3Schristos (yyval.id).u.id = RT_RCDATA;
3502ed0d50c3Schristos }
3503*b88e3e88Schristos #line 3504 "rcparse.c" /* yacc.c:1648 */
3504ed0d50c3Schristos break;
3505ed0d50c3Schristos
3506ed0d50c3Schristos case 174:
3507*b88e3e88Schristos #line 1301 "rcparse.y" /* yacc.c:1648 */
3508ed0d50c3Schristos {
3509ed0d50c3Schristos (yyval.id).named = 0;
3510ed0d50c3Schristos (yyval.id).u.id = RT_MANIFEST;
3511ed0d50c3Schristos }
3512*b88e3e88Schristos #line 3513 "rcparse.c" /* yacc.c:1648 */
3513ed0d50c3Schristos break;
3514ed0d50c3Schristos
3515ed0d50c3Schristos case 175:
3516*b88e3e88Schristos #line 1306 "rcparse.y" /* yacc.c:1648 */
3517ed0d50c3Schristos {
3518ed0d50c3Schristos (yyval.id).named = 0;
3519ed0d50c3Schristos (yyval.id).u.id = RT_PLUGPLAY;
3520ed0d50c3Schristos }
3521*b88e3e88Schristos #line 3522 "rcparse.c" /* yacc.c:1648 */
3522ed0d50c3Schristos break;
3523ed0d50c3Schristos
3524ed0d50c3Schristos case 176:
3525*b88e3e88Schristos #line 1311 "rcparse.y" /* yacc.c:1648 */
3526ed0d50c3Schristos {
3527ed0d50c3Schristos (yyval.id).named = 0;
3528ed0d50c3Schristos (yyval.id).u.id = RT_VXD;
3529ed0d50c3Schristos }
3530*b88e3e88Schristos #line 3531 "rcparse.c" /* yacc.c:1648 */
3531ed0d50c3Schristos break;
3532ed0d50c3Schristos
3533ed0d50c3Schristos case 177:
3534*b88e3e88Schristos #line 1316 "rcparse.y" /* yacc.c:1648 */
3535ed0d50c3Schristos {
3536ed0d50c3Schristos (yyval.id).named = 0;
3537ed0d50c3Schristos (yyval.id).u.id = RT_DLGINCLUDE;
3538ed0d50c3Schristos }
3539*b88e3e88Schristos #line 3540 "rcparse.c" /* yacc.c:1648 */
3540ed0d50c3Schristos break;
3541ed0d50c3Schristos
3542ed0d50c3Schristos case 178:
3543*b88e3e88Schristos #line 1321 "rcparse.y" /* yacc.c:1648 */
3544ed0d50c3Schristos {
3545ed0d50c3Schristos (yyval.id).named = 0;
3546ed0d50c3Schristos (yyval.id).u.id = RT_DLGINIT;
3547ed0d50c3Schristos }
3548*b88e3e88Schristos #line 3549 "rcparse.c" /* yacc.c:1648 */
3549ed0d50c3Schristos break;
3550ed0d50c3Schristos
3551ed0d50c3Schristos case 179:
3552*b88e3e88Schristos #line 1326 "rcparse.y" /* yacc.c:1648 */
3553ed0d50c3Schristos {
3554ed0d50c3Schristos (yyval.id).named = 0;
3555ed0d50c3Schristos (yyval.id).u.id = RT_ANICURSOR;
3556ed0d50c3Schristos }
3557*b88e3e88Schristos #line 3558 "rcparse.c" /* yacc.c:1648 */
3558ed0d50c3Schristos break;
3559ed0d50c3Schristos
3560ed0d50c3Schristos case 180:
3561*b88e3e88Schristos #line 1331 "rcparse.y" /* yacc.c:1648 */
3562ed0d50c3Schristos {
3563ed0d50c3Schristos (yyval.id).named = 0;
3564ed0d50c3Schristos (yyval.id).u.id = RT_ANIICON;
3565ed0d50c3Schristos }
3566*b88e3e88Schristos #line 3567 "rcparse.c" /* yacc.c:1648 */
3567ed0d50c3Schristos break;
3568ed0d50c3Schristos
3569ed0d50c3Schristos case 181:
3570*b88e3e88Schristos #line 1342 "rcparse.y" /* yacc.c:1648 */
3571ed0d50c3Schristos {
357206324dcfSchristos define_user_data ((yyvsp[-5].id), (yyvsp[-4].id), &(yyvsp[-3].res_info), (yyvsp[-1].rcdata).first);
3573ed0d50c3Schristos if (yychar != YYEMPTY)
3574ed0d50c3Schristos YYERROR;
3575ed0d50c3Schristos rcparse_discard_strings ();
3576ed0d50c3Schristos }
3577*b88e3e88Schristos #line 3578 "rcparse.c" /* yacc.c:1648 */
3578ed0d50c3Schristos break;
3579ed0d50c3Schristos
3580ed0d50c3Schristos case 182:
3581*b88e3e88Schristos #line 1349 "rcparse.y" /* yacc.c:1648 */
3582ed0d50c3Schristos {
358306324dcfSchristos define_user_file ((yyvsp[-3].id), (yyvsp[-2].id), &(yyvsp[-1].res_info), (yyvsp[0].s));
3584ed0d50c3Schristos if (yychar != YYEMPTY)
3585ed0d50c3Schristos YYERROR;
3586ed0d50c3Schristos rcparse_discard_strings ();
3587ed0d50c3Schristos }
3588*b88e3e88Schristos #line 3589 "rcparse.c" /* yacc.c:1648 */
3589ed0d50c3Schristos break;
3590ed0d50c3Schristos
3591ed0d50c3Schristos case 183:
3592*b88e3e88Schristos #line 1359 "rcparse.y" /* yacc.c:1648 */
3593ed0d50c3Schristos {
359406324dcfSchristos define_toolbar ((yyvsp[-7].id), &(yyvsp[-5].res_info), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-1].toobar_item));
3595ed0d50c3Schristos }
3596*b88e3e88Schristos #line 3597 "rcparse.c" /* yacc.c:1648 */
3597ed0d50c3Schristos break;
3598ed0d50c3Schristos
3599ed0d50c3Schristos case 184:
3600*b88e3e88Schristos #line 1364 "rcparse.y" /* yacc.c:1648 */
3601ed0d50c3Schristos { (yyval.toobar_item)= NULL; }
3602*b88e3e88Schristos #line 3603 "rcparse.c" /* yacc.c:1648 */
3603ed0d50c3Schristos break;
3604ed0d50c3Schristos
3605ed0d50c3Schristos case 185:
3606*b88e3e88Schristos #line 1366 "rcparse.y" /* yacc.c:1648 */
3607ed0d50c3Schristos {
3608ed0d50c3Schristos rc_toolbar_item *c,*n;
360906324dcfSchristos c = (yyvsp[-2].toobar_item);
3610ed0d50c3Schristos n= (rc_toolbar_item *)
3611ed0d50c3Schristos res_alloc (sizeof (rc_toolbar_item));
3612ed0d50c3Schristos if (c != NULL)
3613ed0d50c3Schristos while (c->next != NULL)
3614ed0d50c3Schristos c = c->next;
3615ed0d50c3Schristos n->prev = c;
3616ed0d50c3Schristos n->next = NULL;
3617ed0d50c3Schristos if (c != NULL)
3618ed0d50c3Schristos c->next = n;
361906324dcfSchristos n->id = (yyvsp[0].id);
362006324dcfSchristos if ((yyvsp[-2].toobar_item) == NULL)
3621ed0d50c3Schristos (yyval.toobar_item) = n;
3622ed0d50c3Schristos else
362306324dcfSchristos (yyval.toobar_item) = (yyvsp[-2].toobar_item);
3624ed0d50c3Schristos }
3625*b88e3e88Schristos #line 3626 "rcparse.c" /* yacc.c:1648 */
3626ed0d50c3Schristos break;
3627ed0d50c3Schristos
3628ed0d50c3Schristos case 186:
3629*b88e3e88Schristos #line 1385 "rcparse.y" /* yacc.c:1648 */
3630ed0d50c3Schristos {
3631ed0d50c3Schristos rc_toolbar_item *c,*n;
363206324dcfSchristos c = (yyvsp[-1].toobar_item);
3633ed0d50c3Schristos n= (rc_toolbar_item *)
3634ed0d50c3Schristos res_alloc (sizeof (rc_toolbar_item));
3635ed0d50c3Schristos if (c != NULL)
3636ed0d50c3Schristos while (c->next != NULL)
3637ed0d50c3Schristos c = c->next;
3638ed0d50c3Schristos n->prev = c;
3639ed0d50c3Schristos n->next = NULL;
3640ed0d50c3Schristos if (c != NULL)
3641ed0d50c3Schristos c->next = n;
3642ed0d50c3Schristos n->id.named = 0;
3643ed0d50c3Schristos n->id.u.id = 0;
364406324dcfSchristos if ((yyvsp[-1].toobar_item) == NULL)
3645ed0d50c3Schristos (yyval.toobar_item) = n;
3646ed0d50c3Schristos else
364706324dcfSchristos (yyval.toobar_item) = (yyvsp[-1].toobar_item);
3648ed0d50c3Schristos }
3649*b88e3e88Schristos #line 3650 "rcparse.c" /* yacc.c:1648 */
3650ed0d50c3Schristos break;
3651ed0d50c3Schristos
3652ed0d50c3Schristos case 187:
3653*b88e3e88Schristos #line 1410 "rcparse.y" /* yacc.c:1648 */
3654ed0d50c3Schristos {
365506324dcfSchristos define_versioninfo ((yyvsp[-5].id), language, (yyvsp[-3].fixver), (yyvsp[-1].verinfo));
3656ed0d50c3Schristos if (yychar != YYEMPTY)
3657ed0d50c3Schristos YYERROR;
3658ed0d50c3Schristos rcparse_discard_strings ();
3659ed0d50c3Schristos }
3660*b88e3e88Schristos #line 3661 "rcparse.c" /* yacc.c:1648 */
3661ed0d50c3Schristos break;
3662ed0d50c3Schristos
3663ed0d50c3Schristos case 188:
3664*b88e3e88Schristos #line 1420 "rcparse.y" /* yacc.c:1648 */
3665ed0d50c3Schristos {
3666ed0d50c3Schristos (yyval.fixver) = ((rc_fixed_versioninfo *)
3667ed0d50c3Schristos res_alloc (sizeof (rc_fixed_versioninfo)));
3668ed0d50c3Schristos memset ((yyval.fixver), 0, sizeof (rc_fixed_versioninfo));
3669ed0d50c3Schristos }
3670*b88e3e88Schristos #line 3671 "rcparse.c" /* yacc.c:1648 */
3671ed0d50c3Schristos break;
3672ed0d50c3Schristos
3673ed0d50c3Schristos case 189:
3674*b88e3e88Schristos #line 1427 "rcparse.y" /* yacc.c:1648 */
3675ed0d50c3Schristos {
367606324dcfSchristos (yyvsp[-5].fixver)->file_version_ms = ((yyvsp[-3].il) << 16) | ((yyvsp[-2].il) & 0xffff);
367706324dcfSchristos (yyvsp[-5].fixver)->file_version_ls = ((yyvsp[-1].il) << 16) | ((yyvsp[0].il) & 0xffff);
367806324dcfSchristos (yyval.fixver) = (yyvsp[-5].fixver);
3679ed0d50c3Schristos }
3680*b88e3e88Schristos #line 3681 "rcparse.c" /* yacc.c:1648 */
3681ed0d50c3Schristos break;
3682ed0d50c3Schristos
3683ed0d50c3Schristos case 190:
3684*b88e3e88Schristos #line 1434 "rcparse.y" /* yacc.c:1648 */
3685ed0d50c3Schristos {
368606324dcfSchristos (yyvsp[-5].fixver)->product_version_ms = ((yyvsp[-3].il) << 16) | ((yyvsp[-2].il) & 0xffff);
368706324dcfSchristos (yyvsp[-5].fixver)->product_version_ls = ((yyvsp[-1].il) << 16) | ((yyvsp[0].il) & 0xffff);
368806324dcfSchristos (yyval.fixver) = (yyvsp[-5].fixver);
3689ed0d50c3Schristos }
3690*b88e3e88Schristos #line 3691 "rcparse.c" /* yacc.c:1648 */
3691ed0d50c3Schristos break;
3692ed0d50c3Schristos
3693ed0d50c3Schristos case 191:
3694*b88e3e88Schristos #line 1440 "rcparse.y" /* yacc.c:1648 */
3695ed0d50c3Schristos {
369606324dcfSchristos (yyvsp[-2].fixver)->file_flags_mask = (yyvsp[0].il);
369706324dcfSchristos (yyval.fixver) = (yyvsp[-2].fixver);
3698ed0d50c3Schristos }
3699*b88e3e88Schristos #line 3700 "rcparse.c" /* yacc.c:1648 */
3700ed0d50c3Schristos break;
3701ed0d50c3Schristos
3702ed0d50c3Schristos case 192:
3703*b88e3e88Schristos #line 1445 "rcparse.y" /* yacc.c:1648 */
3704ed0d50c3Schristos {
370506324dcfSchristos (yyvsp[-2].fixver)->file_flags = (yyvsp[0].il);
370606324dcfSchristos (yyval.fixver) = (yyvsp[-2].fixver);
3707ed0d50c3Schristos }
3708*b88e3e88Schristos #line 3709 "rcparse.c" /* yacc.c:1648 */
3709ed0d50c3Schristos break;
3710ed0d50c3Schristos
3711ed0d50c3Schristos case 193:
3712*b88e3e88Schristos #line 1450 "rcparse.y" /* yacc.c:1648 */
3713ed0d50c3Schristos {
371406324dcfSchristos (yyvsp[-2].fixver)->file_os = (yyvsp[0].il);
371506324dcfSchristos (yyval.fixver) = (yyvsp[-2].fixver);
3716ed0d50c3Schristos }
3717*b88e3e88Schristos #line 3718 "rcparse.c" /* yacc.c:1648 */
3718ed0d50c3Schristos break;
3719ed0d50c3Schristos
3720ed0d50c3Schristos case 194:
3721*b88e3e88Schristos #line 1455 "rcparse.y" /* yacc.c:1648 */
3722ed0d50c3Schristos {
372306324dcfSchristos (yyvsp[-2].fixver)->file_type = (yyvsp[0].il);
372406324dcfSchristos (yyval.fixver) = (yyvsp[-2].fixver);
3725ed0d50c3Schristos }
3726*b88e3e88Schristos #line 3727 "rcparse.c" /* yacc.c:1648 */
3727ed0d50c3Schristos break;
3728ed0d50c3Schristos
3729ed0d50c3Schristos case 195:
3730*b88e3e88Schristos #line 1460 "rcparse.y" /* yacc.c:1648 */
3731ed0d50c3Schristos {
373206324dcfSchristos (yyvsp[-2].fixver)->file_subtype = (yyvsp[0].il);
373306324dcfSchristos (yyval.fixver) = (yyvsp[-2].fixver);
3734ed0d50c3Schristos }
3735*b88e3e88Schristos #line 3736 "rcparse.c" /* yacc.c:1648 */
3736ed0d50c3Schristos break;
3737ed0d50c3Schristos
3738ed0d50c3Schristos case 196:
3739*b88e3e88Schristos #line 1474 "rcparse.y" /* yacc.c:1648 */
3740ed0d50c3Schristos {
3741ed0d50c3Schristos (yyval.verinfo) = NULL;
3742ed0d50c3Schristos }
3743*b88e3e88Schristos #line 3744 "rcparse.c" /* yacc.c:1648 */
3744ed0d50c3Schristos break;
3745ed0d50c3Schristos
3746ed0d50c3Schristos case 197:
3747*b88e3e88Schristos #line 1478 "rcparse.y" /* yacc.c:1648 */
3748ed0d50c3Schristos {
374906324dcfSchristos (yyval.verinfo) = append_ver_stringfileinfo ((yyvsp[-4].verinfo), (yyvsp[-1].verstringtable));
3750ed0d50c3Schristos }
3751*b88e3e88Schristos #line 3752 "rcparse.c" /* yacc.c:1648 */
3752ed0d50c3Schristos break;
3753ed0d50c3Schristos
3754ed0d50c3Schristos case 198:
3755*b88e3e88Schristos #line 1482 "rcparse.y" /* yacc.c:1648 */
3756ed0d50c3Schristos {
375706324dcfSchristos (yyval.verinfo) = append_ver_varfileinfo ((yyvsp[-6].verinfo), (yyvsp[-2].uni), (yyvsp[-1].vervar));
3758ed0d50c3Schristos }
3759*b88e3e88Schristos #line 3760 "rcparse.c" /* yacc.c:1648 */
3760ed0d50c3Schristos break;
3761ed0d50c3Schristos
3762ed0d50c3Schristos case 199:
3763*b88e3e88Schristos #line 1489 "rcparse.y" /* yacc.c:1648 */
3764ed0d50c3Schristos {
3765ed0d50c3Schristos (yyval.verstringtable) = NULL;
3766ed0d50c3Schristos }
3767*b88e3e88Schristos #line 3768 "rcparse.c" /* yacc.c:1648 */
3768ed0d50c3Schristos break;
3769ed0d50c3Schristos
3770ed0d50c3Schristos case 200:
3771*b88e3e88Schristos #line 1493 "rcparse.y" /* yacc.c:1648 */
3772ed0d50c3Schristos {
377306324dcfSchristos (yyval.verstringtable) = append_ver_stringtable ((yyvsp[-4].verstringtable), (yyvsp[-3].s), (yyvsp[-1].verstring));
3774ed0d50c3Schristos }
3775*b88e3e88Schristos #line 3776 "rcparse.c" /* yacc.c:1648 */
3776ed0d50c3Schristos break;
3777ed0d50c3Schristos
3778ed0d50c3Schristos case 201:
3779*b88e3e88Schristos #line 1500 "rcparse.y" /* yacc.c:1648 */
3780ed0d50c3Schristos {
3781ed0d50c3Schristos (yyval.verstring) = NULL;
3782ed0d50c3Schristos }
3783*b88e3e88Schristos #line 3784 "rcparse.c" /* yacc.c:1648 */
3784ed0d50c3Schristos break;
3785ed0d50c3Schristos
3786ed0d50c3Schristos case 202:
3787*b88e3e88Schristos #line 1504 "rcparse.y" /* yacc.c:1648 */
3788ed0d50c3Schristos {
378906324dcfSchristos (yyval.verstring) = append_verval ((yyvsp[-4].verstring), (yyvsp[-2].uni), (yyvsp[0].uni));
3790ed0d50c3Schristos }
3791*b88e3e88Schristos #line 3792 "rcparse.c" /* yacc.c:1648 */
3792ed0d50c3Schristos break;
3793ed0d50c3Schristos
3794ed0d50c3Schristos case 203:
3795*b88e3e88Schristos #line 1511 "rcparse.y" /* yacc.c:1648 */
3796ed0d50c3Schristos {
3797ed0d50c3Schristos (yyval.vervar) = NULL;
3798ed0d50c3Schristos }
3799*b88e3e88Schristos #line 3800 "rcparse.c" /* yacc.c:1648 */
3800ed0d50c3Schristos break;
3801ed0d50c3Schristos
3802ed0d50c3Schristos case 204:
3803*b88e3e88Schristos #line 1515 "rcparse.y" /* yacc.c:1648 */
3804ed0d50c3Schristos {
380506324dcfSchristos (yyval.vervar) = append_vertrans ((yyvsp[-2].vervar), (yyvsp[-1].il), (yyvsp[0].il));
3806ed0d50c3Schristos }
3807*b88e3e88Schristos #line 3808 "rcparse.c" /* yacc.c:1648 */
3808ed0d50c3Schristos break;
3809ed0d50c3Schristos
3810ed0d50c3Schristos case 205:
3811*b88e3e88Schristos #line 1524 "rcparse.y" /* yacc.c:1648 */
3812ed0d50c3Schristos {
3813ed0d50c3Schristos (yyval.id).named = 0;
381406324dcfSchristos (yyval.id).u.id = (yyvsp[0].il);
3815ed0d50c3Schristos }
3816*b88e3e88Schristos #line 3817 "rcparse.c" /* yacc.c:1648 */
3817ed0d50c3Schristos break;
3818ed0d50c3Schristos
3819ed0d50c3Schristos case 206:
3820*b88e3e88Schristos #line 1529 "rcparse.y" /* yacc.c:1648 */
3821ed0d50c3Schristos {
382206324dcfSchristos res_unistring_to_id (&(yyval.id), (yyvsp[0].uni));
3823ed0d50c3Schristos }
3824*b88e3e88Schristos #line 3825 "rcparse.c" /* yacc.c:1648 */
3825ed0d50c3Schristos break;
3826ed0d50c3Schristos
3827ed0d50c3Schristos case 207:
3828*b88e3e88Schristos #line 1538 "rcparse.y" /* yacc.c:1648 */
3829ed0d50c3Schristos {
383006324dcfSchristos (yyval.uni) = (yyvsp[0].uni);
3831ed0d50c3Schristos }
3832*b88e3e88Schristos #line 3833 "rcparse.c" /* yacc.c:1648 */
3833ed0d50c3Schristos break;
3834ed0d50c3Schristos
3835ed0d50c3Schristos case 208:
3836*b88e3e88Schristos #line 1542 "rcparse.y" /* yacc.c:1648 */
3837ed0d50c3Schristos {
3838ed0d50c3Schristos unichar *h = NULL;
383906324dcfSchristos unicode_from_ascii ((rc_uint_type *) NULL, &h, (yyvsp[0].s));
3840ed0d50c3Schristos (yyval.uni) = h;
3841ed0d50c3Schristos }
3842*b88e3e88Schristos #line 3843 "rcparse.c" /* yacc.c:1648 */
3843ed0d50c3Schristos break;
3844ed0d50c3Schristos
3845ed0d50c3Schristos case 209:
3846*b88e3e88Schristos #line 1552 "rcparse.y" /* yacc.c:1648 */
3847ed0d50c3Schristos {
3848ed0d50c3Schristos (yyval.id).named = 0;
384906324dcfSchristos (yyval.id).u.id = (yyvsp[-1].il);
3850ed0d50c3Schristos }
3851*b88e3e88Schristos #line 3852 "rcparse.c" /* yacc.c:1648 */
3852ed0d50c3Schristos break;
3853ed0d50c3Schristos
3854ed0d50c3Schristos case 210:
3855*b88e3e88Schristos #line 1557 "rcparse.y" /* yacc.c:1648 */
3856ed0d50c3Schristos {
385706324dcfSchristos res_unistring_to_id (&(yyval.id), (yyvsp[0].uni));
3858ed0d50c3Schristos }
3859*b88e3e88Schristos #line 3860 "rcparse.c" /* yacc.c:1648 */
3860ed0d50c3Schristos break;
3861ed0d50c3Schristos
3862ed0d50c3Schristos case 211:
3863*b88e3e88Schristos #line 1561 "rcparse.y" /* yacc.c:1648 */
3864ed0d50c3Schristos {
386506324dcfSchristos res_unistring_to_id (&(yyval.id), (yyvsp[-1].uni));
3866ed0d50c3Schristos }
3867*b88e3e88Schristos #line 3868 "rcparse.c" /* yacc.c:1648 */
3868ed0d50c3Schristos break;
3869ed0d50c3Schristos
3870ed0d50c3Schristos case 212:
3871*b88e3e88Schristos #line 1571 "rcparse.y" /* yacc.c:1648 */
3872ed0d50c3Schristos {
3873ed0d50c3Schristos memset (&(yyval.res_info), 0, sizeof (rc_res_res_info));
3874ed0d50c3Schristos (yyval.res_info).language = language;
3875ed0d50c3Schristos /* FIXME: Is this the right default? */
3876ed0d50c3Schristos (yyval.res_info).memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE;
3877ed0d50c3Schristos }
3878*b88e3e88Schristos #line 3879 "rcparse.c" /* yacc.c:1648 */
3879ed0d50c3Schristos break;
3880ed0d50c3Schristos
3881ed0d50c3Schristos case 213:
3882*b88e3e88Schristos #line 1578 "rcparse.y" /* yacc.c:1648 */
3883ed0d50c3Schristos {
388406324dcfSchristos (yyval.res_info) = (yyvsp[-1].res_info);
388506324dcfSchristos (yyval.res_info).memflags |= (yyvsp[0].memflags).on;
388606324dcfSchristos (yyval.res_info).memflags &=~ (yyvsp[0].memflags).off;
3887ed0d50c3Schristos }
3888*b88e3e88Schristos #line 3889 "rcparse.c" /* yacc.c:1648 */
3889ed0d50c3Schristos break;
3890ed0d50c3Schristos
3891ed0d50c3Schristos case 214:
3892*b88e3e88Schristos #line 1584 "rcparse.y" /* yacc.c:1648 */
3893ed0d50c3Schristos {
389406324dcfSchristos (yyval.res_info) = (yyvsp[-2].res_info);
389506324dcfSchristos (yyval.res_info).characteristics = (yyvsp[0].il);
3896ed0d50c3Schristos }
3897*b88e3e88Schristos #line 3898 "rcparse.c" /* yacc.c:1648 */
3898ed0d50c3Schristos break;
3899ed0d50c3Schristos
3900ed0d50c3Schristos case 215:
3901*b88e3e88Schristos #line 1589 "rcparse.y" /* yacc.c:1648 */
3902ed0d50c3Schristos {
390306324dcfSchristos (yyval.res_info) = (yyvsp[-3].res_info);
390406324dcfSchristos (yyval.res_info).language = (yyvsp[-1].il) | ((yyvsp[0].il) << SUBLANG_SHIFT);
3905ed0d50c3Schristos }
3906*b88e3e88Schristos #line 3907 "rcparse.c" /* yacc.c:1648 */
3907ed0d50c3Schristos break;
3908ed0d50c3Schristos
3909ed0d50c3Schristos case 216:
3910*b88e3e88Schristos #line 1594 "rcparse.y" /* yacc.c:1648 */
3911ed0d50c3Schristos {
391206324dcfSchristos (yyval.res_info) = (yyvsp[-2].res_info);
391306324dcfSchristos (yyval.res_info).version = (yyvsp[0].il);
3914ed0d50c3Schristos }
3915*b88e3e88Schristos #line 3916 "rcparse.c" /* yacc.c:1648 */
3916ed0d50c3Schristos break;
3917ed0d50c3Schristos
3918ed0d50c3Schristos case 217:
3919*b88e3e88Schristos #line 1604 "rcparse.y" /* yacc.c:1648 */
3920ed0d50c3Schristos {
3921ed0d50c3Schristos memset (&(yyval.res_info), 0, sizeof (rc_res_res_info));
3922ed0d50c3Schristos (yyval.res_info).language = language;
3923ed0d50c3Schristos (yyval.res_info).memflags = MEMFLAG_MOVEABLE | MEMFLAG_DISCARDABLE;
3924ed0d50c3Schristos }
3925*b88e3e88Schristos #line 3926 "rcparse.c" /* yacc.c:1648 */
3926ed0d50c3Schristos break;
3927ed0d50c3Schristos
3928ed0d50c3Schristos case 218:
3929*b88e3e88Schristos #line 1610 "rcparse.y" /* yacc.c:1648 */
3930ed0d50c3Schristos {
393106324dcfSchristos (yyval.res_info) = (yyvsp[-1].res_info);
393206324dcfSchristos (yyval.res_info).memflags |= (yyvsp[0].memflags).on;
393306324dcfSchristos (yyval.res_info).memflags &=~ (yyvsp[0].memflags).off;
3934ed0d50c3Schristos }
3935*b88e3e88Schristos #line 3936 "rcparse.c" /* yacc.c:1648 */
3936ed0d50c3Schristos break;
3937ed0d50c3Schristos
3938ed0d50c3Schristos case 219:
3939*b88e3e88Schristos #line 1621 "rcparse.y" /* yacc.c:1648 */
3940ed0d50c3Schristos {
3941ed0d50c3Schristos memset (&(yyval.res_info), 0, sizeof (rc_res_res_info));
3942ed0d50c3Schristos (yyval.res_info).language = language;
3943ed0d50c3Schristos (yyval.res_info).memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE;
3944ed0d50c3Schristos }
3945*b88e3e88Schristos #line 3946 "rcparse.c" /* yacc.c:1648 */
3946ed0d50c3Schristos break;
3947ed0d50c3Schristos
3948ed0d50c3Schristos case 220:
3949*b88e3e88Schristos #line 1627 "rcparse.y" /* yacc.c:1648 */
3950ed0d50c3Schristos {
395106324dcfSchristos (yyval.res_info) = (yyvsp[-1].res_info);
395206324dcfSchristos (yyval.res_info).memflags |= (yyvsp[0].memflags).on;
395306324dcfSchristos (yyval.res_info).memflags &=~ (yyvsp[0].memflags).off;
3954ed0d50c3Schristos }
3955*b88e3e88Schristos #line 3956 "rcparse.c" /* yacc.c:1648 */
3956ed0d50c3Schristos break;
3957ed0d50c3Schristos
3958ed0d50c3Schristos case 221:
3959*b88e3e88Schristos #line 1639 "rcparse.y" /* yacc.c:1648 */
3960ed0d50c3Schristos {
3961ed0d50c3Schristos (yyval.memflags).on = MEMFLAG_MOVEABLE;
3962ed0d50c3Schristos (yyval.memflags).off = 0;
3963ed0d50c3Schristos }
3964*b88e3e88Schristos #line 3965 "rcparse.c" /* yacc.c:1648 */
3965ed0d50c3Schristos break;
3966ed0d50c3Schristos
3967ed0d50c3Schristos case 222:
3968*b88e3e88Schristos #line 1644 "rcparse.y" /* yacc.c:1648 */
3969ed0d50c3Schristos {
3970ed0d50c3Schristos (yyval.memflags).on = 0;
3971ed0d50c3Schristos (yyval.memflags).off = MEMFLAG_MOVEABLE;
3972ed0d50c3Schristos }
3973*b88e3e88Schristos #line 3974 "rcparse.c" /* yacc.c:1648 */
3974ed0d50c3Schristos break;
3975ed0d50c3Schristos
3976ed0d50c3Schristos case 223:
3977*b88e3e88Schristos #line 1649 "rcparse.y" /* yacc.c:1648 */
3978ed0d50c3Schristos {
3979ed0d50c3Schristos (yyval.memflags).on = MEMFLAG_PURE;
3980ed0d50c3Schristos (yyval.memflags).off = 0;
3981ed0d50c3Schristos }
3982*b88e3e88Schristos #line 3983 "rcparse.c" /* yacc.c:1648 */
3983ed0d50c3Schristos break;
3984ed0d50c3Schristos
3985ed0d50c3Schristos case 224:
3986*b88e3e88Schristos #line 1654 "rcparse.y" /* yacc.c:1648 */
3987ed0d50c3Schristos {
3988ed0d50c3Schristos (yyval.memflags).on = 0;
3989ed0d50c3Schristos (yyval.memflags).off = MEMFLAG_PURE;
3990ed0d50c3Schristos }
3991*b88e3e88Schristos #line 3992 "rcparse.c" /* yacc.c:1648 */
3992ed0d50c3Schristos break;
3993ed0d50c3Schristos
3994ed0d50c3Schristos case 225:
3995*b88e3e88Schristos #line 1659 "rcparse.y" /* yacc.c:1648 */
3996ed0d50c3Schristos {
3997ed0d50c3Schristos (yyval.memflags).on = MEMFLAG_PRELOAD;
3998ed0d50c3Schristos (yyval.memflags).off = 0;
3999ed0d50c3Schristos }
4000*b88e3e88Schristos #line 4001 "rcparse.c" /* yacc.c:1648 */
4001ed0d50c3Schristos break;
4002ed0d50c3Schristos
4003ed0d50c3Schristos case 226:
4004*b88e3e88Schristos #line 1664 "rcparse.y" /* yacc.c:1648 */
4005ed0d50c3Schristos {
4006ed0d50c3Schristos (yyval.memflags).on = 0;
4007ed0d50c3Schristos (yyval.memflags).off = MEMFLAG_PRELOAD;
4008ed0d50c3Schristos }
4009*b88e3e88Schristos #line 4010 "rcparse.c" /* yacc.c:1648 */
4010ed0d50c3Schristos break;
4011ed0d50c3Schristos
4012ed0d50c3Schristos case 227:
4013*b88e3e88Schristos #line 1669 "rcparse.y" /* yacc.c:1648 */
4014ed0d50c3Schristos {
4015ed0d50c3Schristos (yyval.memflags).on = MEMFLAG_DISCARDABLE;
4016ed0d50c3Schristos (yyval.memflags).off = 0;
4017ed0d50c3Schristos }
4018*b88e3e88Schristos #line 4019 "rcparse.c" /* yacc.c:1648 */
4019ed0d50c3Schristos break;
4020ed0d50c3Schristos
4021ed0d50c3Schristos case 228:
4022*b88e3e88Schristos #line 1679 "rcparse.y" /* yacc.c:1648 */
4023ed0d50c3Schristos {
402406324dcfSchristos (yyval.s) = (yyvsp[0].s);
4025ed0d50c3Schristos }
4026*b88e3e88Schristos #line 4027 "rcparse.c" /* yacc.c:1648 */
4027ed0d50c3Schristos break;
4028ed0d50c3Schristos
4029ed0d50c3Schristos case 229:
4030*b88e3e88Schristos #line 1683 "rcparse.y" /* yacc.c:1648 */
4031ed0d50c3Schristos {
403206324dcfSchristos (yyval.s) = (yyvsp[0].s);
4033ed0d50c3Schristos }
4034*b88e3e88Schristos #line 4035 "rcparse.c" /* yacc.c:1648 */
4035ed0d50c3Schristos break;
4036ed0d50c3Schristos
4037ed0d50c3Schristos case 230:
4038*b88e3e88Schristos #line 1691 "rcparse.y" /* yacc.c:1648 */
4039ed0d50c3Schristos {
404006324dcfSchristos (yyval.uni) = (yyvsp[0].uni);
4041ed0d50c3Schristos }
4042*b88e3e88Schristos #line 4043 "rcparse.c" /* yacc.c:1648 */
4043ed0d50c3Schristos break;
4044ed0d50c3Schristos
4045ed0d50c3Schristos case 231:
4046*b88e3e88Schristos #line 1696 "rcparse.y" /* yacc.c:1648 */
4047ed0d50c3Schristos {
404806324dcfSchristos rc_uint_type l1 = unichar_len ((yyvsp[-1].uni));
404906324dcfSchristos rc_uint_type l2 = unichar_len ((yyvsp[0].uni));
4050ed0d50c3Schristos unichar *h = (unichar *) res_alloc ((l1 + l2 + 1) * sizeof (unichar));
4051ed0d50c3Schristos if (l1 != 0)
405206324dcfSchristos memcpy (h, (yyvsp[-1].uni), l1 * sizeof (unichar));
4053ed0d50c3Schristos if (l2 != 0)
405406324dcfSchristos memcpy (h + l1, (yyvsp[0].uni), l2 * sizeof (unichar));
4055ed0d50c3Schristos h[l1 + l2] = 0;
4056ed0d50c3Schristos (yyval.uni) = h;
4057ed0d50c3Schristos }
4058*b88e3e88Schristos #line 4059 "rcparse.c" /* yacc.c:1648 */
4059ed0d50c3Schristos break;
4060ed0d50c3Schristos
4061ed0d50c3Schristos case 232:
4062*b88e3e88Schristos #line 1711 "rcparse.y" /* yacc.c:1648 */
4063ed0d50c3Schristos {
406406324dcfSchristos (yyval.uni) = unichar_dup ((yyvsp[0].uni));
4065ed0d50c3Schristos }
4066*b88e3e88Schristos #line 4067 "rcparse.c" /* yacc.c:1648 */
4067ed0d50c3Schristos break;
4068ed0d50c3Schristos
4069ed0d50c3Schristos case 233:
4070*b88e3e88Schristos #line 1715 "rcparse.y" /* yacc.c:1648 */
4071ed0d50c3Schristos {
4072ed0d50c3Schristos unichar *h = NULL;
407306324dcfSchristos unicode_from_ascii ((rc_uint_type *) NULL, &h, (yyvsp[0].s));
4074ed0d50c3Schristos (yyval.uni) = h;
4075ed0d50c3Schristos }
4076*b88e3e88Schristos #line 4077 "rcparse.c" /* yacc.c:1648 */
4077ed0d50c3Schristos break;
4078ed0d50c3Schristos
4079ed0d50c3Schristos case 234:
4080*b88e3e88Schristos #line 1724 "rcparse.y" /* yacc.c:1648 */
4081ed0d50c3Schristos {
408206324dcfSchristos (yyval.suni) = (yyvsp[0].suni);
4083ed0d50c3Schristos }
4084*b88e3e88Schristos #line 4085 "rcparse.c" /* yacc.c:1648 */
4085ed0d50c3Schristos break;
4086ed0d50c3Schristos
4087ed0d50c3Schristos case 235:
4088*b88e3e88Schristos #line 1728 "rcparse.y" /* yacc.c:1648 */
4089ed0d50c3Schristos {
4090ed0d50c3Schristos unichar *h = NULL;
4091ed0d50c3Schristos rc_uint_type l = 0;
409206324dcfSchristos unicode_from_ascii_len (&l, &h, (yyvsp[0].ss).s, (yyvsp[0].ss).length);
4093ed0d50c3Schristos (yyval.suni).s = h;
4094ed0d50c3Schristos (yyval.suni).length = l;
4095ed0d50c3Schristos }
4096*b88e3e88Schristos #line 4097 "rcparse.c" /* yacc.c:1648 */
4097ed0d50c3Schristos break;
4098ed0d50c3Schristos
4099ed0d50c3Schristos case 236:
4100*b88e3e88Schristos #line 1740 "rcparse.y" /* yacc.c:1648 */
4101ed0d50c3Schristos {
410206324dcfSchristos (yyval.suni) = (yyvsp[0].suni);
4103ed0d50c3Schristos }
4104*b88e3e88Schristos #line 4105 "rcparse.c" /* yacc.c:1648 */
4105ed0d50c3Schristos break;
4106ed0d50c3Schristos
4107ed0d50c3Schristos case 237:
4108*b88e3e88Schristos #line 1745 "rcparse.y" /* yacc.c:1648 */
4109ed0d50c3Schristos {
411006324dcfSchristos rc_uint_type l1 = (yyvsp[-1].suni).length;
411106324dcfSchristos rc_uint_type l2 = (yyvsp[0].suni).length;
4112ed0d50c3Schristos unichar *h = (unichar *) res_alloc ((l1 + l2 + 1) * sizeof (unichar));
4113ed0d50c3Schristos if (l1 != 0)
411406324dcfSchristos memcpy (h, (yyvsp[-1].suni).s, l1 * sizeof (unichar));
4115ed0d50c3Schristos if (l2 != 0)
411606324dcfSchristos memcpy (h + l1, (yyvsp[0].suni).s, l2 * sizeof (unichar));
4117ed0d50c3Schristos h[l1 + l2] = 0;
4118ed0d50c3Schristos (yyval.suni).length = l1 + l2;
4119ed0d50c3Schristos (yyval.suni).s = h;
4120ed0d50c3Schristos }
4121*b88e3e88Schristos #line 4122 "rcparse.c" /* yacc.c:1648 */
4122ed0d50c3Schristos break;
4123ed0d50c3Schristos
4124ed0d50c3Schristos case 238:
4125*b88e3e88Schristos #line 1761 "rcparse.y" /* yacc.c:1648 */
4126ed0d50c3Schristos {
412706324dcfSchristos (yyval.ss) = (yyvsp[0].ss);
4128ed0d50c3Schristos }
4129*b88e3e88Schristos #line 4130 "rcparse.c" /* yacc.c:1648 */
4130ed0d50c3Schristos break;
4131ed0d50c3Schristos
4132ed0d50c3Schristos case 239:
4133*b88e3e88Schristos #line 1765 "rcparse.y" /* yacc.c:1648 */
4134ed0d50c3Schristos {
413506324dcfSchristos rc_uint_type l = (yyvsp[-1].ss).length + (yyvsp[0].ss).length;
4136ed0d50c3Schristos char *h = (char *) res_alloc (l);
413706324dcfSchristos memcpy (h, (yyvsp[-1].ss).s, (yyvsp[-1].ss).length);
413806324dcfSchristos memcpy (h + (yyvsp[-1].ss).length, (yyvsp[0].ss).s, (yyvsp[0].ss).length);
4139ed0d50c3Schristos (yyval.ss).s = h;
4140ed0d50c3Schristos (yyval.ss).length = l;
4141ed0d50c3Schristos }
4142*b88e3e88Schristos #line 4143 "rcparse.c" /* yacc.c:1648 */
4143ed0d50c3Schristos break;
4144ed0d50c3Schristos
4145ed0d50c3Schristos case 240:
4146*b88e3e88Schristos #line 1777 "rcparse.y" /* yacc.c:1648 */
4147ed0d50c3Schristos {
414806324dcfSchristos (yyval.suni) = (yyvsp[0].suni);
4149ed0d50c3Schristos }
4150*b88e3e88Schristos #line 4151 "rcparse.c" /* yacc.c:1648 */
4151ed0d50c3Schristos break;
4152ed0d50c3Schristos
4153ed0d50c3Schristos case 241:
4154*b88e3e88Schristos #line 1781 "rcparse.y" /* yacc.c:1648 */
4155ed0d50c3Schristos {
415606324dcfSchristos rc_uint_type l = (yyvsp[-1].suni).length + (yyvsp[0].suni).length;
4157ed0d50c3Schristos unichar *h = (unichar *) res_alloc (l * sizeof (unichar));
415806324dcfSchristos memcpy (h, (yyvsp[-1].suni).s, (yyvsp[-1].suni).length * sizeof (unichar));
415906324dcfSchristos memcpy (h + (yyvsp[-1].suni).length, (yyvsp[0].suni).s, (yyvsp[0].suni).length * sizeof (unichar));
4160ed0d50c3Schristos (yyval.suni).s = h;
4161ed0d50c3Schristos (yyval.suni).length = l;
4162ed0d50c3Schristos }
4163*b88e3e88Schristos #line 4164 "rcparse.c" /* yacc.c:1648 */
4164ed0d50c3Schristos break;
4165ed0d50c3Schristos
4166ed0d50c3Schristos case 242:
4167*b88e3e88Schristos #line 1803 "rcparse.y" /* yacc.c:1648 */
4168ed0d50c3Schristos {
416906324dcfSchristos style |= (yyvsp[0].il);
4170ed0d50c3Schristos }
4171*b88e3e88Schristos #line 4172 "rcparse.c" /* yacc.c:1648 */
4172ed0d50c3Schristos break;
4173ed0d50c3Schristos
4174ed0d50c3Schristos case 243:
4175*b88e3e88Schristos #line 1807 "rcparse.y" /* yacc.c:1648 */
4176ed0d50c3Schristos {
417706324dcfSchristos style &=~ (yyvsp[0].il);
4178ed0d50c3Schristos }
4179*b88e3e88Schristos #line 4180 "rcparse.c" /* yacc.c:1648 */
4180ed0d50c3Schristos break;
4181ed0d50c3Schristos
4182ed0d50c3Schristos case 244:
4183*b88e3e88Schristos #line 1811 "rcparse.y" /* yacc.c:1648 */
4184ed0d50c3Schristos {
418506324dcfSchristos style |= (yyvsp[0].il);
4186ed0d50c3Schristos }
4187*b88e3e88Schristos #line 4188 "rcparse.c" /* yacc.c:1648 */
4188ed0d50c3Schristos break;
4189ed0d50c3Schristos
4190ed0d50c3Schristos case 245:
4191*b88e3e88Schristos #line 1815 "rcparse.y" /* yacc.c:1648 */
4192ed0d50c3Schristos {
419306324dcfSchristos style &=~ (yyvsp[0].il);
4194ed0d50c3Schristos }
4195*b88e3e88Schristos #line 4196 "rcparse.c" /* yacc.c:1648 */
4196ed0d50c3Schristos break;
4197ed0d50c3Schristos
4198ed0d50c3Schristos case 246:
4199*b88e3e88Schristos #line 1822 "rcparse.y" /* yacc.c:1648 */
4200ed0d50c3Schristos {
420106324dcfSchristos (yyval.il) = (yyvsp[0].i).val;
4202ed0d50c3Schristos }
4203*b88e3e88Schristos #line 4204 "rcparse.c" /* yacc.c:1648 */
4204ed0d50c3Schristos break;
4205ed0d50c3Schristos
4206ed0d50c3Schristos case 247:
4207*b88e3e88Schristos #line 1826 "rcparse.y" /* yacc.c:1648 */
4208ed0d50c3Schristos {
420906324dcfSchristos (yyval.il) = (yyvsp[-1].il);
4210ed0d50c3Schristos }
4211*b88e3e88Schristos #line 4212 "rcparse.c" /* yacc.c:1648 */
4212ed0d50c3Schristos break;
4213ed0d50c3Schristos
4214ed0d50c3Schristos case 248:
4215*b88e3e88Schristos #line 1835 "rcparse.y" /* yacc.c:1648 */
4216ed0d50c3Schristos {
4217ed0d50c3Schristos (yyval.il) = 0;
4218ed0d50c3Schristos }
4219*b88e3e88Schristos #line 4220 "rcparse.c" /* yacc.c:1648 */
4220ed0d50c3Schristos break;
4221ed0d50c3Schristos
4222ed0d50c3Schristos case 249:
4223*b88e3e88Schristos #line 1839 "rcparse.y" /* yacc.c:1648 */
4224ed0d50c3Schristos {
422506324dcfSchristos (yyval.il) = (yyvsp[0].il);
4226ed0d50c3Schristos }
4227*b88e3e88Schristos #line 4228 "rcparse.c" /* yacc.c:1648 */
4228ed0d50c3Schristos break;
4229ed0d50c3Schristos
4230ed0d50c3Schristos case 250:
4231*b88e3e88Schristos #line 1848 "rcparse.y" /* yacc.c:1648 */
4232ed0d50c3Schristos {
423306324dcfSchristos (yyval.il) = (yyvsp[0].il);
4234ed0d50c3Schristos }
4235*b88e3e88Schristos #line 4236 "rcparse.c" /* yacc.c:1648 */
4236ed0d50c3Schristos break;
4237ed0d50c3Schristos
4238ed0d50c3Schristos case 251:
4239*b88e3e88Schristos #line 1857 "rcparse.y" /* yacc.c:1648 */
4240ed0d50c3Schristos {
424106324dcfSchristos (yyval.il) = (yyvsp[0].i).val;
4242ed0d50c3Schristos }
4243*b88e3e88Schristos #line 4244 "rcparse.c" /* yacc.c:1648 */
4244ed0d50c3Schristos break;
4245ed0d50c3Schristos
4246ed0d50c3Schristos case 252:
4247*b88e3e88Schristos #line 1866 "rcparse.y" /* yacc.c:1648 */
4248ed0d50c3Schristos {
424906324dcfSchristos (yyval.i) = (yyvsp[0].i);
4250ed0d50c3Schristos }
4251*b88e3e88Schristos #line 4252 "rcparse.c" /* yacc.c:1648 */
4252ed0d50c3Schristos break;
4253ed0d50c3Schristos
4254ed0d50c3Schristos case 253:
4255*b88e3e88Schristos #line 1870 "rcparse.y" /* yacc.c:1648 */
4256ed0d50c3Schristos {
425706324dcfSchristos (yyval.i) = (yyvsp[-1].i);
4258ed0d50c3Schristos }
4259*b88e3e88Schristos #line 4260 "rcparse.c" /* yacc.c:1648 */
4260ed0d50c3Schristos break;
4261ed0d50c3Schristos
4262ed0d50c3Schristos case 254:
4263*b88e3e88Schristos #line 1874 "rcparse.y" /* yacc.c:1648 */
4264ed0d50c3Schristos {
426506324dcfSchristos (yyval.i).val = ~ (yyvsp[0].i).val;
426606324dcfSchristos (yyval.i).dword = (yyvsp[0].i).dword;
4267ed0d50c3Schristos }
4268*b88e3e88Schristos #line 4269 "rcparse.c" /* yacc.c:1648 */
4269ed0d50c3Schristos break;
4270ed0d50c3Schristos
4271ed0d50c3Schristos case 255:
4272*b88e3e88Schristos #line 1879 "rcparse.y" /* yacc.c:1648 */
4273ed0d50c3Schristos {
427406324dcfSchristos (yyval.i).val = - (yyvsp[0].i).val;
427506324dcfSchristos (yyval.i).dword = (yyvsp[0].i).dword;
4276ed0d50c3Schristos }
4277*b88e3e88Schristos #line 4278 "rcparse.c" /* yacc.c:1648 */
4278ed0d50c3Schristos break;
4279ed0d50c3Schristos
4280ed0d50c3Schristos case 256:
4281*b88e3e88Schristos #line 1884 "rcparse.y" /* yacc.c:1648 */
4282ed0d50c3Schristos {
428306324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val * (yyvsp[0].i).val;
428406324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4285ed0d50c3Schristos }
4286*b88e3e88Schristos #line 4287 "rcparse.c" /* yacc.c:1648 */
4287ed0d50c3Schristos break;
4288ed0d50c3Schristos
4289ed0d50c3Schristos case 257:
4290*b88e3e88Schristos #line 1889 "rcparse.y" /* yacc.c:1648 */
4291ed0d50c3Schristos {
429206324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val / ((yyvsp[0].i).val ? (yyvsp[0].i).val : 1);
429306324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4294ed0d50c3Schristos }
4295*b88e3e88Schristos #line 4296 "rcparse.c" /* yacc.c:1648 */
4296ed0d50c3Schristos break;
4297ed0d50c3Schristos
4298ed0d50c3Schristos case 258:
4299*b88e3e88Schristos #line 1894 "rcparse.y" /* yacc.c:1648 */
4300ed0d50c3Schristos {
430106324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val % ((yyvsp[0].i).val ? (yyvsp[0].i).val : 1);
430206324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4303ed0d50c3Schristos }
4304*b88e3e88Schristos #line 4305 "rcparse.c" /* yacc.c:1648 */
4305ed0d50c3Schristos break;
4306ed0d50c3Schristos
4307ed0d50c3Schristos case 259:
4308*b88e3e88Schristos #line 1899 "rcparse.y" /* yacc.c:1648 */
4309ed0d50c3Schristos {
431006324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val + (yyvsp[0].i).val;
431106324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4312ed0d50c3Schristos }
4313*b88e3e88Schristos #line 4314 "rcparse.c" /* yacc.c:1648 */
4314ed0d50c3Schristos break;
4315ed0d50c3Schristos
4316ed0d50c3Schristos case 260:
4317*b88e3e88Schristos #line 1904 "rcparse.y" /* yacc.c:1648 */
4318ed0d50c3Schristos {
431906324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val - (yyvsp[0].i).val;
432006324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4321ed0d50c3Schristos }
4322*b88e3e88Schristos #line 4323 "rcparse.c" /* yacc.c:1648 */
4323ed0d50c3Schristos break;
4324ed0d50c3Schristos
4325ed0d50c3Schristos case 261:
4326*b88e3e88Schristos #line 1909 "rcparse.y" /* yacc.c:1648 */
4327ed0d50c3Schristos {
432806324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val & (yyvsp[0].i).val;
432906324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4330ed0d50c3Schristos }
4331*b88e3e88Schristos #line 4332 "rcparse.c" /* yacc.c:1648 */
4332ed0d50c3Schristos break;
4333ed0d50c3Schristos
4334ed0d50c3Schristos case 262:
4335*b88e3e88Schristos #line 1914 "rcparse.y" /* yacc.c:1648 */
4336ed0d50c3Schristos {
433706324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val ^ (yyvsp[0].i).val;
433806324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4339ed0d50c3Schristos }
4340*b88e3e88Schristos #line 4341 "rcparse.c" /* yacc.c:1648 */
4341ed0d50c3Schristos break;
4342ed0d50c3Schristos
4343ed0d50c3Schristos case 263:
4344*b88e3e88Schristos #line 1919 "rcparse.y" /* yacc.c:1648 */
4345ed0d50c3Schristos {
434606324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val | (yyvsp[0].i).val;
434706324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4348ed0d50c3Schristos }
4349*b88e3e88Schristos #line 4350 "rcparse.c" /* yacc.c:1648 */
4350ed0d50c3Schristos break;
4351ed0d50c3Schristos
4352ed0d50c3Schristos case 264:
4353*b88e3e88Schristos #line 1930 "rcparse.y" /* yacc.c:1648 */
4354ed0d50c3Schristos {
435506324dcfSchristos (yyval.il) = (yyvsp[0].il);
4356ed0d50c3Schristos }
4357*b88e3e88Schristos #line 4358 "rcparse.c" /* yacc.c:1648 */
4358ed0d50c3Schristos break;
4359ed0d50c3Schristos
4360ed0d50c3Schristos case 265:
4361*b88e3e88Schristos #line 1939 "rcparse.y" /* yacc.c:1648 */
4362ed0d50c3Schristos {
436306324dcfSchristos (yyval.il) = (yyvsp[0].i).val;
4364ed0d50c3Schristos }
4365*b88e3e88Schristos #line 4366 "rcparse.c" /* yacc.c:1648 */
4366ed0d50c3Schristos break;
4367ed0d50c3Schristos
4368ed0d50c3Schristos case 266:
4369*b88e3e88Schristos #line 1950 "rcparse.y" /* yacc.c:1648 */
4370ed0d50c3Schristos {
437106324dcfSchristos (yyval.i) = (yyvsp[0].i);
4372ed0d50c3Schristos }
4373*b88e3e88Schristos #line 4374 "rcparse.c" /* yacc.c:1648 */
4374ed0d50c3Schristos break;
4375ed0d50c3Schristos
4376ed0d50c3Schristos case 267:
4377*b88e3e88Schristos #line 1954 "rcparse.y" /* yacc.c:1648 */
4378ed0d50c3Schristos {
437906324dcfSchristos (yyval.i) = (yyvsp[-1].i);
4380ed0d50c3Schristos }
4381*b88e3e88Schristos #line 4382 "rcparse.c" /* yacc.c:1648 */
4382ed0d50c3Schristos break;
4383ed0d50c3Schristos
4384ed0d50c3Schristos case 268:
4385*b88e3e88Schristos #line 1958 "rcparse.y" /* yacc.c:1648 */
4386ed0d50c3Schristos {
438706324dcfSchristos (yyval.i).val = ~ (yyvsp[0].i).val;
438806324dcfSchristos (yyval.i).dword = (yyvsp[0].i).dword;
4389ed0d50c3Schristos }
4390*b88e3e88Schristos #line 4391 "rcparse.c" /* yacc.c:1648 */
4391ed0d50c3Schristos break;
4392ed0d50c3Schristos
4393ed0d50c3Schristos case 269:
4394*b88e3e88Schristos #line 1963 "rcparse.y" /* yacc.c:1648 */
4395ed0d50c3Schristos {
439606324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val * (yyvsp[0].i).val;
439706324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4398ed0d50c3Schristos }
4399*b88e3e88Schristos #line 4400 "rcparse.c" /* yacc.c:1648 */
4400ed0d50c3Schristos break;
4401ed0d50c3Schristos
4402ed0d50c3Schristos case 270:
4403*b88e3e88Schristos #line 1968 "rcparse.y" /* yacc.c:1648 */
4404ed0d50c3Schristos {
440506324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val / ((yyvsp[0].i).val ? (yyvsp[0].i).val : 1);
440606324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4407ed0d50c3Schristos }
4408*b88e3e88Schristos #line 4409 "rcparse.c" /* yacc.c:1648 */
4409ed0d50c3Schristos break;
4410ed0d50c3Schristos
4411ed0d50c3Schristos case 271:
4412*b88e3e88Schristos #line 1973 "rcparse.y" /* yacc.c:1648 */
4413ed0d50c3Schristos {
4414ed0d50c3Schristos /* PR 17512: file: 89105a25. */
441506324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val % ((yyvsp[0].i).val ? (yyvsp[0].i).val : 1);
441606324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4417ed0d50c3Schristos }
4418*b88e3e88Schristos #line 4419 "rcparse.c" /* yacc.c:1648 */
4419ed0d50c3Schristos break;
4420ed0d50c3Schristos
4421ed0d50c3Schristos case 272:
4422*b88e3e88Schristos #line 1979 "rcparse.y" /* yacc.c:1648 */
4423ed0d50c3Schristos {
442406324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val + (yyvsp[0].i).val;
442506324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4426ed0d50c3Schristos }
4427*b88e3e88Schristos #line 4428 "rcparse.c" /* yacc.c:1648 */
4428ed0d50c3Schristos break;
4429ed0d50c3Schristos
4430ed0d50c3Schristos case 273:
4431*b88e3e88Schristos #line 1984 "rcparse.y" /* yacc.c:1648 */
4432ed0d50c3Schristos {
443306324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val - (yyvsp[0].i).val;
443406324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4435ed0d50c3Schristos }
4436*b88e3e88Schristos #line 4437 "rcparse.c" /* yacc.c:1648 */
4437ed0d50c3Schristos break;
4438ed0d50c3Schristos
4439ed0d50c3Schristos case 274:
4440*b88e3e88Schristos #line 1989 "rcparse.y" /* yacc.c:1648 */
4441ed0d50c3Schristos {
444206324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val & (yyvsp[0].i).val;
444306324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4444ed0d50c3Schristos }
4445*b88e3e88Schristos #line 4446 "rcparse.c" /* yacc.c:1648 */
4446ed0d50c3Schristos break;
4447ed0d50c3Schristos
4448ed0d50c3Schristos case 275:
4449*b88e3e88Schristos #line 1994 "rcparse.y" /* yacc.c:1648 */
4450ed0d50c3Schristos {
445106324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val ^ (yyvsp[0].i).val;
445206324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4453ed0d50c3Schristos }
4454*b88e3e88Schristos #line 4455 "rcparse.c" /* yacc.c:1648 */
4455ed0d50c3Schristos break;
4456ed0d50c3Schristos
4457ed0d50c3Schristos case 276:
4458*b88e3e88Schristos #line 1999 "rcparse.y" /* yacc.c:1648 */
4459ed0d50c3Schristos {
446006324dcfSchristos (yyval.i).val = (yyvsp[-2].i).val | (yyvsp[0].i).val;
446106324dcfSchristos (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword;
4462ed0d50c3Schristos }
4463*b88e3e88Schristos #line 4464 "rcparse.c" /* yacc.c:1648 */
4464ed0d50c3Schristos break;
4465ed0d50c3Schristos
4466ed0d50c3Schristos
4467*b88e3e88Schristos #line 4468 "rcparse.c" /* yacc.c:1648 */
4468ed0d50c3Schristos default: break;
4469ed0d50c3Schristos }
447006324dcfSchristos /* User semantic actions sometimes alter yychar, and that requires
447106324dcfSchristos that yytoken be updated with the new translation. We take the
447206324dcfSchristos approach of translating immediately before every use of yytoken.
447306324dcfSchristos One alternative is translating here after every semantic action,
447406324dcfSchristos but that translation would be missed if the semantic action invokes
447506324dcfSchristos YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
447606324dcfSchristos if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
447706324dcfSchristos incorrect destructor might then be invoked immediately. In the
447806324dcfSchristos case of YYERROR or YYBACKUP, subsequent parser actions might lead
447906324dcfSchristos to an incorrect destructor call or verbose syntax error message
448006324dcfSchristos before the lookahead is translated. */
4481ed0d50c3Schristos YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4482ed0d50c3Schristos
4483ed0d50c3Schristos YYPOPSTACK (yylen);
4484ed0d50c3Schristos yylen = 0;
4485ed0d50c3Schristos YY_STACK_PRINT (yyss, yyssp);
4486ed0d50c3Schristos
4487ed0d50c3Schristos *++yyvsp = yyval;
4488ed0d50c3Schristos
448906324dcfSchristos /* Now 'shift' the result of the reduction. Determine what state
4490ed0d50c3Schristos that goes to, based on the state we popped back to and the rule
4491ed0d50c3Schristos number reduced by. */
4492ed0d50c3Schristos
4493ed0d50c3Schristos yyn = yyr1[yyn];
4494ed0d50c3Schristos
4495ed0d50c3Schristos yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
4496ed0d50c3Schristos if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
4497ed0d50c3Schristos yystate = yytable[yystate];
4498ed0d50c3Schristos else
4499ed0d50c3Schristos yystate = yydefgoto[yyn - YYNTOKENS];
4500ed0d50c3Schristos
4501ed0d50c3Schristos goto yynewstate;
4502ed0d50c3Schristos
4503ed0d50c3Schristos
450406324dcfSchristos /*--------------------------------------.
450506324dcfSchristos | yyerrlab -- here on detecting error. |
450606324dcfSchristos `--------------------------------------*/
4507ed0d50c3Schristos yyerrlab:
450806324dcfSchristos /* Make sure we have latest lookahead translation. See comments at
450906324dcfSchristos user semantic actions for why this is necessary. */
451006324dcfSchristos yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
451106324dcfSchristos
4512ed0d50c3Schristos /* If not already recovering from an error, report this error. */
4513ed0d50c3Schristos if (!yyerrstatus)
4514ed0d50c3Schristos {
4515ed0d50c3Schristos ++yynerrs;
4516ed0d50c3Schristos #if ! YYERROR_VERBOSE
4517ed0d50c3Schristos yyerror (YY_("syntax error"));
4518ed0d50c3Schristos #else
451906324dcfSchristos # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
452006324dcfSchristos yyssp, yytoken)
4521ed0d50c3Schristos {
452206324dcfSchristos char const *yymsgp = YY_("syntax error");
452306324dcfSchristos int yysyntax_error_status;
452406324dcfSchristos yysyntax_error_status = YYSYNTAX_ERROR;
452506324dcfSchristos if (yysyntax_error_status == 0)
452606324dcfSchristos yymsgp = yymsg;
452706324dcfSchristos else if (yysyntax_error_status == 1)
4528ed0d50c3Schristos {
4529ed0d50c3Schristos if (yymsg != yymsgbuf)
4530ed0d50c3Schristos YYSTACK_FREE (yymsg);
453106324dcfSchristos yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
453206324dcfSchristos if (!yymsg)
4533ed0d50c3Schristos {
4534ed0d50c3Schristos yymsg = yymsgbuf;
4535ed0d50c3Schristos yymsg_alloc = sizeof yymsgbuf;
453606324dcfSchristos yysyntax_error_status = 2;
4537ed0d50c3Schristos }
4538ed0d50c3Schristos else
4539ed0d50c3Schristos {
454006324dcfSchristos yysyntax_error_status = YYSYNTAX_ERROR;
454106324dcfSchristos yymsgp = yymsg;
454206324dcfSchristos }
454306324dcfSchristos }
454406324dcfSchristos yyerror (yymsgp);
454506324dcfSchristos if (yysyntax_error_status == 2)
4546ed0d50c3Schristos goto yyexhaustedlab;
4547ed0d50c3Schristos }
454806324dcfSchristos # undef YYSYNTAX_ERROR
4549ed0d50c3Schristos #endif
4550ed0d50c3Schristos }
4551ed0d50c3Schristos
4552ed0d50c3Schristos
4553ed0d50c3Schristos
4554ed0d50c3Schristos if (yyerrstatus == 3)
4555ed0d50c3Schristos {
455606324dcfSchristos /* If just tried and failed to reuse lookahead token after an
4557ed0d50c3Schristos error, discard it. */
4558ed0d50c3Schristos
4559ed0d50c3Schristos if (yychar <= YYEOF)
4560ed0d50c3Schristos {
4561ed0d50c3Schristos /* Return failure if at end of input. */
4562ed0d50c3Schristos if (yychar == YYEOF)
4563ed0d50c3Schristos YYABORT;
4564ed0d50c3Schristos }
4565ed0d50c3Schristos else
4566ed0d50c3Schristos {
4567ed0d50c3Schristos yydestruct ("Error: discarding",
4568ed0d50c3Schristos yytoken, &yylval);
4569ed0d50c3Schristos yychar = YYEMPTY;
4570ed0d50c3Schristos }
4571ed0d50c3Schristos }
4572ed0d50c3Schristos
457306324dcfSchristos /* Else will try to reuse lookahead token after shifting the error
4574ed0d50c3Schristos token. */
4575ed0d50c3Schristos goto yyerrlab1;
4576ed0d50c3Schristos
4577ed0d50c3Schristos
4578ed0d50c3Schristos /*---------------------------------------------------.
4579ed0d50c3Schristos | yyerrorlab -- error raised explicitly by YYERROR. |
4580ed0d50c3Schristos `---------------------------------------------------*/
4581ed0d50c3Schristos yyerrorlab:
4582ed0d50c3Schristos
4583ed0d50c3Schristos /* Pacify compilers like GCC when the user code never invokes
4584ed0d50c3Schristos YYERROR and the label yyerrorlab therefore never appears in user
4585ed0d50c3Schristos code. */
4586ed0d50c3Schristos if (/*CONSTCOND*/ 0)
4587ed0d50c3Schristos goto yyerrorlab;
4588ed0d50c3Schristos
458906324dcfSchristos /* Do not reclaim the symbols of the rule whose action triggered
4590ed0d50c3Schristos this YYERROR. */
4591ed0d50c3Schristos YYPOPSTACK (yylen);
4592ed0d50c3Schristos yylen = 0;
4593ed0d50c3Schristos YY_STACK_PRINT (yyss, yyssp);
4594ed0d50c3Schristos yystate = *yyssp;
4595ed0d50c3Schristos goto yyerrlab1;
4596ed0d50c3Schristos
4597ed0d50c3Schristos
4598ed0d50c3Schristos /*-------------------------------------------------------------.
4599ed0d50c3Schristos | yyerrlab1 -- common code for both syntax error and YYERROR. |
4600ed0d50c3Schristos `-------------------------------------------------------------*/
4601ed0d50c3Schristos yyerrlab1:
4602ed0d50c3Schristos yyerrstatus = 3; /* Each real token shifted decrements this. */
4603ed0d50c3Schristos
4604ed0d50c3Schristos for (;;)
4605ed0d50c3Schristos {
4606ed0d50c3Schristos yyn = yypact[yystate];
460706324dcfSchristos if (!yypact_value_is_default (yyn))
4608ed0d50c3Schristos {
4609ed0d50c3Schristos yyn += YYTERROR;
4610ed0d50c3Schristos if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
4611ed0d50c3Schristos {
4612ed0d50c3Schristos yyn = yytable[yyn];
4613ed0d50c3Schristos if (0 < yyn)
4614ed0d50c3Schristos break;
4615ed0d50c3Schristos }
4616ed0d50c3Schristos }
4617ed0d50c3Schristos
4618ed0d50c3Schristos /* Pop the current state because it cannot handle the error token. */
4619ed0d50c3Schristos if (yyssp == yyss)
4620ed0d50c3Schristos YYABORT;
4621ed0d50c3Schristos
4622ed0d50c3Schristos
4623ed0d50c3Schristos yydestruct ("Error: popping",
4624ed0d50c3Schristos yystos[yystate], yyvsp);
4625ed0d50c3Schristos YYPOPSTACK (1);
4626ed0d50c3Schristos yystate = *yyssp;
4627ed0d50c3Schristos YY_STACK_PRINT (yyss, yyssp);
4628ed0d50c3Schristos }
4629ed0d50c3Schristos
463006324dcfSchristos YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4631ed0d50c3Schristos *++yyvsp = yylval;
463206324dcfSchristos YY_IGNORE_MAYBE_UNINITIALIZED_END
4633ed0d50c3Schristos
4634ed0d50c3Schristos
4635ed0d50c3Schristos /* Shift the error token. */
4636ed0d50c3Schristos YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
4637ed0d50c3Schristos
4638ed0d50c3Schristos yystate = yyn;
4639ed0d50c3Schristos goto yynewstate;
4640ed0d50c3Schristos
4641ed0d50c3Schristos
4642ed0d50c3Schristos /*-------------------------------------.
4643ed0d50c3Schristos | yyacceptlab -- YYACCEPT comes here. |
4644ed0d50c3Schristos `-------------------------------------*/
4645ed0d50c3Schristos yyacceptlab:
4646ed0d50c3Schristos yyresult = 0;
4647ed0d50c3Schristos goto yyreturn;
4648ed0d50c3Schristos
4649ed0d50c3Schristos /*-----------------------------------.
4650ed0d50c3Schristos | yyabortlab -- YYABORT comes here. |
4651ed0d50c3Schristos `-----------------------------------*/
4652ed0d50c3Schristos yyabortlab:
4653ed0d50c3Schristos yyresult = 1;
4654ed0d50c3Schristos goto yyreturn;
4655ed0d50c3Schristos
465606324dcfSchristos #if !defined yyoverflow || YYERROR_VERBOSE
4657ed0d50c3Schristos /*-------------------------------------------------.
4658ed0d50c3Schristos | yyexhaustedlab -- memory exhaustion comes here. |
4659ed0d50c3Schristos `-------------------------------------------------*/
4660ed0d50c3Schristos yyexhaustedlab:
4661ed0d50c3Schristos yyerror (YY_("memory exhausted"));
4662ed0d50c3Schristos yyresult = 2;
4663ed0d50c3Schristos /* Fall through. */
4664ed0d50c3Schristos #endif
4665ed0d50c3Schristos
4666ed0d50c3Schristos yyreturn:
466706324dcfSchristos if (yychar != YYEMPTY)
466806324dcfSchristos {
466906324dcfSchristos /* Make sure we have latest lookahead translation. See comments at
467006324dcfSchristos user semantic actions for why this is necessary. */
467106324dcfSchristos yytoken = YYTRANSLATE (yychar);
4672ed0d50c3Schristos yydestruct ("Cleanup: discarding lookahead",
4673ed0d50c3Schristos yytoken, &yylval);
467406324dcfSchristos }
467506324dcfSchristos /* Do not reclaim the symbols of the rule whose action triggered
4676ed0d50c3Schristos this YYABORT or YYACCEPT. */
4677ed0d50c3Schristos YYPOPSTACK (yylen);
4678ed0d50c3Schristos YY_STACK_PRINT (yyss, yyssp);
4679ed0d50c3Schristos while (yyssp != yyss)
4680ed0d50c3Schristos {
4681ed0d50c3Schristos yydestruct ("Cleanup: popping",
4682ed0d50c3Schristos yystos[*yyssp], yyvsp);
4683ed0d50c3Schristos YYPOPSTACK (1);
4684ed0d50c3Schristos }
4685ed0d50c3Schristos #ifndef yyoverflow
4686ed0d50c3Schristos if (yyss != yyssa)
4687ed0d50c3Schristos YYSTACK_FREE (yyss);
4688ed0d50c3Schristos #endif
4689ed0d50c3Schristos #if YYERROR_VERBOSE
4690ed0d50c3Schristos if (yymsg != yymsgbuf)
4691ed0d50c3Schristos YYSTACK_FREE (yymsg);
4692ed0d50c3Schristos #endif
469306324dcfSchristos return yyresult;
4694ed0d50c3Schristos }
4695*b88e3e88Schristos #line 2005 "rcparse.y" /* yacc.c:1907 */
4696ed0d50c3Schristos
4697ed0d50c3Schristos
4698ed0d50c3Schristos /* Set the language from the command line. */
4699ed0d50c3Schristos
4700ed0d50c3Schristos void
rcparse_set_language(int lang)4701ed0d50c3Schristos rcparse_set_language (int lang)
4702ed0d50c3Schristos {
4703ed0d50c3Schristos language = lang;
4704ed0d50c3Schristos }
4705