Home | History | Annotate | Line # | Download | only in binutils
      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