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