diff options
Diffstat (limited to 'binutils/rcparse.c')
| -rw-r--r-- | binutils/rcparse.c | 4997 |
1 files changed, 2820 insertions, 2177 deletions
diff --git a/binutils/rcparse.c b/binutils/rcparse.c index 3c5d23433690..a34e0bfca5b5 100644 --- a/binutils/rcparse.c +++ b/binutils/rcparse.c @@ -1,95 +1,239 @@ -/* A Bison parser, made from rcparse.y - by GNU bison 1.35. */ - -#define YYBISON 1 /* Identify Bison output. */ - -# define BEG 257 -# define END 258 -# define ACCELERATORS 259 -# define VIRTKEY 260 -# define ASCII 261 -# define NOINVERT 262 -# define SHIFT 263 -# define CONTROL 264 -# define ALT 265 -# define BITMAP 266 -# define CURSOR 267 -# define DIALOG 268 -# define DIALOGEX 269 -# define EXSTYLE 270 -# define CAPTION 271 -# define CLASS 272 -# define STYLE 273 -# define AUTO3STATE 274 -# define AUTOCHECKBOX 275 -# define AUTORADIOBUTTON 276 -# define CHECKBOX 277 -# define COMBOBOX 278 -# define CTEXT 279 -# define DEFPUSHBUTTON 280 -# define EDITTEXT 281 -# define GROUPBOX 282 -# define LISTBOX 283 -# define LTEXT 284 -# define PUSHBOX 285 -# define PUSHBUTTON 286 -# define RADIOBUTTON 287 -# define RTEXT 288 -# define SCROLLBAR 289 -# define STATE3 290 -# define USERBUTTON 291 -# define BEDIT 292 -# define HEDIT 293 -# define IEDIT 294 -# define FONT 295 -# define ICON 296 -# define LANGUAGE 297 -# define CHARACTERISTICS 298 -# define VERSIONK 299 -# define MENU 300 -# define MENUEX 301 -# define MENUITEM 302 -# define SEPARATOR 303 -# define POPUP 304 -# define CHECKED 305 -# define GRAYED 306 -# define HELP 307 -# define INACTIVE 308 -# define MENUBARBREAK 309 -# define MENUBREAK 310 -# define MESSAGETABLE 311 -# define RCDATA 312 -# define STRINGTABLE 313 -# define VERSIONINFO 314 -# define FILEVERSION 315 -# define PRODUCTVERSION 316 -# define FILEFLAGSMASK 317 -# define FILEFLAGS 318 -# define FILEOS 319 -# define FILETYPE 320 -# define FILESUBTYPE 321 -# define BLOCKSTRINGFILEINFO 322 -# define BLOCKVARFILEINFO 323 -# define VALUE 324 -# define BLOCK 325 -# define MOVEABLE 326 -# define FIXED 327 -# define PURE 328 -# define IMPURE 329 -# define PRELOAD 330 -# define LOADONCALL 331 -# define DISCARDABLE 332 -# define NOT 333 -# define QUOTEDSTRING 334 -# define STRING 335 -# define NUMBER 336 -# define SIZEDSTRING 337 -# define IGNORED_TOKEN 338 -# define NEG 339 +/* A Bison parser, made by GNU Bison 2.1. */ +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Written by Richard Stallman by simplifying the original so called + ``semantic'' parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Bison version. */ +#define YYBISON_VERSION "2.1" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Using locations. */ +#define YYLSP_NEEDED 0 + + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + BEG = 258, + END = 259, + ACCELERATORS = 260, + VIRTKEY = 261, + ASCII = 262, + NOINVERT = 263, + SHIFT = 264, + CONTROL = 265, + ALT = 266, + BITMAP = 267, + CURSOR = 268, + DIALOG = 269, + DIALOGEX = 270, + EXSTYLE = 271, + CAPTION = 272, + CLASS = 273, + STYLE = 274, + AUTO3STATE = 275, + AUTOCHECKBOX = 276, + AUTORADIOBUTTON = 277, + CHECKBOX = 278, + COMBOBOX = 279, + CTEXT = 280, + DEFPUSHBUTTON = 281, + EDITTEXT = 282, + GROUPBOX = 283, + LISTBOX = 284, + LTEXT = 285, + PUSHBOX = 286, + PUSHBUTTON = 287, + RADIOBUTTON = 288, + RTEXT = 289, + SCROLLBAR = 290, + STATE3 = 291, + USERBUTTON = 292, + BEDIT = 293, + HEDIT = 294, + IEDIT = 295, + FONT = 296, + ICON = 297, + LANGUAGE = 298, + CHARACTERISTICS = 299, + VERSIONK = 300, + MENU = 301, + MENUEX = 302, + MENUITEM = 303, + SEPARATOR = 304, + POPUP = 305, + CHECKED = 306, + GRAYED = 307, + HELP = 308, + INACTIVE = 309, + MENUBARBREAK = 310, + MENUBREAK = 311, + MESSAGETABLE = 312, + RCDATA = 313, + STRINGTABLE = 314, + VERSIONINFO = 315, + FILEVERSION = 316, + PRODUCTVERSION = 317, + FILEFLAGSMASK = 318, + FILEFLAGS = 319, + FILEOS = 320, + FILETYPE = 321, + FILESUBTYPE = 322, + BLOCKSTRINGFILEINFO = 323, + BLOCKVARFILEINFO = 324, + VALUE = 325, + BLOCK = 326, + MOVEABLE = 327, + FIXED = 328, + PURE = 329, + IMPURE = 330, + PRELOAD = 331, + LOADONCALL = 332, + DISCARDABLE = 333, + NOT = 334, + QUOTEDSTRING = 335, + STRING = 336, + NUMBER = 337, + SIZEDSTRING = 338, + IGNORED_TOKEN = 339, + NEG = 340 + }; +#endif +/* Tokens. */ +#define BEG 258 +#define END 259 +#define ACCELERATORS 260 +#define VIRTKEY 261 +#define ASCII 262 +#define NOINVERT 263 +#define SHIFT 264 +#define CONTROL 265 +#define ALT 266 +#define BITMAP 267 +#define CURSOR 268 +#define DIALOG 269 +#define DIALOGEX 270 +#define EXSTYLE 271 +#define CAPTION 272 +#define CLASS 273 +#define STYLE 274 +#define AUTO3STATE 275 +#define AUTOCHECKBOX 276 +#define AUTORADIOBUTTON 277 +#define CHECKBOX 278 +#define COMBOBOX 279 +#define CTEXT 280 +#define DEFPUSHBUTTON 281 +#define EDITTEXT 282 +#define GROUPBOX 283 +#define LISTBOX 284 +#define LTEXT 285 +#define PUSHBOX 286 +#define PUSHBUTTON 287 +#define RADIOBUTTON 288 +#define RTEXT 289 +#define SCROLLBAR 290 +#define STATE3 291 +#define USERBUTTON 292 +#define BEDIT 293 +#define HEDIT 294 +#define IEDIT 295 +#define FONT 296 +#define ICON 297 +#define LANGUAGE 298 +#define CHARACTERISTICS 299 +#define VERSIONK 300 +#define MENU 301 +#define MENUEX 302 +#define MENUITEM 303 +#define SEPARATOR 304 +#define POPUP 305 +#define CHECKED 306 +#define GRAYED 307 +#define HELP 308 +#define INACTIVE 309 +#define MENUBARBREAK 310 +#define MENUBREAK 311 +#define MESSAGETABLE 312 +#define RCDATA 313 +#define STRINGTABLE 314 +#define VERSIONINFO 315 +#define FILEVERSION 316 +#define PRODUCTVERSION 317 +#define FILEFLAGSMASK 318 +#define FILEFLAGS 319 +#define FILEOS 320 +#define FILETYPE 321 +#define FILESUBTYPE 322 +#define BLOCKSTRINGFILEINFO 323 +#define BLOCKVARFILEINFO 324 +#define VALUE 325 +#define BLOCK 326 +#define MOVEABLE 327 +#define FIXED 328 +#define PURE 329 +#define IMPURE 330 +#define PRELOAD 331 +#define LOADONCALL 332 +#define DISCARDABLE 333 +#define NOT 334 +#define QUOTEDSTRING 335 +#define STRING 336 +#define NUMBER 337 +#define SIZEDSTRING 338 +#define IGNORED_TOKEN 339 +#define NEG 340 + + + + +/* Copy the first part of user declarations. */ #line 1 "rcparse.y" /* rcparse.y -- parser for Windows rc files - Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 + Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support. This file is part of GNU Binutils. @@ -106,8 +250,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ /* This is a parser for Windows rc files. It is based on the parser by Gunther Ebert <gunther.ebert@ixos-leipzig.de>. */ @@ -143,16 +287,35 @@ static unsigned long base_style; static unsigned long default_style; static unsigned long class; static struct res_id res_text_field; +static unichar null_unichar; /* This is used for COMBOBOX, LISTBOX and EDITTEXT which do not allow resource 'text' field in control definition. */ -static const struct res_id res_null_text = { 1, {{0, L""}}}; +static const struct res_id res_null_text = { 1, {{0, &null_unichar}}}; -#line 63 "rcparse.y" -#ifndef YYSTYPE -typedef union -{ + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 +#endif + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +#line 66 "rcparse.y" +typedef union YYSTYPE { struct accelerator acc; struct accelerator *pacc; struct dialog_control *dialog_control; @@ -189,687 +352,61 @@ typedef union unsigned long length; const char *s; } ss; -} yystype; -# define YYSTYPE yystype +} YYSTYPE; +/* Line 196 of yacc.c. */ +#line 358 "rcparse.c" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -#define YYFINAL 499 -#define YYFLAG -32768 -#define YYNTBASE 99 -/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ -#define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 189) +/* Copy the second part of user declarations. */ -/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ -static const char yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 92, 87, 2, - 97, 98, 90, 88, 95, 89, 2, 91, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 96, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 86, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 85, 2, 93, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 94 -}; -#if YYDEBUG -static const short yyprhs[] = -{ - 0, 0, 1, 4, 7, 10, 13, 16, 19, 22, - 25, 28, 31, 34, 37, 40, 43, 46, 53, 54, - 57, 60, 65, 67, 69, 71, 75, 78, 80, 82, - 84, 86, 88, 90, 95, 100, 101, 115, 116, 130, - 131, 146, 147, 151, 152, 156, 160, 164, 168, 172, - 178, 185, 193, 202, 206, 210, 215, 219, 220, 223, - 224, 229, 230, 235, 236, 241, 242, 247, 248, 253, - 254, 258, 270, 283, 296, 310, 311, 316, 317, 322, - 323, 327, 328, 333, 334, 339, 346, 355, 366, 378, - 379, 384, 385, 389, 390, 395, 396, 401, 402, 407, - 408, 413, 414, 419, 420, 424, 425, 430, 431, 447, - 454, 463, 473, 474, 477, 479, 482, 483, 487, 488, - 492, 493, 497, 498, 502, 507, 512, 516, 523, 524, - 527, 532, 535, 542, 543, 547, 550, 552, 554, 556, - 558, 560, 562, 569, 570, 573, 576, 580, 586, 589, - 595, 602, 610, 620, 625, 632, 633, 636, 637, 639, - 641, 643, 647, 651, 652, 659, 660, 664, 669, 676, - 681, 688, 689, 696, 703, 707, 711, 715, 719, 723, - 724, 733, 741, 742, 748, 749, 753, 755, 757, 759, - 762, 765, 768, 770, 771, 774, 778, 783, 787, 788, - 791, 792, 795, 797, 799, 801, 803, 805, 807, 809, - 811, 813, 815, 818, 822, 827, 829, 833, 834, 836, - 839, 841, 843, 847, 850, 853, 857, 861, 865, 869, - 873, 877, 881, 885, 888, 890, 892, 896, 899, 903, - 907, 911, 915, 919, 923, 927 -}; -static const short yyrhs[] = -{ - -1, 99, 100, 0, 99, 106, 0, 99, 107, 0, - 99, 108, 0, 99, 146, 0, 99, 147, 0, 99, - 148, 0, 99, 149, 0, 99, 154, 0, 99, 157, - 0, 99, 158, 0, 99, 163, 0, 99, 166, 0, - 99, 167, 0, 99, 84, 0, 172, 5, 175, 3, - 101, 4, 0, 0, 101, 102, 0, 103, 186, 0, - 103, 186, 95, 104, 0, 80, 0, 187, 0, 105, - 0, 104, 95, 105, 0, 104, 105, 0, 6, 0, - 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, - 172, 12, 177, 179, 0, 172, 13, 176, 179, 0, - 0, 172, 14, 177, 112, 187, 183, 183, 183, 109, - 113, 3, 114, 4, 0, 0, 172, 15, 177, 112, - 187, 183, 183, 183, 110, 113, 3, 114, 4, 0, - 0, 172, 15, 177, 112, 187, 183, 183, 183, 183, - 111, 113, 3, 114, 4, 0, 0, 16, 96, 184, - 0, 0, 113, 17, 80, 0, 113, 18, 172, 0, - 113, 19, 180, 0, 113, 16, 184, 0, 113, 18, - 80, 0, 113, 41, 184, 95, 80, 0, 113, 41, - 184, 95, 80, 183, 0, 113, 41, 184, 95, 80, - 183, 183, 0, 113, 41, 184, 95, 80, 183, 183, - 183, 0, 113, 46, 172, 0, 113, 44, 184, 0, - 113, 43, 184, 183, 0, 113, 45, 184, 0, 0, - 114, 115, 0, 0, 20, 138, 116, 137, 0, 0, - 21, 138, 117, 137, 0, 0, 22, 138, 118, 137, - 0, 0, 38, 138, 119, 137, 0, 0, 23, 138, - 120, 137, 0, 0, 24, 121, 137, 0, 10, 138, - 184, 183, 140, 183, 183, 183, 183, 182, 139, 0, - 10, 138, 184, 183, 140, 183, 183, 183, 183, 183, - 183, 139, 0, 10, 138, 184, 95, 80, 140, 183, - 183, 183, 183, 182, 139, 0, 10, 138, 184, 95, - 80, 140, 183, 183, 183, 183, 183, 183, 139, 0, - 0, 25, 138, 122, 137, 0, 0, 26, 138, 123, - 137, 0, 0, 27, 124, 137, 0, 0, 28, 138, - 125, 137, 0, 0, 39, 138, 126, 137, 0, 42, - 174, 184, 183, 183, 139, 0, 42, 174, 184, 183, - 183, 183, 183, 139, 0, 42, 174, 184, 183, 183, - 183, 183, 142, 182, 139, 0, 42, 174, 184, 183, - 183, 183, 183, 142, 183, 183, 139, 0, 0, 40, - 138, 127, 137, 0, 0, 29, 128, 137, 0, 0, - 30, 138, 129, 137, 0, 0, 31, 138, 130, 137, - 0, 0, 32, 138, 131, 137, 0, 0, 33, 138, - 132, 137, 0, 0, 34, 138, 133, 137, 0, 0, - 35, 134, 137, 0, 0, 36, 138, 135, 137, 0, - 0, 37, 174, 184, 95, 184, 95, 184, 95, 184, - 95, 184, 95, 136, 180, 182, 0, 184, 183, 183, - 183, 183, 139, 0, 184, 183, 183, 183, 183, 144, - 182, 139, 0, 184, 183, 183, 183, 183, 144, 183, - 183, 139, 0, 0, 187, 95, 0, 80, 0, 80, - 95, 0, 0, 3, 159, 4, 0, 0, 95, 141, - 180, 0, 0, 95, 143, 180, 0, 0, 95, 145, - 180, 0, 172, 41, 176, 179, 0, 172, 42, 176, - 179, 0, 43, 184, 183, 0, 172, 46, 175, 3, - 150, 4, 0, 0, 150, 151, 0, 48, 80, 183, - 152, 0, 48, 49, 0, 50, 80, 152, 3, 150, - 4, 0, 0, 152, 95, 153, 0, 152, 153, 0, - 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, - 56, 0, 172, 47, 175, 3, 155, 4, 0, 0, - 155, 156, 0, 48, 80, 0, 48, 80, 183, 0, - 48, 80, 183, 183, 182, 0, 48, 49, 0, 50, - 80, 3, 155, 4, 0, 50, 80, 183, 3, 155, - 4, 0, 50, 80, 183, 183, 3, 155, 4, 0, - 50, 80, 183, 183, 183, 182, 3, 155, 4, 0, - 172, 57, 177, 179, 0, 172, 58, 175, 3, 159, - 4, 0, 0, 160, 161, 0, 0, 162, 0, 83, - 0, 185, 0, 162, 95, 83, 0, 162, 95, 185, - 0, 0, 59, 175, 3, 164, 165, 4, 0, 0, - 165, 184, 80, 0, 165, 184, 95, 80, 0, 172, - 172, 175, 3, 159, 4, 0, 172, 172, 175, 179, - 0, 172, 60, 168, 3, 169, 4, 0, 0, 168, - 61, 184, 183, 183, 183, 0, 168, 62, 184, 183, - 183, 183, 0, 168, 63, 184, 0, 168, 64, 184, - 0, 168, 65, 184, 0, 168, 66, 184, 0, 168, - 67, 184, 0, 0, 169, 68, 3, 71, 3, 170, - 4, 4, 0, 169, 69, 3, 70, 80, 171, 4, - 0, 0, 170, 70, 80, 95, 80, 0, 0, 171, - 183, 183, 0, 187, 0, 81, 0, 80, 0, 80, - 95, 0, 81, 95, 0, 187, 95, 0, 173, 0, - 0, 175, 178, 0, 175, 44, 184, 0, 175, 43, - 184, 183, 0, 175, 45, 184, 0, 0, 176, 178, - 0, 0, 177, 178, 0, 72, 0, 73, 0, 74, - 0, 75, 0, 76, 0, 77, 0, 78, 0, 80, - 0, 81, 0, 181, 0, 79, 181, 0, 180, 85, - 181, 0, 180, 85, 79, 181, 0, 82, 0, 97, - 184, 98, 0, 0, 183, 0, 95, 184, 0, 185, - 0, 82, 0, 97, 185, 98, 0, 93, 185, 0, - 89, 185, 0, 185, 90, 185, 0, 185, 91, 185, - 0, 185, 92, 185, 0, 185, 88, 185, 0, 185, - 89, 185, 0, 185, 87, 185, 0, 185, 86, 185, - 0, 185, 85, 185, 0, 95, 187, 0, 188, 0, - 82, 0, 97, 185, 98, 0, 93, 185, 0, 188, - 90, 185, 0, 188, 91, 185, 0, 188, 92, 185, - 0, 188, 88, 185, 0, 188, 89, 185, 0, 188, - 87, 185, 0, 188, 86, 185, 0, 188, 85, 185, - 0 -}; +/* Line 219 of yacc.c. */ +#line 370 "rcparse.c" +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) +# define YYSIZE_T __SIZE_TYPE__ #endif - -#if YYDEBUG -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const short yyrline[] = -{ - 0, 159, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 180, 190, 195, - 215, 221, 232, 254, 263, 268, 273, 279, 284, 289, - 293, 297, 301, 309, 321, 333, 333, 359, 359, 386, - 386, 416, 421, 427, 429, 435, 439, 444, 448, 452, - 465, 480, 495, 510, 514, 518, 522, 528, 530, 540, - 540, 552, 552, 563, 563, 574, 574, 588, 588, 599, - 599, 612, 623, 632, 645, 656, 656, 667, 667, 678, - 678, 689, 689, 700, 700, 714, 719, 725, 731, 737, - 737, 751, 751, 762, 762, 773, 773, 783, 783, 794, - 794, 805, 805, 816, 816, 827, 827, 838, 838, 855, - 867, 878, 889, 894, 899, 903, 909, 914, 922, 922, - 928, 928, 934, 934, 942, 954, 967, 976, 986, 991, - 1007, 1012, 1016, 1022, 1027, 1031, 1037, 1042, 1046, 1050, - 1054, 1058, 1066, 1076, 1081, 1097, 1102, 1106, 1110, 1114, - 1118, 1122, 1126, 1135, 1147, 1160, 1160, 1171, 1177, 1183, - 1192, 1200, 1209, 1222, 1222, 1228, 1230, 1237, 1249, 1257, - 1268, 1278, 1285, 1291, 1297, 1302, 1307, 1312, 1317, 1330, - 1335, 1339, 1345, 1350, 1356, 1361, 1369, 1375, 1390, 1395, - 1399, 1406, 1412, 1428, 1436, 1442, 1447, 1452, 1461, 1468, - 1478, 1485, 1496, 1502, 1507, 1512, 1517, 1522, 1527, 1536, - 1541, 1557, 1562, 1566, 1570, 1576, 1581, 1589, 1594, 1602, - 1611, 1620, 1625, 1629, 1634, 1639, 1644, 1649, 1654, 1659, - 1664, 1669, 1674, 1684, 1693, 1704, 1709, 1713, 1718, 1723, - 1728, 1733, 1738, 1743, 1748, 1753 -}; +#if ! defined (YYSIZE_T) && defined (size_t) +# define YYSIZE_T size_t #endif - - -#if (YYDEBUG) || defined YYERROR_VERBOSE - -/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ -static const char *const yytname[] = -{ - "$", "error", "$undefined.", "BEG", "END", "ACCELERATORS", "VIRTKEY", - "ASCII", "NOINVERT", "SHIFT", "CONTROL", "ALT", "BITMAP", "CURSOR", - "DIALOG", "DIALOGEX", "EXSTYLE", "CAPTION", "CLASS", "STYLE", - "AUTO3STATE", "AUTOCHECKBOX", "AUTORADIOBUTTON", "CHECKBOX", "COMBOBOX", - "CTEXT", "DEFPUSHBUTTON", "EDITTEXT", "GROUPBOX", "LISTBOX", "LTEXT", - "PUSHBOX", "PUSHBUTTON", "RADIOBUTTON", "RTEXT", "SCROLLBAR", "STATE3", - "USERBUTTON", "BEDIT", "HEDIT", "IEDIT", "FONT", "ICON", "LANGUAGE", - "CHARACTERISTICS", "VERSIONK", "MENU", "MENUEX", "MENUITEM", - "SEPARATOR", "POPUP", "CHECKED", "GRAYED", "HELP", "INACTIVE", - "MENUBARBREAK", "MENUBREAK", "MESSAGETABLE", "RCDATA", "STRINGTABLE", - "VERSIONINFO", "FILEVERSION", "PRODUCTVERSION", "FILEFLAGSMASK", - "FILEFLAGS", "FILEOS", "FILETYPE", "FILESUBTYPE", "BLOCKSTRINGFILEINFO", - "BLOCKVARFILEINFO", "VALUE", "BLOCK", "MOVEABLE", "FIXED", "PURE", - "IMPURE", "PRELOAD", "LOADONCALL", "DISCARDABLE", "NOT", "QUOTEDSTRING", - "STRING", "NUMBER", "SIZEDSTRING", "IGNORED_TOKEN", "'|'", "'^'", "'&'", - "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "NEG", "','", "'='", "'('", - "')'", "input", "accelerator", "acc_entries", "acc_entry", "acc_event", - "acc_options", "acc_option", "bitmap", "cursor", "dialog", "@1", "@2", - "@3", "exstyle", "styles", "controls", "control", "@4", "@5", "@6", - "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", - "@17", "@18", "@19", "@20", "@21", "@22", "@23", "@24", - "control_params", "optresidc", "opt_control_data", "control_styleexpr", - "@25", "icon_styleexpr", "@26", "control_params_styleexpr", "@27", - "font", "icon", "language", "menu", "menuitems", "menuitem", - "menuitem_flags", "menuitem_flag", "menuex", "menuexitems", - "menuexitem", "messagetable", "rcdata", "optrcdata_data", "@28", - "optrcdata_data_int", "rcdata_data", "stringtable", "@29", - "string_data", "user", "versioninfo", "fixedverinfo", "verblocks", - "vervals", "vertrans", "id", "resname", "resref", "suboptions", - "memflags_move_discard", "memflags_move", "memflag", "file_name", - "styleexpr", "parennumber", "optcnumexpr", "cnumexpr", "numexpr", - "sizednumexpr", "cposnumexpr", "posnumexpr", "sizedposnumexpr", 0 -}; +#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus)) +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +#endif +#if ! defined (YYSIZE_T) +# define YYSIZE_T unsigned int #endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const short yyr1[] = -{ - 0, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 100, 101, 101, - 102, 102, 103, 103, 104, 104, 104, 105, 105, 105, - 105, 105, 105, 106, 107, 109, 108, 110, 108, 111, - 108, 112, 112, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 114, 114, 116, - 115, 117, 115, 118, 115, 119, 115, 120, 115, 121, - 115, 115, 115, 115, 115, 122, 115, 123, 115, 124, - 115, 125, 115, 126, 115, 115, 115, 115, 115, 127, - 115, 128, 115, 129, 115, 130, 115, 131, 115, 132, - 115, 133, 115, 134, 115, 135, 115, 136, 115, 137, - 137, 137, 138, 138, 138, 138, 139, 139, 141, 140, - 143, 142, 145, 144, 146, 147, 148, 149, 150, 150, - 151, 151, 151, 152, 152, 152, 153, 153, 153, 153, - 153, 153, 154, 155, 155, 156, 156, 156, 156, 156, - 156, 156, 156, 157, 158, 160, 159, 161, 161, 162, - 162, 162, 162, 164, 163, 165, 165, 165, 166, 166, - 167, 168, 168, 168, 168, 168, 168, 168, 168, 169, - 169, 169, 170, 170, 171, 171, 172, 172, 173, 173, - 173, 174, 174, 175, 175, 175, 175, 175, 176, 176, - 177, 177, 178, 178, 178, 178, 178, 178, 178, 179, - 179, 180, 180, 180, 180, 181, 181, 182, 182, 183, - 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 186, 187, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const short yyr2[] = -{ - 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 6, 0, 2, - 2, 4, 1, 1, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 4, 4, 0, 13, 0, 13, 0, - 14, 0, 3, 0, 3, 3, 3, 3, 3, 5, - 6, 7, 8, 3, 3, 4, 3, 0, 2, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 3, 11, 12, 12, 13, 0, 4, 0, 4, 0, - 3, 0, 4, 0, 4, 6, 8, 10, 11, 0, - 4, 0, 3, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 3, 0, 4, 0, 15, 6, - 8, 9, 0, 2, 1, 2, 0, 3, 0, 3, - 0, 3, 0, 3, 4, 4, 3, 6, 0, 2, - 4, 2, 6, 0, 3, 2, 1, 1, 1, 1, - 1, 1, 6, 0, 2, 2, 3, 5, 2, 5, - 6, 7, 9, 4, 6, 0, 2, 0, 1, 1, - 1, 3, 3, 0, 6, 0, 3, 4, 6, 4, - 6, 0, 6, 6, 3, 3, 3, 3, 3, 0, - 8, 7, 0, 5, 0, 3, 1, 1, 1, 2, - 2, 2, 1, 0, 2, 3, 4, 3, 0, 2, - 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 3, 4, 1, 3, 0, 1, 2, - 1, 1, 3, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 1, 1, 3, 2, 3, 3, - 3, 3, 3, 3, 3, 3 -}; - -/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE - doesn't specify something else to do. Zero means the default is an - error. */ -static const short yydefact[] = -{ - 1, 0, 0, 193, 187, 235, 16, 0, 0, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 0, 186, 234, 221, 0, 0, 0, - 0, 220, 0, 237, 0, 193, 200, 198, 200, 200, - 198, 198, 193, 193, 200, 193, 171, 193, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 223, 0, 0, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 163, - 0, 0, 0, 202, 203, 204, 205, 206, 207, 208, - 194, 236, 0, 0, 0, 41, 41, 0, 0, 0, - 0, 0, 0, 0, 0, 245, 244, 243, 241, 242, - 238, 239, 240, 222, 219, 232, 231, 230, 228, 229, - 225, 226, 227, 165, 0, 195, 197, 18, 209, 210, - 201, 33, 199, 34, 0, 0, 0, 124, 125, 128, - 143, 153, 155, 179, 0, 0, 0, 0, 0, 0, - 0, 155, 169, 0, 196, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 0, 174, 175, 176, 177, - 178, 0, 164, 0, 17, 22, 19, 0, 23, 42, - 0, 0, 127, 0, 0, 129, 142, 0, 0, 144, - 154, 159, 156, 158, 160, 170, 0, 0, 0, 0, - 168, 166, 0, 0, 20, 0, 0, 131, 0, 133, - 148, 145, 0, 0, 0, 0, 0, 0, 167, 233, - 0, 35, 37, 133, 0, 146, 143, 0, 161, 162, - 0, 0, 172, 173, 27, 28, 29, 30, 31, 32, - 21, 24, 43, 43, 39, 130, 128, 136, 137, 138, - 139, 140, 141, 0, 135, 217, 0, 143, 0, 182, - 184, 0, 26, 0, 0, 43, 0, 134, 147, 218, - 149, 0, 143, 217, 0, 0, 25, 57, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 57, 0, 132, - 150, 0, 0, 0, 0, 181, 0, 0, 47, 44, - 48, 45, 0, 215, 0, 46, 211, 0, 0, 54, - 56, 53, 0, 57, 151, 143, 180, 0, 185, 36, - 112, 112, 112, 112, 112, 69, 112, 112, 79, 112, - 91, 112, 112, 112, 112, 112, 103, 112, 0, 112, - 112, 112, 0, 58, 212, 0, 0, 0, 55, 38, - 0, 0, 0, 114, 0, 0, 59, 61, 63, 67, - 0, 75, 77, 0, 81, 0, 93, 95, 97, 99, - 101, 0, 105, 188, 0, 192, 0, 0, 65, 83, - 89, 0, 216, 0, 213, 49, 40, 152, 183, 115, - 0, 113, 0, 0, 0, 0, 70, 0, 0, 0, - 80, 0, 92, 0, 0, 0, 0, 0, 104, 0, - 189, 190, 0, 191, 0, 0, 0, 0, 214, 50, - 0, 0, 60, 62, 64, 68, 0, 76, 78, 82, - 94, 96, 98, 100, 102, 106, 0, 66, 84, 90, - 0, 51, 0, 118, 0, 0, 0, 116, 52, 0, - 0, 0, 0, 0, 155, 85, 0, 0, 119, 0, - 116, 0, 0, 116, 0, 0, 122, 109, 217, 0, - 117, 120, 86, 217, 0, 217, 0, 116, 218, 0, - 0, 116, 218, 217, 116, 218, 123, 110, 116, 0, - 121, 87, 116, 116, 218, 71, 116, 111, 0, 88, - 73, 116, 72, 107, 74, 0, 217, 108, 0, 0 -}; - -static const short yydefgoto[] = -{ - 1, 9, 145, 166, 167, 230, 231, 10, 11, 12, - 232, 233, 255, 125, 253, 287, 333, 382, 383, 384, - 404, 385, 350, 388, 389, 353, 391, 405, 406, 355, - 393, 394, 395, 396, 397, 361, 399, 495, 386, 344, - 445, 434, 440, 463, 470, 458, 466, 13, 14, 15, - 16, 149, 175, 214, 244, 17, 150, 179, 18, 19, - 151, 152, 182, 183, 20, 113, 143, 21, 22, 93, - 153, 264, 265, 23, 365, 366, 32, 84, 83, 80, - 121, 295, 296, 258, 259, 387, 31, 194, 345, 25 -}; - -static const short yypact[] = -{ - -32768, 13, 265,-32768,-32768,-32768,-32768, 265, 265,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, 110,-32768, 567,-32768, 265, 265, 265, - -70, 605, 300,-32768, 657,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 265, 265, - 265, 265, 265, 265, 265, 265,-32768,-32768, 671, 265, - -32768, 265, 265, 265, 265, 265, 265, 265, 265,-32768, - 265, 265, 265,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768, 307, 698, 698, 224, 224, 698, 698, 323, - 345, 698, 445, 195, 244, 694, 700, 217, 89, 89, - -32768,-32768,-32768,-32768,-32768, 694, 700, 217, 89, 89, - -32768,-32768,-32768,-32768, -70,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768, -42, 141, 141,-32768,-32768,-32768, - -32768,-32768,-32768,-32768, 265, 265, 265, 265, 265, 265, - 265,-32768,-32768, -1,-32768, 5, 265, -70, -70, 3, - 34, 51, 186, 39, -70, -70,-32768,-32768,-32768,-32768, - -32768, 54,-32768, 10,-32768,-32768,-32768, -12,-32768,-32768, - -70, -70,-32768, -35, 11,-32768,-32768, -31, 31,-32768, - -32768,-32768,-32768, 23, 605,-32768, 128, 137, -70, -70, - -32768,-32768, 68, 141, 58, -70, -70,-32768, -70,-32768, - -32768, -70, 8, 516, 28, 85, -70, -70,-32768,-32768, - 787,-32768, -70,-32768, 158, -70,-32768, 9,-32768, 605, - 156, 80,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 22,-32768,-32768,-32768,-32768, 359,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, 748,-32768, -70, 115,-32768, 14,-32768, - -32768, 787,-32768, 529, 540,-32768, 123,-32768,-32768,-32768, - -32768, 124,-32768, -70, 30, 6,-32768,-32768, 265, 86, - 65, 96, 265, 265, 265, 265, 256,-32768, 549,-32768, - -32768, 138, 166, 178, 105,-32768, -70, 604,-32768,-32768, - -32768,-32768, 57,-32768, 265, 104,-32768, 100, -70,-32768, - -32768,-32768, 641,-32768,-32768,-32768,-32768, 107,-32768,-32768, - 170, 170, 170, 170, 170,-32768, 170, 170,-32768, 170, - -32768, 170, 170, 170, 170, 170,-32768, 170, 140, 170, - 170, 170, 140,-32768,-32768, 106, 108, 139,-32768,-32768, - 678, 146, 148, 131, 265, 134,-32768,-32768,-32768,-32768, - 265,-32768,-32768, 265,-32768, 265,-32768,-32768,-32768,-32768, - -32768, 265,-32768, 147, 150,-32768, 265, 153,-32768,-32768, - -32768, 265,-32768, 57,-32768, -70,-32768,-32768,-32768,-32768, - 159,-32768, 265, 265, 265, 265,-32768, -70, 265, 265, - -32768, 265,-32768, 265, 265, 265, 265, 265,-32768, 265, - -32768,-32768, 169,-32768, 265, 265, 265, -70,-32768, -70, - 346, 181,-32768,-32768,-32768,-32768, -70,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 265,-32768,-32768,-32768, - -70, -70, 181,-32768, -70, -70, 183, 18,-32768, -70, - 96, -70, -70, 265,-32768,-32768, -70, -70, 104, -70, - 19, 187, 228, 21, -70, -70,-32768,-32768, -70, 265, - -32768,-32768,-32768, -70, -70, -70, 96, 240, -70, 189, - 96, 240, -70, -70, 240, -70, 104,-32768, 240, 265, - 104,-32768, 240, 240, -70,-32768, 240,-32768, 190,-32768, - -32768, 240,-32768,-32768,-32768, 96, -59,-32768, 251,-32768 -}; - -static const short yypgoto[] = -{ - -32768,-32768,-32768,-32768,-32768,-32768, -207,-32768,-32768,-32768, - -32768,-32768,-32768, 179, -218, -191,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 145, 410, - 129, -151,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768, 50,-32768, 77, 48,-32768, -212,-32768,-32768,-32768, - -140,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, -21,-32768, -39, 288, 7, 82, 424, - 343, -424, -284, -257, 29, -2, 12,-32768, 4,-32768 -}; - - -#define YYLAST 804 - - -static const short yytable[] = -{ - 30, 161, 47, 162, 246, 24, 282, 172, 334, 164, - 285, 216, 247, 498, 197, 254, 448, 262, 200, 33, - 34, 444, 444, 252, 444, 59, 336, 24, 224, 225, - 226, 227, 228, 229, 283, 261, 59, 278, 176, 56, - 57, 58, 476, 185, 266, 198, 480, 87, 88, 201, - 281, 173, 374, 174, 146, 180, 2, 104, 190, 60, - 95, 96, 97, 98, 99, 100, 101, 102, 114, 115, - 116, 496, 3, 105, 106, 107, 108, 109, 110, 111, - 112, 26, 177, 193, 178, 165, 302, 5, 27, 408, - 191, 199, 28, 341, 4, 5, 29, 6, 7, 220, - 284, 59, 8, 59, 59, 192, 7, 186, 187, 59, - 8, 202, 340, 59, 456, 35, 461, 251, 203, 260, - 85, 86, 36, 37, 38, 39, 91, 279, 280, 147, - 148, 204, 154, 155, 156, 157, 158, 159, 160, 293, - 205, 163, 304, 144, 169, 290, 4, 5, 208, 168, - 377, 40, 41, 210, 294, 221, 42, 43, 7, 249, - 250, 236, 8, 177, 184, 178, 289, 44, 45, 305, - 46, 173, 177, 174, 178, 292, 170, 171, 293, 66, - 67, 68, 306, 188, 189, 307, 177, 373, 178, 336, - 293, 4, 5, 294, 177, 337, 178, 209, 133, 195, - 196, 467, 342, 7, 372, 294, 471, 8, 474, 237, - 238, 239, 240, 241, 242, 219, 483, 206, 207, 375, - 363, 364, 5, 5, 211, 212, 379, 213, 378, 381, - 215, 217, 460, 7, 7, 222, 223, 8, 8, 497, - 124, 234, 400, 444, 245, 401, 248, 141, 403, 291, - 343, 499, 5, 243, 410, 301, 134, 135, 136, 137, - 138, 139, 140, 7, 426, 126, 288, 8, 26, 181, - 297, 298, 299, 300, 24, 27, 433, 263, 443, 28, - 24, 439, 459, 29, 479, 493, 256, 70, 71, 72, - 235, 257, 335, 371, 286, 0, 73, 74, 75, 76, - 77, 78, 79, 69, 452, 64, 65, 66, 67, 68, - 117, 0, 0, 0, 0, 308, 73, 74, 75, 76, - 77, 78, 79, 82, 118, 119, 129, 338, 0, 0, - 89, 90, 367, 92, 0, 94, 367, 4, 5, 0, - 0, 0, 380, 70, 71, 72, 0, 26, 130, 7, - 70, 71, 72, 8, 27, 0, 0, 0, 28, 0, - 0, 0, 29, 0, 402, 0, 70, 71, 72, 407, - 0, 0, 73, 74, 75, 76, 77, 78, 79, 73, - 74, 75, 76, 77, 78, 79, 0, 0, 70, 71, - 72, 0, 0, 0, 0, 73, 74, 75, 76, 77, - 78, 79, 0, 0, 409, 0, 0, 0, 104, 411, - 237, 238, 239, 240, 241, 242, 416, 73, 74, 75, - 76, 77, 78, 79, 436, 0, 432, 123, 26, 0, - 127, 128, 0, 0, 131, 27, 430, 142, 431, 28, - 0, 451, 0, 29, 0, 435, 0, 0, 132, 0, - 0, 0, 0, 0, 243, 0, 0, 469, 0, 437, - 438, 0, 0, 441, 442, 0, 446, 0, 447, 0, - 449, 450, 0, 0, 0, 453, 454, 488, 455, 0, - 0, 0, 0, 464, 465, 0, 0, 468, 70, 71, - 72, 0, 472, 473, 475, 0, 0, 478, 390, 0, - 392, 482, 484, 0, 486, 0, 398, 120, 122, 120, - 120, 122, 122, 491, 0, 120, 0, 73, 74, 75, - 76, 77, 78, 79, 0, 0, 0, 412, 413, 414, - 415, 0, 267, 417, 418, 0, 419, 0, 420, 421, - 422, 423, 424, 277, 425, 268, 269, 270, 271, 427, - 428, 429, 303, 0, 0, 0, 268, 269, 270, 271, - 0, 0, 0, 0, 0, 268, 269, 270, 271, 0, - 272, 0, 273, 274, 275, 276, 0, 0, 0, 457, - 0, 272, 462, 273, 274, 275, 276, 0, 0, 0, - 272, 0, 273, 274, 275, 276, 477, 0, 26, 218, - 481, 0, 0, 485, 0, 27, 0, 487, 309, 28, - 0, 489, 490, 29, 310, 492, 0, 0, 0, 0, - 494, 0, 0, 0, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 339, 332, 0, 0, 0, - 0, 310, 48, 49, 50, 51, 52, 53, 54, 55, - 0, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 376, 332, 0, 0, 0, 0, 310, 0, - 61, 62, 63, 64, 65, 66, 67, 68, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 0, - 332, 346, 347, 348, 349, 0, 351, 352, 0, 354, - 0, 356, 357, 358, 359, 360, 0, 362, 0, 368, - 369, 370, 61, 62, 63, 64, 65, 66, 67, 68, - 0, 0, 0, 0, 0, 81, 61, 62, 63, 64, - 65, 66, 67, 68, 0, 0, 0, 0, 0, 103, - 73, 74, 75, 76, 77, 78, 79, 0, 118, 119, - 62, 63, 64, 65, 66, 67, 68, 63, 64, 65, - 66, 67, 68, 224, 225, 226, 227, 228, 229, 237, - 238, 239, 240, 241, 242 -}; - -static const short yycheck[] = -{ - 2, 141, 23, 4, 216, 1, 263, 4, 292, 4, - 4, 3, 3, 0, 49, 233, 440, 3, 49, 7, - 8, 3, 3, 230, 3, 95, 85, 23, 6, 7, - 8, 9, 10, 11, 4, 247, 95, 255, 4, 27, - 28, 29, 466, 4, 251, 80, 470, 40, 41, 80, - 262, 48, 336, 50, 96, 4, 43, 59, 4, 30, - 48, 49, 50, 51, 52, 53, 54, 55, 70, 71, - 72, 495, 59, 61, 62, 63, 64, 65, 66, 67, - 68, 82, 48, 95, 50, 80, 277, 82, 89, 373, - 80, 80, 93, 305, 81, 82, 97, 84, 93, 71, - 70, 95, 97, 95, 95, 95, 93, 68, 69, 95, - 97, 80, 303, 95, 95, 5, 95, 95, 95, 4, - 38, 39, 12, 13, 14, 15, 44, 4, 4, 125, - 126, 3, 134, 135, 136, 137, 138, 139, 140, 82, - 3, 143, 4, 114, 146, 80, 81, 82, 80, 145, - 4, 41, 42, 95, 97, 70, 46, 47, 93, 3, - 80, 3, 97, 48, 152, 50, 80, 57, 58, 3, - 60, 48, 48, 50, 50, 79, 147, 148, 82, 90, - 91, 92, 4, 154, 155, 80, 48, 79, 50, 85, - 82, 81, 82, 97, 48, 95, 50, 193, 3, 170, - 171, 458, 95, 93, 98, 97, 463, 97, 465, 51, - 52, 53, 54, 55, 56, 203, 473, 188, 189, 80, - 80, 81, 82, 82, 195, 196, 95, 198, 80, 95, - 201, 202, 4, 93, 93, 206, 207, 97, 97, 496, - 16, 212, 95, 3, 215, 95, 217, 3, 95, 270, - 80, 0, 82, 95, 95, 276, 61, 62, 63, 64, - 65, 66, 67, 93, 95, 86, 268, 97, 82, 83, - 272, 273, 274, 275, 270, 89, 95, 248, 95, 93, - 276, 432, 95, 97, 95, 95, 236, 43, 44, 45, - 213, 243, 294, 332, 265, -1, 72, 73, 74, 75, - 76, 77, 78, 3, 444, 88, 89, 90, 91, 92, - 3, -1, -1, -1, -1, 286, 72, 73, 74, 75, - 76, 77, 78, 35, 80, 81, 3, 298, -1, -1, - 42, 43, 328, 45, -1, 47, 332, 81, 82, -1, - -1, -1, 344, 43, 44, 45, -1, 82, 3, 93, - 43, 44, 45, 97, 89, -1, -1, -1, 93, -1, - -1, -1, 97, -1, 366, -1, 43, 44, 45, 371, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 72, - 73, 74, 75, 76, 77, 78, -1, -1, 43, 44, - 45, -1, -1, -1, -1, 72, 73, 74, 75, 76, - 77, 78, -1, -1, 375, -1, -1, -1, 410, 380, - 51, 52, 53, 54, 55, 56, 387, 72, 73, 74, - 75, 76, 77, 78, 426, -1, 80, 84, 82, -1, - 87, 88, -1, -1, 91, 89, 407, 94, 409, 93, - -1, 443, -1, 97, -1, 416, -1, -1, 3, -1, - -1, -1, -1, -1, 95, -1, -1, 459, -1, 430, - 431, -1, -1, 434, 435, -1, 437, -1, 439, -1, - 441, 442, -1, -1, -1, 446, 447, 479, 449, -1, - -1, -1, -1, 454, 455, -1, -1, 458, 43, 44, - 45, -1, 463, 464, 465, -1, -1, 468, 353, -1, - 355, 472, 473, -1, 475, -1, 361, 83, 84, 85, - 86, 87, 88, 484, -1, 91, -1, 72, 73, 74, - 75, 76, 77, 78, -1, -1, -1, 382, 383, 384, - 385, -1, 3, 388, 389, -1, 391, -1, 393, 394, - 395, 396, 397, 3, 399, 16, 17, 18, 19, 404, - 405, 406, 3, -1, -1, -1, 16, 17, 18, 19, - -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, - 41, -1, 43, 44, 45, 46, -1, -1, -1, 450, - -1, 41, 453, 43, 44, 45, 46, -1, -1, -1, - 41, -1, 43, 44, 45, 46, 467, -1, 82, 83, - 471, -1, -1, 474, -1, 89, -1, 478, 4, 93, - -1, 482, 483, 97, 10, 486, -1, -1, -1, -1, - 491, -1, -1, -1, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 4, 42, -1, -1, -1, - -1, 10, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 4, 42, -1, -1, -1, -1, 10, -1, - 85, 86, 87, 88, 89, 90, 91, 92, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, - 42, 311, 312, 313, 314, -1, 316, 317, -1, 319, - -1, 321, 322, 323, 324, 325, -1, 327, -1, 329, - 330, 331, 85, 86, 87, 88, 89, 90, 91, 92, - -1, -1, -1, -1, -1, 98, 85, 86, 87, 88, - 89, 90, 91, 92, -1, -1, -1, -1, -1, 98, - 72, 73, 74, 75, 76, 77, 78, -1, 80, 81, - 86, 87, 88, 89, 90, 91, 92, 87, 88, 89, - 90, 91, 92, 6, 7, 8, 9, 10, 11, 51, - 52, 53, 54, 55, 56 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/bison-1.35/bison.simple" - -/* Skeleton output parser for bison, - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software - Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser when - the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ +#ifndef YY_ +# if YYENABLE_NLS +# if ENABLE_NLS +# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ +# define YY_(msgid) dgettext ("bison-runtime", msgid) +# endif +# endif +# ifndef YY_ +# define YY_(msgid) msgid +# endif +#endif -#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) +#if ! defined (yyoverflow) || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ -# if YYSTACK_USE_ALLOCA -# define YYSTACK_ALLOC alloca -# else -# ifndef YYSTACK_USE_ALLOCA -# if defined (alloca) || defined (_ALLOCA_H) -# define YYSTACK_ALLOC alloca +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca # else -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca +# define YYSTACK_ALLOC alloca +# if defined (__STDC__) || defined (__cplusplus) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# define YYINCLUDED_STDLIB_H # endif # endif # endif @@ -878,57 +415,74 @@ static const short yycheck[] = # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */ +# endif # else -# if defined (__STDC__) || defined (__cplusplus) -# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1) +# endif +# ifdef __cplusplus +extern "C" { +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \ + && (defined (__STDC__) || defined (__cplusplus))) +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \ + && (defined (__STDC__) || defined (__cplusplus))) +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifdef __cplusplus +} # endif -# define YYSTACK_ALLOC malloc -# define YYSTACK_FREE free # endif -#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ - || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { - short yyss; + short int yyss; YYSTYPE yyvs; -# if YYLSP_NEEDED - YYLTYPE yyls; -# endif -}; + }; /* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ -# if YYLSP_NEEDED -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ - + 2 * YYSTACK_GAP_MAX) -# else -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAX) -# endif +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY -# if 1 < __GNUC__ +# if defined (__GNUC__) && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ - register YYSIZE_T yyi; \ + YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ @@ -947,98 +501,823 @@ union yyalloc YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short int yysigned_char; +#endif -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) -# define YYSIZE_T __SIZE_TYPE__ +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 2 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 792 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 99 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 91 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 247 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 500 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 340 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +static const unsigned char yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 92, 87, 2, + 97, 98, 90, 88, 95, 89, 2, 91, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 96, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 86, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 85, 2, 93, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 94 +}; + +#if YYDEBUG +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const unsigned short int yyprhs[] = +{ + 0, 0, 3, 4, 7, 10, 13, 16, 19, 22, + 25, 28, 31, 34, 37, 40, 43, 46, 49, 56, + 57, 60, 63, 68, 70, 72, 74, 78, 81, 83, + 85, 87, 89, 91, 93, 98, 103, 104, 118, 119, + 133, 134, 149, 150, 154, 155, 159, 163, 167, 171, + 175, 181, 188, 196, 205, 209, 213, 218, 222, 223, + 226, 227, 232, 233, 238, 239, 244, 245, 250, 251, + 256, 257, 261, 273, 286, 299, 313, 314, 319, 320, + 325, 326, 330, 331, 336, 337, 342, 349, 358, 369, + 381, 382, 387, 388, 392, 393, 398, 399, 404, 405, + 410, 411, 416, 417, 422, 423, 427, 428, 433, 434, + 450, 457, 466, 476, 477, 480, 482, 485, 486, 490, + 491, 495, 496, 500, 501, 505, 510, 515, 519, 526, + 527, 530, 535, 538, 545, 546, 550, 553, 555, 557, + 559, 561, 563, 565, 572, 573, 576, 579, 583, 589, + 592, 598, 605, 613, 623, 628, 635, 640, 641, 644, + 645, 647, 649, 651, 655, 659, 660, 667, 668, 672, + 677, 684, 689, 696, 697, 704, 711, 715, 719, 723, + 727, 731, 732, 741, 749, 750, 756, 757, 761, 763, + 765, 767, 770, 773, 776, 778, 779, 782, 786, 791, + 795, 796, 799, 800, 803, 805, 807, 809, 811, 813, + 815, 817, 819, 821, 823, 826, 830, 835, 837, 841, + 842, 844, 847, 849, 851, 855, 858, 861, 865, 869, + 873, 877, 881, 885, 889, 893, 896, 898, 900, 904, + 907, 911, 915, 919, 923, 927, 931, 935 +}; + +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const short int yyrhs[] = +{ + 100, 0, -1, -1, 100, 101, -1, 100, 107, -1, + 100, 108, -1, 100, 109, -1, 100, 147, -1, 100, + 148, -1, 100, 149, -1, 100, 150, -1, 100, 155, + -1, 100, 158, -1, 100, 159, -1, 100, 164, -1, + 100, 167, -1, 100, 168, -1, 100, 84, -1, 173, + 5, 176, 3, 102, 4, -1, -1, 102, 103, -1, + 104, 187, -1, 104, 187, 95, 105, -1, 80, -1, + 188, -1, 106, -1, 105, 95, 106, -1, 105, 106, + -1, 6, -1, 7, -1, 8, -1, 9, -1, 10, + -1, 11, -1, 173, 12, 178, 180, -1, 173, 13, + 177, 180, -1, -1, 173, 14, 178, 113, 188, 184, + 184, 184, 110, 114, 3, 115, 4, -1, -1, 173, + 15, 178, 113, 188, 184, 184, 184, 111, 114, 3, + 115, 4, -1, -1, 173, 15, 178, 113, 188, 184, + 184, 184, 184, 112, 114, 3, 115, 4, -1, -1, + 16, 96, 185, -1, -1, 114, 17, 80, -1, 114, + 18, 173, -1, 114, 19, 181, -1, 114, 16, 185, + -1, 114, 18, 80, -1, 114, 41, 185, 95, 80, + -1, 114, 41, 185, 95, 80, 184, -1, 114, 41, + 185, 95, 80, 184, 184, -1, 114, 41, 185, 95, + 80, 184, 184, 184, -1, 114, 46, 173, -1, 114, + 44, 185, -1, 114, 43, 185, 184, -1, 114, 45, + 185, -1, -1, 115, 116, -1, -1, 20, 139, 117, + 138, -1, -1, 21, 139, 118, 138, -1, -1, 22, + 139, 119, 138, -1, -1, 38, 139, 120, 138, -1, + -1, 23, 139, 121, 138, -1, -1, 24, 122, 138, + -1, 10, 139, 185, 184, 141, 184, 184, 184, 184, + 183, 140, -1, 10, 139, 185, 184, 141, 184, 184, + 184, 184, 184, 184, 140, -1, 10, 139, 185, 95, + 80, 141, 184, 184, 184, 184, 183, 140, -1, 10, + 139, 185, 95, 80, 141, 184, 184, 184, 184, 184, + 184, 140, -1, -1, 25, 139, 123, 138, -1, -1, + 26, 139, 124, 138, -1, -1, 27, 125, 138, -1, + -1, 28, 139, 126, 138, -1, -1, 39, 139, 127, + 138, -1, 42, 175, 185, 184, 184, 140, -1, 42, + 175, 185, 184, 184, 184, 184, 140, -1, 42, 175, + 185, 184, 184, 184, 184, 143, 183, 140, -1, 42, + 175, 185, 184, 184, 184, 184, 143, 184, 184, 140, + -1, -1, 40, 139, 128, 138, -1, -1, 29, 129, + 138, -1, -1, 30, 139, 130, 138, -1, -1, 31, + 139, 131, 138, -1, -1, 32, 139, 132, 138, -1, + -1, 33, 139, 133, 138, -1, -1, 34, 139, 134, + 138, -1, -1, 35, 135, 138, -1, -1, 36, 139, + 136, 138, -1, -1, 37, 175, 185, 95, 185, 95, + 185, 95, 185, 95, 185, 95, 137, 181, 183, -1, + 185, 184, 184, 184, 184, 140, -1, 185, 184, 184, + 184, 184, 145, 183, 140, -1, 185, 184, 184, 184, + 184, 145, 184, 184, 140, -1, -1, 188, 95, -1, + 80, -1, 80, 95, -1, -1, 3, 160, 4, -1, + -1, 95, 142, 181, -1, -1, 95, 144, 181, -1, + -1, 95, 146, 181, -1, 173, 41, 177, 180, -1, + 173, 42, 177, 180, -1, 43, 185, 184, -1, 173, + 46, 176, 3, 151, 4, -1, -1, 151, 152, -1, + 48, 80, 184, 153, -1, 48, 49, -1, 50, 80, + 153, 3, 151, 4, -1, -1, 153, 95, 154, -1, + 153, 154, -1, 51, -1, 52, -1, 53, -1, 54, + -1, 55, -1, 56, -1, 173, 47, 176, 3, 156, + 4, -1, -1, 156, 157, -1, 48, 80, -1, 48, + 80, 184, -1, 48, 80, 184, 184, 183, -1, 48, + 49, -1, 50, 80, 3, 156, 4, -1, 50, 80, + 184, 3, 156, 4, -1, 50, 80, 184, 184, 3, + 156, 4, -1, 50, 80, 184, 184, 184, 183, 3, + 156, 4, -1, 173, 57, 178, 180, -1, 173, 58, + 176, 3, 160, 4, -1, 173, 58, 176, 180, -1, + -1, 161, 162, -1, -1, 163, -1, 83, -1, 186, + -1, 163, 95, 83, -1, 163, 95, 186, -1, -1, + 59, 176, 3, 165, 166, 4, -1, -1, 166, 185, + 80, -1, 166, 185, 95, 80, -1, 173, 173, 176, + 3, 160, 4, -1, 173, 173, 176, 180, -1, 173, + 60, 169, 3, 170, 4, -1, -1, 169, 61, 185, + 184, 184, 184, -1, 169, 62, 185, 184, 184, 184, + -1, 169, 63, 185, -1, 169, 64, 185, -1, 169, + 65, 185, -1, 169, 66, 185, -1, 169, 67, 185, + -1, -1, 170, 68, 3, 71, 3, 171, 4, 4, + -1, 170, 69, 3, 70, 80, 172, 4, -1, -1, + 171, 70, 80, 95, 80, -1, -1, 172, 184, 184, + -1, 188, -1, 81, -1, 80, -1, 80, 95, -1, + 81, 95, -1, 188, 95, -1, 174, -1, -1, 176, + 179, -1, 176, 44, 185, -1, 176, 43, 185, 184, + -1, 176, 45, 185, -1, -1, 177, 179, -1, -1, + 178, 179, -1, 72, -1, 73, -1, 74, -1, 75, + -1, 76, -1, 77, -1, 78, -1, 80, -1, 81, + -1, 182, -1, 79, 182, -1, 181, 85, 182, -1, + 181, 85, 79, 182, -1, 82, -1, 97, 185, 98, + -1, -1, 184, -1, 95, 185, -1, 186, -1, 82, + -1, 97, 186, 98, -1, 93, 186, -1, 89, 186, + -1, 186, 90, 186, -1, 186, 91, 186, -1, 186, + 92, 186, -1, 186, 88, 186, -1, 186, 89, 186, + -1, 186, 87, 186, -1, 186, 86, 186, -1, 186, + 85, 186, -1, 95, 188, -1, 189, -1, 82, -1, + 97, 186, 98, -1, 93, 186, -1, 189, 90, 186, + -1, 189, 91, 186, -1, 189, 92, 186, -1, 189, + 88, 186, -1, 189, 89, 186, -1, 189, 87, 186, + -1, 189, 86, 186, -1, 189, 85, 186, -1 +}; + +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const unsigned short int yyrline[] = +{ + 0, 161, 161, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 183, 194, + 197, 218, 223, 235, 256, 266, 270, 275, 282, 286, + 291, 295, 299, 303, 312, 324, 338, 336, 363, 361, + 390, 388, 420, 423, 429, 431, 437, 441, 446, 450, + 454, 467, 482, 497, 512, 516, 520, 524, 530, 532, + 544, 543, 555, 554, 566, 565, 577, 576, 591, 590, + 602, 601, 614, 625, 634, 647, 659, 658, 670, 669, + 681, 680, 692, 691, 703, 702, 716, 721, 727, 733, + 740, 739, 754, 753, 765, 764, 776, 775, 786, 785, + 797, 796, 808, 807, 819, 818, 830, 829, 842, 840, + 858, 869, 880, 893, 896, 901, 905, 913, 916, 926, + 925, 932, 931, 938, 937, 945, 957, 970, 979, 990, + 993, 1010, 1014, 1018, 1026, 1029, 1033, 1040, 1044, 1048, + 1052, 1056, 1060, 1069, 1080, 1083, 1100, 1104, 1108, 1112, + 1116, 1120, 1124, 1128, 1138, 1150, 1157, 1170, 1170, 1182, + 1186, 1193, 1201, 1209, 1218, 1233, 1232, 1237, 1239, 1246, + 1259, 1266, 1278, 1289, 1294, 1300, 1306, 1311, 1316, 1321, + 1326, 1341, 1344, 1348, 1356, 1359, 1367, 1370, 1379, 1384, + 1400, 1404, 1408, 1416, 1421, 1439, 1445, 1451, 1456, 1461, + 1472, 1477, 1489, 1494, 1506, 1511, 1516, 1521, 1526, 1531, + 1536, 1546, 1550, 1567, 1571, 1575, 1579, 1586, 1590, 1600, + 1603, 1612, 1621, 1630, 1634, 1638, 1643, 1648, 1653, 1658, + 1663, 1668, 1673, 1678, 1683, 1694, 1703, 1714, 1718, 1722, + 1727, 1732, 1737, 1742, 1747, 1752, 1757, 1762 +}; #endif -#if ! defined (YYSIZE_T) && defined (size_t) -# define YYSIZE_T size_t + +#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "BEG", "END", "ACCELERATORS", "VIRTKEY", + "ASCII", "NOINVERT", "SHIFT", "CONTROL", "ALT", "BITMAP", "CURSOR", + "DIALOG", "DIALOGEX", "EXSTYLE", "CAPTION", "CLASS", "STYLE", + "AUTO3STATE", "AUTOCHECKBOX", "AUTORADIOBUTTON", "CHECKBOX", "COMBOBOX", + "CTEXT", "DEFPUSHBUTTON", "EDITTEXT", "GROUPBOX", "LISTBOX", "LTEXT", + "PUSHBOX", "PUSHBUTTON", "RADIOBUTTON", "RTEXT", "SCROLLBAR", "STATE3", + "USERBUTTON", "BEDIT", "HEDIT", "IEDIT", "FONT", "ICON", "LANGUAGE", + "CHARACTERISTICS", "VERSIONK", "MENU", "MENUEX", "MENUITEM", "SEPARATOR", + "POPUP", "CHECKED", "GRAYED", "HELP", "INACTIVE", "MENUBARBREAK", + "MENUBREAK", "MESSAGETABLE", "RCDATA", "STRINGTABLE", "VERSIONINFO", + "FILEVERSION", "PRODUCTVERSION", "FILEFLAGSMASK", "FILEFLAGS", "FILEOS", + "FILETYPE", "FILESUBTYPE", "BLOCKSTRINGFILEINFO", "BLOCKVARFILEINFO", + "VALUE", "BLOCK", "MOVEABLE", "FIXED", "PURE", "IMPURE", "PRELOAD", + "LOADONCALL", "DISCARDABLE", "NOT", "QUOTEDSTRING", "STRING", "NUMBER", + "SIZEDSTRING", "IGNORED_TOKEN", "'|'", "'^'", "'&'", "'+'", "'-'", "'*'", + "'/'", "'%'", "'~'", "NEG", "','", "'='", "'('", "')'", "$accept", + "input", "accelerator", "acc_entries", "acc_entry", "acc_event", + "acc_options", "acc_option", "bitmap", "cursor", "dialog", "@1", "@2", + "@3", "exstyle", "styles", "controls", "control", "@4", "@5", "@6", "@7", + "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", + "@18", "@19", "@20", "@21", "@22", "@23", "@24", "control_params", + "optresidc", "opt_control_data", "control_styleexpr", "@25", + "icon_styleexpr", "@26", "control_params_styleexpr", "@27", "font", + "icon", "language", "menu", "menuitems", "menuitem", "menuitem_flags", + "menuitem_flag", "menuex", "menuexitems", "menuexitem", "messagetable", + "rcdata", "optrcdata_data", "@28", "optrcdata_data_int", "rcdata_data", + "stringtable", "@29", "string_data", "user", "versioninfo", + "fixedverinfo", "verblocks", "vervals", "vertrans", "id", "resname", + "resref", "suboptions", "memflags_move_discard", "memflags_move", + "memflag", "file_name", "styleexpr", "parennumber", "optcnumexpr", + "cnumexpr", "numexpr", "sizednumexpr", "cposnumexpr", "posnumexpr", + "sizedposnumexpr", 0 +}; #endif -#if ! defined (YYSIZE_T) -# if defined (__STDC__) || defined (__cplusplus) -# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t + +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const unsigned short int yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 124, 94, 38, 43, 45, + 42, 47, 37, 126, 340, 44, 61, 40, 41 +}; # endif -#endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int -#endif + +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned char yyr1[] = +{ + 0, 99, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 101, 102, + 102, 103, 103, 104, 104, 105, 105, 105, 106, 106, + 106, 106, 106, 106, 107, 108, 110, 109, 111, 109, + 112, 109, 113, 113, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, + 117, 116, 118, 116, 119, 116, 120, 116, 121, 116, + 122, 116, 116, 116, 116, 116, 123, 116, 124, 116, + 125, 116, 126, 116, 127, 116, 116, 116, 116, 116, + 128, 116, 129, 116, 130, 116, 131, 116, 132, 116, + 133, 116, 134, 116, 135, 116, 136, 116, 137, 116, + 138, 138, 138, 139, 139, 139, 139, 140, 140, 142, + 141, 144, 143, 146, 145, 147, 148, 149, 150, 151, + 151, 152, 152, 152, 153, 153, 153, 154, 154, 154, + 154, 154, 154, 155, 156, 156, 157, 157, 157, 157, + 157, 157, 157, 157, 158, 159, 159, 161, 160, 162, + 162, 163, 163, 163, 163, 165, 164, 166, 166, 166, + 167, 167, 168, 169, 169, 169, 169, 169, 169, 169, + 169, 170, 170, 170, 171, 171, 172, 172, 173, 173, + 174, 174, 174, 175, 175, 176, 176, 176, 176, 176, + 177, 177, 178, 178, 179, 179, 179, 179, 179, 179, + 179, 180, 180, 181, 181, 181, 181, 182, 182, 183, + 183, 184, 185, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 186, 187, 188, 189, 189, 189, + 189, 189, 189, 189, 189, 189, 189, 189 +}; + +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 6, 0, + 2, 2, 4, 1, 1, 1, 3, 2, 1, 1, + 1, 1, 1, 1, 4, 4, 0, 13, 0, 13, + 0, 14, 0, 3, 0, 3, 3, 3, 3, 3, + 5, 6, 7, 8, 3, 3, 4, 3, 0, 2, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 3, 11, 12, 12, 13, 0, 4, 0, 4, + 0, 3, 0, 4, 0, 4, 6, 8, 10, 11, + 0, 4, 0, 3, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 3, 0, 4, 0, 15, + 6, 8, 9, 0, 2, 1, 2, 0, 3, 0, + 3, 0, 3, 0, 3, 4, 4, 3, 6, 0, + 2, 4, 2, 6, 0, 3, 2, 1, 1, 1, + 1, 1, 1, 6, 0, 2, 2, 3, 5, 2, + 5, 6, 7, 9, 4, 6, 4, 0, 2, 0, + 1, 1, 1, 3, 3, 0, 6, 0, 3, 4, + 6, 4, 6, 0, 6, 6, 3, 3, 3, 3, + 3, 0, 8, 7, 0, 5, 0, 3, 1, 1, + 1, 2, 2, 2, 1, 0, 2, 3, 4, 3, + 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 3, 4, 1, 3, 0, + 1, 2, 1, 1, 3, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 2, 1, 1, 3, 2, + 3, 3, 3, 3, 3, 3, 3, 3 +}; + +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const unsigned char yydefact[] = +{ + 2, 0, 1, 0, 195, 189, 237, 17, 0, 0, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 0, 188, 236, 223, 0, 0, + 0, 0, 222, 0, 239, 0, 195, 202, 200, 202, + 202, 200, 200, 195, 195, 202, 195, 173, 195, 0, + 0, 0, 0, 0, 0, 0, 0, 226, 225, 0, + 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, + 165, 0, 0, 0, 204, 205, 206, 207, 208, 209, + 210, 196, 238, 0, 0, 0, 42, 42, 0, 0, + 0, 0, 0, 0, 0, 0, 247, 246, 245, 243, + 244, 240, 241, 242, 224, 221, 234, 233, 232, 230, + 231, 227, 228, 229, 167, 0, 197, 199, 19, 211, + 212, 203, 34, 201, 35, 0, 0, 0, 125, 126, + 129, 144, 154, 157, 156, 181, 0, 0, 0, 0, + 0, 0, 0, 157, 171, 0, 198, 0, 0, 0, + 0, 0, 0, 0, 159, 0, 0, 0, 176, 177, + 178, 179, 180, 0, 166, 0, 18, 23, 20, 0, + 24, 43, 0, 0, 128, 0, 0, 130, 143, 0, + 0, 145, 155, 161, 158, 160, 162, 172, 0, 0, + 0, 0, 170, 168, 0, 0, 21, 0, 0, 132, + 0, 134, 149, 146, 0, 0, 0, 0, 0, 0, + 169, 235, 0, 36, 38, 134, 0, 147, 144, 0, + 163, 164, 0, 0, 174, 175, 28, 29, 30, 31, + 32, 33, 22, 25, 44, 44, 40, 131, 129, 137, + 138, 139, 140, 141, 142, 0, 136, 219, 0, 144, + 0, 184, 186, 0, 27, 0, 0, 44, 0, 135, + 148, 220, 150, 0, 144, 219, 0, 0, 26, 58, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, + 0, 133, 151, 0, 0, 0, 0, 183, 0, 0, + 48, 45, 49, 46, 0, 217, 0, 47, 213, 0, + 0, 55, 57, 54, 0, 58, 152, 144, 182, 0, + 187, 37, 113, 113, 113, 113, 113, 70, 113, 113, + 80, 113, 92, 113, 113, 113, 113, 113, 104, 113, + 0, 113, 113, 113, 0, 59, 214, 0, 0, 0, + 56, 39, 0, 0, 0, 115, 0, 0, 60, 62, + 64, 68, 0, 76, 78, 0, 82, 0, 94, 96, + 98, 100, 102, 0, 106, 190, 0, 194, 0, 0, + 66, 84, 90, 0, 218, 0, 215, 50, 41, 153, + 185, 116, 0, 114, 0, 0, 0, 0, 71, 0, + 0, 0, 81, 0, 93, 0, 0, 0, 0, 0, + 105, 0, 191, 192, 0, 193, 0, 0, 0, 0, + 216, 51, 0, 0, 61, 63, 65, 69, 0, 77, + 79, 83, 95, 97, 99, 101, 103, 107, 0, 67, + 85, 91, 0, 52, 0, 119, 0, 0, 0, 117, + 53, 0, 0, 0, 0, 0, 157, 86, 0, 0, + 120, 0, 117, 0, 0, 117, 0, 0, 123, 110, + 219, 0, 118, 121, 87, 219, 0, 219, 0, 117, + 220, 0, 0, 117, 220, 219, 117, 220, 124, 111, + 117, 0, 122, 88, 117, 117, 220, 72, 117, 112, + 0, 89, 74, 117, 73, 108, 75, 0, 219, 109 +}; + +/* YYDEFGOTO[NTERM-NUM]. */ +static const short int yydefgoto[] = +{ + -1, 1, 10, 147, 168, 169, 232, 233, 11, 12, + 13, 234, 235, 257, 126, 255, 289, 335, 384, 385, + 386, 406, 387, 352, 390, 391, 355, 393, 407, 408, + 357, 395, 396, 397, 398, 399, 363, 401, 497, 388, + 346, 447, 436, 442, 465, 472, 460, 468, 14, 15, + 16, 17, 151, 177, 216, 246, 18, 152, 181, 19, + 20, 153, 154, 184, 185, 21, 114, 145, 22, 23, + 94, 155, 266, 267, 24, 367, 368, 33, 85, 84, + 81, 122, 297, 298, 260, 261, 389, 32, 196, 347, + 26 +}; + +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +#define YYPACT_NINF -426 +static const short int yypact[] = +{ + -426, 12, -426, 287, -426, -426, -426, -426, 287, 287, + -426, -426, -426, -426, -426, -426, -426, -426, -426, -426, + -426, -426, -426, -426, 106, -426, 585, -426, 287, 287, + 287, -80, 675, 83, -426, 637, -426, -426, -426, -426, + -426, -426, -426, -426, -426, -426, -426, -426, -426, 287, + 287, 287, 287, 287, 287, 287, 287, -426, -426, 651, + 287, -426, 287, 287, 287, 287, 287, 287, 287, 287, + -426, 287, 287, 287, -426, -426, -426, -426, -426, -426, + -426, -426, -426, 286, 678, 678, 188, 188, 678, 678, + 323, 375, 678, 210, 128, 274, 682, 688, 302, 89, + 89, -426, -426, -426, -426, -426, 682, 688, 302, 89, + 89, -426, -426, -426, -426, -80, -426, -426, -426, -426, + -426, -426, -426, -426, -426, -70, 142, 142, -426, -426, + -426, -426, -426, -426, -426, -426, 287, 287, 287, 287, + 287, 287, 287, -426, -426, 2, -426, 5, 287, -80, + -80, 33, 40, 47, 373, 38, -80, -80, -426, -426, + -426, -426, -426, 49, -426, 17, -426, -426, -426, -41, + -426, -426, -80, -80, -426, -44, -24, -426, -426, -35, + 36, -426, -426, -426, -426, -13, 675, -426, 129, 138, + -80, -80, -426, -426, 69, 142, 73, -80, -80, -426, + -80, -426, -426, -80, 8, 454, 111, 97, -80, -80, + -426, -426, 775, -426, -80, -426, 119, -80, -426, 13, + -426, 675, 183, 116, -426, -426, -426, -426, -426, -426, + -426, -426, 22, -426, -426, -426, -426, 245, -426, -426, + -426, -426, -426, -426, -426, 736, -426, -80, 96, -426, + 15, -426, -426, 775, -426, 370, 512, -426, 158, -426, + -426, -426, -426, 172, -426, -80, 34, 6, -426, -426, + 287, 125, 227, 72, 287, 287, 287, 287, 260, -426, + 523, -426, -426, 179, 207, 229, 131, -426, -80, 584, + -426, -426, -426, -426, 43, -426, 287, 159, -426, 151, + -80, -426, -426, -426, 621, -426, -426, -426, -426, 153, + -426, -426, 141, 141, 141, 141, 141, -426, 141, 141, + -426, 141, -426, 141, 141, 141, 141, 141, -426, 141, + 230, 141, 141, 141, 230, -426, -426, 160, 133, 169, + -426, -426, 658, 193, 189, 164, 287, 173, -426, -426, + -426, -426, 287, -426, -426, 287, -426, 287, -426, -426, + -426, -426, -426, 287, -426, 175, 181, -426, 287, 184, + -426, -426, -426, 287, -426, 43, -426, -80, -426, -426, + -426, -426, 185, -426, 287, 287, 287, 287, -426, -80, + 287, 287, -426, 287, -426, 287, 287, 287, 287, 287, + -426, 287, -426, -426, 197, -426, 287, 287, 287, -80, + -426, -80, 341, 199, -426, -426, -426, -426, -80, -426, + -426, -426, -426, -426, -426, -426, -426, -426, 287, -426, + -426, -426, -80, -80, 199, -426, -80, -80, 208, 18, + -426, -80, 72, -80, -80, 287, -426, -426, -80, -80, + 159, -80, 19, 211, 298, 20, -80, -80, -426, -426, + -80, 287, -426, -426, -426, -80, -80, -80, 72, 310, + -80, 219, 72, 310, -80, -80, 310, -80, 159, -426, + 310, 287, 159, -426, 310, 310, -80, -426, 310, -426, + 220, -426, -426, 310, -426, -426, -426, 72, -37, -426 +}; + +/* YYPGOTO[NTERM-NUM]. */ +static const short int yypgoto[] = +{ + -426, -426, -426, -426, -426, -426, -426, -207, -426, -426, + -426, -426, -426, -426, 218, -222, -255, -426, -426, -426, + -426, -426, -426, -426, -426, -426, -426, -426, -426, -426, + -426, -426, -426, -426, -426, -426, -426, -426, -426, 126, + 388, 107, -113, -426, -426, -426, -426, -426, -426, -426, + -426, -426, 84, -426, 110, 87, -426, -215, -426, -426, + -426, -142, -426, -426, -426, -426, -426, -426, -426, -426, + -426, -426, -426, -426, -22, -426, 0, 397, 82, 212, + 548, 486, -425, -286, -258, 28, -3, 11, -426, 3, + -426 +}; + +/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule which + number is the opposite. If zero, do what YYDEFACT says. + If YYTABLE_NINF, syntax error. */ +#define YYTABLE_NINF -1 +static const unsigned short int yytable[] = +{ + 31, 163, 48, 248, 25, 199, 164, 284, 336, 166, + 287, 218, 2, 256, 202, 60, 249, 450, 264, 34, + 35, 446, 446, 446, 304, 254, 148, 25, 226, 227, + 228, 229, 230, 231, 263, 280, 200, 174, 285, 57, + 58, 59, 187, 478, 178, 203, 268, 482, 338, 283, + 342, 182, 376, 192, 195, 3, 201, 105, 60, 61, + 96, 97, 98, 99, 100, 101, 102, 103, 115, 116, + 117, 4, 498, 106, 107, 108, 109, 110, 111, 112, + 113, 175, 205, 176, 27, 167, 70, 6, 179, 410, + 180, 28, 343, 5, 6, 29, 7, 193, 8, 30, + 262, 60, 9, 60, 286, 8, 188, 189, 60, 9, + 60, 36, 194, 60, 458, 463, 204, 253, 37, 38, + 39, 40, 238, 88, 89, 295, 71, 72, 73, 149, + 150, 135, 206, 156, 157, 158, 159, 160, 161, 162, + 296, 207, 165, 146, 179, 171, 180, 41, 42, 210, + 170, 294, 43, 44, 295, 74, 75, 76, 77, 78, + 79, 80, 281, 45, 46, 186, 47, 223, 212, 296, + 239, 240, 241, 242, 243, 244, 282, 172, 173, 67, + 68, 69, 222, 306, 190, 191, 251, 5, 6, 136, + 137, 138, 139, 140, 141, 142, 252, 379, 211, 8, + 197, 198, 469, 9, 125, 291, 175, 473, 176, 476, + 307, 309, 375, 133, 245, 295, 221, 485, 208, 209, + 179, 345, 180, 6, 6, 213, 214, 179, 215, 180, + 296, 217, 219, 308, 8, 8, 224, 225, 9, 9, + 499, 179, 236, 180, 338, 247, 339, 250, 344, 377, + 293, 86, 87, 71, 72, 73, 303, 92, 374, 381, + 74, 75, 76, 77, 78, 79, 80, 290, 383, 380, + 402, 299, 300, 301, 302, 25, 403, 143, 265, 405, + 412, 25, 74, 75, 76, 77, 78, 79, 80, 118, + 119, 120, 428, 337, 435, 288, 239, 240, 241, 242, + 243, 244, 462, 445, 454, 127, 461, 292, 5, 6, + 365, 366, 6, 446, 481, 495, 310, 71, 72, 73, + 8, 441, 258, 8, 9, 237, 130, 9, 340, 71, + 72, 73, 259, 369, 373, 0, 0, 369, 0, 0, + 245, 5, 6, 382, 0, 0, 74, 75, 76, 77, + 78, 79, 80, 8, 119, 120, 0, 9, 74, 75, + 76, 77, 78, 79, 80, 404, 71, 72, 73, 27, + 409, 0, 0, 269, 0, 0, 28, 0, 131, 0, + 29, 0, 0, 0, 30, 0, 270, 271, 272, 273, + 65, 66, 67, 68, 69, 74, 75, 76, 77, 78, + 79, 80, 0, 0, 0, 411, 0, 0, 0, 105, + 413, 274, 0, 275, 276, 277, 278, 418, 71, 72, + 73, 434, 0, 27, 0, 438, 0, 0, 0, 0, + 28, 0, 0, 83, 29, 0, 0, 432, 30, 433, + 90, 91, 453, 93, 0, 95, 437, 74, 75, 76, + 77, 78, 79, 80, 0, 27, 183, 0, 471, 0, + 439, 440, 28, 0, 443, 444, 29, 448, 0, 449, + 30, 451, 452, 0, 0, 0, 455, 456, 490, 457, + 0, 392, 0, 394, 466, 467, 0, 0, 470, 400, + 0, 0, 0, 474, 475, 477, 0, 0, 480, 0, + 0, 0, 484, 486, 0, 488, 0, 0, 0, 0, + 414, 415, 416, 417, 493, 279, 419, 420, 0, 421, + 0, 422, 423, 424, 425, 426, 305, 427, 270, 271, + 272, 273, 429, 430, 431, 0, 27, 220, 0, 270, + 271, 272, 273, 28, 0, 0, 0, 29, 0, 0, + 0, 30, 0, 274, 0, 275, 276, 277, 278, 459, + 0, 0, 464, 0, 274, 0, 275, 276, 277, 278, + 0, 124, 0, 0, 128, 129, 479, 0, 132, 134, + 483, 144, 0, 487, 0, 0, 0, 489, 311, 0, + 0, 491, 492, 0, 312, 494, 0, 0, 0, 0, + 496, 0, 0, 0, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 341, 334, 0, 0, 0, + 0, 312, 121, 123, 121, 121, 123, 123, 0, 0, + 121, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 378, 334, 0, 0, 0, 0, 312, 0, + 49, 50, 51, 52, 53, 54, 55, 56, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 0, + 334, 348, 349, 350, 351, 0, 353, 354, 0, 356, + 0, 358, 359, 360, 361, 362, 0, 364, 0, 370, + 371, 372, 62, 63, 64, 65, 66, 67, 68, 69, + 0, 0, 0, 0, 0, 82, 62, 63, 64, 65, + 66, 67, 68, 69, 0, 0, 0, 0, 0, 104, + 74, 75, 76, 77, 78, 79, 80, 0, 119, 120, + 62, 63, 64, 65, 66, 67, 68, 69, 63, 64, + 65, 66, 67, 68, 69, 64, 65, 66, 67, 68, + 69, 226, 227, 228, 229, 230, 231, 239, 240, 241, + 242, 243, 244 +}; + +static const short int yycheck[] = +{ + 3, 143, 24, 218, 1, 49, 4, 265, 294, 4, + 4, 3, 0, 235, 49, 95, 3, 442, 3, 8, + 9, 3, 3, 3, 279, 232, 96, 24, 6, 7, + 8, 9, 10, 11, 249, 257, 80, 4, 4, 28, + 29, 30, 4, 468, 4, 80, 253, 472, 85, 264, + 305, 4, 338, 4, 95, 43, 80, 60, 95, 31, + 49, 50, 51, 52, 53, 54, 55, 56, 71, 72, + 73, 59, 497, 62, 63, 64, 65, 66, 67, 68, + 69, 48, 95, 50, 82, 80, 3, 82, 48, 375, + 50, 89, 307, 81, 82, 93, 84, 80, 93, 97, + 4, 95, 97, 95, 70, 93, 68, 69, 95, 97, + 95, 5, 95, 95, 95, 95, 80, 95, 12, 13, + 14, 15, 3, 41, 42, 82, 43, 44, 45, 126, + 127, 3, 3, 136, 137, 138, 139, 140, 141, 142, + 97, 3, 145, 115, 48, 148, 50, 41, 42, 80, + 147, 79, 46, 47, 82, 72, 73, 74, 75, 76, + 77, 78, 4, 57, 58, 154, 60, 70, 95, 97, + 51, 52, 53, 54, 55, 56, 4, 149, 150, 90, + 91, 92, 71, 4, 156, 157, 3, 81, 82, 61, + 62, 63, 64, 65, 66, 67, 80, 4, 195, 93, + 172, 173, 460, 97, 16, 80, 48, 465, 50, 467, + 3, 80, 79, 3, 95, 82, 205, 475, 190, 191, + 48, 80, 50, 82, 82, 197, 198, 48, 200, 50, + 97, 203, 204, 4, 93, 93, 208, 209, 97, 97, + 498, 48, 214, 50, 85, 217, 95, 219, 95, 80, + 272, 39, 40, 43, 44, 45, 278, 45, 98, 95, + 72, 73, 74, 75, 76, 77, 78, 270, 95, 80, + 95, 274, 275, 276, 277, 272, 95, 3, 250, 95, + 95, 278, 72, 73, 74, 75, 76, 77, 78, 3, + 80, 81, 95, 296, 95, 267, 51, 52, 53, 54, + 55, 56, 4, 95, 446, 87, 95, 80, 81, 82, + 80, 81, 82, 3, 95, 95, 288, 43, 44, 45, + 93, 434, 238, 93, 97, 215, 3, 97, 300, 43, + 44, 45, 245, 330, 334, -1, -1, 334, -1, -1, + 95, 81, 82, 346, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 93, 80, 81, -1, 97, 72, 73, + 74, 75, 76, 77, 78, 368, 43, 44, 45, 82, + 373, -1, -1, 3, -1, -1, 89, -1, 3, -1, + 93, -1, -1, -1, 97, -1, 16, 17, 18, 19, + 88, 89, 90, 91, 92, 72, 73, 74, 75, 76, + 77, 78, -1, -1, -1, 377, -1, -1, -1, 412, + 382, 41, -1, 43, 44, 45, 46, 389, 43, 44, + 45, 80, -1, 82, -1, 428, -1, -1, -1, -1, + 89, -1, -1, 36, 93, -1, -1, 409, 97, 411, + 43, 44, 445, 46, -1, 48, 418, 72, 73, 74, + 75, 76, 77, 78, -1, 82, 83, -1, 461, -1, + 432, 433, 89, -1, 436, 437, 93, 439, -1, 441, + 97, 443, 444, -1, -1, -1, 448, 449, 481, 451, + -1, 355, -1, 357, 456, 457, -1, -1, 460, 363, + -1, -1, -1, 465, 466, 467, -1, -1, 470, -1, + -1, -1, 474, 475, -1, 477, -1, -1, -1, -1, + 384, 385, 386, 387, 486, 3, 390, 391, -1, 393, + -1, 395, 396, 397, 398, 399, 3, 401, 16, 17, + 18, 19, 406, 407, 408, -1, 82, 83, -1, 16, + 17, 18, 19, 89, -1, -1, -1, 93, -1, -1, + -1, 97, -1, 41, -1, 43, 44, 45, 46, 452, + -1, -1, 455, -1, 41, -1, 43, 44, 45, 46, + -1, 85, -1, -1, 88, 89, 469, -1, 92, 93, + 473, 95, -1, 476, -1, -1, -1, 480, 4, -1, + -1, 484, 485, -1, 10, 488, -1, -1, -1, -1, + 493, -1, -1, -1, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 4, 42, -1, -1, -1, + -1, 10, 84, 85, 86, 87, 88, 89, -1, -1, + 92, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 4, 42, -1, -1, -1, -1, 10, -1, + 85, 86, 87, 88, 89, 90, 91, 92, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, + 42, 313, 314, 315, 316, -1, 318, 319, -1, 321, + -1, 323, 324, 325, 326, 327, -1, 329, -1, 331, + 332, 333, 85, 86, 87, 88, 89, 90, 91, 92, + -1, -1, -1, -1, -1, 98, 85, 86, 87, 88, + 89, 90, 91, 92, -1, -1, -1, -1, -1, 98, + 72, 73, 74, 75, 76, 77, 78, -1, 80, 81, + 85, 86, 87, 88, 89, 90, 91, 92, 86, 87, + 88, 89, 90, 91, 92, 87, 88, 89, 90, 91, + 92, 6, 7, 8, 9, 10, 11, 51, 52, 53, + 54, 55, 56 +}; + +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const unsigned char yystos[] = +{ + 0, 100, 0, 43, 59, 81, 82, 84, 93, 97, + 101, 107, 108, 109, 147, 148, 149, 150, 155, 158, + 159, 164, 167, 168, 173, 188, 189, 82, 89, 93, + 97, 185, 186, 176, 186, 186, 5, 12, 13, 14, + 15, 41, 42, 46, 47, 57, 58, 60, 173, 85, + 86, 87, 88, 89, 90, 91, 92, 186, 186, 186, + 95, 184, 85, 86, 87, 88, 89, 90, 91, 92, + 3, 43, 44, 45, 72, 73, 74, 75, 76, 77, + 78, 179, 98, 176, 178, 177, 178, 178, 177, 177, + 176, 176, 178, 176, 169, 176, 186, 186, 186, 186, + 186, 186, 186, 186, 98, 185, 186, 186, 186, 186, + 186, 186, 186, 186, 165, 185, 185, 185, 3, 80, + 81, 179, 180, 179, 180, 16, 113, 113, 180, 180, + 3, 3, 180, 3, 180, 3, 61, 62, 63, 64, + 65, 66, 67, 3, 180, 166, 184, 102, 96, 188, + 188, 151, 156, 160, 161, 170, 185, 185, 185, 185, + 185, 185, 185, 160, 4, 185, 4, 80, 103, 104, + 188, 185, 184, 184, 4, 48, 50, 152, 4, 48, + 50, 157, 4, 83, 162, 163, 186, 4, 68, 69, + 184, 184, 4, 80, 95, 95, 187, 184, 184, 49, + 80, 80, 49, 80, 80, 95, 3, 3, 184, 184, + 80, 188, 95, 184, 184, 184, 153, 184, 3, 184, + 83, 186, 71, 70, 184, 184, 6, 7, 8, 9, + 10, 11, 105, 106, 110, 111, 184, 153, 3, 51, + 52, 53, 54, 55, 56, 95, 154, 184, 156, 3, + 184, 3, 80, 95, 106, 114, 114, 112, 151, 154, + 183, 184, 4, 156, 3, 184, 171, 172, 106, 3, + 16, 17, 18, 19, 41, 43, 44, 45, 46, 3, + 114, 4, 4, 156, 183, 4, 70, 4, 184, 115, + 185, 80, 80, 173, 79, 82, 97, 181, 182, 185, + 185, 185, 185, 173, 115, 3, 4, 3, 4, 80, + 184, 4, 10, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 42, 116, 182, 185, 85, 95, + 184, 4, 115, 156, 95, 80, 139, 188, 139, 139, + 139, 139, 122, 139, 139, 125, 139, 129, 139, 139, + 139, 139, 139, 135, 139, 80, 81, 174, 175, 188, + 139, 139, 139, 175, 98, 79, 182, 80, 4, 4, + 80, 95, 185, 95, 117, 118, 119, 121, 138, 185, + 123, 124, 138, 126, 138, 130, 131, 132, 133, 134, + 138, 136, 95, 95, 185, 95, 120, 127, 128, 185, + 182, 184, 95, 184, 138, 138, 138, 138, 184, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 95, 138, + 138, 138, 184, 184, 80, 95, 141, 184, 185, 184, + 184, 141, 142, 184, 184, 95, 3, 140, 184, 184, + 181, 184, 184, 185, 160, 184, 184, 184, 95, 140, + 145, 95, 4, 95, 140, 143, 184, 184, 146, 183, + 184, 185, 144, 183, 184, 184, 183, 184, 181, 140, + 184, 95, 181, 140, 184, 183, 184, 140, 184, 140, + 185, 140, 140, 184, 140, 95, 140, 137, 181, 183 +}; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 +#define YYEMPTY (-2) #define YYEOF 0 + #define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ + #define YYFAIL goto yyerrlab + #define YYRECOVERING() (!!yyerrstatus) + #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ - yychar1 = YYTRANSLATE (yychar); \ + yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ - { \ - yyerror ("syntax error: cannot back up"); \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) + #define YYTERROR 1 #define YYERRCODE 256 -/* YYLLOC_DEFAULT -- Compute the default location (before the actions - are run). - - When YYLLOC_DEFAULT is run, CURRENT is set the location of the - first token. By default, to implement support for ranges, extend - its range to the last symbol. */ +/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. + If N is 0, then set CURRENT to the empty location which ends + the previous symbol: RHS[0] (always defined). */ +#define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - Current.last_line = Rhs[N].last_line; \ - Current.last_column = Rhs[N].last_column; +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + do \ + if (N) \ + { \ + (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ + (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ + (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ + (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ + } \ + else \ + { \ + (Current).first_line = (Current).last_line = \ + YYRHSLOC (Rhs, 0).last_line; \ + (Current).first_column = (Current).last_column = \ + YYRHSLOC (Rhs, 0).last_column; \ + } \ + while (0) #endif -/* YYLEX -- calling `yylex' with the right arguments. */ +/* YY_LOCATION_PRINT -- Print the location on the stream. + This macro was not mandated originally: define only if we know + we won't break user code: when these are the locations we know. */ -#if YYPURE -# if YYLSP_NEEDED -# ifdef YYLEX_PARAM -# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) -# else -# define YYLEX yylex (&yylval, &yylloc) -# endif -# else /* !YYLSP_NEEDED */ -# ifdef YYLEX_PARAM -# define YYLEX yylex (&yylval, YYLEX_PARAM) -# else -# define YYLEX yylex (&yylval) -# endif -# endif /* !YYLSP_NEEDED */ -#else /* !YYPURE */ -# define YYLEX yylex () -#endif /* !YYPURE */ +#ifndef YY_LOCATION_PRINT +# if YYLTYPE_IS_TRIVIAL +# define YY_LOCATION_PRINT(File, Loc) \ + fprintf (File, "%d.%d-%d.%d", \ + (Loc).first_line, (Loc).first_column, \ + (Loc).last_line, (Loc).last_column) +# else +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# endif +#endif +/* YYLEX -- calling `yylex' with the right arguments. */ + +#ifdef YYLEX_PARAM +# define YYLEX yylex (YYLEX_PARAM) +#else +# define YYLEX yylex () +#endif + /* Enable debugging if requested. */ #if YYDEBUG @@ -1052,13 +1331,86 @@ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) + +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yysymprint (stderr, \ + Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_stack_print (short int *bottom, short int *top) +#else +static void +yy_stack_print (bottom, top) + short int *bottom; + short int *top; +#endif +{ + YYFPRINTF (stderr, "Stack now"); + for (/* Nothing. */; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_reduce_print (int yyrule) +#else +static void +yy_reduce_print (yyrule) + int yyrule; +#endif +{ + int yyi; + unsigned long int yylno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ", + yyrule - 1, yylno); + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) + YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); + YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]); +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (Rule); \ +} while (0) + /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ + /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 @@ -1068,18 +1420,16 @@ int yydebug; if the built-in stack extension method is used). Do not make this value too large; the results are undefined if - SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) + YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ -#if YYMAXDEPTH == 0 -# undef YYMAXDEPTH -#endif - #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif + -#ifdef YYERROR_VERBOSE + +#if YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) @@ -1094,7 +1444,7 @@ yystrlen (yystr) const char *yystr; # endif { - register const char *yys = yystr; + const char *yys = yystr; while (*yys++ != '\0') continue; @@ -1119,8 +1469,8 @@ yystpcpy (yydest, yysrc) const char *yysrc; # endif { - register char *yyd = yydest; - register const char *yys = yysrc; + char *yyd = yydest; + const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; @@ -1129,86 +1479,187 @@ yystpcpy (yydest, yysrc) } # endif # endif -#endif + +# ifndef yytnamerr +/* Copy to YYRES the contents of YYSTR after stripping away unnecessary + quotes and backslashes, so that it's suitable for yyerror. The + heuristic is that double-quoting is unnecessary unless the string + contains an apostrophe, a comma, or backslash (other than + backslash-backslash). YYSTR is taken from yytname. If YYRES is + null, do not copy; instead, return the length of what the result + would have been. */ +static YYSIZE_T +yytnamerr (char *yyres, const char *yystr) +{ + if (*yystr == '"') + { + size_t yyn = 0; + char const *yyp = yystr; + + for (;;) + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } + do_not_strip_quotes: ; + } + + if (! yyres) + return yystrlen (yystr); + + return yystpcpy (yyres, yystr) - yyres; +} +# endif + +#endif /* YYERROR_VERBOSE */ + -#line 315 "/usr/share/bison-1.35/bison.simple" +#if YYDEBUG +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) +#else +static void +yysymprint (yyoutput, yytype, yyvaluep) + FILE *yyoutput; + int yytype; + YYSTYPE *yyvaluep; +#endif +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + if (yytype < YYNTOKENS) + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + + +# ifdef YYPRINT + if (yytype < YYNTOKENS) + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + switch (yytype) + { + default: + break; + } + YYFPRINTF (yyoutput, ")"); +} + +#endif /* ! YYDEBUG */ +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +#else +static void +yydestruct (yymsg, yytype, yyvaluep) + const char *yymsg; + int yytype; + YYSTYPE *yyvaluep; +#endif +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + + switch (yytype) + { + + default: + break; + } +} + -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ +/* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) -# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -# define YYPARSE_PARAM_DECL +int yyparse (void *YYPARSE_PARAM); # else -# define YYPARSE_PARAM_ARG YYPARSE_PARAM -# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +int yyparse (); # endif -#else /* !YYPARSE_PARAM */ -# define YYPARSE_PARAM_ARG -# define YYPARSE_PARAM_DECL -#endif /* !YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -# ifdef YYPARSE_PARAM -int yyparse (void *); -# else +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int yyparse (void); -# endif +#else +int yyparse (); #endif +#endif /* ! YYPARSE_PARAM */ -/* YY_DECL_VARIABLES -- depending whether we use a pure parser, - variables are global, or local to YYPARSE. */ - -#define YY_DECL_NON_LSP_VARIABLES \ -/* The lookahead symbol. */ \ -int yychar; \ - \ -/* The semantic value of the lookahead symbol. */ \ -YYSTYPE yylval; \ - \ -/* Number of parse errors so far. */ \ -int yynerrs; -#if YYLSP_NEEDED -# define YY_DECL_VARIABLES \ -YY_DECL_NON_LSP_VARIABLES \ - \ -/* Location data for the lookahead symbol. */ \ -YYLTYPE yylloc; -#else -# define YY_DECL_VARIABLES \ -YY_DECL_NON_LSP_VARIABLES -#endif + +/* The look-ahead symbol. */ +int yychar; + +/* The semantic value of the look-ahead symbol. */ +YYSTYPE yylval; + +/* Number of syntax errors so far. */ +int yynerrs; -/* If nonreentrant, generate the variables here. */ -#if !YYPURE -YY_DECL_VARIABLES -#endif /* !YYPURE */ +/*----------. +| yyparse. | +`----------*/ +#ifdef YYPARSE_PARAM +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM) +# else +int yyparse (YYPARSE_PARAM) + void *YYPARSE_PARAM; +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int -yyparse (YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL +yyparse (void) +#else +int +yyparse () + ; +#endif +#endif { - /* If reentrant, generate the variables here. */ -#if YYPURE - YY_DECL_VARIABLES -#endif /* !YYPURE */ - - register int yystate; - register int yyn; + + int yystate; + int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; - /* Lookahead token as an internal (translated) token number. */ - int yychar1 = 0; + /* Look-ahead token as an internal (translated) token number. */ + int yytoken = 0; /* Three stacks and their tools: `yyss': related to states, @@ -1218,41 +1669,29 @@ yyparse (YYPARSE_PARAM_ARG) Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ - /* The state stack. */ - short yyssa[YYINITDEPTH]; - short *yyss = yyssa; - register short *yyssp; + /* The state stack. */ + short int yyssa[YYINITDEPTH]; + short int *yyss = yyssa; + short int *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; - register YYSTYPE *yyvsp; + YYSTYPE *yyvsp; -#if YYLSP_NEEDED - /* The location stack. */ - YYLTYPE yylsa[YYINITDEPTH]; - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; -#endif -#if YYLSP_NEEDED -# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -# define YYPOPSTACK (yyvsp--, yyssp--) -#endif - YYSIZE_T yystacksize = YYINITDEPTH; +#define YYPOPSTACK (yyvsp--, yyssp--) + YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; -#if YYLSP_NEEDED - YYLTYPE yyloc; -#endif + /* When reducing, the number of symbols on the RHS of the reduced - rule. */ + rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); @@ -1269,9 +1708,7 @@ yyparse (YYPARSE_PARAM_ARG) yyssp = yyss; yyvsp = yyvs; -#if YYLSP_NEEDED - yylsp = yyls; -#endif + goto yysetstate; /*------------------------------------------------------------. @@ -1286,7 +1723,7 @@ yyparse (YYPARSE_PARAM_ARG) yysetstate: *yyssp = yystate; - if (yyssp >= yyss + yystacksize - 1) + if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; @@ -1297,52 +1734,43 @@ yyparse (YYPARSE_PARAM_ARG) these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; + short int *yyss1 = yyss; + /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. */ -# if YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow ("parser stack overflow", - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yyls1, yysize * sizeof (*yylsp), - &yystacksize); - yyls = yyls1; -# else - yyoverflow ("parser stack overflow", + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); -# endif + yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE - goto yyoverflowlab; + goto yyexhaustedlab; # else /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - goto yyoverflowlab; + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) + if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { - short *yyss1 = yyss; + short int *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) - goto yyoverflowlab; + goto yyexhaustedlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); -# if YYLSP_NEEDED - YYSTACK_RELOCATE (yyls); -# endif -# undef YYSTACK_RELOCATE + +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } @@ -1351,14 +1779,12 @@ yyparse (YYPARSE_PARAM_ARG) yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; -#if YYLSP_NEEDED - yylsp = yyls + yysize - 1; -#endif + YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); - if (yyssp >= yyss + yystacksize - 1) + if (yyss + yystacksize - 1 <= yyssp) YYABORT; } @@ -1366,101 +1792,67 @@ yyparse (YYPARSE_PARAM_ARG) goto yybackup; - /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ +/* Read a look-ahead token if we need one and don't already have one. */ /* yyresume: */ - /* First try to decide what to do without reference to lookahead token. */ + /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; - if (yyn == YYFLAG) + if (yyn == YYPACT_NINF) goto yydefault; - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ + /* Not known => get a look-ahead token if don't already have one. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ + if (yychar <= YYEOF) { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - + yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yychar1 = YYTRANSLATE (yychar); - -#if YYDEBUG - /* We have to keep this `#if YYDEBUG', since we use variables - which are defined only if `YYDEBUG' is set. */ - if (yydebug) - { - YYFPRINTF (stderr, "Next token is %d (%s", - yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise - meaning of a token, for further debugging info. */ -# ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -# endif - YYFPRINTF (stderr, ")\n"); - } -#endif + yytoken = YYTRANSLATE (yychar); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) + if (yyn <= 0) { - if (yyn == YYFLAG) + if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } - else if (yyn == 0) - goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; - /* Shift the lookahead token. */ - YYDPRINTF ((stderr, "Shifting token %d (%s), ", - yychar, yytname[yychar1])); + /* Shift the look-ahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; -#if YYLSP_NEEDED - *++yylsp = yylloc; -#endif + /* Count tokens shifted since error; after three, turn off error status. */ @@ -1491,235 +1883,233 @@ yyreduce: /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. - Otherwise, the following line sets YYVAL to the semantic value of - the lookahead token. This behavior is undocumented and Bison + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; -#if YYLSP_NEEDED - /* Similarly for the default location. Let the user run additional - commands if for instance locations are ranges. */ - yyloc = yylsp[1-yylen]; - YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); -#endif -#if YYDEBUG - /* We have to keep this `#if YYDEBUG', since we use variables which - are defined only if `YYDEBUG' is set. */ - if (yydebug) + YY_REDUCE_PRINT (yyn); + switch (yyn) { - int yyi; - - YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) - YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); - YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - switch (yyn) { - -case 17: -#line 182 "rcparse.y" -{ - define_accelerator (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].pacc); + case 18: +#line 184 "rcparse.y" + { + define_accelerator ((yyvsp[-5].id), &(yyvsp[-3].res_info), (yyvsp[-1].pacc)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 18: -#line 192 "rcparse.y" -{ - yyval.pacc = NULL; + + case 19: +#line 194 "rcparse.y" + { + (yyval.pacc) = NULL; } break; -case 19: -#line 196 "rcparse.y" -{ + + case 20: +#line 198 "rcparse.y" + { struct accelerator *a; a = (struct accelerator *) res_alloc (sizeof *a); - *a = yyvsp[0].acc; - if (yyvsp[-1].pacc == NULL) - yyval.pacc = a; + *a = (yyvsp[0].acc); + if ((yyvsp[-1].pacc) == NULL) + (yyval.pacc) = a; else { struct accelerator **pp; - for (pp = &yyvsp[-1].pacc->next; *pp != NULL; pp = &(*pp)->next) + for (pp = &(yyvsp[-1].pacc)->next; *pp != NULL; pp = &(*pp)->next) ; *pp = a; - yyval.pacc = yyvsp[-1].pacc; + (yyval.pacc) = (yyvsp[-1].pacc); } } break; -case 20: -#line 217 "rcparse.y" -{ - yyval.acc = yyvsp[-1].acc; - yyval.acc.id = yyvsp[0].il; + + case 21: +#line 219 "rcparse.y" + { + (yyval.acc) = (yyvsp[-1].acc); + (yyval.acc).id = (yyvsp[0].il); } break; -case 21: -#line 222 "rcparse.y" -{ - yyval.acc = yyvsp[-3].acc; - yyval.acc.id = yyvsp[-2].il; - yyval.acc.flags |= yyvsp[0].is; - if ((yyval.acc.flags & ACC_VIRTKEY) == 0 - && (yyval.acc.flags & (ACC_SHIFT | ACC_CONTROL)) != 0) + + case 22: +#line 224 "rcparse.y" + { + (yyval.acc) = (yyvsp[-3].acc); + (yyval.acc).id = (yyvsp[-2].il); + (yyval.acc).flags |= (yyvsp[0].is); + if (((yyval.acc).flags & ACC_VIRTKEY) == 0 + && ((yyval.acc).flags & (ACC_SHIFT | ACC_CONTROL)) != 0) rcparse_warning (_("inappropriate modifiers for non-VIRTKEY")); } break; -case 22: -#line 234 "rcparse.y" -{ - const char *s = yyvsp[0].s; + + case 23: +#line 236 "rcparse.y" + { + const char *s = (yyvsp[0].s); char ch; - yyval.acc.next = NULL; - yyval.acc.id = 0; + (yyval.acc).next = NULL; + (yyval.acc).id = 0; ch = *s; if (ch != '^') - yyval.acc.flags = 0; + (yyval.acc).flags = 0; else { - yyval.acc.flags = ACC_CONTROL | ACC_VIRTKEY; + (yyval.acc).flags = ACC_CONTROL | ACC_VIRTKEY; ++s; ch = *s; ch = TOUPPER (ch); } - yyval.acc.key = ch; + (yyval.acc).key = ch; if (s[1] != '\0') rcparse_warning (_("accelerator should only be one character")); } break; -case 23: -#line 255 "rcparse.y" -{ - yyval.acc.next = NULL; - yyval.acc.flags = 0; - yyval.acc.id = 0; - yyval.acc.key = yyvsp[0].il; + + case 24: +#line 257 "rcparse.y" + { + (yyval.acc).next = NULL; + (yyval.acc).flags = 0; + (yyval.acc).id = 0; + (yyval.acc).key = (yyvsp[0].il); } break; -case 24: -#line 265 "rcparse.y" -{ - yyval.is = yyvsp[0].is; + + case 25: +#line 267 "rcparse.y" + { + (yyval.is) = (yyvsp[0].is); } break; -case 25: -#line 269 "rcparse.y" -{ - yyval.is = yyvsp[-2].is | yyvsp[0].is; + + case 26: +#line 271 "rcparse.y" + { + (yyval.is) = (yyvsp[-2].is) | (yyvsp[0].is); } break; -case 26: -#line 274 "rcparse.y" -{ - yyval.is = yyvsp[-1].is | yyvsp[0].is; + + case 27: +#line 276 "rcparse.y" + { + (yyval.is) = (yyvsp[-1].is) | (yyvsp[0].is); } break; -case 27: -#line 281 "rcparse.y" -{ - yyval.is = ACC_VIRTKEY; + + case 28: +#line 283 "rcparse.y" + { + (yyval.is) = ACC_VIRTKEY; } break; -case 28: -#line 285 "rcparse.y" -{ + + case 29: +#line 287 "rcparse.y" + { /* This is just the absence of VIRTKEY. */ - yyval.is = 0; + (yyval.is) = 0; } break; -case 29: -#line 290 "rcparse.y" -{ - yyval.is = ACC_NOINVERT; + + case 30: +#line 292 "rcparse.y" + { + (yyval.is) = ACC_NOINVERT; } break; -case 30: -#line 294 "rcparse.y" -{ - yyval.is = ACC_SHIFT; + + case 31: +#line 296 "rcparse.y" + { + (yyval.is) = ACC_SHIFT; } break; -case 31: -#line 298 "rcparse.y" -{ - yyval.is = ACC_CONTROL; + + case 32: +#line 300 "rcparse.y" + { + (yyval.is) = ACC_CONTROL; } break; -case 32: -#line 302 "rcparse.y" -{ - yyval.is = ACC_ALT; + + case 33: +#line 304 "rcparse.y" + { + (yyval.is) = ACC_ALT; } break; -case 33: -#line 311 "rcparse.y" -{ - define_bitmap (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s); + + case 34: +#line 313 "rcparse.y" + { + define_bitmap ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 34: -#line 323 "rcparse.y" -{ - define_cursor (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s); + + case 35: +#line 325 "rcparse.y" + { + define_cursor ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 35: -#line 336 "rcparse.y" -{ + + case 36: +#line 338 "rcparse.y" + { memset (&dialog, 0, sizeof dialog); - dialog.x = yyvsp[-3].il; - dialog.y = yyvsp[-2].il; - dialog.width = yyvsp[-1].il; - dialog.height = yyvsp[0].il; + dialog.x = (yyvsp[-3].il); + dialog.y = (yyvsp[-2].il); + dialog.width = (yyvsp[-1].il); + dialog.height = (yyvsp[0].il); dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU; - dialog.exstyle = yyvsp[-4].il; + dialog.exstyle = (yyvsp[-4].il); dialog.menu.named = 1; dialog.class.named = 1; dialog.font = NULL; dialog.ex = NULL; dialog.controls = NULL; - sub_res_info = yyvsp[-5].res_info; + sub_res_info = (yyvsp[-5].res_info); style = 0; } break; -case 36: -#line 353 "rcparse.y" -{ - define_dialog (yyvsp[-12].id, &sub_res_info, &dialog); + + case 37: +#line 355 "rcparse.y" + { + define_dialog ((yyvsp[-12].id), &sub_res_info, &dialog); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 37: -#line 361 "rcparse.y" -{ + + case 38: +#line 363 "rcparse.y" + { memset (&dialog, 0, sizeof dialog); - dialog.x = yyvsp[-3].il; - dialog.y = yyvsp[-2].il; - dialog.width = yyvsp[-1].il; - dialog.height = yyvsp[0].il; + dialog.x = (yyvsp[-3].il); + dialog.y = (yyvsp[-2].il); + dialog.width = (yyvsp[-1].il); + dialog.height = (yyvsp[0].il); dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU; - dialog.exstyle = yyvsp[-4].il; + dialog.exstyle = (yyvsp[-4].il); dialog.menu.named = 1; dialog.class.named = 1; dialog.font = NULL; @@ -1727,101 +2117,112 @@ case 37: res_alloc (sizeof (struct dialog_ex))); memset (dialog.ex, 0, sizeof (struct dialog_ex)); dialog.controls = NULL; - sub_res_info = yyvsp[-5].res_info; + sub_res_info = (yyvsp[-5].res_info); style = 0; } break; -case 38: -#line 380 "rcparse.y" -{ - define_dialog (yyvsp[-12].id, &sub_res_info, &dialog); + + case 39: +#line 382 "rcparse.y" + { + define_dialog ((yyvsp[-12].id), &sub_res_info, &dialog); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 39: -#line 388 "rcparse.y" -{ + + case 40: +#line 390 "rcparse.y" + { memset (&dialog, 0, sizeof dialog); - dialog.x = yyvsp[-4].il; - dialog.y = yyvsp[-3].il; - dialog.width = yyvsp[-2].il; - dialog.height = yyvsp[-1].il; + dialog.x = (yyvsp[-4].il); + dialog.y = (yyvsp[-3].il); + dialog.width = (yyvsp[-2].il); + dialog.height = (yyvsp[-1].il); dialog.style = WS_POPUP | WS_BORDER | WS_SYSMENU; - dialog.exstyle = yyvsp[-5].il; + dialog.exstyle = (yyvsp[-5].il); dialog.menu.named = 1; dialog.class.named = 1; dialog.font = NULL; dialog.ex = ((struct dialog_ex *) res_alloc (sizeof (struct dialog_ex))); memset (dialog.ex, 0, sizeof (struct dialog_ex)); - dialog.ex->help = yyvsp[0].il; + dialog.ex->help = (yyvsp[0].il); dialog.controls = NULL; - sub_res_info = yyvsp[-6].res_info; + sub_res_info = (yyvsp[-6].res_info); style = 0; } break; -case 40: -#line 408 "rcparse.y" -{ - define_dialog (yyvsp[-13].id, &sub_res_info, &dialog); + + case 41: +#line 410 "rcparse.y" + { + define_dialog ((yyvsp[-13].id), &sub_res_info, &dialog); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 41: -#line 418 "rcparse.y" -{ - yyval.il = 0; + + case 42: +#line 420 "rcparse.y" + { + (yyval.il) = 0; } break; -case 42: -#line 422 "rcparse.y" -{ - yyval.il = yyvsp[0].il; + + case 43: +#line 424 "rcparse.y" + { + (yyval.il) = (yyvsp[0].il); } break; -case 44: -#line 430 "rcparse.y" -{ + + case 45: +#line 432 "rcparse.y" + { dialog.style |= WS_CAPTION; style |= WS_CAPTION; - unicode_from_ascii ((int *) NULL, &dialog.caption, yyvsp[0].s); + unicode_from_ascii ((int *) NULL, &dialog.caption, (yyvsp[0].s)); } break; -case 45: -#line 436 "rcparse.y" -{ - dialog.class = yyvsp[0].id; + + case 46: +#line 438 "rcparse.y" + { + dialog.class = (yyvsp[0].id); } break; -case 46: -#line 441 "rcparse.y" -{ + + case 47: +#line 443 "rcparse.y" + { dialog.style = style; } break; -case 47: -#line 445 "rcparse.y" -{ - dialog.exstyle = yyvsp[0].il; + + case 48: +#line 447 "rcparse.y" + { + dialog.exstyle = (yyvsp[0].il); } break; -case 48: -#line 449 "rcparse.y" -{ - res_string_to_id (& dialog.class, yyvsp[0].s); + + case 49: +#line 451 "rcparse.y" + { + res_string_to_id (& dialog.class, (yyvsp[0].s)); } break; -case 49: -#line 453 "rcparse.y" -{ + + case 50: +#line 455 "rcparse.y" + { dialog.style |= DS_SETFONT; style |= DS_SETFONT; - dialog.pointsize = yyvsp[-2].il; - unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[0].s); + dialog.pointsize = (yyvsp[-2].il); + unicode_from_ascii ((int *) NULL, &dialog.font, (yyvsp[0].s)); if (dialog.ex != NULL) { dialog.ex->weight = 0; @@ -1830,172 +2231,191 @@ case 49: } } break; -case 50: -#line 466 "rcparse.y" -{ + + case 51: +#line 468 "rcparse.y" + { dialog.style |= DS_SETFONT; style |= DS_SETFONT; - dialog.pointsize = yyvsp[-3].il; - unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[-1].s); + dialog.pointsize = (yyvsp[-3].il); + unicode_from_ascii ((int *) NULL, &dialog.font, (yyvsp[-1].s)); if (dialog.ex == NULL) rcparse_warning (_("extended FONT requires DIALOGEX")); else { - dialog.ex->weight = yyvsp[0].il; + dialog.ex->weight = (yyvsp[0].il); dialog.ex->italic = 0; dialog.ex->charset = 1; } } break; -case 51: -#line 481 "rcparse.y" -{ + + case 52: +#line 483 "rcparse.y" + { dialog.style |= DS_SETFONT; style |= DS_SETFONT; - dialog.pointsize = yyvsp[-4].il; - unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[-2].s); + dialog.pointsize = (yyvsp[-4].il); + unicode_from_ascii ((int *) NULL, &dialog.font, (yyvsp[-2].s)); if (dialog.ex == NULL) rcparse_warning (_("extended FONT requires DIALOGEX")); else { - dialog.ex->weight = yyvsp[-1].il; - dialog.ex->italic = yyvsp[0].il; + dialog.ex->weight = (yyvsp[-1].il); + dialog.ex->italic = (yyvsp[0].il); dialog.ex->charset = 1; } } break; -case 52: -#line 496 "rcparse.y" -{ + + case 53: +#line 498 "rcparse.y" + { dialog.style |= DS_SETFONT; style |= DS_SETFONT; - dialog.pointsize = yyvsp[-5].il; - unicode_from_ascii ((int *) NULL, &dialog.font, yyvsp[-3].s); + dialog.pointsize = (yyvsp[-5].il); + unicode_from_ascii ((int *) NULL, &dialog.font, (yyvsp[-3].s)); if (dialog.ex == NULL) rcparse_warning (_("extended FONT requires DIALOGEX")); else { - dialog.ex->weight = yyvsp[-2].il; - dialog.ex->italic = yyvsp[-1].il; - dialog.ex->charset = yyvsp[0].il; + dialog.ex->weight = (yyvsp[-2].il); + dialog.ex->italic = (yyvsp[-1].il); + dialog.ex->charset = (yyvsp[0].il); } } break; -case 53: -#line 511 "rcparse.y" -{ - dialog.menu = yyvsp[0].id; + + case 54: +#line 513 "rcparse.y" + { + dialog.menu = (yyvsp[0].id); } break; -case 54: -#line 515 "rcparse.y" -{ - sub_res_info.characteristics = yyvsp[0].il; + + case 55: +#line 517 "rcparse.y" + { + sub_res_info.characteristics = (yyvsp[0].il); } break; -case 55: -#line 519 "rcparse.y" -{ - sub_res_info.language = yyvsp[-1].il | (yyvsp[0].il << SUBLANG_SHIFT); + + case 56: +#line 521 "rcparse.y" + { + sub_res_info.language = (yyvsp[-1].il) | ((yyvsp[0].il) << SUBLANG_SHIFT); } break; -case 56: -#line 523 "rcparse.y" -{ - sub_res_info.version = yyvsp[0].il; + + case 57: +#line 525 "rcparse.y" + { + sub_res_info.version = (yyvsp[0].il); } break; -case 58: -#line 531 "rcparse.y" -{ + + case 59: +#line 533 "rcparse.y" + { struct dialog_control **pp; for (pp = &dialog.controls; *pp != NULL; pp = &(*pp)->next) ; - *pp = yyvsp[0].dialog_control; + *pp = (yyvsp[0].dialog_control); } break; -case 59: -#line 542 "rcparse.y" -{ + + case 60: +#line 544 "rcparse.y" + { default_style = BS_AUTO3STATE | WS_TABSTOP; base_style = BS_AUTO3STATE; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 60: -#line 549 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 61: +#line 551 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 61: -#line 553 "rcparse.y" -{ + + case 62: +#line 555 "rcparse.y" + { default_style = BS_AUTOCHECKBOX | WS_TABSTOP; base_style = BS_AUTOCHECKBOX; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 62: -#line 560 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 63: +#line 562 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 63: -#line 564 "rcparse.y" -{ + + case 64: +#line 566 "rcparse.y" + { default_style = BS_AUTORADIOBUTTON | WS_TABSTOP; base_style = BS_AUTORADIOBUTTON; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 64: -#line 571 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 65: +#line 573 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 65: -#line 575 "rcparse.y" -{ + + case 66: +#line 577 "rcparse.y" + { default_style = ES_LEFT | WS_BORDER | WS_TABSTOP; base_style = ES_LEFT | WS_BORDER | WS_TABSTOP; class = CTL_EDIT; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 66: -#line 582 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 67: +#line 584 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); if (dialog.ex == NULL) rcparse_warning (_("BEDIT requires DIALOGEX")); - res_string_to_id (&yyval.dialog_control->class, "BEDIT"); + res_string_to_id (&(yyval.dialog_control)->class, "BEDIT"); } break; -case 67: -#line 589 "rcparse.y" -{ + + case 68: +#line 591 "rcparse.y" + { default_style = BS_CHECKBOX | WS_TABSTOP; base_style = BS_CHECKBOX | WS_TABSTOP; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 68: -#line 596 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 69: +#line 598 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 69: -#line 600 "rcparse.y" -{ + + case 70: +#line 602 "rcparse.y" + { /* This is as per MSDN documentation. With some (???) versions of MS rc.exe their is no default style. */ default_style = CBS_SIMPLE | WS_TABSTOP; @@ -2004,1284 +2424,1455 @@ case 69: res_text_field = res_null_text; } break; -case 70: -#line 609 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 71: +#line 611 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 71: -#line 614 "rcparse.y" -{ - 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].il, style, yyvsp[-1].il); - if (yyvsp[0].rcdata_item != NULL) + + case 72: +#line 616 "rcparse.y" + { + (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].il), style, (yyvsp[-1].il)); + if ((yyvsp[0].rcdata_item) != NULL) { if (dialog.ex == NULL) rcparse_warning (_("control data requires DIALOGEX")); - yyval.dialog_control->data = yyvsp[0].rcdata_item; + (yyval.dialog_control)->data = (yyvsp[0].rcdata_item); } } break; -case 72: -#line 625 "rcparse.y" -{ - 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].il, style, yyvsp[-2].il); + + case 73: +#line 627 "rcparse.y" + { + (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].il), style, (yyvsp[-2].il)); if (dialog.ex == NULL) rcparse_warning (_("help ID requires DIALOGEX")); - yyval.dialog_control->help = yyvsp[-1].il; - yyval.dialog_control->data = yyvsp[0].rcdata_item; + (yyval.dialog_control)->help = (yyvsp[-1].il); + (yyval.dialog_control)->data = (yyvsp[0].rcdata_item); } break; -case 73: -#line 634 "rcparse.y" -{ - yyval.dialog_control = define_control (yyvsp[-10].id, yyvsp[-9].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-2].il, 0, style, yyvsp[-1].il); - if (yyvsp[0].rcdata_item != NULL) + + case 74: +#line 636 "rcparse.y" + { + (yyval.dialog_control) = define_control ((yyvsp[-10].id), (yyvsp[-9].il), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-2].il), 0, style, (yyvsp[-1].il)); + if ((yyvsp[0].rcdata_item) != NULL) { if (dialog.ex == NULL) rcparse_warning ("control data requires DIALOGEX"); - yyval.dialog_control->data = yyvsp[0].rcdata_item; + (yyval.dialog_control)->data = (yyvsp[0].rcdata_item); } - yyval.dialog_control->class.named = 1; - unicode_from_ascii (&yyval.dialog_control->class.u.n.length, &yyval.dialog_control->class.u.n.name, yyvsp[-7].s); + (yyval.dialog_control)->class.named = 1; + unicode_from_ascii (&(yyval.dialog_control)->class.u.n.length, &(yyval.dialog_control)->class.u.n.name, (yyvsp[-7].s)); } break; -case 74: -#line 647 "rcparse.y" -{ - yyval.dialog_control = define_control (yyvsp[-11].id, yyvsp[-10].il, yyvsp[-6].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, 0, style, yyvsp[-2].il); + + case 75: +#line 649 "rcparse.y" + { + (yyval.dialog_control) = define_control ((yyvsp[-11].id), (yyvsp[-10].il), (yyvsp[-6].il), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), 0, style, (yyvsp[-2].il)); if (dialog.ex == NULL) rcparse_warning ("help ID requires DIALOGEX"); - yyval.dialog_control->help = yyvsp[-1].il; - yyval.dialog_control->data = yyvsp[0].rcdata_item; - yyval.dialog_control->class.named = 1; - unicode_from_ascii (&yyval.dialog_control->class.u.n.length, &yyval.dialog_control->class.u.n.name, yyvsp[-8].s); + (yyval.dialog_control)->help = (yyvsp[-1].il); + (yyval.dialog_control)->data = (yyvsp[0].rcdata_item); + (yyval.dialog_control)->class.named = 1; + unicode_from_ascii (&(yyval.dialog_control)->class.u.n.length, &(yyval.dialog_control)->class.u.n.name, (yyvsp[-8].s)); } break; -case 75: -#line 657 "rcparse.y" -{ + + case 76: +#line 659 "rcparse.y" + { default_style = SS_CENTER | WS_GROUP; base_style = SS_CENTER; class = CTL_STATIC; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 76: -#line 664 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 77: +#line 666 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 77: -#line 668 "rcparse.y" -{ + + case 78: +#line 670 "rcparse.y" + { default_style = BS_DEFPUSHBUTTON | WS_TABSTOP; base_style = BS_DEFPUSHBUTTON | WS_TABSTOP; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 78: -#line 675 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 79: +#line 677 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 79: -#line 679 "rcparse.y" -{ + + case 80: +#line 681 "rcparse.y" + { default_style = ES_LEFT | WS_BORDER | WS_TABSTOP; base_style = ES_LEFT | WS_BORDER | WS_TABSTOP; class = CTL_EDIT; res_text_field = res_null_text; } break; -case 80: -#line 686 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 81: +#line 688 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 81: -#line 690 "rcparse.y" -{ + + case 82: +#line 692 "rcparse.y" + { default_style = BS_GROUPBOX; base_style = BS_GROUPBOX; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 82: -#line 697 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 83: +#line 699 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 83: -#line 701 "rcparse.y" -{ + + case 84: +#line 703 "rcparse.y" + { default_style = ES_LEFT | WS_BORDER | WS_TABSTOP; base_style = ES_LEFT | WS_BORDER | WS_TABSTOP; class = CTL_EDIT; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 84: -#line 708 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 85: +#line 710 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); if (dialog.ex == NULL) rcparse_warning (_("IEDIT requires DIALOGEX")); - res_string_to_id (&yyval.dialog_control->class, "HEDIT"); + res_string_to_id (&(yyval.dialog_control)->class, "HEDIT"); } break; -case 85: -#line 715 "rcparse.y" -{ - 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, + + case 86: +#line 717 "rcparse.y" + { + (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), dialog.ex); } break; -case 86: -#line 721 "rcparse.y" -{ - 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, + + case 87: +#line 723 "rcparse.y" + { + (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), dialog.ex); } break; -case 87: -#line 727 "rcparse.y" -{ - 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, + + case 88: +#line 729 "rcparse.y" + { + (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), dialog.ex); } break; -case 88: -#line 733 "rcparse.y" -{ - 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, + + case 89: +#line 735 "rcparse.y" + { + (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), dialog.ex); } break; -case 89: -#line 738 "rcparse.y" -{ + + case 90: +#line 740 "rcparse.y" + { default_style = ES_LEFT | WS_BORDER | WS_TABSTOP; base_style = ES_LEFT | WS_BORDER | WS_TABSTOP; class = CTL_EDIT; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 90: -#line 745 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 91: +#line 747 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); if (dialog.ex == NULL) rcparse_warning (_("IEDIT requires DIALOGEX")); - res_string_to_id (&yyval.dialog_control->class, "IEDIT"); + res_string_to_id (&(yyval.dialog_control)->class, "IEDIT"); } break; -case 91: -#line 752 "rcparse.y" -{ + + case 92: +#line 754 "rcparse.y" + { default_style = LBS_NOTIFY | WS_BORDER; base_style = LBS_NOTIFY | WS_BORDER; class = CTL_LISTBOX; res_text_field = res_null_text; } break; -case 92: -#line 759 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 93: +#line 761 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 93: -#line 763 "rcparse.y" -{ + + case 94: +#line 765 "rcparse.y" + { default_style = SS_LEFT | WS_GROUP; base_style = SS_LEFT; class = CTL_STATIC; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 94: -#line 770 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 95: +#line 772 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 95: -#line 774 "rcparse.y" -{ + + case 96: +#line 776 "rcparse.y" + { default_style = BS_PUSHBOX | WS_TABSTOP; base_style = BS_PUSHBOX; class = CTL_BUTTON; } break; -case 96: -#line 780 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 97: +#line 782 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 97: -#line 784 "rcparse.y" -{ + + case 98: +#line 786 "rcparse.y" + { default_style = BS_PUSHBUTTON | WS_TABSTOP; base_style = BS_PUSHBUTTON | WS_TABSTOP; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 98: -#line 791 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 99: +#line 793 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 99: -#line 795 "rcparse.y" -{ + + case 100: +#line 797 "rcparse.y" + { default_style = BS_RADIOBUTTON | WS_TABSTOP; base_style = BS_RADIOBUTTON; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 100: -#line 802 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 101: +#line 804 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 101: -#line 806 "rcparse.y" -{ + + case 102: +#line 808 "rcparse.y" + { default_style = SS_RIGHT | WS_GROUP; base_style = SS_RIGHT; class = CTL_STATIC; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 102: -#line 813 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 103: +#line 815 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 103: -#line 817 "rcparse.y" -{ + + case 104: +#line 819 "rcparse.y" + { default_style = SBS_HORZ; base_style = 0; class = CTL_SCROLLBAR; res_text_field = res_null_text; } break; -case 104: -#line 824 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 105: +#line 826 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 105: -#line 828 "rcparse.y" -{ + + case 106: +#line 830 "rcparse.y" + { default_style = BS_3STATE | WS_TABSTOP; base_style = BS_3STATE; class = CTL_BUTTON; - res_text_field = yyvsp[0].id; + res_text_field = (yyvsp[0].id); } break; -case 106: -#line 835 "rcparse.y" -{ - yyval.dialog_control = yyvsp[0].dialog_control; + + case 107: +#line 837 "rcparse.y" + { + (yyval.dialog_control) = (yyvsp[0].dialog_control); } break; -case 107: -#line 840 "rcparse.y" -{ style = WS_CHILD | WS_VISIBLE; } - break; -case 108: + + case 108: #line 842 "rcparse.y" -{ - yyval.dialog_control = define_control (yyvsp[-13].id, yyvsp[-12].il, yyvsp[-10].il, yyvsp[-8].il, yyvsp[-6].il, yyvsp[-4].il, CTL_BUTTON, - style, yyvsp[0].il); + { style = WS_CHILD | WS_VISIBLE; } + break; + + case 109: +#line 844 "rcparse.y" + { + (yyval.dialog_control) = define_control ((yyvsp[-13].id), (yyvsp[-12].il), (yyvsp[-10].il), (yyvsp[-8].il), (yyvsp[-6].il), (yyvsp[-4].il), CTL_BUTTON, + style, (yyvsp[0].il)); } break; -case 109: -#line 857 "rcparse.y" -{ - yyval.dialog_control = define_control (res_text_field, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-2].il, yyvsp[-1].il, class, + + case 110: +#line 859 "rcparse.y" + { + (yyval.dialog_control) = define_control (res_text_field, (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-2].il), (yyvsp[-1].il), class, default_style | WS_CHILD | WS_VISIBLE, 0); - if (yyvsp[0].rcdata_item != NULL) + if ((yyvsp[0].rcdata_item) != NULL) { if (dialog.ex == NULL) rcparse_warning (_("control data requires DIALOGEX")); - yyval.dialog_control->data = yyvsp[0].rcdata_item; + (yyval.dialog_control)->data = (yyvsp[0].rcdata_item); } } break; -case 110: -#line 869 "rcparse.y" -{ - 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); - if (yyvsp[0].rcdata_item != NULL) + + case 111: +#line 871 "rcparse.y" + { + (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)); + if ((yyvsp[0].rcdata_item) != NULL) { if (dialog.ex == NULL) rcparse_warning (_("control data requires DIALOGEX")); - yyval.dialog_control->data = yyvsp[0].rcdata_item; + (yyval.dialog_control)->data = (yyvsp[0].rcdata_item); } } break; -case 111: -#line 880 "rcparse.y" -{ - 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); + + case 112: +#line 882 "rcparse.y" + { + (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)); if (dialog.ex == NULL) rcparse_warning (_("help ID requires DIALOGEX")); - yyval.dialog_control->help = yyvsp[-1].il; - yyval.dialog_control->data = yyvsp[0].rcdata_item; + (yyval.dialog_control)->help = (yyvsp[-1].il); + (yyval.dialog_control)->data = (yyvsp[0].rcdata_item); } break; -case 112: -#line 891 "rcparse.y" -{ - res_string_to_id (&yyval.id, ""); + + case 113: +#line 893 "rcparse.y" + { + res_string_to_id (&(yyval.id), ""); } break; -case 113: -#line 895 "rcparse.y" -{ - yyval.id.named = 0; - yyval.id.u.id = yyvsp[-1].il; + + case 114: +#line 897 "rcparse.y" + { + (yyval.id).named = 0; + (yyval.id).u.id = (yyvsp[-1].il); } break; -case 114: -#line 900 "rcparse.y" -{ - res_string_to_id (&yyval.id, yyvsp[0].s); + + case 115: +#line 902 "rcparse.y" + { + res_string_to_id (&(yyval.id), (yyvsp[0].s)); } break; -case 115: -#line 904 "rcparse.y" -{ - res_string_to_id (&yyval.id, yyvsp[-1].s); + + case 116: +#line 906 "rcparse.y" + { + res_string_to_id (&(yyval.id), (yyvsp[-1].s)); } break; -case 116: -#line 911 "rcparse.y" -{ - yyval.rcdata_item = NULL; + + case 117: +#line 913 "rcparse.y" + { + (yyval.rcdata_item) = NULL; } break; -case 117: -#line 915 "rcparse.y" -{ - yyval.rcdata_item = yyvsp[-1].rcdata.first; + + case 118: +#line 917 "rcparse.y" + { + (yyval.rcdata_item) = (yyvsp[-1].rcdata).first; } break; -case 118: -#line 924 "rcparse.y" -{ style = WS_CHILD | WS_VISIBLE; } + + case 119: +#line 926 "rcparse.y" + { style = WS_CHILD | WS_VISIBLE; } break; -case 120: -#line 930 "rcparse.y" -{ style = SS_ICON | WS_CHILD | WS_VISIBLE; } + + case 121: +#line 932 "rcparse.y" + { style = SS_ICON | WS_CHILD | WS_VISIBLE; } break; -case 122: -#line 936 "rcparse.y" -{ style = base_style | WS_CHILD | WS_VISIBLE; } + + case 123: +#line 938 "rcparse.y" + { style = base_style | WS_CHILD | WS_VISIBLE; } break; -case 124: -#line 944 "rcparse.y" -{ - define_font (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s); + + case 125: +#line 946 "rcparse.y" + { + define_font ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 125: -#line 956 "rcparse.y" -{ - define_icon (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s); + + case 126: +#line 958 "rcparse.y" + { + define_icon ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 126: -#line 969 "rcparse.y" -{ - language = yyvsp[-1].il | (yyvsp[0].il << SUBLANG_SHIFT); + + case 127: +#line 971 "rcparse.y" + { + language = (yyvsp[-1].il) | ((yyvsp[0].il) << SUBLANG_SHIFT); } break; -case 127: -#line 978 "rcparse.y" -{ - define_menu (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].menuitem); + + case 128: +#line 980 "rcparse.y" + { + define_menu ((yyvsp[-5].id), &(yyvsp[-3].res_info), (yyvsp[-1].menuitem)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 128: -#line 988 "rcparse.y" -{ - yyval.menuitem = NULL; + + case 129: +#line 990 "rcparse.y" + { + (yyval.menuitem) = NULL; } break; -case 129: -#line 992 "rcparse.y" -{ - if (yyvsp[-1].menuitem == NULL) - yyval.menuitem = yyvsp[0].menuitem; + + case 130: +#line 994 "rcparse.y" + { + if ((yyvsp[-1].menuitem) == NULL) + (yyval.menuitem) = (yyvsp[0].menuitem); else { struct menuitem **pp; - for (pp = &yyvsp[-1].menuitem->next; *pp != NULL; pp = &(*pp)->next) + for (pp = &(yyvsp[-1].menuitem)->next; *pp != NULL; pp = &(*pp)->next) ; - *pp = yyvsp[0].menuitem; - yyval.menuitem = yyvsp[-1].menuitem; + *pp = (yyvsp[0].menuitem); + (yyval.menuitem) = (yyvsp[-1].menuitem); } } break; -case 130: -#line 1009 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-2].s, yyvsp[-1].il, yyvsp[0].is, 0, 0, NULL); + + case 131: +#line 1011 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-2].s), (yyvsp[-1].il), (yyvsp[0].is), 0, 0, NULL); } break; -case 131: -#line 1013 "rcparse.y" -{ - yyval.menuitem = define_menuitem (NULL, 0, 0, 0, 0, NULL); + + case 132: +#line 1015 "rcparse.y" + { + (yyval.menuitem) = define_menuitem (NULL, 0, 0, 0, 0, NULL); } break; -case 132: -#line 1017 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-4].s, 0, yyvsp[-3].is, 0, 0, yyvsp[-1].menuitem); + + case 133: +#line 1019 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-4].s), 0, (yyvsp[-3].is), 0, 0, (yyvsp[-1].menuitem)); } break; -case 133: -#line 1024 "rcparse.y" -{ - yyval.is = 0; + + case 134: +#line 1026 "rcparse.y" + { + (yyval.is) = 0; } break; -case 134: -#line 1028 "rcparse.y" -{ - yyval.is = yyvsp[-2].is | yyvsp[0].is; + + case 135: +#line 1030 "rcparse.y" + { + (yyval.is) = (yyvsp[-2].is) | (yyvsp[0].is); } break; -case 135: -#line 1032 "rcparse.y" -{ - yyval.is = yyvsp[-1].is | yyvsp[0].is; + + case 136: +#line 1034 "rcparse.y" + { + (yyval.is) = (yyvsp[-1].is) | (yyvsp[0].is); } break; -case 136: -#line 1039 "rcparse.y" -{ - yyval.is = MENUITEM_CHECKED; + + case 137: +#line 1041 "rcparse.y" + { + (yyval.is) = MENUITEM_CHECKED; } break; -case 137: -#line 1043 "rcparse.y" -{ - yyval.is = MENUITEM_GRAYED; + + case 138: +#line 1045 "rcparse.y" + { + (yyval.is) = MENUITEM_GRAYED; } break; -case 138: -#line 1047 "rcparse.y" -{ - yyval.is = MENUITEM_HELP; + + case 139: +#line 1049 "rcparse.y" + { + (yyval.is) = MENUITEM_HELP; } break; -case 139: -#line 1051 "rcparse.y" -{ - yyval.is = MENUITEM_INACTIVE; + + case 140: +#line 1053 "rcparse.y" + { + (yyval.is) = MENUITEM_INACTIVE; } break; -case 140: -#line 1055 "rcparse.y" -{ - yyval.is = MENUITEM_MENUBARBREAK; + + case 141: +#line 1057 "rcparse.y" + { + (yyval.is) = MENUITEM_MENUBARBREAK; } break; -case 141: -#line 1059 "rcparse.y" -{ - yyval.is = MENUITEM_MENUBREAK; + + case 142: +#line 1061 "rcparse.y" + { + (yyval.is) = MENUITEM_MENUBREAK; } break; -case 142: -#line 1068 "rcparse.y" -{ - define_menu (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].menuitem); + + case 143: +#line 1070 "rcparse.y" + { + define_menu ((yyvsp[-5].id), &(yyvsp[-3].res_info), (yyvsp[-1].menuitem)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 143: -#line 1078 "rcparse.y" -{ - yyval.menuitem = NULL; + + case 144: +#line 1080 "rcparse.y" + { + (yyval.menuitem) = NULL; } break; -case 144: -#line 1082 "rcparse.y" -{ - if (yyvsp[-1].menuitem == NULL) - yyval.menuitem = yyvsp[0].menuitem; + + case 145: +#line 1084 "rcparse.y" + { + if ((yyvsp[-1].menuitem) == NULL) + (yyval.menuitem) = (yyvsp[0].menuitem); else { struct menuitem **pp; - for (pp = &yyvsp[-1].menuitem->next; *pp != NULL; pp = &(*pp)->next) + for (pp = &(yyvsp[-1].menuitem)->next; *pp != NULL; pp = &(*pp)->next) ; - *pp = yyvsp[0].menuitem; - yyval.menuitem = yyvsp[-1].menuitem; + *pp = (yyvsp[0].menuitem); + (yyval.menuitem) = (yyvsp[-1].menuitem); } } break; -case 145: -#line 1099 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[0].s, 0, 0, 0, 0, NULL); + + case 146: +#line 1101 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[0].s), 0, 0, 0, 0, NULL); } break; -case 146: -#line 1103 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-1].s, yyvsp[0].il, 0, 0, 0, NULL); + + case 147: +#line 1105 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-1].s), (yyvsp[0].il), 0, 0, 0, NULL); } break; -case 147: -#line 1107 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-3].s, yyvsp[-2].il, yyvsp[-1].il, yyvsp[0].il, 0, NULL); + + case 148: +#line 1109 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-3].s), (yyvsp[-2].il), (yyvsp[-1].il), (yyvsp[0].il), 0, NULL); } break; -case 148: -#line 1111 "rcparse.y" -{ - yyval.menuitem = define_menuitem (NULL, 0, 0, 0, 0, NULL); + + case 149: +#line 1113 "rcparse.y" + { + (yyval.menuitem) = define_menuitem (NULL, 0, 0, 0, 0, NULL); } break; -case 149: -#line 1115 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-3].s, 0, 0, 0, 0, yyvsp[-1].menuitem); + + case 150: +#line 1117 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-3].s), 0, 0, 0, 0, (yyvsp[-1].menuitem)); } break; -case 150: -#line 1119 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-4].s, yyvsp[-3].il, 0, 0, 0, yyvsp[-1].menuitem); + + case 151: +#line 1121 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-4].s), (yyvsp[-3].il), 0, 0, 0, (yyvsp[-1].menuitem)); } break; -case 151: -#line 1123 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-5].s, yyvsp[-4].il, yyvsp[-3].il, 0, 0, yyvsp[-1].menuitem); + + case 152: +#line 1125 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-5].s), (yyvsp[-4].il), (yyvsp[-3].il), 0, 0, (yyvsp[-1].menuitem)); } break; -case 152: -#line 1128 "rcparse.y" -{ - yyval.menuitem = define_menuitem (yyvsp[-7].s, yyvsp[-6].il, yyvsp[-5].il, yyvsp[-4].il, yyvsp[-3].il, yyvsp[-1].menuitem); + + case 153: +#line 1130 "rcparse.y" + { + (yyval.menuitem) = define_menuitem ((yyvsp[-7].s), (yyvsp[-6].il), (yyvsp[-5].il), (yyvsp[-4].il), (yyvsp[-3].il), (yyvsp[-1].menuitem)); } break; -case 153: -#line 1137 "rcparse.y" -{ - define_messagetable (yyvsp[-3].id, &yyvsp[-1].res_info, yyvsp[0].s); + + case 154: +#line 1139 "rcparse.y" + { + define_messagetable ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 154: -#line 1149 "rcparse.y" -{ - define_rcdata (yyvsp[-5].id, &yyvsp[-3].res_info, yyvsp[-1].rcdata.first); + + case 155: +#line 1151 "rcparse.y" + { + define_rcdata ((yyvsp[-5].id), &(yyvsp[-3].res_info), (yyvsp[-1].rcdata).first); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 155: -#line 1161 "rcparse.y" -{ + + case 156: +#line 1158 "rcparse.y" + { + define_rcdata_file ((yyvsp[-3].id), &(yyvsp[-1].res_info), (yyvsp[0].s)); + if (yychar != YYEMPTY) + YYERROR; + rcparse_discard_strings (); + } + break; + + case 157: +#line 1170 "rcparse.y" + { rcparse_rcdata (); } break; -case 156: -#line 1165 "rcparse.y" -{ + + case 158: +#line 1174 "rcparse.y" + { rcparse_normal (); - yyval.rcdata = yyvsp[0].rcdata; + (yyval.rcdata) = (yyvsp[0].rcdata); } break; -case 157: -#line 1173 "rcparse.y" -{ - yyval.rcdata.first = NULL; - yyval.rcdata.last = NULL; + + case 159: +#line 1182 "rcparse.y" + { + (yyval.rcdata).first = NULL; + (yyval.rcdata).last = NULL; } break; -case 158: -#line 1178 "rcparse.y" -{ - yyval.rcdata = yyvsp[0].rcdata; + + case 160: +#line 1187 "rcparse.y" + { + (yyval.rcdata) = (yyvsp[0].rcdata); } break; -case 159: -#line 1185 "rcparse.y" -{ + + case 161: +#line 1194 "rcparse.y" + { struct rcdata_item *ri; - ri = define_rcdata_string (yyvsp[0].ss.s, yyvsp[0].ss.length); - yyval.rcdata.first = ri; - yyval.rcdata.last = ri; + ri = define_rcdata_string ((yyvsp[0].ss).s, (yyvsp[0].ss).length); + (yyval.rcdata).first = ri; + (yyval.rcdata).last = ri; } break; -case 160: -#line 1193 "rcparse.y" -{ + + case 162: +#line 1202 "rcparse.y" + { struct rcdata_item *ri; - ri = define_rcdata_number (yyvsp[0].i.val, yyvsp[0].i.dword); - yyval.rcdata.first = ri; - yyval.rcdata.last = ri; + ri = define_rcdata_number ((yyvsp[0].i).val, (yyvsp[0].i).dword); + (yyval.rcdata).first = ri; + (yyval.rcdata).last = ri; } break; -case 161: -#line 1201 "rcparse.y" -{ + + case 163: +#line 1210 "rcparse.y" + { struct rcdata_item *ri; - ri = define_rcdata_string (yyvsp[0].ss.s, yyvsp[0].ss.length); - yyval.rcdata.first = yyvsp[-2].rcdata.first; - yyvsp[-2].rcdata.last->next = ri; - yyval.rcdata.last = ri; + ri = define_rcdata_string ((yyvsp[0].ss).s, (yyvsp[0].ss).length); + (yyval.rcdata).first = (yyvsp[-2].rcdata).first; + (yyvsp[-2].rcdata).last->next = ri; + (yyval.rcdata).last = ri; } break; -case 162: -#line 1210 "rcparse.y" -{ + + case 164: +#line 1219 "rcparse.y" + { struct rcdata_item *ri; - ri = define_rcdata_number (yyvsp[0].i.val, yyvsp[0].i.dword); - yyval.rcdata.first = yyvsp[-2].rcdata.first; - yyvsp[-2].rcdata.last->next = ri; - yyval.rcdata.last = ri; + ri = define_rcdata_number ((yyvsp[0].i).val, (yyvsp[0].i).dword); + (yyval.rcdata).first = (yyvsp[-2].rcdata).first; + (yyvsp[-2].rcdata).last->next = ri; + (yyval.rcdata).last = ri; } break; -case 163: -#line 1224 "rcparse.y" -{ sub_res_info = yyvsp[-1].res_info; } + + case 165: +#line 1233 "rcparse.y" + { sub_res_info = (yyvsp[-1].res_info); } break; -case 166: -#line 1231 "rcparse.y" -{ - define_stringtable (&sub_res_info, yyvsp[-1].il, yyvsp[0].s); + + case 168: +#line 1240 "rcparse.y" + { + define_stringtable (&sub_res_info, (yyvsp[-1].il), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 167: -#line 1238 "rcparse.y" -{ - define_stringtable (&sub_res_info, yyvsp[-2].il, yyvsp[0].s); + + case 169: +#line 1247 "rcparse.y" + { + define_stringtable (&sub_res_info, (yyvsp[-2].il), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 168: -#line 1251 "rcparse.y" -{ - define_user_data (yyvsp[-5].id, yyvsp[-4].id, &yyvsp[-3].res_info, yyvsp[-1].rcdata.first); + + case 170: +#line 1260 "rcparse.y" + { + define_user_data ((yyvsp[-5].id), (yyvsp[-4].id), &(yyvsp[-3].res_info), (yyvsp[-1].rcdata).first); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 169: -#line 1258 "rcparse.y" -{ - define_user_file (yyvsp[-3].id, yyvsp[-2].id, &yyvsp[-1].res_info, yyvsp[0].s); + + case 171: +#line 1267 "rcparse.y" + { + define_user_file ((yyvsp[-3].id), (yyvsp[-2].id), &(yyvsp[-1].res_info), (yyvsp[0].s)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 170: -#line 1270 "rcparse.y" -{ - define_versioninfo (yyvsp[-5].id, language, yyvsp[-3].fixver, yyvsp[-1].verinfo); + + case 172: +#line 1279 "rcparse.y" + { + define_versioninfo ((yyvsp[-5].id), language, (yyvsp[-3].fixver), (yyvsp[-1].verinfo)); if (yychar != YYEMPTY) YYERROR; rcparse_discard_strings (); } break; -case 171: -#line 1280 "rcparse.y" -{ - yyval.fixver = ((struct fixed_versioninfo *) + + case 173: +#line 1289 "rcparse.y" + { + (yyval.fixver) = ((struct fixed_versioninfo *) res_alloc (sizeof (struct fixed_versioninfo))); - memset (yyval.fixver, 0, sizeof (struct fixed_versioninfo)); + memset ((yyval.fixver), 0, sizeof (struct fixed_versioninfo)); } break; -case 172: -#line 1286 "rcparse.y" -{ - yyvsp[-5].fixver->file_version_ms = (yyvsp[-3].il << 16) | yyvsp[-2].il; - yyvsp[-5].fixver->file_version_ls = (yyvsp[-1].il << 16) | yyvsp[0].il; - yyval.fixver = yyvsp[-5].fixver; + + case 174: +#line 1295 "rcparse.y" + { + (yyvsp[-5].fixver)->file_version_ms = ((yyvsp[-3].il) << 16) | (yyvsp[-2].il); + (yyvsp[-5].fixver)->file_version_ls = ((yyvsp[-1].il) << 16) | (yyvsp[0].il); + (yyval.fixver) = (yyvsp[-5].fixver); } break; -case 173: -#line 1292 "rcparse.y" -{ - yyvsp[-5].fixver->product_version_ms = (yyvsp[-3].il << 16) | yyvsp[-2].il; - yyvsp[-5].fixver->product_version_ls = (yyvsp[-1].il << 16) | yyvsp[0].il; - yyval.fixver = yyvsp[-5].fixver; + + case 175: +#line 1301 "rcparse.y" + { + (yyvsp[-5].fixver)->product_version_ms = ((yyvsp[-3].il) << 16) | (yyvsp[-2].il); + (yyvsp[-5].fixver)->product_version_ls = ((yyvsp[-1].il) << 16) | (yyvsp[0].il); + (yyval.fixver) = (yyvsp[-5].fixver); } break; -case 174: -#line 1298 "rcparse.y" -{ - yyvsp[-2].fixver->file_flags_mask = yyvsp[0].il; - yyval.fixver = yyvsp[-2].fixver; + + case 176: +#line 1307 "rcparse.y" + { + (yyvsp[-2].fixver)->file_flags_mask = (yyvsp[0].il); + (yyval.fixver) = (yyvsp[-2].fixver); } break; -case 175: -#line 1303 "rcparse.y" -{ - yyvsp[-2].fixver->file_flags = yyvsp[0].il; - yyval.fixver = yyvsp[-2].fixver; + + case 177: +#line 1312 "rcparse.y" + { + (yyvsp[-2].fixver)->file_flags = (yyvsp[0].il); + (yyval.fixver) = (yyvsp[-2].fixver); } break; -case 176: -#line 1308 "rcparse.y" -{ - yyvsp[-2].fixver->file_os = yyvsp[0].il; - yyval.fixver = yyvsp[-2].fixver; + + case 178: +#line 1317 "rcparse.y" + { + (yyvsp[-2].fixver)->file_os = (yyvsp[0].il); + (yyval.fixver) = (yyvsp[-2].fixver); } break; -case 177: -#line 1313 "rcparse.y" -{ - yyvsp[-2].fixver->file_type = yyvsp[0].il; - yyval.fixver = yyvsp[-2].fixver; + + case 179: +#line 1322 "rcparse.y" + { + (yyvsp[-2].fixver)->file_type = (yyvsp[0].il); + (yyval.fixver) = (yyvsp[-2].fixver); } break; -case 178: -#line 1318 "rcparse.y" -{ - yyvsp[-2].fixver->file_subtype = yyvsp[0].il; - yyval.fixver = yyvsp[-2].fixver; + + case 180: +#line 1327 "rcparse.y" + { + (yyvsp[-2].fixver)->file_subtype = (yyvsp[0].il); + (yyval.fixver) = (yyvsp[-2].fixver); } break; -case 179: -#line 1332 "rcparse.y" -{ - yyval.verinfo = NULL; + + case 181: +#line 1341 "rcparse.y" + { + (yyval.verinfo) = NULL; } break; -case 180: -#line 1336 "rcparse.y" -{ - yyval.verinfo = append_ver_stringfileinfo (yyvsp[-7].verinfo, yyvsp[-4].s, yyvsp[-2].verstring); + + case 182: +#line 1345 "rcparse.y" + { + (yyval.verinfo) = append_ver_stringfileinfo ((yyvsp[-7].verinfo), (yyvsp[-4].s), (yyvsp[-2].verstring)); } break; -case 181: -#line 1340 "rcparse.y" -{ - yyval.verinfo = append_ver_varfileinfo (yyvsp[-6].verinfo, yyvsp[-2].s, yyvsp[-1].vervar); + + case 183: +#line 1349 "rcparse.y" + { + (yyval.verinfo) = append_ver_varfileinfo ((yyvsp[-6].verinfo), (yyvsp[-2].s), (yyvsp[-1].vervar)); } break; -case 182: -#line 1347 "rcparse.y" -{ - yyval.verstring = NULL; + + case 184: +#line 1356 "rcparse.y" + { + (yyval.verstring) = NULL; } break; -case 183: -#line 1351 "rcparse.y" -{ - yyval.verstring = append_verval (yyvsp[-4].verstring, yyvsp[-2].s, yyvsp[0].s); + + case 185: +#line 1360 "rcparse.y" + { + (yyval.verstring) = append_verval ((yyvsp[-4].verstring), (yyvsp[-2].s), (yyvsp[0].s)); } break; -case 184: -#line 1358 "rcparse.y" -{ - yyval.vervar = NULL; + + case 186: +#line 1367 "rcparse.y" + { + (yyval.vervar) = NULL; } break; -case 185: -#line 1362 "rcparse.y" -{ - yyval.vervar = append_vertrans (yyvsp[-2].vervar, yyvsp[-1].il, yyvsp[0].il); + + case 187: +#line 1371 "rcparse.y" + { + (yyval.vervar) = append_vertrans ((yyvsp[-2].vervar), (yyvsp[-1].il), (yyvsp[0].il)); } break; -case 186: -#line 1371 "rcparse.y" -{ - yyval.id.named = 0; - yyval.id.u.id = yyvsp[0].il; + + case 188: +#line 1380 "rcparse.y" + { + (yyval.id).named = 0; + (yyval.id).u.id = (yyvsp[0].il); } break; -case 187: -#line 1376 "rcparse.y" -{ + + case 189: +#line 1385 "rcparse.y" + { char *copy, *s; /* It seems that resource ID's are forced to upper case. */ - copy = xstrdup (yyvsp[0].s); + copy = xstrdup ((yyvsp[0].s)); for (s = copy; *s != '\0'; s++) *s = TOUPPER (*s); - res_string_to_id (&yyval.id, copy); + res_string_to_id (&(yyval.id), copy); free (copy); } break; -case 188: -#line 1392 "rcparse.y" -{ - yyval.s = yyvsp[0].s; + + case 190: +#line 1401 "rcparse.y" + { + (yyval.s) = (yyvsp[0].s); } break; -case 189: -#line 1396 "rcparse.y" -{ - yyval.s = yyvsp[-1].s; + + case 191: +#line 1405 "rcparse.y" + { + (yyval.s) = (yyvsp[-1].s); } break; -case 190: -#line 1400 "rcparse.y" -{ - yyval.s = yyvsp[-1].s; + + case 192: +#line 1409 "rcparse.y" + { + (yyval.s) = (yyvsp[-1].s); } break; -case 191: -#line 1408 "rcparse.y" -{ - yyval.id.named = 0; - yyval.id.u.id = yyvsp[-1].il; + + case 193: +#line 1417 "rcparse.y" + { + (yyval.id).named = 0; + (yyval.id).u.id = (yyvsp[-1].il); } break; -case 192: -#line 1413 "rcparse.y" -{ + + case 194: +#line 1422 "rcparse.y" + { char *copy, *s; /* It seems that resource ID's are forced to upper case. */ - copy = xstrdup (yyvsp[0].s); + copy = xstrdup ((yyvsp[0].s)); for (s = copy; *s != '\0'; s++) *s = TOUPPER (*s); - res_string_to_id (&yyval.id, copy); + res_string_to_id (&(yyval.id), copy); free (copy); } break; -case 193: -#line 1430 "rcparse.y" -{ - memset (&yyval.res_info, 0, sizeof (struct res_res_info)); - yyval.res_info.language = language; + + case 195: +#line 1439 "rcparse.y" + { + memset (&(yyval.res_info), 0, sizeof (struct res_res_info)); + (yyval.res_info).language = language; /* FIXME: Is this the right default? */ - yyval.res_info.memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE; + (yyval.res_info).memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE; } break; -case 194: -#line 1437 "rcparse.y" -{ - yyval.res_info = yyvsp[-1].res_info; - yyval.res_info.memflags |= yyvsp[0].memflags.on; - yyval.res_info.memflags &=~ yyvsp[0].memflags.off; - } - break; -case 195: -#line 1443 "rcparse.y" -{ - yyval.res_info = yyvsp[-2].res_info; - yyval.res_info.characteristics = yyvsp[0].il; + + case 196: +#line 1446 "rcparse.y" + { + (yyval.res_info) = (yyvsp[-1].res_info); + (yyval.res_info).memflags |= (yyvsp[0].memflags).on; + (yyval.res_info).memflags &=~ (yyvsp[0].memflags).off; } break; -case 196: -#line 1448 "rcparse.y" -{ - yyval.res_info = yyvsp[-3].res_info; - yyval.res_info.language = yyvsp[-1].il | (yyvsp[0].il << SUBLANG_SHIFT); + + case 197: +#line 1452 "rcparse.y" + { + (yyval.res_info) = (yyvsp[-2].res_info); + (yyval.res_info).characteristics = (yyvsp[0].il); } break; -case 197: -#line 1453 "rcparse.y" -{ - yyval.res_info = yyvsp[-2].res_info; - yyval.res_info.version = yyvsp[0].il; + + case 198: +#line 1457 "rcparse.y" + { + (yyval.res_info) = (yyvsp[-3].res_info); + (yyval.res_info).language = (yyvsp[-1].il) | ((yyvsp[0].il) << SUBLANG_SHIFT); } break; -case 198: -#line 1463 "rcparse.y" -{ - memset (&yyval.res_info, 0, sizeof (struct res_res_info)); - yyval.res_info.language = language; - yyval.res_info.memflags = MEMFLAG_MOVEABLE | MEMFLAG_DISCARDABLE; + + case 199: +#line 1462 "rcparse.y" + { + (yyval.res_info) = (yyvsp[-2].res_info); + (yyval.res_info).version = (yyvsp[0].il); } break; -case 199: -#line 1469 "rcparse.y" -{ - yyval.res_info = yyvsp[-1].res_info; - yyval.res_info.memflags |= yyvsp[0].memflags.on; - yyval.res_info.memflags &=~ yyvsp[0].memflags.off; + + case 200: +#line 1472 "rcparse.y" + { + memset (&(yyval.res_info), 0, sizeof (struct res_res_info)); + (yyval.res_info).language = language; + (yyval.res_info).memflags = MEMFLAG_MOVEABLE | MEMFLAG_DISCARDABLE; } break; -case 200: -#line 1480 "rcparse.y" -{ - memset (&yyval.res_info, 0, sizeof (struct res_res_info)); - yyval.res_info.language = language; - yyval.res_info.memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE; + + case 201: +#line 1478 "rcparse.y" + { + (yyval.res_info) = (yyvsp[-1].res_info); + (yyval.res_info).memflags |= (yyvsp[0].memflags).on; + (yyval.res_info).memflags &=~ (yyvsp[0].memflags).off; } break; -case 201: -#line 1486 "rcparse.y" -{ - yyval.res_info = yyvsp[-1].res_info; - yyval.res_info.memflags |= yyvsp[0].memflags.on; - yyval.res_info.memflags &=~ yyvsp[0].memflags.off; + + case 202: +#line 1489 "rcparse.y" + { + memset (&(yyval.res_info), 0, sizeof (struct res_res_info)); + (yyval.res_info).language = language; + (yyval.res_info).memflags = MEMFLAG_MOVEABLE | MEMFLAG_PURE | MEMFLAG_DISCARDABLE; } break; -case 202: -#line 1498 "rcparse.y" -{ - yyval.memflags.on = MEMFLAG_MOVEABLE; - yyval.memflags.off = 0; + + case 203: +#line 1495 "rcparse.y" + { + (yyval.res_info) = (yyvsp[-1].res_info); + (yyval.res_info).memflags |= (yyvsp[0].memflags).on; + (yyval.res_info).memflags &=~ (yyvsp[0].memflags).off; } break; -case 203: -#line 1503 "rcparse.y" -{ - yyval.memflags.on = 0; - yyval.memflags.off = MEMFLAG_MOVEABLE; + + case 204: +#line 1507 "rcparse.y" + { + (yyval.memflags).on = MEMFLAG_MOVEABLE; + (yyval.memflags).off = 0; } break; -case 204: -#line 1508 "rcparse.y" -{ - yyval.memflags.on = MEMFLAG_PURE; - yyval.memflags.off = 0; + + case 205: +#line 1512 "rcparse.y" + { + (yyval.memflags).on = 0; + (yyval.memflags).off = MEMFLAG_MOVEABLE; } break; -case 205: -#line 1513 "rcparse.y" -{ - yyval.memflags.on = 0; - yyval.memflags.off = MEMFLAG_PURE; + + case 206: +#line 1517 "rcparse.y" + { + (yyval.memflags).on = MEMFLAG_PURE; + (yyval.memflags).off = 0; } break; -case 206: -#line 1518 "rcparse.y" -{ - yyval.memflags.on = MEMFLAG_PRELOAD; - yyval.memflags.off = 0; + + case 207: +#line 1522 "rcparse.y" + { + (yyval.memflags).on = 0; + (yyval.memflags).off = MEMFLAG_PURE; } break; -case 207: -#line 1523 "rcparse.y" -{ - yyval.memflags.on = 0; - yyval.memflags.off = MEMFLAG_PRELOAD; + + case 208: +#line 1527 "rcparse.y" + { + (yyval.memflags).on = MEMFLAG_PRELOAD; + (yyval.memflags).off = 0; } break; -case 208: -#line 1528 "rcparse.y" -{ - yyval.memflags.on = MEMFLAG_DISCARDABLE; - yyval.memflags.off = 0; + + case 209: +#line 1532 "rcparse.y" + { + (yyval.memflags).on = 0; + (yyval.memflags).off = MEMFLAG_PRELOAD; } break; -case 209: -#line 1538 "rcparse.y" -{ - yyval.s = yyvsp[0].s; + + case 210: +#line 1537 "rcparse.y" + { + (yyval.memflags).on = MEMFLAG_DISCARDABLE; + (yyval.memflags).off = 0; } break; -case 210: -#line 1542 "rcparse.y" -{ - yyval.s = yyvsp[0].s; + + case 211: +#line 1547 "rcparse.y" + { + (yyval.s) = (yyvsp[0].s); } break; -case 211: -#line 1559 "rcparse.y" -{ - style |= yyvsp[0].il; + + case 212: +#line 1551 "rcparse.y" + { + (yyval.s) = (yyvsp[0].s); } break; -case 212: -#line 1563 "rcparse.y" -{ - style &=~ yyvsp[0].il; + + case 213: +#line 1568 "rcparse.y" + { + style |= (yyvsp[0].il); } break; -case 213: -#line 1567 "rcparse.y" -{ - style |= yyvsp[0].il; + + case 214: +#line 1572 "rcparse.y" + { + style &=~ (yyvsp[0].il); } break; -case 214: -#line 1571 "rcparse.y" -{ - style &=~ yyvsp[0].il; + + case 215: +#line 1576 "rcparse.y" + { + style |= (yyvsp[0].il); } break; -case 215: -#line 1578 "rcparse.y" -{ - yyval.il = yyvsp[0].i.val; + + case 216: +#line 1580 "rcparse.y" + { + style &=~ (yyvsp[0].il); } break; -case 216: -#line 1582 "rcparse.y" -{ - yyval.il = yyvsp[-1].il; + + case 217: +#line 1587 "rcparse.y" + { + (yyval.il) = (yyvsp[0].i).val; } break; -case 217: + + case 218: #line 1591 "rcparse.y" -{ - yyval.il = 0; + { + (yyval.il) = (yyvsp[-1].il); } break; -case 218: -#line 1595 "rcparse.y" -{ - yyval.il = yyvsp[0].il; + + case 219: +#line 1600 "rcparse.y" + { + (yyval.il) = 0; } break; -case 219: + + case 220: #line 1604 "rcparse.y" -{ - yyval.il = yyvsp[0].il; + { + (yyval.il) = (yyvsp[0].il); } break; -case 220: + + case 221: #line 1613 "rcparse.y" -{ - yyval.il = yyvsp[0].i.val; + { + (yyval.il) = (yyvsp[0].il); } break; -case 221: + + case 222: #line 1622 "rcparse.y" -{ - yyval.i = yyvsp[0].i; + { + (yyval.il) = (yyvsp[0].i).val; } break; -case 222: -#line 1626 "rcparse.y" -{ - yyval.i = yyvsp[-1].i; + + case 223: +#line 1631 "rcparse.y" + { + (yyval.i) = (yyvsp[0].i); } break; -case 223: -#line 1630 "rcparse.y" -{ - yyval.i.val = ~ yyvsp[0].i.val; - yyval.i.dword = yyvsp[0].i.dword; + + case 224: +#line 1635 "rcparse.y" + { + (yyval.i) = (yyvsp[-1].i); } break; -case 224: -#line 1635 "rcparse.y" -{ - yyval.i.val = - yyvsp[0].i.val; - yyval.i.dword = yyvsp[0].i.dword; + + case 225: +#line 1639 "rcparse.y" + { + (yyval.i).val = ~ (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[0].i).dword; } break; -case 225: -#line 1640 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val * yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 226: +#line 1644 "rcparse.y" + { + (yyval.i).val = - (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[0].i).dword; } break; -case 226: -#line 1645 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val / yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 227: +#line 1649 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val * (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 227: -#line 1650 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val % yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 228: +#line 1654 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val / (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 228: -#line 1655 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val + yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 229: +#line 1659 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val % (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 229: -#line 1660 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val - yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 230: +#line 1664 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val + (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 230: -#line 1665 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val & yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 231: +#line 1669 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val - (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 231: -#line 1670 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val ^ yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 232: +#line 1674 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val & (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 232: -#line 1675 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val | yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 233: +#line 1679 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val ^ (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 233: -#line 1686 "rcparse.y" -{ - yyval.il = yyvsp[0].il; + + case 234: +#line 1684 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val | (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 234: + + case 235: #line 1695 "rcparse.y" -{ - yyval.il = yyvsp[0].i.val; + { + (yyval.il) = (yyvsp[0].il); } break; -case 235: -#line 1706 "rcparse.y" -{ - yyval.i = yyvsp[0].i; + + case 236: +#line 1704 "rcparse.y" + { + (yyval.il) = (yyvsp[0].i).val; } break; -case 236: -#line 1710 "rcparse.y" -{ - yyval.i = yyvsp[-1].i; + + case 237: +#line 1715 "rcparse.y" + { + (yyval.i) = (yyvsp[0].i); } break; -case 237: -#line 1714 "rcparse.y" -{ - yyval.i.val = ~ yyvsp[0].i.val; - yyval.i.dword = yyvsp[0].i.dword; + + case 238: +#line 1719 "rcparse.y" + { + (yyval.i) = (yyvsp[-1].i); } break; -case 238: -#line 1719 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val * yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 239: +#line 1723 "rcparse.y" + { + (yyval.i).val = ~ (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[0].i).dword; } break; -case 239: -#line 1724 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val / yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 240: +#line 1728 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val * (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 240: -#line 1729 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val % yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 241: +#line 1733 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val / (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 241: -#line 1734 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val + yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 242: +#line 1738 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val % (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 242: -#line 1739 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val - yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 243: +#line 1743 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val + (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 243: -#line 1744 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val & yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 244: +#line 1748 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val - (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 244: -#line 1749 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val ^ yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 245: +#line 1753 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val & (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -case 245: -#line 1754 "rcparse.y" -{ - yyval.i.val = yyvsp[-2].i.val | yyvsp[0].i.val; - yyval.i.dword = yyvsp[-2].i.dword || yyvsp[0].i.dword; + + case 246: +#line 1758 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val ^ (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; + } + break; + + case 247: +#line 1763 "rcparse.y" + { + (yyval.i).val = (yyvsp[-2].i).val | (yyvsp[0].i).val; + (yyval.i).dword = (yyvsp[-2].i).dword || (yyvsp[0].i).dword; } break; -} -#line 705 "/usr/share/bison-1.35/bison.simple" + default: break; + } + +/* Line 1126 of yacc.c. */ +#line 3867 "rcparse.c" yyvsp -= yylen; yyssp -= yylen; -#if YYLSP_NEEDED - yylsp -= yylen; -#endif -#if YYDEBUG - if (yydebug) - { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif + + YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; -#if YYLSP_NEEDED - *++yylsp = yyloc; -#endif + /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule @@ -3289,11 +3880,11 @@ case 245: yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTBASE]; + yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; @@ -3306,155 +3897,193 @@ yyerrlab: if (!yyerrstatus) { ++yynerrs; - -#ifdef YYERROR_VERBOSE +#if YYERROR_VERBOSE yyn = yypact[yystate]; - if (yyn > YYFLAG && yyn < YYLAST) + if (YYPACT_NINF < yyn && yyn < YYLAST) { - YYSIZE_T yysize = 0; - char *yymsg; - int yyx, yycount; + int yytype = YYTRANSLATE (yychar); + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + int yysize_overflow = 0; + char *yymsg = 0; +# define YYERROR_VERBOSE_ARGS_MAXIMUM 5 + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + int yyx; + +#if 0 + /* This is so xgettext sees the translatable formats that are + constructed on the fly. */ + YY_("syntax error, unexpected %s"); + YY_("syntax error, unexpected %s, expecting %s"); + YY_("syntax error, unexpected %s, expecting %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); +#endif + char *yyfmt; + char const *yyf; + static char const yyunexpected[] = "syntax error, unexpected %s"; + static char const yyexpecting[] = ", expecting %s"; + static char const yyor[] = " or %s"; + char yyformat[sizeof yyunexpected + + sizeof yyexpecting - 1 + + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) + * (sizeof yyor - 1))]; + char const *yyprefix = yyexpecting; - yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) - if (yycheck[yyx + yyn] == yyx) - yysize += yystrlen (yytname[yyx]) + 15, yycount++; - yysize += yystrlen ("parse error, unexpected ") + 1; - yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); - yymsg = (char *) YYSTACK_ALLOC (yysize); - if (yymsg != 0) - { - char *yyp = yystpcpy (yymsg, "parse error, unexpected "); - yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 1; + + yyarg[0] = yytname[yytype]; + yyfmt = yystpcpy (yyformat, yyunexpected); + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + yyformat[sizeof yyunexpected - 1] = '\0'; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr (0, yytname[yyx]); + yysize_overflow |= yysize1 < yysize; + yysize = yysize1; + yyfmt = yystpcpy (yyfmt, yyprefix); + yyprefix = yyor; + } + + yyf = YY_(yyformat); + yysize1 = yysize + yystrlen (yyf); + yysize_overflow |= yysize1 < yysize; + yysize = yysize1; - if (yycount < 5) + if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM) + yymsg = (char *) YYSTACK_ALLOC (yysize); + if (yymsg) + { + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + char *yyp = yymsg; + int yyi = 0; + while ((*yyp = *yyf)) { - yycount = 0; - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); - yyx++) - if (yycheck[yyx + yyn] == yyx) - { - const char *yyq = ! yycount ? ", expecting " : " or "; - yyp = yystpcpy (yyp, yyq); - yyp = yystpcpy (yyp, yytname[yyx]); - yycount++; - } + if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyf += 2; + } + else + { + yyp++; + yyf++; + } } yyerror (yymsg); YYSTACK_FREE (yymsg); } else - yyerror ("parse error; also virtual memory exhausted"); + { + yyerror (YY_("syntax error")); + goto yyexhaustedlab; + } } else -#endif /* defined (YYERROR_VERBOSE) */ - yyerror ("parse error"); +#endif /* YYERROR_VERBOSE */ + yyerror (YY_("syntax error")); } - goto yyerrlab1; -/*--------------------------------------------------. -| yyerrlab1 -- error raised explicitly by an action | -`--------------------------------------------------*/ -yyerrlab1: + if (yyerrstatus == 3) { - /* If just tried and failed to reuse lookahead token after an + /* If just tried and failed to reuse look-ahead token after an error, discard it. */ - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - YYDPRINTF ((stderr, "Discarding token %d (%s).\n", - yychar, yytname[yychar1])); - yychar = YYEMPTY; + if (yychar <= YYEOF) + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } + else + { + yydestruct ("Error: discarding", yytoken, &yylval); + yychar = YYEMPTY; + } } - /* Else will try to reuse lookahead token after shifting the error + /* Else will try to reuse look-ahead token after shifting the error token. */ + goto yyerrlab1; - yyerrstatus = 3; /* Each real token shifted decrements this */ - goto yyerrhandle; +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + /* Pacify compilers like GCC when the user code never invokes + YYERROR and the label yyerrorlab therefore never appears in user + code. */ + if (0) + goto yyerrorlab; -/*-------------------------------------------------------------------. -| yyerrdefault -- current state does not do anything special for the | -| error token. | -`-------------------------------------------------------------------*/ -yyerrdefault: -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - - /* If its default is to accept any token, ok. Otherwise pop it. */ - yyn = yydefact[yystate]; - if (yyn) - goto yydefault; -#endif +yyvsp -= yylen; + yyssp -= yylen; + yystate = *yyssp; + goto yyerrlab1; -/*---------------------------------------------------------------. -| yyerrpop -- pop the current state because it cannot handle the | -| error token | -`---------------------------------------------------------------*/ -yyerrpop: - if (yyssp == yyss) - YYABORT; - yyvsp--; - yystate = *--yyssp; -#if YYLSP_NEEDED - yylsp--; -#endif +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ -#if YYDEBUG - if (yydebug) + for (;;) { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "Error: state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } -/*--------------. -| yyerrhandle. | -`--------------*/ -yyerrhandle: - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; + yydestruct ("Error: popping", yystos[yystate], yyvsp); + YYPOPSTACK; + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); } - else if (yyn == 0) - goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; - YYDPRINTF ((stderr, "Shifting error token, ")); - *++yyvsp = yylval; -#if YYLSP_NEEDED - *++yylsp = yylloc; -#endif + + + /* Shift the error token. */ + YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -3474,22 +4103,35 @@ yyabortlab: yyresult = 1; goto yyreturn; -/*---------------------------------------------. -| yyoverflowab -- parser overflow comes here. | -`---------------------------------------------*/ -yyoverflowlab: - yyerror ("parser stack overflow"); +#ifndef yyoverflow +/*-------------------------------------------------. +| yyexhaustedlab -- memory exhaustion comes here. | +`-------------------------------------------------*/ +yyexhaustedlab: + yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ +#endif yyreturn: + if (yychar != YYEOF && yychar != YYEMPTY) + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", + yystos[*yyssp], yyvsp); + YYPOPSTACK; + } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif return yyresult; } -#line 1760 "rcparse.y" + + +#line 1769 "rcparse.y" /* Set the language from the command line. */ @@ -3499,3 +4141,4 @@ rcparse_set_language (int lang) { language = lang; } + |
