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