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