Home | History | Annotate | Line # | Download | only in ld
ldgram.c revision 1.10
      1  1.10  christos /* A Bison parser, made by GNU Bison 3.8.2.  */
      2   1.3      matt 
      3   1.7  christos /* Bison implementation for Yacc-like parsers in C
      4   1.4      matt 
      5  1.10  christos    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
      6  1.10  christos    Inc.
      7   1.3      matt 
      8   1.7  christos    This program is free software: you can redistribute it and/or modify
      9   1.3      matt    it under the terms of the GNU General Public License as published by
     10   1.7  christos    the Free Software Foundation, either version 3 of the License, or
     11   1.7  christos    (at your option) any later version.
     12   1.3      matt 
     13   1.3      matt    This program is distributed in the hope that it will be useful,
     14   1.3      matt    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15   1.3      matt    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16   1.3      matt    GNU General Public License for more details.
     17   1.3      matt 
     18   1.3      matt    You should have received a copy of the GNU General Public License
     19  1.10  christos    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
     20   1.3      matt 
     21   1.4      matt /* As a special exception, you may create a larger work that contains
     22   1.4      matt    part or all of the Bison parser skeleton and distribute that work
     23   1.4      matt    under terms of your choice, so long as that work isn't itself a
     24   1.4      matt    parser generator using the skeleton or a modified version thereof
     25   1.4      matt    as a parser skeleton.  Alternatively, if you modify or redistribute
     26   1.4      matt    the parser skeleton itself, you may (at your option) remove this
     27   1.4      matt    special exception, which will cause the skeleton and the resulting
     28   1.4      matt    Bison output files to be licensed under the GNU General Public
     29   1.4      matt    License without this special exception.
     30   1.4      matt 
     31   1.4      matt    This special exception was added by the Free Software Foundation in
     32   1.4      matt    version 2.2 of Bison.  */
     33   1.3      matt 
     34   1.4      matt /* C LALR(1) parser skeleton written by Richard Stallman, by
     35   1.4      matt    simplifying the original so-called "semantic" parser.  */
     36   1.3      matt 
     37  1.10  christos /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
     38  1.10  christos    especially those whose name start with YY_ or yy_.  They are
     39  1.10  christos    private implementation details that can be changed or removed.  */
     40  1.10  christos 
     41   1.3      matt /* All symbols defined below should begin with yy or YY, to avoid
     42   1.3      matt    infringing on user name space.  This should be done even for local
     43   1.3      matt    variables, as they might otherwise be expanded by user macros.
     44   1.3      matt    There are some unavoidable exceptions within include files to
     45   1.3      matt    define necessary library symbols; they are noted "INFRINGES ON
     46   1.3      matt    USER NAME SPACE" below.  */
     47   1.3      matt 
     48  1.10  christos /* Identify Bison output, and Bison version.  */
     49  1.10  christos #define YYBISON 30802
     50   1.3      matt 
     51  1.10  christos /* Bison version string.  */
     52  1.10  christos #define YYBISON_VERSION "3.8.2"
     53   1.3      matt 
     54   1.3      matt /* Skeleton name.  */
     55   1.3      matt #define YYSKELETON_NAME "yacc.c"
     56   1.3      matt 
     57   1.3      matt /* Pure parsers.  */
     58   1.3      matt #define YYPURE 0
     59   1.3      matt 
     60   1.7  christos /* Push parsers.  */
     61   1.7  christos #define YYPUSH 0
     62   1.3      matt 
     63   1.7  christos /* Pull parsers.  */
     64   1.7  christos #define YYPULL 1
     65   1.6  christos 
     66   1.6  christos 
     67   1.6  christos 
     68   1.6  christos 
     69  1.10  christos /* First part of user prologue.  */
     70  1.10  christos #line 22 "ldgram.y"
     71   1.6  christos 
     72   1.6  christos /*
     73   1.6  christos 
     74   1.6  christos  */
     75   1.6  christos 
     76   1.6  christos #define DONTDECLARE_MALLOC
     77   1.6  christos 
     78   1.6  christos #include "sysdep.h"
     79   1.6  christos #include "bfd.h"
     80   1.6  christos #include "bfdlink.h"
     81   1.9  christos #include "ctf-api.h"
     82   1.6  christos #include "ld.h"
     83   1.6  christos #include "ldexp.h"
     84   1.6  christos #include "ldver.h"
     85   1.6  christos #include "ldlang.h"
     86   1.6  christos #include "ldfile.h"
     87   1.6  christos #include "ldemul.h"
     88   1.6  christos #include "ldmisc.h"
     89   1.6  christos #include "ldmain.h"
     90   1.6  christos #include "mri.h"
     91   1.6  christos #include "ldctor.h"
     92   1.6  christos #include "ldlex.h"
     93   1.6  christos 
     94   1.6  christos #ifndef YYDEBUG
     95   1.6  christos #define YYDEBUG 1
     96   1.6  christos #endif
     97   1.6  christos 
     98   1.6  christos static enum section_type sectype;
     99  1.10  christos static etree_type *sectype_value;
    100   1.6  christos static lang_memory_region_type *region;
    101   1.6  christos 
    102  1.10  christos static bool ldgram_had_keep = false;
    103   1.7  christos static char *ldgram_vers_current_lang = NULL;
    104   1.6  christos 
    105   1.6  christos #define ERROR_NAME_MAX 20
    106   1.6  christos static char *error_names[ERROR_NAME_MAX];
    107   1.6  christos static int error_index;
    108   1.6  christos #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
    109   1.6  christos #define POP_ERROR()   error_index--;
    110   1.6  christos 
    111  1.10  christos #line 112 "ldgram.c"
    112   1.6  christos 
    113  1.10  christos # ifndef YY_CAST
    114  1.10  christos #  ifdef __cplusplus
    115  1.10  christos #   define YY_CAST(Type, Val) static_cast<Type> (Val)
    116  1.10  christos #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
    117  1.10  christos #  else
    118  1.10  christos #   define YY_CAST(Type, Val) ((Type) (Val))
    119  1.10  christos #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
    120  1.10  christos #  endif
    121  1.10  christos # endif
    122   1.7  christos # ifndef YY_NULLPTR
    123  1.10  christos #  if defined __cplusplus
    124  1.10  christos #   if 201103L <= __cplusplus
    125  1.10  christos #    define YY_NULLPTR nullptr
    126  1.10  christos #   else
    127  1.10  christos #    define YY_NULLPTR 0
    128  1.10  christos #   endif
    129   1.7  christos #  else
    130  1.10  christos #   define YY_NULLPTR ((void*)0)
    131   1.7  christos #  endif
    132   1.7  christos # endif
    133   1.6  christos 
    134  1.10  christos /* Use api.header.include to #include this header
    135  1.10  christos    instead of duplicating it here.  */
    136   1.7  christos #ifndef YY_YY_LDGRAM_H_INCLUDED
    137   1.7  christos # define YY_YY_LDGRAM_H_INCLUDED
    138   1.7  christos /* Debug traces.  */
    139   1.7  christos #ifndef YYDEBUG
    140   1.7  christos # define YYDEBUG 0
    141   1.7  christos #endif
    142   1.7  christos #if YYDEBUG
    143   1.7  christos extern int yydebug;
    144   1.6  christos #endif
    145   1.3      matt 
    146  1.10  christos /* Token kinds.  */
    147   1.7  christos #ifndef YYTOKENTYPE
    148   1.7  christos # define YYTOKENTYPE
    149   1.7  christos   enum yytokentype
    150   1.7  christos   {
    151  1.10  christos     YYEMPTY = -2,
    152  1.10  christos     YYEOF = 0,                     /* "end of file"  */
    153  1.10  christos     YYerror = 256,                 /* error  */
    154  1.10  christos     YYUNDEF = 257,                 /* "invalid token"  */
    155  1.10  christos     INT = 258,                     /* INT  */
    156  1.10  christos     NAME = 259,                    /* NAME  */
    157  1.10  christos     LNAME = 260,                   /* LNAME  */
    158  1.10  christos     PLUSEQ = 261,                  /* PLUSEQ  */
    159  1.10  christos     MINUSEQ = 262,                 /* MINUSEQ  */
    160  1.10  christos     MULTEQ = 263,                  /* MULTEQ  */
    161  1.10  christos     DIVEQ = 264,                   /* DIVEQ  */
    162  1.10  christos     LSHIFTEQ = 265,                /* LSHIFTEQ  */
    163  1.10  christos     RSHIFTEQ = 266,                /* RSHIFTEQ  */
    164  1.10  christos     ANDEQ = 267,                   /* ANDEQ  */
    165  1.10  christos     OREQ = 268,                    /* OREQ  */
    166  1.10  christos     OROR = 269,                    /* OROR  */
    167  1.10  christos     ANDAND = 270,                  /* ANDAND  */
    168  1.10  christos     EQ = 271,                      /* EQ  */
    169  1.10  christos     NE = 272,                      /* NE  */
    170  1.10  christos     LE = 273,                      /* LE  */
    171  1.10  christos     GE = 274,                      /* GE  */
    172  1.10  christos     LSHIFT = 275,                  /* LSHIFT  */
    173  1.10  christos     RSHIFT = 276,                  /* RSHIFT  */
    174  1.10  christos     UNARY = 277,                   /* UNARY  */
    175  1.10  christos     END = 278,                     /* END  */
    176  1.10  christos     ALIGN_K = 279,                 /* ALIGN_K  */
    177  1.10  christos     BLOCK = 280,                   /* BLOCK  */
    178  1.10  christos     BIND = 281,                    /* BIND  */
    179  1.10  christos     QUAD = 282,                    /* QUAD  */
    180  1.10  christos     SQUAD = 283,                   /* SQUAD  */
    181  1.10  christos     LONG = 284,                    /* LONG  */
    182  1.10  christos     SHORT = 285,                   /* SHORT  */
    183  1.10  christos     BYTE = 286,                    /* BYTE  */
    184  1.10  christos     SECTIONS = 287,                /* SECTIONS  */
    185  1.10  christos     PHDRS = 288,                   /* PHDRS  */
    186  1.10  christos     INSERT_K = 289,                /* INSERT_K  */
    187  1.10  christos     AFTER = 290,                   /* AFTER  */
    188  1.10  christos     BEFORE = 291,                  /* BEFORE  */
    189  1.10  christos     DATA_SEGMENT_ALIGN = 292,      /* DATA_SEGMENT_ALIGN  */
    190  1.10  christos     DATA_SEGMENT_RELRO_END = 293,  /* DATA_SEGMENT_RELRO_END  */
    191  1.10  christos     DATA_SEGMENT_END = 294,        /* DATA_SEGMENT_END  */
    192  1.10  christos     SORT_BY_NAME = 295,            /* SORT_BY_NAME  */
    193  1.10  christos     SORT_BY_ALIGNMENT = 296,       /* SORT_BY_ALIGNMENT  */
    194  1.10  christos     SORT_NONE = 297,               /* SORT_NONE  */
    195  1.10  christos     SORT_BY_INIT_PRIORITY = 298,   /* SORT_BY_INIT_PRIORITY  */
    196  1.10  christos     SIZEOF_HEADERS = 299,          /* SIZEOF_HEADERS  */
    197  1.10  christos     OUTPUT_FORMAT = 300,           /* OUTPUT_FORMAT  */
    198  1.10  christos     FORCE_COMMON_ALLOCATION = 301, /* FORCE_COMMON_ALLOCATION  */
    199  1.10  christos     OUTPUT_ARCH = 302,             /* OUTPUT_ARCH  */
    200  1.10  christos     INHIBIT_COMMON_ALLOCATION = 303, /* INHIBIT_COMMON_ALLOCATION  */
    201  1.10  christos     FORCE_GROUP_ALLOCATION = 304,  /* FORCE_GROUP_ALLOCATION  */
    202  1.10  christos     SEGMENT_START = 305,           /* SEGMENT_START  */
    203  1.10  christos     INCLUDE = 306,                 /* INCLUDE  */
    204  1.10  christos     MEMORY = 307,                  /* MEMORY  */
    205  1.10  christos     REGION_ALIAS = 308,            /* REGION_ALIAS  */
    206  1.10  christos     LD_FEATURE = 309,              /* LD_FEATURE  */
    207  1.10  christos     NOLOAD = 310,                  /* NOLOAD  */
    208  1.10  christos     DSECT = 311,                   /* DSECT  */
    209  1.10  christos     COPY = 312,                    /* COPY  */
    210  1.10  christos     INFO = 313,                    /* INFO  */
    211  1.10  christos     OVERLAY = 314,                 /* OVERLAY  */
    212  1.10  christos     READONLY = 315,                /* READONLY  */
    213  1.10  christos     TYPE = 316,                    /* TYPE  */
    214  1.10  christos     DEFINED = 317,                 /* DEFINED  */
    215  1.10  christos     TARGET_K = 318,                /* TARGET_K  */
    216  1.10  christos     SEARCH_DIR = 319,              /* SEARCH_DIR  */
    217  1.10  christos     MAP = 320,                     /* MAP  */
    218  1.10  christos     ENTRY = 321,                   /* ENTRY  */
    219  1.10  christos     NEXT = 322,                    /* NEXT  */
    220  1.10  christos     SIZEOF = 323,                  /* SIZEOF  */
    221  1.10  christos     ALIGNOF = 324,                 /* ALIGNOF  */
    222  1.10  christos     ADDR = 325,                    /* ADDR  */
    223  1.10  christos     LOADADDR = 326,                /* LOADADDR  */
    224  1.10  christos     MAX_K = 327,                   /* MAX_K  */
    225  1.10  christos     MIN_K = 328,                   /* MIN_K  */
    226  1.10  christos     STARTUP = 329,                 /* STARTUP  */
    227  1.10  christos     HLL = 330,                     /* HLL  */
    228  1.10  christos     SYSLIB = 331,                  /* SYSLIB  */
    229  1.10  christos     FLOAT = 332,                   /* FLOAT  */
    230  1.10  christos     NOFLOAT = 333,                 /* NOFLOAT  */
    231  1.10  christos     NOCROSSREFS = 334,             /* NOCROSSREFS  */
    232  1.10  christos     NOCROSSREFS_TO = 335,          /* NOCROSSREFS_TO  */
    233  1.10  christos     ORIGIN = 336,                  /* ORIGIN  */
    234  1.10  christos     FILL = 337,                    /* FILL  */
    235  1.10  christos     LENGTH = 338,                  /* LENGTH  */
    236  1.10  christos     CREATE_OBJECT_SYMBOLS = 339,   /* CREATE_OBJECT_SYMBOLS  */
    237  1.10  christos     INPUT = 340,                   /* INPUT  */
    238  1.10  christos     GROUP = 341,                   /* GROUP  */
    239  1.10  christos     OUTPUT = 342,                  /* OUTPUT  */
    240  1.10  christos     CONSTRUCTORS = 343,            /* CONSTRUCTORS  */
    241  1.10  christos     ALIGNMOD = 344,                /* ALIGNMOD  */
    242  1.10  christos     AT = 345,                      /* AT  */
    243  1.10  christos     SUBALIGN = 346,                /* SUBALIGN  */
    244  1.10  christos     HIDDEN = 347,                  /* HIDDEN  */
    245  1.10  christos     PROVIDE = 348,                 /* PROVIDE  */
    246  1.10  christos     PROVIDE_HIDDEN = 349,          /* PROVIDE_HIDDEN  */
    247  1.10  christos     AS_NEEDED = 350,               /* AS_NEEDED  */
    248  1.10  christos     CHIP = 351,                    /* CHIP  */
    249  1.10  christos     LIST = 352,                    /* LIST  */
    250  1.10  christos     SECT = 353,                    /* SECT  */
    251  1.10  christos     ABSOLUTE = 354,                /* ABSOLUTE  */
    252  1.10  christos     LOAD = 355,                    /* LOAD  */
    253  1.10  christos     NEWLINE = 356,                 /* NEWLINE  */
    254  1.10  christos     ENDWORD = 357,                 /* ENDWORD  */
    255  1.10  christos     ORDER = 358,                   /* ORDER  */
    256  1.10  christos     NAMEWORD = 359,                /* NAMEWORD  */
    257  1.10  christos     ASSERT_K = 360,                /* ASSERT_K  */
    258  1.10  christos     LOG2CEIL = 361,                /* LOG2CEIL  */
    259  1.10  christos     FORMAT = 362,                  /* FORMAT  */
    260  1.10  christos     PUBLIC = 363,                  /* PUBLIC  */
    261  1.10  christos     DEFSYMEND = 364,               /* DEFSYMEND  */
    262  1.10  christos     BASE = 365,                    /* BASE  */
    263  1.10  christos     ALIAS = 366,                   /* ALIAS  */
    264  1.10  christos     TRUNCATE = 367,                /* TRUNCATE  */
    265  1.10  christos     REL = 368,                     /* REL  */
    266  1.10  christos     INPUT_SCRIPT = 369,            /* INPUT_SCRIPT  */
    267  1.10  christos     INPUT_MRI_SCRIPT = 370,        /* INPUT_MRI_SCRIPT  */
    268  1.10  christos     INPUT_DEFSYM = 371,            /* INPUT_DEFSYM  */
    269  1.10  christos     CASE = 372,                    /* CASE  */
    270  1.10  christos     EXTERN = 373,                  /* EXTERN  */
    271  1.10  christos     START = 374,                   /* START  */
    272  1.10  christos     VERS_TAG = 375,                /* VERS_TAG  */
    273  1.10  christos     VERS_IDENTIFIER = 376,         /* VERS_IDENTIFIER  */
    274  1.10  christos     GLOBAL = 377,                  /* GLOBAL  */
    275  1.10  christos     LOCAL = 378,                   /* LOCAL  */
    276  1.10  christos     VERSIONK = 379,                /* VERSIONK  */
    277  1.10  christos     INPUT_VERSION_SCRIPT = 380,    /* INPUT_VERSION_SCRIPT  */
    278  1.10  christos     KEEP = 381,                    /* KEEP  */
    279  1.10  christos     ONLY_IF_RO = 382,              /* ONLY_IF_RO  */
    280  1.10  christos     ONLY_IF_RW = 383,              /* ONLY_IF_RW  */
    281  1.10  christos     SPECIAL = 384,                 /* SPECIAL  */
    282  1.10  christos     INPUT_SECTION_FLAGS = 385,     /* INPUT_SECTION_FLAGS  */
    283  1.10  christos     ALIGN_WITH_INPUT = 386,        /* ALIGN_WITH_INPUT  */
    284  1.10  christos     EXCLUDE_FILE = 387,            /* EXCLUDE_FILE  */
    285  1.10  christos     CONSTANT = 388,                /* CONSTANT  */
    286  1.10  christos     INPUT_DYNAMIC_LIST = 389       /* INPUT_DYNAMIC_LIST  */
    287   1.7  christos   };
    288  1.10  christos   typedef enum yytokentype yytoken_kind_t;
    289   1.7  christos #endif
    290  1.10  christos /* Token kinds.  */
    291  1.10  christos #define YYEMPTY -2
    292  1.10  christos #define YYEOF 0
    293  1.10  christos #define YYerror 256
    294  1.10  christos #define YYUNDEF 257
    295   1.7  christos #define INT 258
    296   1.7  christos #define NAME 259
    297   1.7  christos #define LNAME 260
    298   1.7  christos #define PLUSEQ 261
    299   1.7  christos #define MINUSEQ 262
    300   1.7  christos #define MULTEQ 263
    301   1.7  christos #define DIVEQ 264
    302   1.7  christos #define LSHIFTEQ 265
    303   1.7  christos #define RSHIFTEQ 266
    304   1.7  christos #define ANDEQ 267
    305   1.7  christos #define OREQ 268
    306   1.7  christos #define OROR 269
    307   1.7  christos #define ANDAND 270
    308   1.7  christos #define EQ 271
    309   1.7  christos #define NE 272
    310   1.7  christos #define LE 273
    311   1.7  christos #define GE 274
    312   1.7  christos #define LSHIFT 275
    313   1.7  christos #define RSHIFT 276
    314   1.7  christos #define UNARY 277
    315   1.7  christos #define END 278
    316   1.7  christos #define ALIGN_K 279
    317   1.7  christos #define BLOCK 280
    318   1.7  christos #define BIND 281
    319   1.7  christos #define QUAD 282
    320   1.7  christos #define SQUAD 283
    321   1.7  christos #define LONG 284
    322   1.7  christos #define SHORT 285
    323   1.7  christos #define BYTE 286
    324   1.7  christos #define SECTIONS 287
    325   1.7  christos #define PHDRS 288
    326   1.7  christos #define INSERT_K 289
    327   1.7  christos #define AFTER 290
    328   1.7  christos #define BEFORE 291
    329   1.7  christos #define DATA_SEGMENT_ALIGN 292
    330   1.7  christos #define DATA_SEGMENT_RELRO_END 293
    331   1.7  christos #define DATA_SEGMENT_END 294
    332   1.7  christos #define SORT_BY_NAME 295
    333   1.7  christos #define SORT_BY_ALIGNMENT 296
    334   1.7  christos #define SORT_NONE 297
    335   1.7  christos #define SORT_BY_INIT_PRIORITY 298
    336   1.7  christos #define SIZEOF_HEADERS 299
    337   1.7  christos #define OUTPUT_FORMAT 300
    338   1.7  christos #define FORCE_COMMON_ALLOCATION 301
    339   1.7  christos #define OUTPUT_ARCH 302
    340   1.7  christos #define INHIBIT_COMMON_ALLOCATION 303
    341   1.7  christos #define FORCE_GROUP_ALLOCATION 304
    342   1.7  christos #define SEGMENT_START 305
    343   1.7  christos #define INCLUDE 306
    344   1.7  christos #define MEMORY 307
    345   1.7  christos #define REGION_ALIAS 308
    346   1.7  christos #define LD_FEATURE 309
    347   1.7  christos #define NOLOAD 310
    348   1.7  christos #define DSECT 311
    349   1.7  christos #define COPY 312
    350   1.7  christos #define INFO 313
    351   1.7  christos #define OVERLAY 314
    352  1.10  christos #define READONLY 315
    353  1.10  christos #define TYPE 316
    354  1.10  christos #define DEFINED 317
    355  1.10  christos #define TARGET_K 318
    356  1.10  christos #define SEARCH_DIR 319
    357  1.10  christos #define MAP 320
    358  1.10  christos #define ENTRY 321
    359  1.10  christos #define NEXT 322
    360  1.10  christos #define SIZEOF 323
    361  1.10  christos #define ALIGNOF 324
    362  1.10  christos #define ADDR 325
    363  1.10  christos #define LOADADDR 326
    364  1.10  christos #define MAX_K 327
    365  1.10  christos #define MIN_K 328
    366  1.10  christos #define STARTUP 329
    367  1.10  christos #define HLL 330
    368  1.10  christos #define SYSLIB 331
    369  1.10  christos #define FLOAT 332
    370  1.10  christos #define NOFLOAT 333
    371  1.10  christos #define NOCROSSREFS 334
    372  1.10  christos #define NOCROSSREFS_TO 335
    373  1.10  christos #define ORIGIN 336
    374  1.10  christos #define FILL 337
    375  1.10  christos #define LENGTH 338
    376  1.10  christos #define CREATE_OBJECT_SYMBOLS 339
    377  1.10  christos #define INPUT 340
    378  1.10  christos #define GROUP 341
    379  1.10  christos #define OUTPUT 342
    380  1.10  christos #define CONSTRUCTORS 343
    381  1.10  christos #define ALIGNMOD 344
    382  1.10  christos #define AT 345
    383  1.10  christos #define SUBALIGN 346
    384  1.10  christos #define HIDDEN 347
    385  1.10  christos #define PROVIDE 348
    386  1.10  christos #define PROVIDE_HIDDEN 349
    387  1.10  christos #define AS_NEEDED 350
    388  1.10  christos #define CHIP 351
    389  1.10  christos #define LIST 352
    390  1.10  christos #define SECT 353
    391  1.10  christos #define ABSOLUTE 354
    392  1.10  christos #define LOAD 355
    393  1.10  christos #define NEWLINE 356
    394  1.10  christos #define ENDWORD 357
    395  1.10  christos #define ORDER 358
    396  1.10  christos #define NAMEWORD 359
    397  1.10  christos #define ASSERT_K 360
    398  1.10  christos #define LOG2CEIL 361
    399  1.10  christos #define FORMAT 362
    400  1.10  christos #define PUBLIC 363
    401  1.10  christos #define DEFSYMEND 364
    402  1.10  christos #define BASE 365
    403  1.10  christos #define ALIAS 366
    404  1.10  christos #define TRUNCATE 367
    405  1.10  christos #define REL 368
    406  1.10  christos #define INPUT_SCRIPT 369
    407  1.10  christos #define INPUT_MRI_SCRIPT 370
    408  1.10  christos #define INPUT_DEFSYM 371
    409  1.10  christos #define CASE 372
    410  1.10  christos #define EXTERN 373
    411  1.10  christos #define START 374
    412  1.10  christos #define VERS_TAG 375
    413  1.10  christos #define VERS_IDENTIFIER 376
    414  1.10  christos #define GLOBAL 377
    415  1.10  christos #define LOCAL 378
    416  1.10  christos #define VERSIONK 379
    417  1.10  christos #define INPUT_VERSION_SCRIPT 380
    418  1.10  christos #define KEEP 381
    419  1.10  christos #define ONLY_IF_RO 382
    420  1.10  christos #define ONLY_IF_RW 383
    421  1.10  christos #define SPECIAL 384
    422  1.10  christos #define INPUT_SECTION_FLAGS 385
    423  1.10  christos #define ALIGN_WITH_INPUT 386
    424  1.10  christos #define EXCLUDE_FILE 387
    425  1.10  christos #define CONSTANT 388
    426  1.10  christos #define INPUT_DYNAMIC_LIST 389
    427   1.7  christos 
    428   1.7  christos /* Value type.  */
    429   1.4      matt #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    430   1.7  christos union YYSTYPE
    431   1.4      matt {
    432  1.10  christos #line 62 "ldgram.y"
    433   1.7  christos 
    434   1.1     skrll   bfd_vma integer;
    435   1.1     skrll   struct big_int
    436   1.1     skrll     {
    437   1.1     skrll       bfd_vma integer;
    438   1.1     skrll       char *str;
    439   1.1     skrll     } bigint;
    440   1.1     skrll   fill_type *fill;
    441   1.1     skrll   char *name;
    442   1.1     skrll   const char *cname;
    443   1.1     skrll   struct wildcard_spec wildcard;
    444   1.1     skrll   struct wildcard_list *wildcard_list;
    445   1.1     skrll   struct name_list *name_list;
    446   1.4      matt   struct flag_info_list *flag_info_list;
    447   1.4      matt   struct flag_info *flag_info;
    448   1.1     skrll   int token;
    449   1.1     skrll   union etree_union *etree;
    450   1.1     skrll   struct phdr_info
    451   1.1     skrll     {
    452  1.10  christos       bool filehdr;
    453  1.10  christos       bool phdrs;
    454   1.1     skrll       union etree_union *at;
    455   1.1     skrll       union etree_union *flags;
    456   1.1     skrll     } phdr;
    457   1.1     skrll   struct lang_nocrossref *nocrossref;
    458   1.1     skrll   struct lang_output_section_phdr_list *section_phdr;
    459   1.1     skrll   struct bfd_elf_version_deps *deflist;
    460   1.1     skrll   struct bfd_elf_version_expr *versyms;
    461   1.1     skrll   struct bfd_elf_version_tree *versnode;
    462   1.7  christos 
    463  1.10  christos #line 464 "ldgram.c"
    464  1.10  christos 
    465   1.7  christos };
    466   1.7  christos typedef union YYSTYPE YYSTYPE;
    467   1.7  christos # define YYSTYPE_IS_TRIVIAL 1
    468   1.6  christos # define YYSTYPE_IS_DECLARED 1
    469   1.3      matt #endif
    470   1.3      matt 
    471   1.3      matt 
    472   1.7  christos extern YYSTYPE yylval;
    473   1.7  christos 
    474  1.10  christos 
    475   1.7  christos int yyparse (void);
    476   1.7  christos 
    477  1.10  christos 
    478   1.7  christos #endif /* !YY_YY_LDGRAM_H_INCLUDED  */
    479  1.10  christos /* Symbol kind.  */
    480  1.10  christos enum yysymbol_kind_t
    481  1.10  christos {
    482  1.10  christos   YYSYMBOL_YYEMPTY = -2,
    483  1.10  christos   YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
    484  1.10  christos   YYSYMBOL_YYerror = 1,                    /* error  */
    485  1.10  christos   YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
    486  1.10  christos   YYSYMBOL_INT = 3,                        /* INT  */
    487  1.10  christos   YYSYMBOL_NAME = 4,                       /* NAME  */
    488  1.10  christos   YYSYMBOL_LNAME = 5,                      /* LNAME  */
    489  1.10  christos   YYSYMBOL_PLUSEQ = 6,                     /* PLUSEQ  */
    490  1.10  christos   YYSYMBOL_MINUSEQ = 7,                    /* MINUSEQ  */
    491  1.10  christos   YYSYMBOL_MULTEQ = 8,                     /* MULTEQ  */
    492  1.10  christos   YYSYMBOL_DIVEQ = 9,                      /* DIVEQ  */
    493  1.10  christos   YYSYMBOL_10_ = 10,                       /* '='  */
    494  1.10  christos   YYSYMBOL_LSHIFTEQ = 11,                  /* LSHIFTEQ  */
    495  1.10  christos   YYSYMBOL_RSHIFTEQ = 12,                  /* RSHIFTEQ  */
    496  1.10  christos   YYSYMBOL_ANDEQ = 13,                     /* ANDEQ  */
    497  1.10  christos   YYSYMBOL_OREQ = 14,                      /* OREQ  */
    498  1.10  christos   YYSYMBOL_15_ = 15,                       /* '?'  */
    499  1.10  christos   YYSYMBOL_16_ = 16,                       /* ':'  */
    500  1.10  christos   YYSYMBOL_OROR = 17,                      /* OROR  */
    501  1.10  christos   YYSYMBOL_ANDAND = 18,                    /* ANDAND  */
    502  1.10  christos   YYSYMBOL_19_ = 19,                       /* '|'  */
    503  1.10  christos   YYSYMBOL_20_ = 20,                       /* '^'  */
    504  1.10  christos   YYSYMBOL_21_ = 21,                       /* '&'  */
    505  1.10  christos   YYSYMBOL_EQ = 22,                        /* EQ  */
    506  1.10  christos   YYSYMBOL_NE = 23,                        /* NE  */
    507  1.10  christos   YYSYMBOL_24_ = 24,                       /* '<'  */
    508  1.10  christos   YYSYMBOL_25_ = 25,                       /* '>'  */
    509  1.10  christos   YYSYMBOL_LE = 26,                        /* LE  */
    510  1.10  christos   YYSYMBOL_GE = 27,                        /* GE  */
    511  1.10  christos   YYSYMBOL_LSHIFT = 28,                    /* LSHIFT  */
    512  1.10  christos   YYSYMBOL_RSHIFT = 29,                    /* RSHIFT  */
    513  1.10  christos   YYSYMBOL_30_ = 30,                       /* '+'  */
    514  1.10  christos   YYSYMBOL_31_ = 31,                       /* '-'  */
    515  1.10  christos   YYSYMBOL_32_ = 32,                       /* '*'  */
    516  1.10  christos   YYSYMBOL_33_ = 33,                       /* '/'  */
    517  1.10  christos   YYSYMBOL_34_ = 34,                       /* '%'  */
    518  1.10  christos   YYSYMBOL_UNARY = 35,                     /* UNARY  */
    519  1.10  christos   YYSYMBOL_END = 36,                       /* END  */
    520  1.10  christos   YYSYMBOL_37_ = 37,                       /* '('  */
    521  1.10  christos   YYSYMBOL_ALIGN_K = 38,                   /* ALIGN_K  */
    522  1.10  christos   YYSYMBOL_BLOCK = 39,                     /* BLOCK  */
    523  1.10  christos   YYSYMBOL_BIND = 40,                      /* BIND  */
    524  1.10  christos   YYSYMBOL_QUAD = 41,                      /* QUAD  */
    525  1.10  christos   YYSYMBOL_SQUAD = 42,                     /* SQUAD  */
    526  1.10  christos   YYSYMBOL_LONG = 43,                      /* LONG  */
    527  1.10  christos   YYSYMBOL_SHORT = 44,                     /* SHORT  */
    528  1.10  christos   YYSYMBOL_BYTE = 45,                      /* BYTE  */
    529  1.10  christos   YYSYMBOL_SECTIONS = 46,                  /* SECTIONS  */
    530  1.10  christos   YYSYMBOL_PHDRS = 47,                     /* PHDRS  */
    531  1.10  christos   YYSYMBOL_INSERT_K = 48,                  /* INSERT_K  */
    532  1.10  christos   YYSYMBOL_AFTER = 49,                     /* AFTER  */
    533  1.10  christos   YYSYMBOL_BEFORE = 50,                    /* BEFORE  */
    534  1.10  christos   YYSYMBOL_DATA_SEGMENT_ALIGN = 51,        /* DATA_SEGMENT_ALIGN  */
    535  1.10  christos   YYSYMBOL_DATA_SEGMENT_RELRO_END = 52,    /* DATA_SEGMENT_RELRO_END  */
    536  1.10  christos   YYSYMBOL_DATA_SEGMENT_END = 53,          /* DATA_SEGMENT_END  */
    537  1.10  christos   YYSYMBOL_SORT_BY_NAME = 54,              /* SORT_BY_NAME  */
    538  1.10  christos   YYSYMBOL_SORT_BY_ALIGNMENT = 55,         /* SORT_BY_ALIGNMENT  */
    539  1.10  christos   YYSYMBOL_SORT_NONE = 56,                 /* SORT_NONE  */
    540  1.10  christos   YYSYMBOL_SORT_BY_INIT_PRIORITY = 57,     /* SORT_BY_INIT_PRIORITY  */
    541  1.10  christos   YYSYMBOL_58_ = 58,                       /* '{'  */
    542  1.10  christos   YYSYMBOL_59_ = 59,                       /* '}'  */
    543  1.10  christos   YYSYMBOL_SIZEOF_HEADERS = 60,            /* SIZEOF_HEADERS  */
    544  1.10  christos   YYSYMBOL_OUTPUT_FORMAT = 61,             /* OUTPUT_FORMAT  */
    545  1.10  christos   YYSYMBOL_FORCE_COMMON_ALLOCATION = 62,   /* FORCE_COMMON_ALLOCATION  */
    546  1.10  christos   YYSYMBOL_OUTPUT_ARCH = 63,               /* OUTPUT_ARCH  */
    547  1.10  christos   YYSYMBOL_INHIBIT_COMMON_ALLOCATION = 64, /* INHIBIT_COMMON_ALLOCATION  */
    548  1.10  christos   YYSYMBOL_FORCE_GROUP_ALLOCATION = 65,    /* FORCE_GROUP_ALLOCATION  */
    549  1.10  christos   YYSYMBOL_SEGMENT_START = 66,             /* SEGMENT_START  */
    550  1.10  christos   YYSYMBOL_INCLUDE = 67,                   /* INCLUDE  */
    551  1.10  christos   YYSYMBOL_MEMORY = 68,                    /* MEMORY  */
    552  1.10  christos   YYSYMBOL_REGION_ALIAS = 69,              /* REGION_ALIAS  */
    553  1.10  christos   YYSYMBOL_LD_FEATURE = 70,                /* LD_FEATURE  */
    554  1.10  christos   YYSYMBOL_NOLOAD = 71,                    /* NOLOAD  */
    555  1.10  christos   YYSYMBOL_DSECT = 72,                     /* DSECT  */
    556  1.10  christos   YYSYMBOL_COPY = 73,                      /* COPY  */
    557  1.10  christos   YYSYMBOL_INFO = 74,                      /* INFO  */
    558  1.10  christos   YYSYMBOL_OVERLAY = 75,                   /* OVERLAY  */
    559  1.10  christos   YYSYMBOL_READONLY = 76,                  /* READONLY  */
    560  1.10  christos   YYSYMBOL_TYPE = 77,                      /* TYPE  */
    561  1.10  christos   YYSYMBOL_DEFINED = 78,                   /* DEFINED  */
    562  1.10  christos   YYSYMBOL_TARGET_K = 79,                  /* TARGET_K  */
    563  1.10  christos   YYSYMBOL_SEARCH_DIR = 80,                /* SEARCH_DIR  */
    564  1.10  christos   YYSYMBOL_MAP = 81,                       /* MAP  */
    565  1.10  christos   YYSYMBOL_ENTRY = 82,                     /* ENTRY  */
    566  1.10  christos   YYSYMBOL_NEXT = 83,                      /* NEXT  */
    567  1.10  christos   YYSYMBOL_SIZEOF = 84,                    /* SIZEOF  */
    568  1.10  christos   YYSYMBOL_ALIGNOF = 85,                   /* ALIGNOF  */
    569  1.10  christos   YYSYMBOL_ADDR = 86,                      /* ADDR  */
    570  1.10  christos   YYSYMBOL_LOADADDR = 87,                  /* LOADADDR  */
    571  1.10  christos   YYSYMBOL_MAX_K = 88,                     /* MAX_K  */
    572  1.10  christos   YYSYMBOL_MIN_K = 89,                     /* MIN_K  */
    573  1.10  christos   YYSYMBOL_STARTUP = 90,                   /* STARTUP  */
    574  1.10  christos   YYSYMBOL_HLL = 91,                       /* HLL  */
    575  1.10  christos   YYSYMBOL_SYSLIB = 92,                    /* SYSLIB  */
    576  1.10  christos   YYSYMBOL_FLOAT = 93,                     /* FLOAT  */
    577  1.10  christos   YYSYMBOL_NOFLOAT = 94,                   /* NOFLOAT  */
    578  1.10  christos   YYSYMBOL_NOCROSSREFS = 95,               /* NOCROSSREFS  */
    579  1.10  christos   YYSYMBOL_NOCROSSREFS_TO = 96,            /* NOCROSSREFS_TO  */
    580  1.10  christos   YYSYMBOL_ORIGIN = 97,                    /* ORIGIN  */
    581  1.10  christos   YYSYMBOL_FILL = 98,                      /* FILL  */
    582  1.10  christos   YYSYMBOL_LENGTH = 99,                    /* LENGTH  */
    583  1.10  christos   YYSYMBOL_CREATE_OBJECT_SYMBOLS = 100,    /* CREATE_OBJECT_SYMBOLS  */
    584  1.10  christos   YYSYMBOL_INPUT = 101,                    /* INPUT  */
    585  1.10  christos   YYSYMBOL_GROUP = 102,                    /* GROUP  */
    586  1.10  christos   YYSYMBOL_OUTPUT = 103,                   /* OUTPUT  */
    587  1.10  christos   YYSYMBOL_CONSTRUCTORS = 104,             /* CONSTRUCTORS  */
    588  1.10  christos   YYSYMBOL_ALIGNMOD = 105,                 /* ALIGNMOD  */
    589  1.10  christos   YYSYMBOL_AT = 106,                       /* AT  */
    590  1.10  christos   YYSYMBOL_SUBALIGN = 107,                 /* SUBALIGN  */
    591  1.10  christos   YYSYMBOL_HIDDEN = 108,                   /* HIDDEN  */
    592  1.10  christos   YYSYMBOL_PROVIDE = 109,                  /* PROVIDE  */
    593  1.10  christos   YYSYMBOL_PROVIDE_HIDDEN = 110,           /* PROVIDE_HIDDEN  */
    594  1.10  christos   YYSYMBOL_AS_NEEDED = 111,                /* AS_NEEDED  */
    595  1.10  christos   YYSYMBOL_CHIP = 112,                     /* CHIP  */
    596  1.10  christos   YYSYMBOL_LIST = 113,                     /* LIST  */
    597  1.10  christos   YYSYMBOL_SECT = 114,                     /* SECT  */
    598  1.10  christos   YYSYMBOL_ABSOLUTE = 115,                 /* ABSOLUTE  */
    599  1.10  christos   YYSYMBOL_LOAD = 116,                     /* LOAD  */
    600  1.10  christos   YYSYMBOL_NEWLINE = 117,                  /* NEWLINE  */
    601  1.10  christos   YYSYMBOL_ENDWORD = 118,                  /* ENDWORD  */
    602  1.10  christos   YYSYMBOL_ORDER = 119,                    /* ORDER  */
    603  1.10  christos   YYSYMBOL_NAMEWORD = 120,                 /* NAMEWORD  */
    604  1.10  christos   YYSYMBOL_ASSERT_K = 121,                 /* ASSERT_K  */
    605  1.10  christos   YYSYMBOL_LOG2CEIL = 122,                 /* LOG2CEIL  */
    606  1.10  christos   YYSYMBOL_FORMAT = 123,                   /* FORMAT  */
    607  1.10  christos   YYSYMBOL_PUBLIC = 124,                   /* PUBLIC  */
    608  1.10  christos   YYSYMBOL_DEFSYMEND = 125,                /* DEFSYMEND  */
    609  1.10  christos   YYSYMBOL_BASE = 126,                     /* BASE  */
    610  1.10  christos   YYSYMBOL_ALIAS = 127,                    /* ALIAS  */
    611  1.10  christos   YYSYMBOL_TRUNCATE = 128,                 /* TRUNCATE  */
    612  1.10  christos   YYSYMBOL_REL = 129,                      /* REL  */
    613  1.10  christos   YYSYMBOL_INPUT_SCRIPT = 130,             /* INPUT_SCRIPT  */
    614  1.10  christos   YYSYMBOL_INPUT_MRI_SCRIPT = 131,         /* INPUT_MRI_SCRIPT  */
    615  1.10  christos   YYSYMBOL_INPUT_DEFSYM = 132,             /* INPUT_DEFSYM  */
    616  1.10  christos   YYSYMBOL_CASE = 133,                     /* CASE  */
    617  1.10  christos   YYSYMBOL_EXTERN = 134,                   /* EXTERN  */
    618  1.10  christos   YYSYMBOL_START = 135,                    /* START  */
    619  1.10  christos   YYSYMBOL_VERS_TAG = 136,                 /* VERS_TAG  */
    620  1.10  christos   YYSYMBOL_VERS_IDENTIFIER = 137,          /* VERS_IDENTIFIER  */
    621  1.10  christos   YYSYMBOL_GLOBAL = 138,                   /* GLOBAL  */
    622  1.10  christos   YYSYMBOL_LOCAL = 139,                    /* LOCAL  */
    623  1.10  christos   YYSYMBOL_VERSIONK = 140,                 /* VERSIONK  */
    624  1.10  christos   YYSYMBOL_INPUT_VERSION_SCRIPT = 141,     /* INPUT_VERSION_SCRIPT  */
    625  1.10  christos   YYSYMBOL_KEEP = 142,                     /* KEEP  */
    626  1.10  christos   YYSYMBOL_ONLY_IF_RO = 143,               /* ONLY_IF_RO  */
    627  1.10  christos   YYSYMBOL_ONLY_IF_RW = 144,               /* ONLY_IF_RW  */
    628  1.10  christos   YYSYMBOL_SPECIAL = 145,                  /* SPECIAL  */
    629  1.10  christos   YYSYMBOL_INPUT_SECTION_FLAGS = 146,      /* INPUT_SECTION_FLAGS  */
    630  1.10  christos   YYSYMBOL_ALIGN_WITH_INPUT = 147,         /* ALIGN_WITH_INPUT  */
    631  1.10  christos   YYSYMBOL_EXCLUDE_FILE = 148,             /* EXCLUDE_FILE  */
    632  1.10  christos   YYSYMBOL_CONSTANT = 149,                 /* CONSTANT  */
    633  1.10  christos   YYSYMBOL_INPUT_DYNAMIC_LIST = 150,       /* INPUT_DYNAMIC_LIST  */
    634  1.10  christos   YYSYMBOL_151_ = 151,                     /* ','  */
    635  1.10  christos   YYSYMBOL_152_ = 152,                     /* ';'  */
    636  1.10  christos   YYSYMBOL_153_ = 153,                     /* ')'  */
    637  1.10  christos   YYSYMBOL_154_ = 154,                     /* '['  */
    638  1.10  christos   YYSYMBOL_155_ = 155,                     /* ']'  */
    639  1.10  christos   YYSYMBOL_156_ = 156,                     /* '!'  */
    640  1.10  christos   YYSYMBOL_157_ = 157,                     /* '~'  */
    641  1.10  christos   YYSYMBOL_YYACCEPT = 158,                 /* $accept  */
    642  1.10  christos   YYSYMBOL_file = 159,                     /* file  */
    643  1.10  christos   YYSYMBOL_filename = 160,                 /* filename  */
    644  1.10  christos   YYSYMBOL_defsym_expr = 161,              /* defsym_expr  */
    645  1.10  christos   YYSYMBOL_162_1 = 162,                    /* $@1  */
    646  1.10  christos   YYSYMBOL_mri_script_file = 163,          /* mri_script_file  */
    647  1.10  christos   YYSYMBOL_164_2 = 164,                    /* $@2  */
    648  1.10  christos   YYSYMBOL_mri_script_lines = 165,         /* mri_script_lines  */
    649  1.10  christos   YYSYMBOL_mri_script_command = 166,       /* mri_script_command  */
    650  1.10  christos   YYSYMBOL_167_3 = 167,                    /* $@3  */
    651  1.10  christos   YYSYMBOL_ordernamelist = 168,            /* ordernamelist  */
    652  1.10  christos   YYSYMBOL_mri_load_name_list = 169,       /* mri_load_name_list  */
    653  1.10  christos   YYSYMBOL_mri_abs_name_list = 170,        /* mri_abs_name_list  */
    654  1.10  christos   YYSYMBOL_casesymlist = 171,              /* casesymlist  */
    655  1.10  christos   YYSYMBOL_extern_name_list = 172,         /* extern_name_list  */
    656  1.10  christos   YYSYMBOL_script_file = 173,              /* script_file  */
    657  1.10  christos   YYSYMBOL_174_4 = 174,                    /* $@4  */
    658  1.10  christos   YYSYMBOL_ifile_list = 175,               /* ifile_list  */
    659  1.10  christos   YYSYMBOL_ifile_p1 = 176,                 /* ifile_p1  */
    660  1.10  christos   YYSYMBOL_177_5 = 177,                    /* $@5  */
    661  1.10  christos   YYSYMBOL_178_6 = 178,                    /* $@6  */
    662  1.10  christos   YYSYMBOL_179_7 = 179,                    /* $@7  */
    663  1.10  christos   YYSYMBOL_input_list = 180,               /* input_list  */
    664  1.10  christos   YYSYMBOL_181_8 = 181,                    /* $@8  */
    665  1.10  christos   YYSYMBOL_input_list1 = 182,              /* input_list1  */
    666  1.10  christos   YYSYMBOL_183_9 = 183,                    /* @9  */
    667  1.10  christos   YYSYMBOL_184_10 = 184,                   /* @10  */
    668  1.10  christos   YYSYMBOL_185_11 = 185,                   /* @11  */
    669  1.10  christos   YYSYMBOL_sections = 186,                 /* sections  */
    670  1.10  christos   YYSYMBOL_sec_or_group_p1 = 187,          /* sec_or_group_p1  */
    671  1.10  christos   YYSYMBOL_statement_anywhere = 188,       /* statement_anywhere  */
    672  1.10  christos   YYSYMBOL_189_12 = 189,                   /* $@12  */
    673  1.10  christos   YYSYMBOL_wildcard_name = 190,            /* wildcard_name  */
    674  1.10  christos   YYSYMBOL_wildcard_maybe_exclude = 191,   /* wildcard_maybe_exclude  */
    675  1.10  christos   YYSYMBOL_filename_spec = 192,            /* filename_spec  */
    676  1.10  christos   YYSYMBOL_section_name_spec = 193,        /* section_name_spec  */
    677  1.10  christos   YYSYMBOL_sect_flag_list = 194,           /* sect_flag_list  */
    678  1.10  christos   YYSYMBOL_sect_flags = 195,               /* sect_flags  */
    679  1.10  christos   YYSYMBOL_exclude_name_list = 196,        /* exclude_name_list  */
    680  1.10  christos   YYSYMBOL_section_name_list = 197,        /* section_name_list  */
    681  1.10  christos   YYSYMBOL_input_section_spec_no_keep = 198, /* input_section_spec_no_keep  */
    682  1.10  christos   YYSYMBOL_input_section_spec = 199,       /* input_section_spec  */
    683  1.10  christos   YYSYMBOL_200_13 = 200,                   /* $@13  */
    684  1.10  christos   YYSYMBOL_statement = 201,                /* statement  */
    685  1.10  christos   YYSYMBOL_202_14 = 202,                   /* $@14  */
    686  1.10  christos   YYSYMBOL_203_15 = 203,                   /* $@15  */
    687  1.10  christos   YYSYMBOL_statement_list = 204,           /* statement_list  */
    688  1.10  christos   YYSYMBOL_statement_list_opt = 205,       /* statement_list_opt  */
    689  1.10  christos   YYSYMBOL_length = 206,                   /* length  */
    690  1.10  christos   YYSYMBOL_fill_exp = 207,                 /* fill_exp  */
    691  1.10  christos   YYSYMBOL_fill_opt = 208,                 /* fill_opt  */
    692  1.10  christos   YYSYMBOL_assign_op = 209,                /* assign_op  */
    693  1.10  christos   YYSYMBOL_separator = 210,                /* separator  */
    694  1.10  christos   YYSYMBOL_assignment = 211,               /* assignment  */
    695  1.10  christos   YYSYMBOL_opt_comma = 212,                /* opt_comma  */
    696  1.10  christos   YYSYMBOL_memory = 213,                   /* memory  */
    697  1.10  christos   YYSYMBOL_memory_spec_list_opt = 214,     /* memory_spec_list_opt  */
    698  1.10  christos   YYSYMBOL_memory_spec_list = 215,         /* memory_spec_list  */
    699  1.10  christos   YYSYMBOL_memory_spec = 216,              /* memory_spec  */
    700  1.10  christos   YYSYMBOL_217_16 = 217,                   /* $@16  */
    701  1.10  christos   YYSYMBOL_218_17 = 218,                   /* $@17  */
    702  1.10  christos   YYSYMBOL_origin_spec = 219,              /* origin_spec  */
    703  1.10  christos   YYSYMBOL_length_spec = 220,              /* length_spec  */
    704  1.10  christos   YYSYMBOL_attributes_opt = 221,           /* attributes_opt  */
    705  1.10  christos   YYSYMBOL_attributes_list = 222,          /* attributes_list  */
    706  1.10  christos   YYSYMBOL_attributes_string = 223,        /* attributes_string  */
    707  1.10  christos   YYSYMBOL_startup = 224,                  /* startup  */
    708  1.10  christos   YYSYMBOL_high_level_library = 225,       /* high_level_library  */
    709  1.10  christos   YYSYMBOL_high_level_library_NAME_list = 226, /* high_level_library_NAME_list  */
    710  1.10  christos   YYSYMBOL_low_level_library = 227,        /* low_level_library  */
    711  1.10  christos   YYSYMBOL_low_level_library_NAME_list = 228, /* low_level_library_NAME_list  */
    712  1.10  christos   YYSYMBOL_floating_point_support = 229,   /* floating_point_support  */
    713  1.10  christos   YYSYMBOL_nocrossref_list = 230,          /* nocrossref_list  */
    714  1.10  christos   YYSYMBOL_paren_script_name = 231,        /* paren_script_name  */
    715  1.10  christos   YYSYMBOL_232_18 = 232,                   /* $@18  */
    716  1.10  christos   YYSYMBOL_mustbe_exp = 233,               /* mustbe_exp  */
    717  1.10  christos   YYSYMBOL_234_19 = 234,                   /* $@19  */
    718  1.10  christos   YYSYMBOL_exp = 235,                      /* exp  */
    719  1.10  christos   YYSYMBOL_236_20 = 236,                   /* $@20  */
    720  1.10  christos   YYSYMBOL_237_21 = 237,                   /* $@21  */
    721  1.10  christos   YYSYMBOL_memspec_at_opt = 238,           /* memspec_at_opt  */
    722  1.10  christos   YYSYMBOL_opt_at = 239,                   /* opt_at  */
    723  1.10  christos   YYSYMBOL_opt_align = 240,                /* opt_align  */
    724  1.10  christos   YYSYMBOL_opt_align_with_input = 241,     /* opt_align_with_input  */
    725  1.10  christos   YYSYMBOL_opt_subalign = 242,             /* opt_subalign  */
    726  1.10  christos   YYSYMBOL_sect_constraint = 243,          /* sect_constraint  */
    727  1.10  christos   YYSYMBOL_section = 244,                  /* section  */
    728  1.10  christos   YYSYMBOL_245_22 = 245,                   /* $@22  */
    729  1.10  christos   YYSYMBOL_246_23 = 246,                   /* $@23  */
    730  1.10  christos   YYSYMBOL_247_24 = 247,                   /* $@24  */
    731  1.10  christos   YYSYMBOL_248_25 = 248,                   /* $@25  */
    732  1.10  christos   YYSYMBOL_249_26 = 249,                   /* $@26  */
    733  1.10  christos   YYSYMBOL_250_27 = 250,                   /* $@27  */
    734  1.10  christos   YYSYMBOL_251_28 = 251,                   /* $@28  */
    735  1.10  christos   YYSYMBOL_252_29 = 252,                   /* $@29  */
    736  1.10  christos   YYSYMBOL_253_30 = 253,                   /* $@30  */
    737  1.10  christos   YYSYMBOL_254_31 = 254,                   /* $@31  */
    738  1.10  christos   YYSYMBOL_255_32 = 255,                   /* $@32  */
    739  1.10  christos   YYSYMBOL_type = 256,                     /* type  */
    740  1.10  christos   YYSYMBOL_atype = 257,                    /* atype  */
    741  1.10  christos   YYSYMBOL_opt_exp_with_type = 258,        /* opt_exp_with_type  */
    742  1.10  christos   YYSYMBOL_opt_exp_without_type = 259,     /* opt_exp_without_type  */
    743  1.10  christos   YYSYMBOL_opt_nocrossrefs = 260,          /* opt_nocrossrefs  */
    744  1.10  christos   YYSYMBOL_memspec_opt = 261,              /* memspec_opt  */
    745  1.10  christos   YYSYMBOL_phdr_opt = 262,                 /* phdr_opt  */
    746  1.10  christos   YYSYMBOL_overlay_section = 263,          /* overlay_section  */
    747  1.10  christos   YYSYMBOL_264_33 = 264,                   /* $@33  */
    748  1.10  christos   YYSYMBOL_265_34 = 265,                   /* $@34  */
    749  1.10  christos   YYSYMBOL_266_35 = 266,                   /* $@35  */
    750  1.10  christos   YYSYMBOL_phdrs = 267,                    /* phdrs  */
    751  1.10  christos   YYSYMBOL_phdr_list = 268,                /* phdr_list  */
    752  1.10  christos   YYSYMBOL_phdr = 269,                     /* phdr  */
    753  1.10  christos   YYSYMBOL_270_36 = 270,                   /* $@36  */
    754  1.10  christos   YYSYMBOL_271_37 = 271,                   /* $@37  */
    755  1.10  christos   YYSYMBOL_phdr_type = 272,                /* phdr_type  */
    756  1.10  christos   YYSYMBOL_phdr_qualifiers = 273,          /* phdr_qualifiers  */
    757  1.10  christos   YYSYMBOL_phdr_val = 274,                 /* phdr_val  */
    758  1.10  christos   YYSYMBOL_dynamic_list_file = 275,        /* dynamic_list_file  */
    759  1.10  christos   YYSYMBOL_276_38 = 276,                   /* $@38  */
    760  1.10  christos   YYSYMBOL_dynamic_list_nodes = 277,       /* dynamic_list_nodes  */
    761  1.10  christos   YYSYMBOL_dynamic_list_node = 278,        /* dynamic_list_node  */
    762  1.10  christos   YYSYMBOL_dynamic_list_tag = 279,         /* dynamic_list_tag  */
    763  1.10  christos   YYSYMBOL_version_script_file = 280,      /* version_script_file  */
    764  1.10  christos   YYSYMBOL_281_39 = 281,                   /* $@39  */
    765  1.10  christos   YYSYMBOL_version = 282,                  /* version  */
    766  1.10  christos   YYSYMBOL_283_40 = 283,                   /* $@40  */
    767  1.10  christos   YYSYMBOL_vers_nodes = 284,               /* vers_nodes  */
    768  1.10  christos   YYSYMBOL_vers_node = 285,                /* vers_node  */
    769  1.10  christos   YYSYMBOL_verdep = 286,                   /* verdep  */
    770  1.10  christos   YYSYMBOL_vers_tag = 287,                 /* vers_tag  */
    771  1.10  christos   YYSYMBOL_vers_defns = 288,               /* vers_defns  */
    772  1.10  christos   YYSYMBOL_289_41 = 289,                   /* @41  */
    773  1.10  christos   YYSYMBOL_290_42 = 290,                   /* @42  */
    774  1.10  christos   YYSYMBOL_opt_semicolon = 291             /* opt_semicolon  */
    775  1.10  christos };
    776  1.10  christos typedef enum yysymbol_kind_t yysymbol_kind_t;
    777  1.10  christos 
    778   1.5  christos 
    779   1.5  christos 
    780   1.4      matt 
    781   1.4      matt #ifdef short
    782   1.4      matt # undef short
    783   1.4      matt #endif
    784   1.4      matt 
    785  1.10  christos /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
    786  1.10  christos    <limits.h> and (if available) <stdint.h> are included
    787  1.10  christos    so that the code can choose integer types of a good width.  */
    788  1.10  christos 
    789  1.10  christos #ifndef __PTRDIFF_MAX__
    790  1.10  christos # include <limits.h> /* INFRINGES ON USER NAME SPACE */
    791  1.10  christos # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
    792  1.10  christos #  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
    793  1.10  christos #  define YY_STDINT_H
    794  1.10  christos # endif
    795  1.10  christos #endif
    796  1.10  christos 
    797  1.10  christos /* Narrow types that promote to a signed type and that can represent a
    798  1.10  christos    signed or unsigned integer of at least N bits.  In tables they can
    799  1.10  christos    save space and decrease cache pressure.  Promoting to a signed type
    800  1.10  christos    helps avoid bugs in integer arithmetic.  */
    801  1.10  christos 
    802  1.10  christos #ifdef __INT_LEAST8_MAX__
    803  1.10  christos typedef __INT_LEAST8_TYPE__ yytype_int8;
    804  1.10  christos #elif defined YY_STDINT_H
    805  1.10  christos typedef int_least8_t yytype_int8;
    806   1.4      matt #else
    807  1.10  christos typedef signed char yytype_int8;
    808   1.4      matt #endif
    809   1.1     skrll 
    810  1.10  christos #ifdef __INT_LEAST16_MAX__
    811  1.10  christos typedef __INT_LEAST16_TYPE__ yytype_int16;
    812  1.10  christos #elif defined YY_STDINT_H
    813  1.10  christos typedef int_least16_t yytype_int16;
    814   1.7  christos #else
    815  1.10  christos typedef short yytype_int16;
    816  1.10  christos #endif
    817  1.10  christos 
    818  1.10  christos /* Work around bug in HP-UX 11.23, which defines these macros
    819  1.10  christos    incorrectly for preprocessor constants.  This workaround can likely
    820  1.10  christos    be removed in 2023, as HPE has promised support for HP-UX 11.23
    821  1.10  christos    (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
    822  1.10  christos    <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
    823  1.10  christos #ifdef __hpux
    824  1.10  christos # undef UINT_LEAST8_MAX
    825  1.10  christos # undef UINT_LEAST16_MAX
    826  1.10  christos # define UINT_LEAST8_MAX 255
    827  1.10  christos # define UINT_LEAST16_MAX 65535
    828   1.3      matt #endif
    829   1.4      matt 
    830  1.10  christos #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
    831  1.10  christos typedef __UINT_LEAST8_TYPE__ yytype_uint8;
    832  1.10  christos #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
    833  1.10  christos        && UINT_LEAST8_MAX <= INT_MAX)
    834  1.10  christos typedef uint_least8_t yytype_uint8;
    835  1.10  christos #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
    836  1.10  christos typedef unsigned char yytype_uint8;
    837   1.4      matt #else
    838  1.10  christos typedef short yytype_uint8;
    839   1.3      matt #endif
    840   1.4      matt 
    841  1.10  christos #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
    842  1.10  christos typedef __UINT_LEAST16_TYPE__ yytype_uint16;
    843  1.10  christos #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
    844  1.10  christos        && UINT_LEAST16_MAX <= INT_MAX)
    845  1.10  christos typedef uint_least16_t yytype_uint16;
    846  1.10  christos #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
    847  1.10  christos typedef unsigned short yytype_uint16;
    848   1.4      matt #else
    849  1.10  christos typedef int yytype_uint16;
    850  1.10  christos #endif
    851  1.10  christos 
    852  1.10  christos #ifndef YYPTRDIFF_T
    853  1.10  christos # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
    854  1.10  christos #  define YYPTRDIFF_T __PTRDIFF_TYPE__
    855  1.10  christos #  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
    856  1.10  christos # elif defined PTRDIFF_MAX
    857  1.10  christos #  ifndef ptrdiff_t
    858  1.10  christos #   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    859  1.10  christos #  endif
    860  1.10  christos #  define YYPTRDIFF_T ptrdiff_t
    861  1.10  christos #  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
    862  1.10  christos # else
    863  1.10  christos #  define YYPTRDIFF_T long
    864  1.10  christos #  define YYPTRDIFF_MAXIMUM LONG_MAX
    865  1.10  christos # endif
    866   1.3      matt #endif
    867   1.4      matt 
    868   1.4      matt #ifndef YYSIZE_T
    869   1.4      matt # ifdef __SIZE_TYPE__
    870   1.4      matt #  define YYSIZE_T __SIZE_TYPE__
    871   1.4      matt # elif defined size_t
    872   1.4      matt #  define YYSIZE_T size_t
    873  1.10  christos # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
    874   1.4      matt #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    875   1.4      matt #  define YYSIZE_T size_t
    876   1.4      matt # else
    877  1.10  christos #  define YYSIZE_T unsigned
    878   1.4      matt # endif
    879   1.3      matt #endif
    880   1.3      matt 
    881  1.10  christos #define YYSIZE_MAXIMUM                                  \
    882  1.10  christos   YY_CAST (YYPTRDIFF_T,                                 \
    883  1.10  christos            (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
    884  1.10  christos             ? YYPTRDIFF_MAXIMUM                         \
    885  1.10  christos             : YY_CAST (YYSIZE_T, -1)))
    886  1.10  christos 
    887  1.10  christos #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
    888  1.10  christos 
    889  1.10  christos 
    890  1.10  christos /* Stored state numbers (used for stacks). */
    891  1.10  christos typedef yytype_int16 yy_state_t;
    892  1.10  christos 
    893  1.10  christos /* State numbers in computations.  */
    894  1.10  christos typedef int yy_state_fast_t;
    895   1.4      matt 
    896   1.3      matt #ifndef YY_
    897   1.4      matt # if defined YYENABLE_NLS && YYENABLE_NLS
    898   1.3      matt #  if ENABLE_NLS
    899   1.3      matt #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
    900   1.7  christos #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
    901   1.3      matt #  endif
    902   1.3      matt # endif
    903   1.3      matt # ifndef YY_
    904   1.7  christos #  define YY_(Msgid) Msgid
    905   1.7  christos # endif
    906   1.7  christos #endif
    907   1.7  christos 
    908  1.10  christos 
    909  1.10  christos #ifndef YY_ATTRIBUTE_PURE
    910  1.10  christos # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
    911  1.10  christos #  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
    912   1.7  christos # else
    913  1.10  christos #  define YY_ATTRIBUTE_PURE
    914   1.7  christos # endif
    915   1.7  christos #endif
    916   1.7  christos 
    917   1.7  christos #ifndef YY_ATTRIBUTE_UNUSED
    918  1.10  christos # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
    919  1.10  christos #  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
    920   1.7  christos # else
    921  1.10  christos #  define YY_ATTRIBUTE_UNUSED
    922   1.3      matt # endif
    923   1.3      matt #endif
    924   1.3      matt 
    925   1.4      matt /* Suppress unused-variable warnings by "using" E.  */
    926   1.4      matt #if ! defined lint || defined __GNUC__
    927  1.10  christos # define YY_USE(E) ((void) (E))
    928   1.4      matt #else
    929  1.10  christos # define YY_USE(E) /* empty */
    930   1.4      matt #endif
    931   1.4      matt 
    932   1.7  christos /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
    933  1.10  christos #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
    934  1.10  christos # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
    935  1.10  christos #  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
    936  1.10  christos     _Pragma ("GCC diagnostic push")                                     \
    937  1.10  christos     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
    938  1.10  christos # else
    939  1.10  christos #  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
    940  1.10  christos     _Pragma ("GCC diagnostic push")                                     \
    941  1.10  christos     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
    942   1.7  christos     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
    943  1.10  christos # endif
    944  1.10  christos # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
    945   1.7  christos     _Pragma ("GCC diagnostic pop")
    946   1.4      matt #else
    947   1.7  christos # define YY_INITIAL_VALUE(Value) Value
    948   1.7  christos #endif
    949   1.7  christos #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    950   1.7  christos # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    951   1.7  christos # define YY_IGNORE_MAYBE_UNINITIALIZED_END
    952   1.5  christos #endif
    953   1.7  christos #ifndef YY_INITIAL_VALUE
    954   1.7  christos # define YY_INITIAL_VALUE(Value) /* Nothing. */
    955   1.4      matt #endif
    956   1.4      matt 
    957  1.10  christos #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
    958  1.10  christos # define YY_IGNORE_USELESS_CAST_BEGIN                          \
    959  1.10  christos     _Pragma ("GCC diagnostic push")                            \
    960  1.10  christos     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
    961  1.10  christos # define YY_IGNORE_USELESS_CAST_END            \
    962  1.10  christos     _Pragma ("GCC diagnostic pop")
    963  1.10  christos #endif
    964  1.10  christos #ifndef YY_IGNORE_USELESS_CAST_BEGIN
    965  1.10  christos # define YY_IGNORE_USELESS_CAST_BEGIN
    966  1.10  christos # define YY_IGNORE_USELESS_CAST_END
    967  1.10  christos #endif
    968   1.7  christos 
    969  1.10  christos 
    970  1.10  christos #define YY_ASSERT(E) ((void) (0 && (E)))
    971  1.10  christos 
    972  1.10  christos #if !defined yyoverflow
    973   1.3      matt 
    974   1.3      matt /* The parser invokes alloca or malloc; define the necessary symbols.  */
    975   1.3      matt 
    976   1.3      matt # ifdef YYSTACK_USE_ALLOCA
    977   1.3      matt #  if YYSTACK_USE_ALLOCA
    978   1.3      matt #   ifdef __GNUC__
    979   1.3      matt #    define YYSTACK_ALLOC __builtin_alloca
    980   1.4      matt #   elif defined __BUILTIN_VA_ARG_INCR
    981   1.4      matt #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
    982   1.4      matt #   elif defined _AIX
    983   1.4      matt #    define YYSTACK_ALLOC __alloca
    984   1.4      matt #   elif defined _MSC_VER
    985   1.4      matt #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
    986   1.4      matt #    define alloca _alloca
    987   1.3      matt #   else
    988   1.3      matt #    define YYSTACK_ALLOC alloca
    989   1.7  christos #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
    990   1.3      matt #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    991   1.7  christos       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
    992   1.7  christos #     ifndef EXIT_SUCCESS
    993   1.7  christos #      define EXIT_SUCCESS 0
    994   1.4      matt #     endif
    995   1.3      matt #    endif
    996   1.3      matt #   endif
    997   1.3      matt #  endif
    998   1.3      matt # endif
    999   1.3      matt 
   1000   1.3      matt # ifdef YYSTACK_ALLOC
   1001   1.7  christos    /* Pacify GCC's 'empty if-body' warning.  */
   1002   1.7  christos #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
   1003   1.3      matt #  ifndef YYSTACK_ALLOC_MAXIMUM
   1004   1.3      matt     /* The OS might guarantee only one guard page at the bottom of the stack,
   1005   1.3      matt        and a page size can be as small as 4096 bytes.  So we cannot safely
   1006   1.3      matt        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
   1007   1.3      matt        to allow for a few compiler-allocated temporary stack slots.  */
   1008   1.4      matt #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
   1009   1.3      matt #  endif
   1010   1.1     skrll # else
   1011   1.3      matt #  define YYSTACK_ALLOC YYMALLOC
   1012   1.3      matt #  define YYSTACK_FREE YYFREE
   1013   1.3      matt #  ifndef YYSTACK_ALLOC_MAXIMUM
   1014   1.4      matt #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
   1015   1.3      matt #  endif
   1016   1.7  christos #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
   1017   1.4      matt        && ! ((defined YYMALLOC || defined malloc) \
   1018   1.7  christos              && (defined YYFREE || defined free)))
   1019   1.4      matt #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
   1020   1.7  christos #   ifndef EXIT_SUCCESS
   1021   1.7  christos #    define EXIT_SUCCESS 0
   1022   1.4      matt #   endif
   1023   1.3      matt #  endif
   1024   1.3      matt #  ifndef YYMALLOC
   1025   1.3      matt #   define YYMALLOC malloc
   1026   1.7  christos #   if ! defined malloc && ! defined EXIT_SUCCESS
   1027   1.3      matt void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
   1028   1.3      matt #   endif
   1029   1.3      matt #  endif
   1030   1.3      matt #  ifndef YYFREE
   1031   1.3      matt #   define YYFREE free
   1032   1.7  christos #   if ! defined free && ! defined EXIT_SUCCESS
   1033   1.3      matt void free (void *); /* INFRINGES ON USER NAME SPACE */
   1034   1.3      matt #   endif
   1035   1.3      matt #  endif
   1036   1.3      matt # endif
   1037  1.10  christos #endif /* !defined yyoverflow */
   1038   1.3      matt 
   1039   1.4      matt #if (! defined yyoverflow \
   1040   1.4      matt      && (! defined __cplusplus \
   1041   1.7  christos          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
   1042   1.3      matt 
   1043   1.3      matt /* A type that is properly aligned for any stack member.  */
   1044   1.3      matt union yyalloc
   1045   1.3      matt {
   1046  1.10  christos   yy_state_t yyss_alloc;
   1047   1.7  christos   YYSTYPE yyvs_alloc;
   1048   1.7  christos };
   1049   1.3      matt 
   1050   1.3      matt /* The size of the maximum gap between one aligned stack and the next.  */
   1051  1.10  christos # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
   1052   1.3      matt 
   1053   1.3      matt /* The size of an array large to enough to hold all stacks, each with
   1054   1.3      matt    N elements.  */
   1055   1.3      matt # define YYSTACK_BYTES(N) \
   1056  1.10  christos      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
   1057   1.3      matt       + YYSTACK_GAP_MAXIMUM)
   1058   1.3      matt 
   1059   1.7  christos # define YYCOPY_NEEDED 1
   1060   1.3      matt 
   1061   1.3      matt /* Relocate STACK from its old location to the new one.  The
   1062   1.3      matt    local variables YYSIZE and YYSTACKSIZE give the old and new number of
   1063   1.3      matt    elements in the stack, and YYPTR gives the new location of the
   1064   1.3      matt    stack.  Advance YYPTR to a properly aligned location for the next
   1065   1.3      matt    stack.  */
   1066   1.7  christos # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
   1067   1.7  christos     do                                                                  \
   1068   1.7  christos       {                                                                 \
   1069  1.10  christos         YYPTRDIFF_T yynewbytes;                                         \
   1070   1.7  christos         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
   1071   1.7  christos         Stack = &yyptr->Stack_alloc;                                    \
   1072  1.10  christos         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
   1073  1.10  christos         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
   1074   1.7  christos       }                                                                 \
   1075   1.7  christos     while (0)
   1076   1.1     skrll 
   1077   1.1     skrll #endif
   1078   1.1     skrll 
   1079   1.7  christos #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
   1080   1.7  christos /* Copy COUNT objects from SRC to DST.  The source and destination do
   1081   1.7  christos    not overlap.  */
   1082   1.7  christos # ifndef YYCOPY
   1083   1.7  christos #  if defined __GNUC__ && 1 < __GNUC__
   1084   1.7  christos #   define YYCOPY(Dst, Src, Count) \
   1085  1.10  christos       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
   1086   1.7  christos #  else
   1087   1.7  christos #   define YYCOPY(Dst, Src, Count)              \
   1088   1.7  christos       do                                        \
   1089   1.7  christos         {                                       \
   1090  1.10  christos           YYPTRDIFF_T yyi;                      \
   1091   1.7  christos           for (yyi = 0; yyi < (Count); yyi++)   \
   1092   1.7  christos             (Dst)[yyi] = (Src)[yyi];            \
   1093   1.7  christos         }                                       \
   1094   1.7  christos       while (0)
   1095   1.7  christos #  endif
   1096   1.7  christos # endif
   1097   1.7  christos #endif /* !YYCOPY_NEEDED */
   1098   1.7  christos 
   1099   1.4      matt /* YYFINAL -- State number of the termination state.  */
   1100   1.3      matt #define YYFINAL  17
   1101   1.3      matt /* YYLAST -- Last index in YYTABLE.  */
   1102  1.10  christos #define YYLAST   2005
   1103   1.3      matt 
   1104   1.4      matt /* YYNTOKENS -- Number of terminals.  */
   1105  1.10  christos #define YYNTOKENS  158
   1106   1.4      matt /* YYNNTS -- Number of nonterminals.  */
   1107  1.10  christos #define YYNNTS  134
   1108   1.4      matt /* YYNRULES -- Number of rules.  */
   1109  1.10  christos #define YYNRULES  378
   1110   1.7  christos /* YYNSTATES -- Number of states.  */
   1111  1.10  christos #define YYNSTATES  810
   1112   1.3      matt 
   1113  1.10  christos /* YYMAXUTOK -- Last valid token kind.  */
   1114  1.10  christos #define YYMAXUTOK   389
   1115   1.3      matt 
   1116  1.10  christos 
   1117  1.10  christos /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
   1118  1.10  christos    as returned by yylex, with out-of-bounds checking.  */
   1119  1.10  christos #define YYTRANSLATE(YYX)                                \
   1120  1.10  christos   (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
   1121  1.10  christos    ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
   1122  1.10  christos    : YYSYMBOL_YYUNDEF)
   1123   1.3      matt 
   1124   1.7  christos /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
   1125  1.10  christos    as returned by yylex.  */
   1126   1.4      matt static const yytype_uint8 yytranslate[] =
   1127   1.3      matt {
   1128   1.3      matt        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1129   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1130   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1131  1.10  christos        2,     2,     2,   156,     2,     2,     2,    34,    21,     2,
   1132  1.10  christos       37,   153,    32,    30,   151,    31,     2,    33,     2,     2,
   1133  1.10  christos        2,     2,     2,     2,     2,     2,     2,     2,    16,   152,
   1134   1.7  christos       24,    10,    25,    15,     2,     2,     2,     2,     2,     2,
   1135   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1136   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1137  1.10  christos        2,   154,     2,   155,    20,     2,     2,     2,     2,     2,
   1138   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1139   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1140  1.10  christos        2,     2,     2,    58,    19,    59,   157,     2,     2,     2,
   1141   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1142   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1143   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1144   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1145   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1146   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1147   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1148   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1149   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1150   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1151   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1152   1.3      matt        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   1153   1.3      matt        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
   1154   1.7  christos        5,     6,     7,     8,     9,    11,    12,    13,    14,    17,
   1155   1.3      matt       18,    22,    23,    26,    27,    28,    29,    35,    36,    38,
   1156   1.3      matt       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
   1157   1.4      matt       49,    50,    51,    52,    53,    54,    55,    56,    57,    60,
   1158   1.3      matt       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   1159   1.3      matt       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
   1160   1.3      matt       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   1161   1.3      matt       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
   1162   1.3      matt      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   1163   1.3      matt      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   1164   1.3      matt      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
   1165   1.4      matt      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
   1166  1.10  christos      141,   142,   143,   144,   145,   146,   147,   148,   149,   150
   1167   1.3      matt };
   1168   1.3      matt 
   1169   1.3      matt #if YYDEBUG
   1170  1.10  christos /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
   1171  1.10  christos static const yytype_int16 yyrline[] =
   1172   1.3      matt {
   1173  1.10  christos        0,   169,   169,   170,   171,   172,   173,   177,   181,   181,
   1174  1.10  christos      188,   188,   201,   202,   206,   207,   208,   211,   214,   215,
   1175  1.10  christos      216,   218,   220,   222,   224,   226,   228,   230,   232,   234,
   1176  1.10  christos      236,   238,   239,   240,   242,   244,   246,   248,   250,   251,
   1177  1.10  christos      253,   252,   255,   257,   261,   262,   263,   267,   269,   273,
   1178  1.10  christos      275,   280,   281,   282,   286,   288,   290,   295,   295,   301,
   1179  1.10  christos      302,   307,   308,   309,   310,   311,   312,   313,   314,   315,
   1180  1.10  christos      316,   317,   319,   321,   323,   326,   328,   330,   332,   334,
   1181  1.10  christos      336,   338,   337,   341,   344,   343,   346,   350,   354,   354,
   1182  1.10  christos      356,   358,   360,   362,   367,   367,   372,   375,   378,   381,
   1183  1.10  christos      384,   387,   391,   390,   396,   395,   401,   400,   408,   412,
   1184  1.10  christos      413,   414,   418,   420,   421,   421,   427,   434,   441,   451,
   1185  1.10  christos      452,   457,   465,   466,   471,   476,   481,   486,   491,   496,
   1186  1.10  christos      501,   508,   526,   547,   560,   569,   580,   589,   600,   609,
   1187  1.10  christos      618,   622,   631,   635,   643,   645,   644,   651,   652,   653,
   1188  1.10  christos      657,   661,   666,   667,   672,   677,   676,   684,   683,   691,
   1189  1.10  christos      692,   695,   697,   701,   703,   705,   707,   709,   714,   721,
   1190  1.10  christos      723,   727,   729,   731,   733,   735,   737,   739,   741,   746,
   1191  1.10  christos      746,   751,   755,   763,   767,   771,   779,   779,   783,   786,
   1192  1.10  christos      786,   789,   790,   795,   794,   800,   799,   805,   812,   825,
   1193  1.10  christos      826,   830,   831,   835,   837,   842,   847,   848,   853,   855,
   1194  1.10  christos      860,   864,   866,   870,   872,   878,   881,   890,   901,   901,
   1195  1.10  christos      905,   905,   911,   913,   915,   917,   919,   921,   924,   926,
   1196  1.10  christos      928,   930,   932,   934,   936,   938,   940,   942,   944,   946,
   1197  1.10  christos      948,   950,   952,   954,   956,   958,   960,   962,   964,   966,
   1198  1.10  christos      969,   971,   973,   975,   977,   979,   981,   983,   985,   987,
   1199  1.10  christos      989,   991,   992,   991,  1001,  1003,  1005,  1007,  1009,  1011,
   1200  1.10  christos     1013,  1015,  1021,  1022,  1026,  1027,  1031,  1032,  1036,  1037,
   1201  1.10  christos     1041,  1042,  1046,  1047,  1048,  1049,  1053,  1060,  1069,  1071,
   1202  1.10  christos     1052,  1089,  1091,  1093,  1099,  1088,  1114,  1116,  1113,  1122,
   1203  1.10  christos     1121,  1129,  1130,  1131,  1132,  1133,  1134,  1135,  1136,  1140,
   1204  1.10  christos     1141,  1142,  1146,  1147,  1152,  1153,  1158,  1159,  1164,  1165,
   1205  1.10  christos     1170,  1172,  1177,  1180,  1193,  1197,  1204,  1206,  1195,  1218,
   1206  1.10  christos     1221,  1223,  1227,  1228,  1227,  1237,  1286,  1289,  1302,  1311,
   1207  1.10  christos     1314,  1321,  1321,  1333,  1334,  1338,  1342,  1351,  1351,  1365,
   1208  1.10  christos     1365,  1375,  1376,  1380,  1384,  1388,  1395,  1399,  1407,  1410,
   1209  1.10  christos     1414,  1418,  1422,  1429,  1433,  1437,  1441,  1446,  1445,  1459,
   1210  1.10  christos     1458,  1468,  1472,  1476,  1480,  1484,  1488,  1494,  1496
   1211   1.3      matt };
   1212   1.2      matt #endif
   1213   1.3      matt 
   1214  1.10  christos /** Accessing symbol of state STATE.  */
   1215  1.10  christos #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
   1216  1.10  christos 
   1217  1.10  christos #if YYDEBUG || 0
   1218  1.10  christos /* The user-facing name of the symbol whose (internal) number is
   1219  1.10  christos    YYSYMBOL.  No bounds checking.  */
   1220  1.10  christos static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
   1221  1.10  christos 
   1222   1.3      matt /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
   1223   1.4      matt    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
   1224   1.3      matt static const char *const yytname[] =
   1225   1.3      matt {
   1226  1.10  christos   "\"end of file\"", "error", "\"invalid token\"", "INT", "NAME", "LNAME",
   1227  1.10  christos   "PLUSEQ", "MINUSEQ", "MULTEQ", "DIVEQ", "'='", "LSHIFTEQ", "RSHIFTEQ",
   1228  1.10  christos   "ANDEQ", "OREQ", "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'",
   1229  1.10  christos   "EQ", "NE", "'<'", "'>'", "LE", "GE", "LSHIFT", "RSHIFT", "'+'", "'-'",
   1230  1.10  christos   "'*'", "'/'", "'%'", "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND",
   1231  1.10  christos   "QUAD", "SQUAD", "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS",
   1232  1.10  christos   "INSERT_K", "AFTER", "BEFORE", "DATA_SEGMENT_ALIGN",
   1233  1.10  christos   "DATA_SEGMENT_RELRO_END", "DATA_SEGMENT_END", "SORT_BY_NAME",
   1234  1.10  christos   "SORT_BY_ALIGNMENT", "SORT_NONE", "SORT_BY_INIT_PRIORITY", "'{'", "'}'",
   1235  1.10  christos   "SIZEOF_HEADERS", "OUTPUT_FORMAT", "FORCE_COMMON_ALLOCATION",
   1236  1.10  christos   "OUTPUT_ARCH", "INHIBIT_COMMON_ALLOCATION", "FORCE_GROUP_ALLOCATION",
   1237  1.10  christos   "SEGMENT_START", "INCLUDE", "MEMORY", "REGION_ALIAS", "LD_FEATURE",
   1238  1.10  christos   "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "READONLY", "TYPE",
   1239  1.10  christos   "DEFINED", "TARGET_K", "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF",
   1240  1.10  christos   "ALIGNOF", "ADDR", "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL",
   1241  1.10  christos   "SYSLIB", "FLOAT", "NOFLOAT", "NOCROSSREFS", "NOCROSSREFS_TO", "ORIGIN",
   1242  1.10  christos   "FILL", "LENGTH", "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT",
   1243  1.10  christos   "CONSTRUCTORS", "ALIGNMOD", "AT", "SUBALIGN", "HIDDEN", "PROVIDE",
   1244  1.10  christos   "PROVIDE_HIDDEN", "AS_NEEDED", "CHIP", "LIST", "SECT", "ABSOLUTE",
   1245  1.10  christos   "LOAD", "NEWLINE", "ENDWORD", "ORDER", "NAMEWORD", "ASSERT_K",
   1246  1.10  christos   "LOG2CEIL", "FORMAT", "PUBLIC", "DEFSYMEND", "BASE", "ALIAS", "TRUNCATE",
   1247  1.10  christos   "REL", "INPUT_SCRIPT", "INPUT_MRI_SCRIPT", "INPUT_DEFSYM", "CASE",
   1248  1.10  christos   "EXTERN", "START", "VERS_TAG", "VERS_IDENTIFIER", "GLOBAL", "LOCAL",
   1249  1.10  christos   "VERSIONK", "INPUT_VERSION_SCRIPT", "KEEP", "ONLY_IF_RO", "ONLY_IF_RW",
   1250  1.10  christos   "SPECIAL", "INPUT_SECTION_FLAGS", "ALIGN_WITH_INPUT", "EXCLUDE_FILE",
   1251  1.10  christos   "CONSTANT", "INPUT_DYNAMIC_LIST", "','", "';'", "')'", "'['", "']'",
   1252  1.10  christos   "'!'", "'~'", "$accept", "file", "filename", "defsym_expr", "$@1",
   1253  1.10  christos   "mri_script_file", "$@2", "mri_script_lines", "mri_script_command",
   1254  1.10  christos   "$@3", "ordernamelist", "mri_load_name_list", "mri_abs_name_list",
   1255  1.10  christos   "casesymlist", "extern_name_list", "script_file", "$@4", "ifile_list",
   1256  1.10  christos   "ifile_p1", "$@5", "$@6", "$@7", "input_list", "$@8", "input_list1",
   1257  1.10  christos   "@9", "@10", "@11", "sections", "sec_or_group_p1", "statement_anywhere",
   1258  1.10  christos   "$@12", "wildcard_name", "wildcard_maybe_exclude", "filename_spec",
   1259   1.7  christos   "section_name_spec", "sect_flag_list", "sect_flags", "exclude_name_list",
   1260   1.7  christos   "section_name_list", "input_section_spec_no_keep", "input_section_spec",
   1261   1.7  christos   "$@13", "statement", "$@14", "$@15", "statement_list",
   1262   1.6  christos   "statement_list_opt", "length", "fill_exp", "fill_opt", "assign_op",
   1263  1.10  christos   "separator", "assignment", "opt_comma", "memory", "memory_spec_list_opt",
   1264   1.7  christos   "memory_spec_list", "memory_spec", "$@16", "$@17", "origin_spec",
   1265   1.6  christos   "length_spec", "attributes_opt", "attributes_list", "attributes_string",
   1266   1.6  christos   "startup", "high_level_library", "high_level_library_NAME_list",
   1267   1.6  christos   "low_level_library", "low_level_library_NAME_list",
   1268  1.10  christos   "floating_point_support", "nocrossref_list", "paren_script_name", "$@18",
   1269  1.10  christos   "mustbe_exp", "$@19", "exp", "$@20", "$@21", "memspec_at_opt", "opt_at",
   1270  1.10  christos   "opt_align", "opt_align_with_input", "opt_subalign", "sect_constraint",
   1271  1.10  christos   "section", "$@22", "$@23", "$@24", "$@25", "$@26", "$@27", "$@28",
   1272  1.10  christos   "$@29", "$@30", "$@31", "$@32", "type", "atype", "opt_exp_with_type",
   1273  1.10  christos   "opt_exp_without_type", "opt_nocrossrefs", "memspec_opt", "phdr_opt",
   1274  1.10  christos   "overlay_section", "$@33", "$@34", "$@35", "phdrs", "phdr_list", "phdr",
   1275  1.10  christos   "$@36", "$@37", "phdr_type", "phdr_qualifiers", "phdr_val",
   1276  1.10  christos   "dynamic_list_file", "$@38", "dynamic_list_nodes", "dynamic_list_node",
   1277  1.10  christos   "dynamic_list_tag", "version_script_file", "$@39", "version", "$@40",
   1278  1.10  christos   "vers_nodes", "vers_node", "verdep", "vers_tag", "vers_defns", "@41",
   1279  1.10  christos   "@42", "opt_semicolon", YY_NULLPTR
   1280   1.3      matt };
   1281   1.1     skrll 
   1282  1.10  christos static const char *
   1283  1.10  christos yysymbol_name (yysymbol_kind_t yysymbol)
   1284   1.3      matt {
   1285  1.10  christos   return yytname[yysymbol];
   1286  1.10  christos }
   1287  1.10  christos #endif
   1288   1.1     skrll 
   1289  1.10  christos #define YYPACT_NINF (-750)
   1290   1.7  christos 
   1291  1.10  christos #define yypact_value_is_default(Yyn) \
   1292  1.10  christos   ((Yyn) == YYPACT_NINF)
   1293   1.7  christos 
   1294  1.10  christos #define YYTABLE_NINF (-350)
   1295   1.7  christos 
   1296  1.10  christos #define yytable_value_is_error(Yyn) \
   1297   1.7  christos   0
   1298   1.5  christos 
   1299  1.10  christos /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
   1300  1.10  christos    STATE-NUM.  */
   1301   1.7  christos static const yytype_int16 yypact[] =
   1302   1.3      matt {
   1303  1.10  christos      147,  -750,  -750,  -750,  -750,  -750,    90,  -750,  -750,  -750,
   1304  1.10  christos     -750,  -750,    20,  -750,   -16,  -750,   -26,  -750,   915,  1765,
   1305  1.10  christos      453,    56,    68,    89,  -750,   106,    59,   -16,  -750,   112,
   1306  1.10  christos      -26,  -750,    69,    73,    52,    98,  -750,   114,  -750,  -750,
   1307  1.10  christos      184,   176,   198,   204,   205,   210,   211,   215,   232,   233,
   1308  1.10  christos      238,  -750,  -750,   243,   252,   256,  -750,   261,  -750,   262,
   1309  1.10  christos     -750,  -750,  -750,  -750,   -43,  -750,  -750,  -750,  -750,  -750,
   1310  1.10  christos     -750,  -750,   161,  -750,   298,   184,   299,   768,  -750,   300,
   1311  1.10  christos      309,   310,  -750,  -750,   311,   312,   321,   768,   322,   325,
   1312  1.10  christos      328,   338,   339,   207,  -750,  -750,  -750,  -750,  -750,  -750,
   1313  1.10  christos     -750,  -750,  -750,  -750,   340,   341,   343,  -750,   344,  -750,
   1314  1.10  christos      313,   342,   304,   236,   106,  -750,  -750,  -750,   330,   245,
   1315  1.10  christos     -750,  -750,  -750,   380,   395,   396,   398,  -750,  -750,    30,
   1316  1.10  christos      409,   410,   411,   184,   184,   413,   184,    13,  -750,   414,
   1317  1.10  christos      414,  -750,   383,   184,   386,  -750,  -750,  -750,  -750,   366,
   1318  1.10  christos        2,  -750,    77,  -750,  -750,   768,   768,   768,   388,   389,
   1319  1.10  christos      390,   394,   397,  -750,  -750,   399,   400,  -750,  -750,  -750,
   1320  1.10  christos     -750,   401,   403,  -750,  -750,   404,   412,   415,   416,   768,
   1321  1.10  christos      768,  1550,   391,  -750,   281,  -750,   282,    43,  -750,  -750,
   1322  1.10  christos      506,  1820,   284,  -750,  -750,   297,  -750,    44,  -750,  -750,
   1323  1.10  christos     -750,   768,  -750,   440,   444,   458,   423,   112,   112,   318,
   1324  1.10  christos      120,   425,   319,   120,   337,    22,  -750,  -750,   -94,   329,
   1325  1.10  christos     -750,  -750,   184,   426,   -14,  -750,   335,   334,   336,   346,
   1326  1.10  christos      349,   351,   352,  -750,  -750,   -30,     7,    49,   354,   355,
   1327  1.10  christos      361,    23,  -750,   362,   768,   338,   -16,   768,   768,  -750,
   1328  1.10  christos      768,   768,  -750,  -750,   347,   768,   768,   768,   768,   768,
   1329  1.10  christos      435,   469,   768,  -750,   455,  -750,  -750,  -750,   768,   768,
   1330  1.10  christos     -750,  -750,   768,   768,   768,   490,  -750,  -750,   768,   768,
   1331  1.10  christos      768,   768,   768,   768,   768,   768,   768,   768,   768,   768,
   1332  1.10  christos      768,   768,   768,   768,   768,   768,   768,   768,   768,   768,
   1333  1.10  christos     1820,   492,   513,  -750,   516,   768,   768,  1820,   151,   517,
   1334  1.10  christos     -750,   518,  1820,  -750,  -750,  -750,  -750,   371,   372,  -750,
   1335  1.10  christos     -750,   521,  -750,  -750,  -750,   -74,  -750,   453,  -750,   184,
   1336  1.10  christos     -750,  -750,  -750,  -750,  -750,  -750,  -750,   522,  -750,  -750,
   1337  1.10  christos      983,   491,  -750,  -750,  -750,    30,   525,  -750,  -750,  -750,
   1338  1.10  christos     -750,  -750,  -750,  -750,   184,  -750,   184,   414,  -750,  -750,
   1339  1.10  christos     -750,  -750,  -750,  -750,   493,    39,   378,  -750,  1570,    48,
   1340  1.10  christos       -4,  1820,  1820,  1790,  1820,  1820,  -750,   881,  1119,  1590,
   1341  1.10  christos     1610,  1139,   528,   385,  1159,   535,  1630,  1685,  1179,  1705,
   1342  1.10  christos     1199,   393,   925,  1236,  1099,  1371,  1507,  1643,   674,   674,
   1343  1.10  christos      377,   377,   377,   377,   320,   320,    79,    79,  -750,  -750,
   1344  1.10  christos     -750,  1820,  1820,  1820,  -750,  -750,  -750,  1820,  1820,  -750,
   1345  1.10  christos     -750,  -750,  -750,   402,   417,   421,   112,   129,   120,   494,
   1346  1.10  christos     -750,  -750,   -70,   594,  -750,   681,   594,   768,   405,  -750,
   1347  1.10  christos        9,   534,    30,  -750,   422,  -750,  -750,  -750,  -750,  -750,
   1348  1.10  christos     -750,   514,    46,  -750,   549,  -750,  -750,  -750,   768,  -750,
   1349  1.10  christos     -750,   768,   768,  -750,  -750,  -750,  -750,   424,   768,   768,
   1350  1.10  christos     -750,   559,  -750,  -750,   768,  -750,  -750,  -750,   427,   548,
   1351  1.10  christos     -750,  -750,  -750,   234,   530,  1787,   552,   459,  -750,  -750,
   1352  1.10  christos     1916,   474,  -750,  1820,    42,   572,  -750,   574,     3,  -750,
   1353  1.10  christos      484,   546,  -750,    23,  -750,  -750,  -750,   550,   430,  1219,
   1354  1.10  christos     1256,  1276,   445,  -750,  1296,  1316,   433,  1820,   120,   540,
   1355  1.10  christos      112,   112,  -750,  -750,  -750,  -750,  -750,   563,   591,  -750,
   1356  1.10  christos      449,   768,   263,   588,  -750,   569,   570,   706,  -750,  -750,
   1357  1.10  christos      459,   551,   573,   585,  -750,   454,  -750,  -750,  -750,   613,
   1358  1.10  christos      475,  -750,    25,    23,  -750,  -750,  -750,  -750,  -750,   768,
   1359  1.10  christos     -750,  -750,  -750,  -750,   477,   427,   560,   768,  -750,  1336,
   1360  1.10  christos     -750,   768,   599,   495,  -750,   531,  -750,   768,    42,   768,
   1361  1.10  christos      487,  -750,  -750,   541,  -750,    36,    23,  1356,   120,   582,
   1362  1.10  christos      634,  1820,   216,  1393,   768,  -750,   531,   611,  -750,   452,
   1363  1.10  christos     1413,  -750,  1433,  -750,  -750,   639,  -750,  -750,    80,  -750,
   1364  1.10  christos     -750,   768,   614,   636,  -750,  1453,   117,   768,   592,  -750,
   1365  1.10  christos     -750,    42,  -750,  -750,  1473,   768,  -750,  -750,  -750,  -750,
   1366  1.10  christos     -750,  -750,  1493,  -750,  -750,  -750,  -750,  1530,   595,  -750,
   1367  1.10  christos     -750,   619,   818,    32,   643,   606,  -750,  -750,  -750,  -750,
   1368  1.10  christos     -750,   624,   627,   184,   628,  -750,  -750,  -750,   629,   630,
   1369  1.10  christos      631,  -750,    84,  -750,  -750,   632,    19,  -750,  -750,  -750,
   1370  1.10  christos      818,   612,   633,   -43,  -750,   648,  -750,    14,    29,  -750,
   1371  1.10  christos     -750,   637,  -750,   671,   672,  -750,   649,   650,   651,   652,
   1372  1.10  christos     -750,  -750,   -79,    84,   653,   655,    84,   657,  -750,  -750,
   1373  1.10  christos     -750,  -750,   656,   691,   607,   568,   571,   575,   818,   576,
   1374  1.10  christos     -750,   768,    15,  -750,    -1,  -750,    17,    88,    91,    29,
   1375  1.10  christos       29,  -750,    84,   123,    29,   -55,    84,   648,   577,   818,
   1376  1.10  christos     -750,   697,  -750,  -750,  -750,  -750,   687,  -750,  1725,   578,
   1377  1.10  christos      583,   721,  -750,   672,  -750,   689,   690,   584,   698,   701,
   1378  1.10  christos      586,   587,   593,  -750,  -750,  -750,   131,   607,  -750,   685,
   1379  1.10  christos      741,    67,  -750,   744,  -750,  -750,  -750,    29,    29,  -750,
   1380  1.10  christos       29,    29,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
   1381  1.10  christos      745,  -750,   600,   601,   602,   603,   604,    67,  -750,  -750,
   1382  1.10  christos     -750,   475,   -43,   605,   608,   609,   610,  -750,    67,  -750,
   1383  1.10  christos     -750,  -750,  -750,  -750,  -750,   475,  -750,  -750,   475,  -750
   1384   1.1     skrll };
   1385   1.3      matt 
   1386  1.10  christos /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
   1387  1.10  christos    Performed when YYTABLE does not specify something else to do.  Zero
   1388  1.10  christos    means the default is an error.  */
   1389  1.10  christos static const yytype_int16 yydefact[] =
   1390   1.3      matt {
   1391  1.10  christos        0,    57,    10,     8,   347,   341,     0,     2,    60,     3,
   1392  1.10  christos       13,     6,     0,     4,     0,     5,     0,     1,    58,    11,
   1393  1.10  christos        0,     0,     0,     0,     9,   358,     0,   348,   351,     0,
   1394  1.10  christos      342,   343,     0,     0,     0,     0,    77,     0,    79,    78,
   1395  1.10  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1396  1.10  christos        0,   213,   214,     0,     0,     0,    81,     0,   114,     0,
   1397  1.10  christos       70,    59,    62,    68,     0,    61,    64,    65,    66,    67,
   1398  1.10  christos       63,    69,     0,    16,     0,     0,     0,     0,    17,     0,
   1399   1.7  christos        0,     0,    19,    46,     0,     0,     0,     0,     0,     0,
   1400  1.10  christos       51,     0,     0,     0,   171,   172,   173,   174,   220,   175,
   1401  1.10  christos      176,   177,   178,   220,     0,     0,     0,   364,   375,   363,
   1402  1.10  christos      371,   373,     0,     0,   358,   352,   371,   373,     0,     0,
   1403  1.10  christos      344,   111,   330,     0,     0,     0,     0,     7,    84,   190,
   1404  1.10  christos        0,     0,     0,     0,     0,     0,     0,     0,   212,   215,
   1405  1.10  christos      215,    94,     0,     0,     0,    88,   180,   179,   113,     0,
   1406  1.10  christos        0,    40,     0,   248,   265,     0,     0,     0,     0,     0,
   1407  1.10  christos        0,     0,     0,   249,   261,     0,     0,   218,   218,   218,
   1408  1.10  christos      218,     0,     0,   218,   218,     0,     0,     0,     0,     0,
   1409  1.10  christos        0,    14,     0,    49,    31,    47,    32,    18,    33,    23,
   1410  1.10  christos        0,    36,     0,    37,    52,    38,    54,    39,    42,    12,
   1411  1.10  christos      181,     0,   182,     0,     0,     0,     0,     0,     0,     0,
   1412  1.10  christos      359,     0,     0,   346,     0,     0,    90,    91,     0,     0,
   1413  1.10  christos       60,   193,     0,     0,   187,   192,     0,     0,     0,     0,
   1414  1.10  christos        0,     0,     0,   207,   209,   187,   187,   215,     0,     0,
   1415  1.10  christos        0,     0,    94,     0,     0,     0,     0,     0,     0,    13,
   1416  1.10  christos        0,     0,   226,   222,     0,     0,     0,     0,     0,     0,
   1417  1.10  christos        0,     0,     0,   251,     0,   250,   252,   253,     0,     0,
   1418  1.10  christos      269,   270,     0,     0,     0,     0,   225,   227,     0,     0,
   1419   1.3      matt        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1420   1.3      matt        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1421  1.10  christos       25,     0,     0,    45,     0,     0,     0,    22,     0,     0,
   1422  1.10  christos       55,     0,   221,   220,   220,   220,   369,     0,     0,   353,
   1423  1.10  christos      366,   376,   365,   372,   374,     0,   345,   286,   108,     0,
   1424  1.10  christos      291,   296,   110,   109,   332,   329,   331,     0,    74,    76,
   1425  1.10  christos      349,   199,   195,   188,   186,     0,     0,    93,    71,    72,
   1426  1.10  christos       83,   112,   205,   206,     0,   210,     0,   215,   216,    86,
   1427  1.10  christos       87,    80,    96,    99,     0,    95,     0,    73,     0,     0,
   1428  1.10  christos        0,    27,    28,    43,    29,    30,   223,     0,     0,     0,
   1429   1.3      matt        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1430  1.10  christos        0,     0,     0,   246,   245,   243,   242,   241,   235,   236,
   1431  1.10  christos      239,   240,   237,   238,   233,   234,   231,   232,   228,   229,
   1432  1.10  christos      230,    15,    26,    24,    50,    48,    44,    20,    21,    35,
   1433  1.10  christos       34,    53,    56,     0,     0,     0,     0,   360,   361,     0,
   1434  1.10  christos      356,   354,     0,   310,   299,     0,   310,     0,     0,    85,
   1435  1.10  christos        0,     0,   190,   191,     0,   208,   211,   217,   102,    98,
   1436  1.10  christos      101,     0,     0,    82,     0,    89,   350,    41,     0,   256,
   1437  1.10  christos      264,     0,     0,   260,   262,   247,   224,     0,     0,     0,
   1438  1.10  christos      255,     0,   271,   254,     0,   183,   184,   185,   377,   374,
   1439  1.10  christos      367,   357,   355,     0,     0,   310,     0,   275,   111,   317,
   1440  1.10  christos        0,   318,   297,   335,   336,     0,   203,     0,     0,   201,
   1441  1.10  christos        0,     0,    92,     0,   106,    97,   100,     0,     0,     0,
   1442  1.10  christos        0,     0,     0,   219,     0,     0,     0,   244,   378,     0,
   1443  1.10  christos        0,     0,   301,   302,   303,   304,   305,   307,     0,   311,
   1444  1.10  christos        0,     0,     0,     0,   313,     0,   277,     0,   316,   319,
   1445  1.10  christos      275,     0,   339,     0,   333,     0,   204,   200,   202,     0,
   1446  1.10  christos      187,   196,     0,     0,   104,   115,   257,   258,   259,     0,
   1447  1.10  christos      266,   267,   268,   370,     0,   377,     0,     0,   309,     0,
   1448  1.10  christos      312,     0,     0,   279,   300,   281,   111,     0,   336,     0,
   1449  1.10  christos        0,    75,   220,     0,   103,     0,     0,     0,   362,     0,
   1450  1.10  christos        0,   308,   310,     0,     0,   278,   281,     0,   292,     0,
   1451  1.10  christos        0,   337,     0,   334,   197,     0,   194,   107,     0,   263,
   1452  1.10  christos      368,     0,     0,     0,   274,     0,   285,     0,     0,   298,
   1453  1.10  christos      340,   336,   220,   105,     0,     0,   314,   276,   282,   283,
   1454  1.10  christos      284,   287,     0,   293,   338,   198,   306,     0,     0,   280,
   1455  1.10  christos      324,   310,   161,     0,     0,   138,   163,   164,   165,   166,
   1456  1.10  christos      167,     0,     0,     0,     0,   149,   150,   155,     0,     0,
   1457  1.10  christos        0,   147,     0,   117,   119,     0,     0,   144,   152,   160,
   1458  1.10  christos      162,     0,     0,     0,   325,   321,   315,     0,     0,   157,
   1459  1.10  christos      220,     0,   145,     0,     0,   116,     0,     0,     0,     0,
   1460  1.10  christos      122,   137,   187,     0,   139,     0,     0,     0,   159,   288,
   1461  1.10  christos      220,   148,     0,     0,   273,     0,     0,     0,   161,     0,
   1462  1.10  christos      168,     0,     0,   131,     0,   135,     0,     0,     0,     0,
   1463  1.10  christos        0,   140,     0,   187,     0,   187,     0,   321,     0,   161,
   1464  1.10  christos      320,     0,   322,   151,   120,   121,     0,   154,     0,   116,
   1465  1.10  christos        0,     0,   133,     0,   134,     0,     0,     0,     0,     0,
   1466  1.10  christos        0,     0,     0,   136,   142,   141,   187,   273,   153,     0,
   1467  1.10  christos        0,   170,   158,     0,   146,   132,   118,     0,     0,   123,
   1468  1.10  christos        0,     0,   124,   125,   130,   143,   322,   326,   272,   220,
   1469  1.10  christos        0,   294,     0,     0,     0,     0,     0,   170,   322,   169,
   1470  1.10  christos      323,   187,     0,     0,     0,     0,     0,   289,   170,   295,
   1471  1.10  christos      156,   127,   126,   128,   129,   187,   327,   290,   187,   328
   1472   1.6  christos };
   1473   1.6  christos 
   1474  1.10  christos /* YYPGOTO[NTERM-NUM].  */
   1475   1.7  christos static const yytype_int16 yypgoto[] =
   1476   1.6  christos {
   1477  1.10  christos     -750,  -750,   -73,  -750,  -750,  -750,  -750,   503,  -750,  -750,
   1478  1.10  christos     -750,  -750,  -750,  -750,   515,  -750,  -750,   554,  -750,  -750,
   1479  1.10  christos     -750,  -750,   533,  -750,  -464,  -750,  -750,  -750,  -750,  -457,
   1480  1.10  christos      -13,  -750,  -649,  1234,   110,    55,  -750,  -750,  -750,  -628,
   1481  1.10  christos       70,  -750,  -750,   109,  -750,  -750,  -750,  -671,  -750,     4,
   1482  1.10  christos     -749,  -750,  -648,   -12,  -220,  -750,   345,  -750,   439,  -750,
   1483  1.10  christos     -750,  -750,  -750,  -750,  -750,   287,  -750,  -750,  -750,  -750,
   1484  1.10  christos     -750,  -750,  -130,   122,  -750,   -89,  -750,   -76,  -750,  -750,
   1485  1.10  christos       33,   246,  -750,  -750,   193,  -750,  -750,  -750,  -750,  -750,
   1486  1.10  christos     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -477,
   1487  1.10  christos      356,  -750,  -750,    64,  -702,  -750,  -750,  -750,  -750,  -750,
   1488  1.10  christos     -750,  -750,  -750,  -750,  -750,  -522,  -750,  -750,  -750,  -750,
   1489  1.10  christos      763,  -750,  -750,  -750,  -750,  -750,   555,   -24,  -750,   680,
   1490  1.10  christos      -23,  -750,  -750,   230
   1491   1.1     skrll };
   1492   1.3      matt 
   1493  1.10  christos /* YYDEFGOTO[NTERM-NUM].  */
   1494   1.7  christos static const yytype_int16 yydefgoto[] =
   1495   1.3      matt {
   1496  1.10  christos        0,     6,   128,    11,    12,     9,    10,    19,    93,   249,
   1497  1.10  christos      187,   186,   184,   195,   197,     7,     8,    18,    61,   142,
   1498  1.10  christos      220,   245,   240,   241,   365,   503,   586,   553,    62,   214,
   1499  1.10  christos      332,   144,   663,   664,   665,   691,   714,   666,   716,   692,
   1500  1.10  christos      667,   668,   712,   669,   681,   708,   670,   671,   672,   709,
   1501  1.10  christos      781,   103,   148,    64,   722,    65,   223,   224,   225,   341,
   1502  1.10  christos      442,   550,   606,   441,   498,   499,    66,    67,   235,    68,
   1503  1.10  christos      236,    69,   238,   263,   264,   710,   201,   254,   260,   512,
   1504  1.10  christos      732,   536,   573,   596,   598,   631,   333,   433,   638,   727,
   1505  1.10  christos      805,   435,   618,   640,   791,   436,   541,   488,   530,   486,
   1506  1.10  christos      487,   491,   540,   704,   761,   643,   702,   788,   808,    70,
   1507  1.10  christos      215,   336,   437,   580,   494,   544,   578,    15,    16,    30,
   1508  1.10  christos       31,   118,    13,    14,    71,    72,    27,    28,   432,   112,
   1509  1.10  christos      113,   521,   426,   519
   1510   1.1     skrll };
   1511   1.3      matt 
   1512  1.10  christos /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
   1513  1.10  christos    positive, shift that token.  If negative, reduce the rule whose
   1514  1.10  christos    number is the opposite.  If YYTABLE_NINF, syntax error.  */
   1515   1.4      matt static const yytype_int16 yytable[] =
   1516   1.3      matt {
   1517  1.10  christos       24,   181,   151,   115,   345,    63,   119,   496,   533,   200,
   1518  1.10  christos      239,   191,   247,   496,   202,   354,   356,   127,   685,   739,
   1519  1.10  christos      741,   685,  -189,   694,    20,   701,   334,   362,   363,   449,
   1520  1.10  christos      450,   537,    29,   685,   221,   715,   674,   736,   797,   552,
   1521  1.10  christos      449,   450,    25,   449,   450,  -189,   542,   303,   310,   806,
   1522  1.10  christos      505,   506,   310,   237,    25,   456,   601,   337,   759,   338,
   1523  1.10  christos      229,   230,   430,   232,   234,   723,   481,   744,   725,   695,
   1524  1.10  christos      243,   652,   344,   695,   787,   652,   721,   779,   431,   252,
   1525  1.10  christos      253,   335,   482,   780,   449,   450,   798,   250,   685,   585,
   1526  1.10  christos       17,   675,   685,   104,   766,   685,   344,   222,   756,   634,
   1527  1.10  christos      755,   123,   124,   276,   277,   105,   300,   358,   146,   147,
   1528  1.10  christos      107,   294,   295,   296,   307,   613,   107,   114,   705,   599,
   1529  1.10  christos       26,   344,   608,   353,   320,   312,   106,   121,    21,    22,
   1530  1.10  christos       23,   122,    26,   320,   364,   125,   451,   344,   686,   687,
   1531  1.10  christos      688,   689,   745,   746,   800,   748,   749,   451,   543,   342,
   1532  1.10  christos      451,   126,   742,   248,   419,   420,   547,   507,   344,   497,
   1533  1.10  christos      355,   659,   660,   660,   644,   497,   233,   660,   368,   662,
   1534  1.10  christos      743,   371,   372,   696,   374,   375,   452,   660,   584,   377,
   1535  1.10  christos      378,   379,   380,   381,   317,   318,   384,   452,   127,   607,
   1536  1.10  christos      452,   451,   386,   387,   304,   311,   388,   389,   390,   311,
   1537  1.10  christos      357,   455,   392,   393,   394,   395,   396,   397,   398,   399,
   1538  1.10  christos      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   1539  1.10  christos      410,   411,   412,   413,   423,   424,   425,   447,   251,   417,
   1540  1.10  christos      418,   452,   660,   623,   129,   130,   660,   153,   154,   660,
   1541  1.10  christos      108,   131,   132,   109,   110,   111,   108,   133,   134,   109,
   1542  1.10  christos      116,   117,   135,   532,   321,   612,   434,   322,   323,   324,
   1543  1.10  christos      628,   629,   630,   321,   155,   156,   322,   323,   479,   136,
   1544  1.10  christos      137,   157,   158,   159,   344,   138,   754,     1,     2,     3,
   1545  1.10  christos      139,   445,   344,   446,   775,   160,   161,   162,     4,   140,
   1546  1.10  christos      265,   266,   267,   141,   163,   270,   271,     5,   143,   145,
   1547  1.10  christos      164,   149,   150,   152,   182,   522,   523,   524,   525,   526,
   1548  1.10  christos      527,   528,   165,   183,   185,   188,   189,   166,   167,   168,
   1549  1.10  christos      169,   170,   171,   172,   199,   190,   192,    63,   193,   207,
   1550  1.10  christos      583,   173,   194,   174,   522,   523,   524,   525,   526,   527,
   1551  1.10  christos      528,   327,   196,   198,   203,   204,   115,   205,   206,   175,
   1552  1.10  christos      292,   293,   294,   295,   296,   176,   177,   485,   208,   490,
   1553  1.10  christos      485,   493,   278,   209,   279,   280,   281,   282,   283,   284,
   1554   1.7  christos      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   1555  1.10  christos      295,   296,   509,   178,   216,   510,   511,   529,   210,   212,
   1556  1.10  christos      179,   180,   514,   515,   153,   154,   328,   213,   517,   217,
   1557  1.10  christos      218,   298,   219,   478,   329,   290,   291,   292,   293,   294,
   1558  1.10  christos      295,   296,   330,   226,   227,   228,   529,   231,   237,    47,
   1559  1.10  christos      242,   155,   156,   244,   246,   255,   256,   257,   157,   158,
   1560  1.10  christos      159,   258,   301,   302,   259,   308,   261,   262,   268,   331,
   1561  1.10  christos      269,   272,   160,   161,   162,    21,    22,    23,   309,   273,
   1562  1.10  christos      313,   163,   274,   275,   314,   569,   327,   164,    58,    94,
   1563  1.10  christos       95,    96,    97,    98,    99,   100,   101,   102,   315,   165,
   1564  1.10  christos      319,   326,   382,   383,   166,   167,   168,   169,   170,   171,
   1565  1.10  christos      172,   316,   339,   587,   325,   343,   346,   347,   173,   348,
   1566  1.10  christos      174,   591,   385,   604,   391,   593,   414,   564,   565,   349,
   1567  1.10  christos      376,   600,   350,   602,   351,   352,   175,   359,   360,   153,
   1568  1.10  christos      154,   619,   176,   177,   361,   367,   305,   415,   615,   329,
   1569  1.10  christos      416,   421,   422,   427,   428,   429,   438,   330,   440,   444,
   1570  1.10  christos      448,   453,   464,   635,    47,   624,   155,   156,   465,   467,
   1571  1.10  christos      178,   632,   299,   157,   158,   159,   473,   179,   180,   637,
   1572  1.10  christos      500,   504,   480,   508,   331,   475,   495,   160,   161,   162,
   1573  1.10  christos       21,    22,    23,   516,   520,   535,   163,   531,   534,   539,
   1574  1.10  christos      476,   799,   164,    58,   477,   502,   545,   513,   546,   518,
   1575  1.10  christos      679,   549,   551,   555,   165,   807,   562,   554,   809,   166,
   1576  1.10  christos      167,   168,   169,   170,   171,   172,   559,   153,   154,   563,
   1577  1.10  christos      566,   567,   568,   173,   570,   174,   571,   581,   572,   576,
   1578  1.10  christos      577,   728,    94,    95,    96,    97,    98,    99,   100,   101,
   1579  1.10  christos      102,   175,   579,   582,   155,   156,   344,   176,   177,   588,
   1580  1.10  christos      673,   483,   158,   159,   484,   738,   594,   590,   597,   603,
   1581  1.10  christos      605,   610,   595,  -116,   611,   160,   161,   162,   617,   622,
   1582  1.10  christos      633,   625,   626,   642,   163,   178,   532,   306,   673,   676,
   1583  1.10  christos      164,   677,   179,   180,   678,   680,   682,   683,   684,   693,
   1584  1.10  christos      700,   699,   165,   703,   711,   713,   685,   166,   167,   168,
   1585  1.10  christos      169,   170,   171,   172,   153,   154,   717,   718,   719,   720,
   1586  1.10  christos     -116,   173,   724,   174,   726,   730,   673,   489,   286,   287,
   1587  1.10  christos      288,   289,   290,   291,   292,   293,   294,   295,   296,   175,
   1588  1.10  christos      327,   155,   156,   731,   729,   176,   177,   673,   157,   158,
   1589  1.10  christos      159,   733,   760,   762,   734,   765,   767,   768,   735,   737,
   1590  1.10  christos      758,  -138,   160,   161,   162,   770,   764,   769,   771,   772,
   1591  1.10  christos      773,   163,   574,   178,   777,   778,   774,   164,   782,   790,
   1592  1.10  christos      179,   180,   373,   792,   793,   794,   795,   796,   801,   165,
   1593  1.10  christos      369,   802,   803,   804,   166,   167,   168,   169,   170,   171,
   1594  1.10  christos      172,   153,   154,   329,   340,   366,   697,   753,   173,   698,
   1595  1.10  christos      174,   330,   740,   789,   443,   548,   575,   501,    47,   616,
   1596  1.10  christos      776,   757,   492,   120,   211,   589,   175,     0,   155,   156,
   1597  1.10  christos        0,   370,   176,   177,     0,   157,   158,   159,   331,     0,
   1598  1.10  christos        0,     0,     0,     0,    21,    22,    23,     0,     0,   160,
   1599  1.10  christos      161,   162,   645,     0,     0,     0,     0,    58,   163,     0,
   1600  1.10  christos      178,     0,     0,     0,   164,     0,     0,   179,   180,     0,
   1601  1.10  christos        0,     0,     0,     0,     0,     0,   165,     0,     0,     0,
   1602  1.10  christos        0,   166,   167,   168,   169,   170,   171,   172,     0,   646,
   1603  1.10  christos      647,   648,   649,   650,     0,   173,     0,   174,     0,     0,
   1604  1.10  christos        0,     0,   651,     0,   652,     0,     0,     0,     0,     0,
   1605  1.10  christos        0,     0,     0,   175,     0,   653,     0,     0,     0,   176,
   1606  1.10  christos      177,     0,     0,     0,     0,     0,   278,     0,   279,   280,
   1607  1.10  christos      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   1608  1.10  christos      291,   292,   293,   294,   295,   296,   654,   178,   655,    20,
   1609  1.10  christos        0,     0,   656,     0,   179,   180,    21,    22,    23,     0,
   1610  1.10  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,   657,
   1611  1.10  christos      278,   474,   279,   280,   281,   282,   283,   284,   285,   286,
   1612  1.10  christos      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   1613  1.10  christos      658,    32,    33,    34,   659,     0,   660,     0,     0,     0,
   1614  1.10  christos      661,     0,   662,     0,     0,     0,    35,    36,    37,    38,
   1615  1.10  christos       39,     0,    40,    41,    42,    43,     0,    20,     0,     0,
   1616  1.10  christos        0,     0,     0,     0,    44,    45,    46,    47,     0,     0,
   1617  1.10  christos        0,     0,     0,     0,     0,    48,    49,    50,    51,    52,
   1618  1.10  christos       53,    54,     0,     0,     0,     0,    55,    56,    57,   439,
   1619  1.10  christos        0,     0,     0,    21,    22,    23,     0,     0,     0,    32,
   1620  1.10  christos       33,    34,   458,     0,   459,     0,    58,     0,     0,     0,
   1621  1.10  christos        0,     0,     0,     0,    35,    36,    37,    38,    39,    59,
   1622  1.10  christos       40,    41,    42,    43,     0,  -349,     0,     0,     0,     0,
   1623  1.10  christos        0,     0,    44,    45,    46,    47,     0,    60,     0,     0,
   1624  1.10  christos        0,     0,     0,    48,    49,    50,    51,    52,    53,    54,
   1625  1.10  christos        0,     0,     0,     0,    55,    56,    57,     0,     0,     0,
   1626  1.10  christos        0,    21,    22,    23,     0,     0,     0,     0,     0,     0,
   1627  1.10  christos        0,     0,     0,     0,    58,     0,     0,     0,     0,     0,
   1628  1.10  christos        0,     0,     0,     0,     0,     0,     0,    59,   281,   282,
   1629  1.10  christos      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   1630  1.10  christos      293,   294,   295,   296,   278,    60,   279,   280,   281,   282,
   1631  1.10  christos      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   1632  1.10  christos      293,   294,   295,   296,   278,     0,   279,   280,   281,   282,
   1633  1.10  christos      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   1634  1.10  christos      293,   294,   295,   296,   278,     0,   279,   280,   281,   282,
   1635  1.10  christos      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   1636  1.10  christos      293,   294,   295,   296,   278,     0,   279,   280,   281,   282,
   1637  1.10  christos      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   1638  1.10  christos      293,   294,   295,   296,   278,     0,   279,   280,   281,   282,
   1639  1.10  christos      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   1640  1.10  christos      293,   294,   295,   296,   278,     0,   279,   280,   281,   282,
   1641  1.10  christos      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   1642  1.10  christos      293,   294,   295,   296,   280,   281,   282,   283,   284,   285,
   1643  1.10  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1644  1.10  christos      296,   278,   460,   279,   280,   281,   282,   283,   284,   285,
   1645   1.6  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1646  1.10  christos      296,   278,   463,   279,   280,   281,   282,   283,   284,   285,
   1647  1.10  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1648  1.10  christos      296,   278,   466,   279,   280,   281,   282,   283,   284,   285,
   1649  1.10  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1650  1.10  christos      296,   278,   470,   279,   280,   281,   282,   283,   284,   285,
   1651  1.10  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1652  1.10  christos      296,   278,   472,   279,   280,   281,   282,   283,   284,   285,
   1653  1.10  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1654  1.10  christos      296,   278,   556,   279,   280,   281,   282,   283,   284,   285,
   1655   1.6  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1656  1.10  christos      296,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   1657  1.10  christos      291,   292,   293,   294,   295,   296,     0,     0,   278,   557,
   1658  1.10  christos      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   1659  1.10  christos      289,   290,   291,   292,   293,   294,   295,   296,   278,   558,
   1660  1.10  christos      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   1661  1.10  christos      289,   290,   291,   292,   293,   294,   295,   296,   278,   560,
   1662  1.10  christos      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   1663  1.10  christos      289,   290,   291,   292,   293,   294,   295,   296,   278,   561,
   1664  1.10  christos      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   1665  1.10  christos      289,   290,   291,   292,   293,   294,   295,   296,   278,   592,
   1666  1.10  christos      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   1667  1.10  christos      289,   290,   291,   292,   293,   294,   295,   296,   278,   609,
   1668  1.10  christos      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   1669  1.10  christos      289,   290,   291,   292,   293,   294,   295,   296,   283,   284,
   1670   1.7  christos      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   1671  1.10  christos      295,   296,     0,     0,     0,   278,   614,   279,   280,   281,
   1672  1.10  christos      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   1673  1.10  christos      292,   293,   294,   295,   296,   278,   620,   279,   280,   281,
   1674  1.10  christos      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   1675  1.10  christos      292,   293,   294,   295,   296,   278,   621,   279,   280,   281,
   1676  1.10  christos      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   1677  1.10  christos      292,   293,   294,   295,   296,   278,   627,   279,   280,   281,
   1678  1.10  christos      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   1679  1.10  christos      292,   293,   294,   295,   296,   278,   636,   279,   280,   281,
   1680  1.10  christos      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   1681  1.10  christos      292,   293,   294,   295,   296,   278,   639,   279,   280,   281,
   1682  1.10  christos      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   1683  1.10  christos      292,   293,   294,   295,   296,   284,   285,   286,   287,   288,
   1684  1.10  christos      289,   290,   291,   292,   293,   294,   295,   296,     0,     0,
   1685  1.10  christos        0,     0,     0,   641,     0,     0,     0,     0,     0,     0,
   1686  1.10  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1687  1.10  christos      278,   297,   279,   280,   281,   282,   283,   284,   285,   286,
   1688  1.10  christos      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   1689  1.10  christos      278,   454,   279,   280,   281,   282,   283,   284,   285,   286,
   1690  1.10  christos      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   1691  1.10  christos      278,   461,   279,   280,   281,   282,   283,   284,   285,   286,
   1692  1.10  christos      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   1693  1.10  christos        0,   462,     0,     0,     0,     0,     0,     0,     0,    73,
   1694   1.7  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1695  1.10  christos        0,   468,     0,     0,     0,     0,     0,     0,     0,     0,
   1696  1.10  christos        0,     0,     0,     0,    73,     0,     0,     0,     0,     0,
   1697  1.10  christos        0,     0,   278,    74,   279,   280,   281,   282,   283,   284,
   1698   1.7  christos      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   1699  1.10  christos      295,   296,     0,     0,   532,     0,   457,     0,    74,     0,
   1700  1.10  christos        0,     0,    75,     0,     0,   278,   469,   279,   280,   281,
   1701   1.7  christos      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   1702  1.10  christos      292,   293,   294,   295,   296,     0,   471,    75,     0,     0,
   1703  1.10  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1704  1.10  christos       76,     0,     0,     0,     0,     0,   763,    77,    78,    79,
   1705  1.10  christos       80,    81,   -43,    82,    83,    84,     0,     0,    85,    86,
   1706  1.10  christos        0,    87,    88,    89,     0,    76,   690,     0,    90,    91,
   1707  1.10  christos       92,     0,    77,    78,    79,    80,    81,     0,    82,    83,
   1708  1.10  christos       84,   706,   707,    85,    86,     0,    87,    88,    89,     0,
   1709  1.10  christos        0,     0,     0,    90,    91,    92,     0,   690,     0,     0,
   1710  1.10  christos      690,   278,   538,   279,   280,   281,   282,   283,   284,   285,
   1711  1.10  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1712  1.10  christos      296,   747,   750,   751,   752,     0,   690,     0,   706,     0,
   1713  1.10  christos      690,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1714  1.10  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1715   1.7  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1716  1.10  christos        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   1717  1.10  christos        0,   783,   784,     0,   785,   786
   1718   1.1     skrll };
   1719   1.3      matt 
   1720   1.4      matt static const yytype_int16 yycheck[] =
   1721   1.3      matt {
   1722  1.10  christos       12,    77,    75,    27,   224,    18,    29,     4,   485,    98,
   1723  1.10  christos      140,    87,    10,     4,   103,   235,   236,     4,     4,     4,
   1724  1.10  christos       21,     4,    36,     4,     4,   673,     4,     4,     5,     4,
   1725  1.10  christos        5,   488,    58,     4,     4,   684,     4,   708,   787,   503,
   1726  1.10  christos        4,     5,    58,     4,     5,    59,     4,     4,     4,   798,
   1727  1.10  christos        4,     5,     4,     4,    58,    59,   578,   151,   729,   153,
   1728  1.10  christos      133,   134,   136,   136,   137,   693,   136,   716,   696,    54,
   1729  1.10  christos      143,    56,   151,    54,   776,    56,   155,    10,   152,   155,
   1730  1.10  christos      156,    59,   152,    16,     4,     5,   788,    10,     4,   553,
   1731  1.10  christos        0,    59,     4,    37,   743,     4,   151,    67,   726,   621,
   1732  1.10  christos      155,    49,    50,   179,   180,    37,   182,   237,   151,   152,
   1733  1.10  christos        4,    32,    33,    34,   190,   592,     4,    58,   104,   576,
   1734  1.10  christos      136,   151,   586,   153,     4,   201,    37,    58,   108,   109,
   1735  1.10  christos      110,    58,   136,     4,   111,    37,   111,   151,    54,    55,
   1736  1.10  christos       56,    57,    54,    55,   792,    54,    55,   111,   106,   222,
   1737  1.10  christos      111,    37,   153,   151,     3,     4,   153,   111,   151,   156,
   1738  1.10  christos      153,   146,   148,   148,   641,   156,   153,   148,   244,   154,
   1739  1.10  christos      153,   247,   248,   154,   250,   251,   151,   148,   153,   255,
   1740  1.10  christos      256,   257,   258,   259,   207,   208,   262,   151,     4,   153,
   1741  1.10  christos      151,   111,   268,   269,   151,   151,   272,   273,   274,   151,
   1742  1.10  christos      151,   153,   278,   279,   280,   281,   282,   283,   284,   285,
   1743  1.10  christos      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   1744  1.10  christos      296,   297,   298,   299,   313,   314,   315,   357,   151,   305,
   1745  1.10  christos      306,   151,   148,   153,    58,    37,   148,     3,     4,   148,
   1746  1.10  christos      134,    37,    37,   137,   138,   139,   134,    37,    37,   137,
   1747  1.10  christos      138,   139,    37,    37,   134,    39,   329,   137,   138,   139,
   1748  1.10  christos      143,   144,   145,   134,    30,    31,   137,   138,   139,    37,
   1749  1.10  christos       37,    37,    38,    39,   151,    37,   153,   130,   131,   132,
   1750  1.10  christos       37,   354,   151,   356,   153,    51,    52,    53,   141,    37,
   1751  1.10  christos      168,   169,   170,    37,    60,   173,   174,   150,    37,    37,
   1752  1.10  christos       66,   140,     4,     4,     4,    71,    72,    73,    74,    75,
   1753  1.10  christos       76,    77,    78,     4,     4,     4,     4,    83,    84,    85,
   1754  1.10  christos       86,    87,    88,    89,   117,     4,     4,   340,     3,    16,
   1755  1.10  christos      550,    97,     4,    99,    71,    72,    73,    74,    75,    76,
   1756  1.10  christos       77,     4,     4,     4,     4,     4,   370,     4,     4,   115,
   1757  1.10  christos       30,    31,    32,    33,    34,   121,   122,   433,    16,   435,
   1758  1.10  christos      436,   437,    15,    59,    17,    18,    19,    20,    21,    22,
   1759  1.10  christos       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   1760  1.10  christos       33,    34,   458,   149,     4,   461,   462,   153,   152,    59,
   1761  1.10  christos      156,   157,   468,   469,     3,     4,    59,   152,   474,     4,
   1762  1.10  christos        4,    10,     4,   426,    67,    28,    29,    30,    31,    32,
   1763  1.10  christos       33,    34,    75,     4,     4,     4,   153,     4,     4,    82,
   1764  1.10  christos       37,    30,    31,    37,    58,    37,    37,    37,    37,    38,
   1765  1.10  christos       39,    37,   151,   151,    37,   151,    37,    37,    37,   102,
   1766  1.10  christos       37,    37,    51,    52,    53,   108,   109,   110,   151,    37,
   1767  1.10  christos       10,    60,    37,    37,    10,   531,     4,    66,   121,     6,
   1768  1.10  christos        7,     8,     9,    10,    11,    12,    13,    14,    10,    78,
   1769  1.10  christos      152,   152,    37,     4,    83,    84,    85,    86,    87,    88,
   1770  1.10  christos       89,    58,   153,   559,    59,    59,   151,   153,    97,   153,
   1771  1.10  christos       99,   567,    37,   582,     4,   571,     4,   520,   521,   153,
   1772  1.10  christos      153,   577,   153,   579,   153,   153,   115,   153,   153,     3,
   1773  1.10  christos        4,    59,   121,   122,   153,   153,    10,     4,   594,    67,
   1774  1.10  christos        4,     4,     4,   152,   152,     4,     4,    75,    37,     4,
   1775  1.10  christos       37,   153,     4,   622,    82,   611,    30,    31,   153,     4,
   1776  1.10  christos      149,   617,   151,    37,    38,    39,   153,   156,   157,   625,
   1777  1.10  christos       16,    37,    58,     4,   102,   153,   151,    51,    52,    53,
   1778  1.10  christos      108,   109,   110,     4,    16,   106,    60,    37,    16,    95,
   1779  1.10  christos      153,   791,    66,   121,   153,   153,     4,   153,     4,   152,
   1780  1.10  christos      653,    97,    36,   153,    78,   805,   153,    37,   808,    83,
   1781  1.10  christos       84,    85,    86,    87,    88,    89,   151,     3,     4,    59,
   1782  1.10  christos       37,    10,   153,    97,    16,    99,    37,   153,    38,    58,
   1783  1.10  christos       37,   700,     6,     7,     8,     9,    10,    11,    12,    13,
   1784  1.10  christos       14,   115,    37,    10,    30,    31,   151,   121,   122,   152,
   1785  1.10  christos      642,    37,    38,    39,    40,   711,    37,    77,   107,   152,
   1786  1.10  christos       99,    59,   147,    37,    10,    51,    52,    53,    37,    10,
   1787  1.10  christos       58,    37,    16,    58,    60,   149,    37,   151,   670,    16,
   1788  1.10  christos       66,    37,   156,   157,    37,    37,    37,    37,    37,    37,
   1789  1.10  christos       37,    59,    78,    25,    37,     4,     4,    83,    84,    85,
   1790  1.10  christos       86,    87,    88,    89,     3,     4,    37,    37,    37,    37,
   1791  1.10  christos       37,    97,    37,    99,    37,     4,   708,    16,    24,    25,
   1792  1.10  christos       26,    27,    28,    29,    30,    31,    32,    33,    34,   115,
   1793  1.10  christos        4,    30,    31,   106,    58,   121,   122,   729,    37,    38,
   1794  1.10  christos       39,   153,    25,    36,   153,     4,    37,    37,   153,   153,
   1795  1.10  christos      153,   153,    51,    52,    53,    37,   153,   153,    37,   153,
   1796  1.10  christos      153,    60,    36,   149,    59,     4,   153,    66,     4,     4,
   1797  1.10  christos      156,   157,   249,   153,   153,   153,   153,   153,   153,    78,
   1798  1.10  christos      245,   153,   153,   153,    83,    84,    85,    86,    87,    88,
   1799  1.10  christos       89,     3,     4,    67,   220,   242,   666,   722,    97,   670,
   1800  1.10  christos       99,    75,   712,   779,   345,   498,   540,   442,    82,   596,
   1801  1.10  christos      757,   727,   436,    30,   114,   565,   115,    -1,    30,    31,
   1802  1.10  christos       -1,   246,   121,   122,    -1,    37,    38,    39,   102,    -1,
   1803  1.10  christos       -1,    -1,    -1,    -1,   108,   109,   110,    -1,    -1,    51,
   1804  1.10  christos       52,    53,     4,    -1,    -1,    -1,    -1,   121,    60,    -1,
   1805  1.10  christos      149,    -1,    -1,    -1,    66,    -1,    -1,   156,   157,    -1,
   1806  1.10  christos       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
   1807  1.10  christos       -1,    83,    84,    85,    86,    87,    88,    89,    -1,    41,
   1808  1.10  christos       42,    43,    44,    45,    -1,    97,    -1,    99,    -1,    -1,
   1809  1.10  christos       -1,    -1,    54,    -1,    56,    -1,    -1,    -1,    -1,    -1,
   1810  1.10  christos       -1,    -1,    -1,   115,    -1,    67,    -1,    -1,    -1,   121,
   1811  1.10  christos      122,    -1,    -1,    -1,    -1,    -1,    15,    -1,    17,    18,
   1812  1.10  christos       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   1813  1.10  christos       29,    30,    31,    32,    33,    34,    98,   149,   100,     4,
   1814  1.10  christos       -1,    -1,   104,    -1,   156,   157,   108,   109,   110,    -1,
   1815  1.10  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,
   1816  1.10  christos       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
   1817  1.10  christos       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
   1818  1.10  christos      142,    46,    47,    48,   146,    -1,   148,    -1,    -1,    -1,
   1819  1.10  christos      152,    -1,   154,    -1,    -1,    -1,    61,    62,    63,    64,
   1820  1.10  christos       65,    -1,    67,    68,    69,    70,    -1,     4,    -1,    -1,
   1821  1.10  christos       -1,    -1,    -1,    -1,    79,    80,    81,    82,    -1,    -1,
   1822  1.10  christos       -1,    -1,    -1,    -1,    -1,    90,    91,    92,    93,    94,
   1823  1.10  christos       95,    96,    -1,    -1,    -1,    -1,   101,   102,   103,    36,
   1824  1.10  christos       -1,    -1,    -1,   108,   109,   110,    -1,    -1,    -1,    46,
   1825  1.10  christos       47,    48,   151,    -1,   153,    -1,   121,    -1,    -1,    -1,
   1826  1.10  christos       -1,    -1,    -1,    -1,    61,    62,    63,    64,    65,   134,
   1827  1.10  christos       67,    68,    69,    70,    -1,   140,    -1,    -1,    -1,    -1,
   1828  1.10  christos       -1,    -1,    79,    80,    81,    82,    -1,   152,    -1,    -1,
   1829  1.10  christos       -1,    -1,    -1,    90,    91,    92,    93,    94,    95,    96,
   1830  1.10  christos       -1,    -1,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   1831  1.10  christos       -1,   108,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,
   1832  1.10  christos       -1,    -1,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
   1833  1.10  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,   134,    19,    20,
   1834  1.10  christos       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   1835  1.10  christos       31,    32,    33,    34,    15,   152,    17,    18,    19,    20,
   1836  1.10  christos       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   1837  1.10  christos       31,    32,    33,    34,    15,    -1,    17,    18,    19,    20,
   1838  1.10  christos       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   1839  1.10  christos       31,    32,    33,    34,    15,    -1,    17,    18,    19,    20,
   1840  1.10  christos       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   1841  1.10  christos       31,    32,    33,    34,    15,    -1,    17,    18,    19,    20,
   1842  1.10  christos       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   1843  1.10  christos       31,    32,    33,    34,    15,    -1,    17,    18,    19,    20,
   1844   1.7  christos       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   1845  1.10  christos       31,    32,    33,    34,    15,    -1,    17,    18,    19,    20,
   1846   1.7  christos       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   1847  1.10  christos       31,    32,    33,    34,    18,    19,    20,    21,    22,    23,
   1848  1.10  christos       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1849  1.10  christos       34,    15,   153,    17,    18,    19,    20,    21,    22,    23,
   1850  1.10  christos       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1851  1.10  christos       34,    15,   153,    17,    18,    19,    20,    21,    22,    23,
   1852  1.10  christos       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1853  1.10  christos       34,    15,   153,    17,    18,    19,    20,    21,    22,    23,
   1854  1.10  christos       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1855  1.10  christos       34,    15,   153,    17,    18,    19,    20,    21,    22,    23,
   1856  1.10  christos       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1857  1.10  christos       34,    15,   153,    17,    18,    19,    20,    21,    22,    23,
   1858  1.10  christos       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1859  1.10  christos       34,    15,   153,    17,    18,    19,    20,    21,    22,    23,
   1860  1.10  christos       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1861  1.10  christos       34,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   1862  1.10  christos       29,    30,    31,    32,    33,    34,    -1,    -1,    15,   153,
   1863   1.7  christos       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
   1864  1.10  christos       27,    28,    29,    30,    31,    32,    33,    34,    15,   153,
   1865   1.7  christos       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
   1866  1.10  christos       27,    28,    29,    30,    31,    32,    33,    34,    15,   153,
   1867   1.7  christos       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
   1868  1.10  christos       27,    28,    29,    30,    31,    32,    33,    34,    15,   153,
   1869   1.7  christos       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
   1870  1.10  christos       27,    28,    29,    30,    31,    32,    33,    34,    15,   153,
   1871   1.7  christos       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
   1872  1.10  christos       27,    28,    29,    30,    31,    32,    33,    34,    15,   153,
   1873   1.7  christos       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
   1874   1.7  christos       27,    28,    29,    30,    31,    32,    33,    34,    21,    22,
   1875   1.7  christos       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   1876  1.10  christos       33,    34,    -1,    -1,    -1,    15,   153,    17,    18,    19,
   1877  1.10  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   1878  1.10  christos       30,    31,    32,    33,    34,    15,   153,    17,    18,    19,
   1879  1.10  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   1880  1.10  christos       30,    31,    32,    33,    34,    15,   153,    17,    18,    19,
   1881  1.10  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   1882  1.10  christos       30,    31,    32,    33,    34,    15,   153,    17,    18,    19,
   1883  1.10  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   1884  1.10  christos       30,    31,    32,    33,    34,    15,   153,    17,    18,    19,
   1885  1.10  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   1886  1.10  christos       30,    31,    32,    33,    34,    15,   153,    17,    18,    19,
   1887  1.10  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   1888  1.10  christos       30,    31,    32,    33,    34,    22,    23,    24,    25,    26,
   1889   1.7  christos       27,    28,    29,    30,    31,    32,    33,    34,    -1,    -1,
   1890  1.10  christos       -1,    -1,    -1,   153,    -1,    -1,    -1,    -1,    -1,    -1,
   1891   1.7  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1892  1.10  christos       15,   151,    17,    18,    19,    20,    21,    22,    23,    24,
   1893  1.10  christos       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
   1894  1.10  christos       15,   151,    17,    18,    19,    20,    21,    22,    23,    24,
   1895  1.10  christos       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
   1896  1.10  christos       15,   151,    17,    18,    19,    20,    21,    22,    23,    24,
   1897  1.10  christos       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
   1898  1.10  christos       -1,   151,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     4,
   1899  1.10  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1900  1.10  christos       -1,   151,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1901  1.10  christos       -1,    -1,    -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,
   1902  1.10  christos       -1,    -1,    15,    38,    17,    18,    19,    20,    21,    22,
   1903  1.10  christos       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   1904  1.10  christos       33,    34,    -1,    -1,    37,    -1,    36,    -1,    38,    -1,
   1905  1.10  christos       -1,    -1,    67,    -1,    -1,    15,   151,    17,    18,    19,
   1906  1.10  christos       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   1907  1.10  christos       30,    31,    32,    33,    34,    -1,   151,    67,    -1,    -1,
   1908   1.6  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1909  1.10  christos      105,    -1,    -1,    -1,    -1,    -1,   151,   112,   113,   114,
   1910  1.10  christos      115,   116,   117,   118,   119,   120,    -1,    -1,   123,   124,
   1911  1.10  christos       -1,   126,   127,   128,    -1,   105,   662,    -1,   133,   134,
   1912  1.10  christos      135,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
   1913  1.10  christos      120,   677,   678,   123,   124,    -1,   126,   127,   128,    -1,
   1914  1.10  christos       -1,    -1,    -1,   133,   134,   135,    -1,   693,    -1,    -1,
   1915  1.10  christos      696,    15,    16,    17,    18,    19,    20,    21,    22,    23,
   1916   1.4      matt       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   1917  1.10  christos       34,   717,   718,   719,   720,    -1,   722,    -1,   724,    -1,
   1918  1.10  christos      726,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1919  1.10  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1920  1.10  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1921  1.10  christos       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   1922  1.10  christos       -1,   767,   768,    -1,   770,   771
   1923   1.1     skrll };
   1924   1.3      matt 
   1925  1.10  christos /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
   1926  1.10  christos    state STATE-NUM.  */
   1927  1.10  christos static const yytype_int16 yystos[] =
   1928   1.3      matt {
   1929  1.10  christos        0,   130,   131,   132,   141,   150,   159,   173,   174,   163,
   1930  1.10  christos      164,   161,   162,   280,   281,   275,   276,     0,   175,   165,
   1931  1.10  christos        4,   108,   109,   110,   211,    58,   136,   284,   285,    58,
   1932  1.10  christos      277,   278,    46,    47,    48,    61,    62,    63,    64,    65,
   1933  1.10  christos       67,    68,    69,    70,    79,    80,    81,    82,    90,    91,
   1934  1.10  christos       92,    93,    94,    95,    96,   101,   102,   103,   121,   134,
   1935  1.10  christos      152,   176,   186,   188,   211,   213,   224,   225,   227,   229,
   1936  1.10  christos      267,   282,   283,     4,    38,    67,   105,   112,   113,   114,
   1937  1.10  christos      115,   116,   118,   119,   120,   123,   124,   126,   127,   128,
   1938  1.10  christos      133,   134,   135,   166,     6,     7,     8,     9,    10,    11,
   1939  1.10  christos       12,    13,    14,   209,    37,    37,    37,     4,   134,   137,
   1940  1.10  christos      138,   139,   287,   288,    58,   285,   138,   139,   279,   288,
   1941  1.10  christos      278,    58,    58,    49,    50,    37,    37,     4,   160,    58,
   1942   1.7  christos       37,    37,    37,    37,    37,    37,    37,    37,    37,    37,
   1943  1.10  christos       37,    37,   177,    37,   189,    37,   151,   152,   210,   140,
   1944  1.10  christos        4,   160,     4,     3,     4,    30,    31,    37,    38,    39,
   1945  1.10  christos       51,    52,    53,    60,    66,    78,    83,    84,    85,    86,
   1946  1.10  christos       87,    88,    89,    97,    99,   115,   121,   122,   149,   156,
   1947  1.10  christos      157,   235,     4,     4,   170,     4,   169,   168,     4,     4,
   1948  1.10  christos        4,   235,     4,     3,     4,   171,     4,   172,     4,   117,
   1949  1.10  christos      233,   234,   233,     4,     4,     4,     4,    16,    16,    59,
   1950  1.10  christos      152,   287,    59,   152,   187,   268,     4,     4,     4,     4,
   1951  1.10  christos      178,     4,    67,   214,   215,   216,     4,     4,     4,   160,
   1952  1.10  christos      160,     4,   160,   153,   160,   226,   228,     4,   230,   230,
   1953  1.10  christos      180,   181,    37,   160,    37,   179,    58,    10,   151,   167,
   1954  1.10  christos       10,   151,   235,   235,   235,    37,    37,    37,    37,    37,
   1955  1.10  christos      236,    37,    37,   231,   232,   231,   231,   231,    37,    37,
   1956  1.10  christos      231,   231,    37,    37,    37,    37,   235,   235,    15,    17,
   1957  1.10  christos       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
   1958  1.10  christos       28,    29,    30,    31,    32,    33,    34,   151,    10,   151,
   1959  1.10  christos      235,   151,   151,     4,   151,    10,   151,   235,   151,   151,
   1960  1.10  christos        4,   151,   235,    10,    10,    10,    58,   288,   288,   152,
   1961  1.10  christos        4,   134,   137,   138,   139,    59,   152,     4,    59,    67,
   1962  1.10  christos       75,   102,   188,   244,     4,    59,   269,   151,   153,   153,
   1963  1.10  christos      175,   217,   160,    59,   151,   212,   151,   153,   153,   153,
   1964  1.10  christos      153,   153,   153,   153,   212,   153,   212,   151,   230,   153,
   1965  1.10  christos      153,   153,     4,     5,   111,   182,   180,   153,   235,   172,
   1966  1.10  christos      284,   235,   235,   165,   235,   235,   153,   235,   235,   235,
   1967  1.10  christos      235,   235,    37,     4,   235,    37,   235,   235,   235,   235,
   1968  1.10  christos      235,     4,   235,   235,   235,   235,   235,   235,   235,   235,
   1969  1.10  christos      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
   1970  1.10  christos      235,   235,   235,   235,     4,     4,     4,   235,   235,     3,
   1971  1.10  christos        4,     4,     4,   233,   233,   233,   290,   152,   152,     4,
   1972  1.10  christos      136,   152,   286,   245,   160,   249,   253,   270,     4,    36,
   1973  1.10  christos       37,   221,   218,   216,     4,   160,   160,   230,    37,     4,
   1974  1.10  christos        5,   111,   151,   153,   151,   153,    59,    36,   151,   153,
   1975  1.10  christos      153,   151,   151,   153,     4,   153,   153,     4,   151,   151,
   1976  1.10  christos      153,   151,   153,   153,    16,   153,   153,   153,   288,   139,
   1977  1.10  christos       58,   136,   152,    37,    40,   235,   257,   258,   255,    16,
   1978  1.10  christos      235,   259,   258,   235,   272,   151,     4,   156,   222,   223,
   1979  1.10  christos       16,   214,   153,   183,    37,     4,     5,   111,     4,   235,
   1980  1.10  christos      235,   235,   237,   153,   235,   235,     4,   235,   152,   291,
   1981  1.10  christos       16,   289,    71,    72,    73,    74,    75,    76,    77,   153,
   1982  1.10  christos      256,    37,    37,   257,    16,   106,   239,   187,    16,    95,
   1983  1.10  christos      260,   254,     4,   106,   273,     4,     4,   153,   223,    97,
   1984  1.10  christos      219,    36,   182,   185,    37,   153,   153,   153,   153,   151,
   1985  1.10  christos      153,   153,   153,    59,   288,   288,    37,    10,   153,   235,
   1986  1.10  christos       16,    37,    38,   240,    36,   239,    58,    37,   274,    37,
   1987  1.10  christos      271,   153,    10,   212,   153,   182,   184,   235,   152,   291,
   1988  1.10  christos       77,   235,   153,   235,    37,   147,   241,   107,   242,   187,
   1989  1.10  christos      235,   273,   235,   152,   233,    99,   220,   153,   182,   153,
   1990  1.10  christos       59,    10,    39,   257,   153,   235,   242,    37,   250,    59,
   1991  1.10  christos      153,   153,    10,   153,   235,    37,    16,   153,   143,   144,
   1992  1.10  christos      145,   243,   235,    58,   273,   233,   153,   235,   246,   153,
   1993  1.10  christos      251,   153,    58,   263,   257,     4,    41,    42,    43,    44,
   1994  1.10  christos       45,    54,    56,    67,    98,   100,   104,   121,   142,   146,
   1995  1.10  christos      148,   152,   154,   190,   191,   192,   195,   198,   199,   201,
   1996  1.10  christos      204,   205,   206,   211,     4,    59,    16,    37,    37,   160,
   1997  1.10  christos       37,   202,    37,    37,    37,     4,    54,    55,    56,    57,
   1998  1.10  christos      191,   193,   197,    37,     4,    54,   154,   192,   201,    59,
   1999  1.10  christos       37,   210,   264,    25,   261,   104,   191,   191,   203,   207,
   2000  1.10  christos      233,    37,   200,     4,   194,   190,   196,    37,    37,    37,
   2001  1.10  christos       37,   155,   212,   197,    37,   197,    37,   247,   233,    58,
   2002  1.10  christos        4,   106,   238,   153,   153,   153,   205,   153,   235,     4,
   2003  1.10  christos      198,    21,   153,   153,   190,    54,    55,   191,    54,    55,
   2004  1.10  christos      191,   191,   191,   193,   153,   155,   197,   261,   153,   205,
   2005  1.10  christos       25,   262,    36,   151,   153,     4,   190,    37,    37,   153,
   2006  1.10  christos       37,    37,   153,   153,   153,   153,   238,    59,     4,    10,
   2007  1.10  christos       16,   208,     4,   191,   191,   191,   191,   262,   265,   207,
   2008  1.10  christos        4,   252,   153,   153,   153,   153,   153,   208,   262,   212,
   2009  1.10  christos      210,   153,   153,   153,   153,   248,   208,   212,   266,   212
   2010   1.1     skrll };
   2011   1.3      matt 
   2012  1.10  christos /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
   2013  1.10  christos static const yytype_int16 yyr1[] =
   2014   1.7  christos {
   2015  1.10  christos        0,   158,   159,   159,   159,   159,   159,   160,   162,   161,
   2016  1.10  christos      164,   163,   165,   165,   166,   166,   166,   166,   166,   166,
   2017  1.10  christos      166,   166,   166,   166,   166,   166,   166,   166,   166,   166,
   2018  1.10  christos      166,   166,   166,   166,   166,   166,   166,   166,   166,   166,
   2019  1.10  christos      167,   166,   166,   166,   168,   168,   168,   169,   169,   170,
   2020  1.10  christos      170,   171,   171,   171,   172,   172,   172,   174,   173,   175,
   2021  1.10  christos      175,   176,   176,   176,   176,   176,   176,   176,   176,   176,
   2022   1.7  christos      176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
   2023  1.10  christos      176,   177,   176,   176,   178,   176,   176,   176,   179,   176,
   2024  1.10  christos      176,   176,   176,   176,   181,   180,   182,   182,   182,   182,
   2025  1.10  christos      182,   182,   183,   182,   184,   182,   185,   182,   186,   187,
   2026  1.10  christos      187,   187,   188,   188,   189,   188,   190,   191,   191,   192,
   2027  1.10  christos      192,   192,   193,   193,   193,   193,   193,   193,   193,   193,
   2028  1.10  christos      193,   194,   194,   195,   196,   196,   197,   197,   198,   198,
   2029  1.10  christos      198,   198,   198,   198,   199,   200,   199,   201,   201,   201,
   2030  1.10  christos      201,   201,   201,   201,   201,   202,   201,   203,   201,   204,
   2031  1.10  christos      204,   205,   205,   206,   206,   206,   206,   206,   207,   208,
   2032  1.10  christos      208,   209,   209,   209,   209,   209,   209,   209,   209,   210,
   2033  1.10  christos      210,   211,   211,   211,   211,   211,   212,   212,   213,   214,
   2034  1.10  christos      214,   215,   215,   217,   216,   218,   216,   219,   220,   221,
   2035  1.10  christos      221,   222,   222,   223,   223,   224,   225,   225,   226,   226,
   2036  1.10  christos      227,   228,   228,   229,   229,   230,   230,   230,   232,   231,
   2037  1.10  christos      234,   233,   235,   235,   235,   235,   235,   235,   235,   235,
   2038  1.10  christos      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
   2039  1.10  christos      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
   2040  1.10  christos      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
   2041  1.10  christos      235,   236,   237,   235,   235,   235,   235,   235,   235,   235,
   2042  1.10  christos      235,   235,   238,   238,   239,   239,   240,   240,   241,   241,
   2043  1.10  christos      242,   242,   243,   243,   243,   243,   245,   246,   247,   248,
   2044  1.10  christos      244,   249,   250,   251,   252,   244,   253,   254,   244,   255,
   2045  1.10  christos      244,   256,   256,   256,   256,   256,   256,   256,   256,   257,
   2046  1.10  christos      257,   257,   258,   258,   258,   258,   259,   259,   260,   260,
   2047  1.10  christos      261,   261,   262,   262,   263,   264,   265,   266,   263,   267,
   2048  1.10  christos      268,   268,   270,   271,   269,   272,   273,   273,   273,   274,
   2049  1.10  christos      274,   276,   275,   277,   277,   278,   279,   281,   280,   283,
   2050  1.10  christos      282,   284,   284,   285,   285,   285,   286,   286,   287,   287,
   2051  1.10  christos      287,   287,   287,   288,   288,   288,   288,   289,   288,   290,
   2052  1.10  christos      288,   288,   288,   288,   288,   288,   288,   291,   291
   2053   1.7  christos };
   2054   1.3      matt 
   2055  1.10  christos /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
   2056  1.10  christos static const yytype_int8 yyr2[] =
   2057   1.7  christos {
   2058  1.10  christos        0,     2,     2,     2,     2,     2,     2,     1,     0,     2,
   2059   1.7  christos        0,     2,     3,     0,     2,     4,     1,     1,     2,     1,
   2060   1.7  christos        4,     4,     3,     2,     4,     3,     4,     4,     4,     4,
   2061   1.7  christos        4,     2,     2,     2,     4,     4,     2,     2,     2,     2,
   2062   1.7  christos        0,     5,     2,     0,     3,     2,     0,     1,     3,     1,
   2063  1.10  christos        3,     0,     1,     3,     1,     2,     3,     0,     2,     2,
   2064  1.10  christos        0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   2065  1.10  christos        1,     4,     4,     4,     4,     8,     4,     1,     1,     1,
   2066  1.10  christos        4,     0,     5,     4,     0,     5,     4,     4,     0,     5,
   2067  1.10  christos        3,     3,     6,     4,     0,     2,     1,     3,     2,     1,
   2068  1.10  christos        3,     2,     0,     5,     0,     7,     0,     6,     4,     2,
   2069  1.10  christos        2,     0,     4,     2,     0,     7,     1,     1,     5,     1,
   2070  1.10  christos        4,     4,     1,     4,     4,     4,     7,     7,     7,     7,
   2071  1.10  christos        4,     1,     3,     4,     2,     1,     3,     1,     1,     2,
   2072  1.10  christos        3,     4,     4,     5,     1,     0,     5,     1,     2,     1,
   2073  1.10  christos        1,     4,     1,     4,     4,     0,     8,     0,     5,     2,
   2074  1.10  christos        1,     0,     1,     1,     1,     1,     1,     1,     1,     2,
   2075  1.10  christos        0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   2076  1.10  christos        1,     3,     3,     6,     6,     6,     1,     0,     4,     1,
   2077  1.10  christos        0,     3,     1,     0,     7,     0,     5,     3,     3,     0,
   2078  1.10  christos        3,     1,     2,     1,     2,     4,     4,     3,     3,     1,
   2079  1.10  christos        4,     3,     0,     1,     1,     0,     2,     3,     0,     4,
   2080  1.10  christos        0,     2,     2,     3,     4,     2,     2,     2,     3,     3,
   2081   1.7  christos        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
   2082  1.10  christos        3,     3,     3,     3,     5,     3,     3,     4,     1,     1,
   2083  1.10  christos        2,     2,     2,     2,     4,     4,     4,     6,     6,     6,
   2084  1.10  christos        4,     0,     0,     8,     4,     1,     6,     6,     6,     2,
   2085  1.10  christos        2,     4,     3,     0,     4,     0,     4,     0,     1,     0,
   2086  1.10  christos        4,     0,     1,     1,     1,     0,     0,     0,     0,     0,
   2087  1.10  christos       19,     0,     0,     0,     0,    17,     0,     0,     7,     0,
   2088  1.10  christos        5,     1,     1,     1,     1,     1,     6,     1,     3,     3,
   2089  1.10  christos        0,     2,     3,     2,     6,    10,     2,     1,     0,     1,
   2090  1.10  christos        2,     0,     0,     3,     0,     0,     0,     0,    11,     4,
   2091  1.10  christos        0,     2,     0,     0,     6,     1,     0,     3,     5,     0,
   2092  1.10  christos        3,     0,     2,     1,     2,     4,     2,     0,     2,     0,
   2093  1.10  christos        5,     1,     2,     4,     5,     6,     1,     2,     0,     2,
   2094  1.10  christos        4,     4,     8,     1,     1,     3,     3,     0,     9,     0,
   2095  1.10  christos        7,     1,     3,     1,     3,     1,     3,     0,     1
   2096   1.7  christos };
   2097   1.3      matt 
   2098   1.3      matt 
   2099  1.10  christos enum { YYENOMEM = -2 };
   2100  1.10  christos 
   2101   1.7  christos #define yyerrok         (yyerrstatus = 0)
   2102   1.7  christos #define yyclearin       (yychar = YYEMPTY)
   2103   1.7  christos 
   2104   1.7  christos #define YYACCEPT        goto yyacceptlab
   2105   1.7  christos #define YYABORT         goto yyabortlab
   2106   1.7  christos #define YYERROR         goto yyerrorlab
   2107  1.10  christos #define YYNOMEM         goto yyexhaustedlab
   2108   1.3      matt 
   2109   1.3      matt 
   2110   1.3      matt #define YYRECOVERING()  (!!yyerrstatus)
   2111   1.3      matt 
   2112  1.10  christos #define YYBACKUP(Token, Value)                                    \
   2113  1.10  christos   do                                                              \
   2114  1.10  christos     if (yychar == YYEMPTY)                                        \
   2115  1.10  christos       {                                                           \
   2116  1.10  christos         yychar = (Token);                                         \
   2117  1.10  christos         yylval = (Value);                                         \
   2118  1.10  christos         YYPOPSTACK (yylen);                                       \
   2119  1.10  christos         yystate = *yyssp;                                         \
   2120  1.10  christos         goto yybackup;                                            \
   2121  1.10  christos       }                                                           \
   2122  1.10  christos     else                                                          \
   2123  1.10  christos       {                                                           \
   2124  1.10  christos         yyerror (YY_("syntax error: cannot back up")); \
   2125  1.10  christos         YYERROR;                                                  \
   2126  1.10  christos       }                                                           \
   2127  1.10  christos   while (0)
   2128  1.10  christos 
   2129  1.10  christos /* Backward compatibility with an undocumented macro.
   2130  1.10  christos    Use YYerror or YYUNDEF. */
   2131  1.10  christos #define YYERRCODE YYUNDEF
   2132   1.3      matt 
   2133   1.3      matt 
   2134   1.3      matt /* Enable debugging if requested.  */
   2135   1.2      matt #if YYDEBUG
   2136   1.1     skrll 
   2137   1.3      matt # ifndef YYFPRINTF
   2138   1.3      matt #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
   2139   1.3      matt #  define YYFPRINTF fprintf
   2140   1.3      matt # endif
   2141   1.1     skrll 
   2142   1.7  christos # define YYDPRINTF(Args)                        \
   2143   1.7  christos do {                                            \
   2144   1.7  christos   if (yydebug)                                  \
   2145   1.7  christos     YYFPRINTF Args;                             \
   2146   1.7  christos } while (0)
   2147   1.5  christos 
   2148   1.7  christos 
   2149   1.7  christos 
   2150  1.10  christos 
   2151  1.10  christos # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
   2152   1.7  christos do {                                                                      \
   2153   1.7  christos   if (yydebug)                                                            \
   2154   1.7  christos     {                                                                     \
   2155   1.7  christos       YYFPRINTF (stderr, "%s ", Title);                                   \
   2156   1.7  christos       yy_symbol_print (stderr,                                            \
   2157  1.10  christos                   Kind, Value); \
   2158   1.7  christos       YYFPRINTF (stderr, "\n");                                           \
   2159   1.7  christos     }                                                                     \
   2160   1.7  christos } while (0)
   2161   1.4      matt 
   2162   1.4      matt 
   2163  1.10  christos /*-----------------------------------.
   2164  1.10  christos | Print this symbol's value on YYO.  |
   2165  1.10  christos `-----------------------------------*/
   2166   1.7  christos 
   2167   1.4      matt static void
   2168  1.10  christos yy_symbol_value_print (FILE *yyo,
   2169  1.10  christos                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
   2170   1.4      matt {
   2171  1.10  christos   FILE *yyoutput = yyo;
   2172  1.10  christos   YY_USE (yyoutput);
   2173   1.4      matt   if (!yyvaluep)
   2174   1.4      matt     return;
   2175  1.10  christos   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   2176  1.10  christos   YY_USE (yykind);
   2177  1.10  christos   YY_IGNORE_MAYBE_UNINITIALIZED_END
   2178   1.4      matt }
   2179   1.4      matt 
   2180   1.4      matt 
   2181  1.10  christos /*---------------------------.
   2182  1.10  christos | Print this symbol on YYO.  |
   2183  1.10  christos `---------------------------*/
   2184   1.4      matt 
   2185   1.4      matt static void
   2186  1.10  christos yy_symbol_print (FILE *yyo,
   2187  1.10  christos                  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
   2188   1.4      matt {
   2189  1.10  christos   YYFPRINTF (yyo, "%s %s (",
   2190  1.10  christos              yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
   2191   1.3      matt 
   2192  1.10  christos   yy_symbol_value_print (yyo, yykind, yyvaluep);
   2193  1.10  christos   YYFPRINTF (yyo, ")");
   2194   1.4      matt }
   2195   1.3      matt 
   2196   1.3      matt /*------------------------------------------------------------------.
   2197   1.3      matt | yy_stack_print -- Print the state stack from its BOTTOM up to its |
   2198   1.3      matt | TOP (included).                                                   |
   2199   1.3      matt `------------------------------------------------------------------*/
   2200   1.3      matt 
   2201   1.6  christos static void
   2202  1.10  christos yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
   2203   1.3      matt {
   2204   1.3      matt   YYFPRINTF (stderr, "Stack now");
   2205   1.7  christos   for (; yybottom <= yytop; yybottom++)
   2206   1.7  christos     {
   2207   1.7  christos       int yybot = *yybottom;
   2208   1.7  christos       YYFPRINTF (stderr, " %d", yybot);
   2209   1.7  christos     }
   2210   1.3      matt   YYFPRINTF (stderr, "\n");
   2211   1.3      matt }
   2212   1.1     skrll 
   2213   1.7  christos # define YY_STACK_PRINT(Bottom, Top)                            \
   2214   1.7  christos do {                                                            \
   2215   1.7  christos   if (yydebug)                                                  \
   2216   1.7  christos     yy_stack_print ((Bottom), (Top));                           \
   2217   1.7  christos } while (0)
   2218   1.1     skrll 
   2219   1.3      matt 
   2220   1.3      matt /*------------------------------------------------.
   2221   1.3      matt | Report that the YYRULE is going to be reduced.  |
   2222   1.3      matt `------------------------------------------------*/
   2223   1.3      matt 
   2224   1.6  christos static void
   2225  1.10  christos yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
   2226  1.10  christos                  int yyrule)
   2227   1.3      matt {
   2228  1.10  christos   int yylno = yyrline[yyrule];
   2229   1.4      matt   int yynrhs = yyr2[yyrule];
   2230   1.3      matt   int yyi;
   2231  1.10  christos   YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
   2232   1.7  christos              yyrule - 1, yylno);
   2233   1.4      matt   /* The symbols being reduced.  */
   2234   1.4      matt   for (yyi = 0; yyi < yynrhs; yyi++)
   2235   1.4      matt     {
   2236   1.7  christos       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
   2237   1.7  christos       yy_symbol_print (stderr,
   2238  1.10  christos                        YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
   2239  1.10  christos                        &yyvsp[(yyi + 1) - (yynrhs)]);
   2240   1.7  christos       YYFPRINTF (stderr, "\n");
   2241   1.4      matt     }
   2242   1.3      matt }
   2243   1.3      matt 
   2244   1.7  christos # define YY_REDUCE_PRINT(Rule)          \
   2245   1.7  christos do {                                    \
   2246   1.7  christos   if (yydebug)                          \
   2247   1.7  christos     yy_reduce_print (yyssp, yyvsp, Rule); \
   2248   1.7  christos } while (0)
   2249   1.3      matt 
   2250   1.3      matt /* Nonzero means print parse trace.  It is left uninitialized so that
   2251   1.3      matt    multiple parsers can coexist.  */
   2252   1.3      matt int yydebug;
   2253   1.3      matt #else /* !YYDEBUG */
   2254  1.10  christos # define YYDPRINTF(Args) ((void) 0)
   2255  1.10  christos # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
   2256   1.3      matt # define YY_STACK_PRINT(Bottom, Top)
   2257   1.3      matt # define YY_REDUCE_PRINT(Rule)
   2258   1.3      matt #endif /* !YYDEBUG */
   2259   1.3      matt 
   2260   1.3      matt 
   2261   1.3      matt /* YYINITDEPTH -- initial size of the parser's stacks.  */
   2262   1.7  christos #ifndef YYINITDEPTH
   2263   1.3      matt # define YYINITDEPTH 200
   2264   1.1     skrll #endif
   2265   1.3      matt 
   2266   1.3      matt /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
   2267   1.3      matt    if the built-in stack extension method is used).
   2268   1.3      matt 
   2269   1.3      matt    Do not make this value too large; the results are undefined if
   2270   1.3      matt    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
   2271   1.3      matt    evaluated with infinite-precision integer arithmetic.  */
   2272   1.3      matt 
   2273   1.3      matt #ifndef YYMAXDEPTH
   2274   1.3      matt # define YYMAXDEPTH 10000
   2275   1.1     skrll #endif
   2276   1.1     skrll 
   2277   1.3      matt 
   2278   1.1     skrll 
   2279   1.3      matt 
   2280   1.1     skrll 
   2281   1.1     skrll 
   2282   1.3      matt /*-----------------------------------------------.
   2283   1.3      matt | Release the memory associated to this symbol.  |
   2284   1.3      matt `-----------------------------------------------*/
   2285   1.3      matt 
   2286   1.3      matt static void
   2287  1.10  christos yydestruct (const char *yymsg,
   2288  1.10  christos             yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
   2289   1.1     skrll {
   2290  1.10  christos   YY_USE (yyvaluep);
   2291   1.3      matt   if (!yymsg)
   2292   1.3      matt     yymsg = "Deleting";
   2293  1.10  christos   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
   2294   1.3      matt 
   2295   1.7  christos   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   2296  1.10  christos   YY_USE (yykind);
   2297   1.7  christos   YY_IGNORE_MAYBE_UNINITIALIZED_END
   2298   1.1     skrll }
   2299   1.6  christos 
   2300   1.3      matt 
   2301  1.10  christos /* Lookahead token kind.  */
   2302   1.3      matt int yychar;
   2303   1.3      matt 
   2304   1.7  christos /* The semantic value of the lookahead symbol.  */
   2305   1.3      matt YYSTYPE yylval;
   2306   1.3      matt /* Number of syntax errors so far.  */
   2307   1.3      matt int yynerrs;
   2308   1.1     skrll 
   2309   1.1     skrll 
   2310  1.10  christos 
   2311  1.10  christos 
   2312   1.3      matt /*----------.
   2313   1.3      matt | yyparse.  |
   2314   1.3      matt `----------*/
   2315   1.3      matt 
   2316   1.3      matt int
   2317   1.3      matt yyparse (void)
   2318   1.7  christos {
   2319  1.10  christos     yy_state_fast_t yystate = 0;
   2320   1.7  christos     /* Number of tokens to shift before error messages enabled.  */
   2321  1.10  christos     int yyerrstatus = 0;
   2322   1.7  christos 
   2323  1.10  christos     /* Refer to the stacks through separate pointers, to allow yyoverflow
   2324  1.10  christos        to reallocate them elsewhere.  */
   2325   1.7  christos 
   2326  1.10  christos     /* Their size.  */
   2327  1.10  christos     YYPTRDIFF_T yystacksize = YYINITDEPTH;
   2328   1.7  christos 
   2329  1.10  christos     /* The state stack: array, bottom, top.  */
   2330  1.10  christos     yy_state_t yyssa[YYINITDEPTH];
   2331  1.10  christos     yy_state_t *yyss = yyssa;
   2332  1.10  christos     yy_state_t *yyssp = yyss;
   2333   1.7  christos 
   2334  1.10  christos     /* The semantic value stack: array, bottom, top.  */
   2335   1.7  christos     YYSTYPE yyvsa[YYINITDEPTH];
   2336  1.10  christos     YYSTYPE *yyvs = yyvsa;
   2337  1.10  christos     YYSTYPE *yyvsp = yyvs;
   2338   1.6  christos 
   2339   1.3      matt   int yyn;
   2340  1.10  christos   /* The return value of yyparse.  */
   2341   1.3      matt   int yyresult;
   2342  1.10  christos   /* Lookahead symbol kind.  */
   2343  1.10  christos   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
   2344   1.7  christos   /* The variables used to return semantic value and location from the
   2345   1.7  christos      action routines.  */
   2346   1.7  christos   YYSTYPE yyval;
   2347   1.7  christos 
   2348  1.10  christos 
   2349   1.3      matt 
   2350   1.4      matt #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
   2351   1.3      matt 
   2352   1.4      matt   /* The number of symbols on the RHS of the reduced rule.
   2353   1.4      matt      Keep to zero when no symbol should be popped.  */
   2354   1.4      matt   int yylen = 0;
   2355   1.3      matt 
   2356   1.3      matt   YYDPRINTF ((stderr, "Starting parse\n"));
   2357   1.3      matt 
   2358   1.7  christos   yychar = YYEMPTY; /* Cause a token to be read.  */
   2359  1.10  christos 
   2360   1.3      matt   goto yysetstate;
   2361   1.3      matt 
   2362  1.10  christos 
   2363   1.3      matt /*------------------------------------------------------------.
   2364  1.10  christos | yynewstate -- push a new state, which is found in yystate.  |
   2365   1.3      matt `------------------------------------------------------------*/
   2366  1.10  christos yynewstate:
   2367   1.3      matt   /* In all cases, when you get here, the value and location stacks
   2368   1.4      matt      have just been pushed.  So pushing a state here evens the stacks.  */
   2369   1.3      matt   yyssp++;
   2370   1.3      matt 
   2371  1.10  christos 
   2372  1.10  christos /*--------------------------------------------------------------------.
   2373  1.10  christos | yysetstate -- set current state (the top of the stack) to yystate.  |
   2374  1.10  christos `--------------------------------------------------------------------*/
   2375  1.10  christos yysetstate:
   2376  1.10  christos   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   2377  1.10  christos   YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
   2378  1.10  christos   YY_IGNORE_USELESS_CAST_BEGIN
   2379  1.10  christos   *yyssp = YY_CAST (yy_state_t, yystate);
   2380  1.10  christos   YY_IGNORE_USELESS_CAST_END
   2381  1.10  christos   YY_STACK_PRINT (yyss, yyssp);
   2382   1.1     skrll 
   2383   1.3      matt   if (yyss + yystacksize - 1 <= yyssp)
   2384  1.10  christos #if !defined yyoverflow && !defined YYSTACK_RELOCATE
   2385  1.10  christos     YYNOMEM;
   2386  1.10  christos #else
   2387   1.1     skrll     {
   2388   1.3      matt       /* Get the current used size of the three stacks, in elements.  */
   2389  1.10  christos       YYPTRDIFF_T yysize = yyssp - yyss + 1;
   2390   1.3      matt 
   2391  1.10  christos # if defined yyoverflow
   2392   1.3      matt       {
   2393   1.7  christos         /* Give user a chance to reallocate the stack.  Use copies of
   2394   1.7  christos            these so that the &'s don't force the real ones into
   2395   1.7  christos            memory.  */
   2396  1.10  christos         yy_state_t *yyss1 = yyss;
   2397   1.7  christos         YYSTYPE *yyvs1 = yyvs;
   2398   1.7  christos 
   2399   1.7  christos         /* Each stack pointer address is followed by the size of the
   2400   1.7  christos            data in use in that stack, in bytes.  This used to be a
   2401   1.7  christos            conditional around just the two extra args, but that might
   2402   1.7  christos            be undefined if yyoverflow is a macro.  */
   2403   1.7  christos         yyoverflow (YY_("memory exhausted"),
   2404  1.10  christos                     &yyss1, yysize * YYSIZEOF (*yyssp),
   2405  1.10  christos                     &yyvs1, yysize * YYSIZEOF (*yyvsp),
   2406   1.7  christos                     &yystacksize);
   2407   1.7  christos         yyss = yyss1;
   2408   1.7  christos         yyvs = yyvs1;
   2409   1.3      matt       }
   2410  1.10  christos # else /* defined YYSTACK_RELOCATE */
   2411   1.3      matt       /* Extend the stack our own way.  */
   2412   1.3      matt       if (YYMAXDEPTH <= yystacksize)
   2413  1.10  christos         YYNOMEM;
   2414   1.3      matt       yystacksize *= 2;
   2415   1.3      matt       if (YYMAXDEPTH < yystacksize)
   2416   1.7  christos         yystacksize = YYMAXDEPTH;
   2417   1.3      matt 
   2418   1.3      matt       {
   2419  1.10  christos         yy_state_t *yyss1 = yyss;
   2420   1.7  christos         union yyalloc *yyptr =
   2421  1.10  christos           YY_CAST (union yyalloc *,
   2422  1.10  christos                    YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
   2423   1.7  christos         if (! yyptr)
   2424  1.10  christos           YYNOMEM;
   2425   1.7  christos         YYSTACK_RELOCATE (yyss_alloc, yyss);
   2426   1.7  christos         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
   2427   1.3      matt #  undef YYSTACK_RELOCATE
   2428   1.7  christos         if (yyss1 != yyssa)
   2429   1.7  christos           YYSTACK_FREE (yyss1);
   2430   1.3      matt       }
   2431   1.3      matt # endif
   2432   1.3      matt 
   2433   1.3      matt       yyssp = yyss + yysize - 1;
   2434   1.3      matt       yyvsp = yyvs + yysize - 1;
   2435   1.3      matt 
   2436  1.10  christos       YY_IGNORE_USELESS_CAST_BEGIN
   2437  1.10  christos       YYDPRINTF ((stderr, "Stack size increased to %ld\n",
   2438  1.10  christos                   YY_CAST (long, yystacksize)));
   2439  1.10  christos       YY_IGNORE_USELESS_CAST_END
   2440   1.3      matt 
   2441   1.3      matt       if (yyss + yystacksize - 1 <= yyssp)
   2442   1.7  christos         YYABORT;
   2443   1.1     skrll     }
   2444  1.10  christos #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
   2445   1.1     skrll 
   2446   1.3      matt 
   2447   1.7  christos   if (yystate == YYFINAL)
   2448   1.7  christos     YYACCEPT;
   2449   1.7  christos 
   2450   1.3      matt   goto yybackup;
   2451   1.3      matt 
   2452  1.10  christos 
   2453   1.3      matt /*-----------.
   2454   1.3      matt | yybackup.  |
   2455   1.3      matt `-----------*/
   2456   1.3      matt yybackup:
   2457   1.4      matt   /* Do appropriate processing given the current state.  Read a
   2458   1.7  christos      lookahead token if we need one and don't already have one.  */
   2459   1.3      matt 
   2460   1.7  christos   /* First try to decide what to do without reference to lookahead token.  */
   2461   1.3      matt   yyn = yypact[yystate];
   2462   1.7  christos   if (yypact_value_is_default (yyn))
   2463   1.3      matt     goto yydefault;
   2464   1.1     skrll 
   2465   1.7  christos   /* Not known => get a lookahead token if don't already have one.  */
   2466   1.1     skrll 
   2467  1.10  christos   /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
   2468   1.3      matt   if (yychar == YYEMPTY)
   2469   1.3      matt     {
   2470  1.10  christos       YYDPRINTF ((stderr, "Reading a token\n"));
   2471   1.7  christos       yychar = yylex ();
   2472   1.3      matt     }
   2473   1.1     skrll 
   2474   1.3      matt   if (yychar <= YYEOF)
   2475   1.2      matt     {
   2476  1.10  christos       yychar = YYEOF;
   2477  1.10  christos       yytoken = YYSYMBOL_YYEOF;
   2478   1.3      matt       YYDPRINTF ((stderr, "Now at end of input.\n"));
   2479   1.2      matt     }
   2480  1.10  christos   else if (yychar == YYerror)
   2481  1.10  christos     {
   2482  1.10  christos       /* The scanner already issued an error message, process directly
   2483  1.10  christos          to error recovery.  But do not keep the error token as
   2484  1.10  christos          lookahead, it is too special and may lead us to an endless
   2485  1.10  christos          loop in error recovery. */
   2486  1.10  christos       yychar = YYUNDEF;
   2487  1.10  christos       yytoken = YYSYMBOL_YYerror;
   2488  1.10  christos       goto yyerrlab1;
   2489  1.10  christos     }
   2490   1.3      matt   else
   2491   1.2      matt     {
   2492   1.3      matt       yytoken = YYTRANSLATE (yychar);
   2493   1.3      matt       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
   2494   1.2      matt     }
   2495   1.3      matt 
   2496   1.3      matt   /* If the proper action on seeing token YYTOKEN is to reduce or to
   2497   1.3      matt      detect an error, take that action.  */
   2498   1.3      matt   yyn += yytoken;
   2499   1.3      matt   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
   2500   1.3      matt     goto yydefault;
   2501   1.3      matt   yyn = yytable[yyn];
   2502   1.3      matt   if (yyn <= 0)
   2503   1.1     skrll     {
   2504   1.7  christos       if (yytable_value_is_error (yyn))
   2505   1.7  christos         goto yyerrlab;
   2506   1.3      matt       yyn = -yyn;
   2507   1.3      matt       goto yyreduce;
   2508   1.1     skrll     }
   2509   1.1     skrll 
   2510   1.4      matt   /* Count tokens shifted since error; after three, turn off error
   2511   1.4      matt      status.  */
   2512   1.4      matt   if (yyerrstatus)
   2513   1.4      matt     yyerrstatus--;
   2514   1.4      matt 
   2515   1.7  christos   /* Shift the lookahead token.  */
   2516   1.3      matt   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
   2517   1.4      matt   yystate = yyn;
   2518   1.7  christos   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   2519   1.3      matt   *++yyvsp = yylval;
   2520   1.7  christos   YY_IGNORE_MAYBE_UNINITIALIZED_END
   2521   1.3      matt 
   2522  1.10  christos   /* Discard the shifted token.  */
   2523  1.10  christos   yychar = YYEMPTY;
   2524   1.3      matt   goto yynewstate;
   2525   1.3      matt 
   2526   1.3      matt 
   2527   1.3      matt /*-----------------------------------------------------------.
   2528   1.3      matt | yydefault -- do the default action for the current state.  |
   2529   1.3      matt `-----------------------------------------------------------*/
   2530   1.3      matt yydefault:
   2531   1.3      matt   yyn = yydefact[yystate];
   2532   1.3      matt   if (yyn == 0)
   2533   1.2      matt     goto yyerrlab;
   2534   1.3      matt   goto yyreduce;
   2535   1.3      matt 
   2536   1.1     skrll 
   2537   1.3      matt /*-----------------------------.
   2538  1.10  christos | yyreduce -- do a reduction.  |
   2539   1.3      matt `-----------------------------*/
   2540   1.3      matt yyreduce:
   2541   1.3      matt   /* yyn is the number of a rule to reduce with.  */
   2542   1.3      matt   yylen = yyr2[yyn];
   2543   1.3      matt 
   2544   1.3      matt   /* If YYLEN is nonzero, implement the default value of the action:
   2545   1.7  christos      '$$ = $1'.
   2546   1.3      matt 
   2547   1.3      matt      Otherwise, the following line sets YYVAL to garbage.
   2548   1.3      matt      This behavior is undocumented and Bison
   2549   1.3      matt      users should not rely upon it.  Assigning to YYVAL
   2550   1.3      matt      unconditionally makes the parser a bit smaller, and it avoids a
   2551   1.3      matt      GCC warning that YYVAL may be used uninitialized.  */
   2552   1.3      matt   yyval = yyvsp[1-yylen];
   2553   1.3      matt 
   2554   1.3      matt 
   2555   1.3      matt   YY_REDUCE_PRINT (yyn);
   2556   1.3      matt   switch (yyn)
   2557   1.3      matt     {
   2558  1.10  christos   case 8: /* $@1: %empty  */
   2559  1.10  christos #line 181 "ldgram.y"
   2560  1.10  christos                 { ldlex_expression(); }
   2561  1.10  christos #line 2562 "ldgram.c"
   2562   1.3      matt     break;
   2563   1.1     skrll 
   2564  1.10  christos   case 9: /* defsym_expr: $@1 assignment  */
   2565  1.10  christos #line 183 "ldgram.y"
   2566  1.10  christos                 { ldlex_popstate(); }
   2567  1.10  christos #line 2568 "ldgram.c"
   2568   1.3      matt     break;
   2569   1.3      matt 
   2570  1.10  christos   case 10: /* $@2: %empty  */
   2571  1.10  christos #line 188 "ldgram.y"
   2572  1.10  christos                 {
   2573   1.1     skrll 		  ldlex_mri_script ();
   2574   1.1     skrll 		  PUSH_ERROR (_("MRI style script"));
   2575   1.1     skrll 		}
   2576  1.10  christos #line 2577 "ldgram.c"
   2577   1.3      matt     break;
   2578   1.3      matt 
   2579  1.10  christos   case 11: /* mri_script_file: $@2 mri_script_lines  */
   2580  1.10  christos #line 193 "ldgram.y"
   2581  1.10  christos                 {
   2582   1.1     skrll 		  ldlex_popstate ();
   2583   1.1     skrll 		  mri_draw_tree ();
   2584   1.1     skrll 		  POP_ERROR ();
   2585   1.1     skrll 		}
   2586  1.10  christos #line 2587 "ldgram.c"
   2587   1.3      matt     break;
   2588   1.3      matt 
   2589  1.10  christos   case 16: /* mri_script_command: NAME  */
   2590  1.10  christos #line 208 "ldgram.y"
   2591  1.10  christos                         {
   2592   1.8  christos 			einfo(_("%F%P: unrecognised keyword in MRI style script '%s'\n"),(yyvsp[0].name));
   2593   1.1     skrll 			}
   2594  1.10  christos #line 2595 "ldgram.c"
   2595   1.3      matt     break;
   2596   1.3      matt 
   2597  1.10  christos   case 17: /* mri_script_command: LIST  */
   2598  1.10  christos #line 211 "ldgram.y"
   2599  1.10  christos                         {
   2600   1.1     skrll 			config.map_filename = "-";
   2601   1.1     skrll 			}
   2602  1.10  christos #line 2603 "ldgram.c"
   2603   1.3      matt     break;
   2604   1.3      matt 
   2605  1.10  christos   case 20: /* mri_script_command: PUBLIC NAME '=' exp  */
   2606  1.10  christos #line 217 "ldgram.y"
   2607  1.10  christos                         { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); }
   2608  1.10  christos #line 2609 "ldgram.c"
   2609   1.3      matt     break;
   2610   1.3      matt 
   2611  1.10  christos   case 21: /* mri_script_command: PUBLIC NAME ',' exp  */
   2612  1.10  christos #line 219 "ldgram.y"
   2613  1.10  christos                         { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); }
   2614  1.10  christos #line 2615 "ldgram.c"
   2615   1.3      matt     break;
   2616   1.3      matt 
   2617  1.10  christos   case 22: /* mri_script_command: PUBLIC NAME exp  */
   2618  1.10  christos #line 221 "ldgram.y"
   2619  1.10  christos                         { mri_public((yyvsp[-1].name), (yyvsp[0].etree)); }
   2620  1.10  christos #line 2621 "ldgram.c"
   2621   1.3      matt     break;
   2622   1.3      matt 
   2623  1.10  christos   case 23: /* mri_script_command: FORMAT NAME  */
   2624  1.10  christos #line 223 "ldgram.y"
   2625  1.10  christos                         { mri_format((yyvsp[0].name)); }
   2626  1.10  christos #line 2627 "ldgram.c"
   2627   1.3      matt     break;
   2628   1.3      matt 
   2629  1.10  christos   case 24: /* mri_script_command: SECT NAME ',' exp  */
   2630  1.10  christos #line 225 "ldgram.y"
   2631  1.10  christos                         { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));}
   2632  1.10  christos #line 2633 "ldgram.c"
   2633   1.3      matt     break;
   2634   1.3      matt 
   2635  1.10  christos   case 25: /* mri_script_command: SECT NAME exp  */
   2636  1.10  christos #line 227 "ldgram.y"
   2637  1.10  christos                         { mri_output_section((yyvsp[-1].name), (yyvsp[0].etree));}
   2638  1.10  christos #line 2639 "ldgram.c"
   2639   1.3      matt     break;
   2640   1.3      matt 
   2641  1.10  christos   case 26: /* mri_script_command: SECT NAME '=' exp  */
   2642  1.10  christos #line 229 "ldgram.y"
   2643  1.10  christos                         { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));}
   2644  1.10  christos #line 2645 "ldgram.c"
   2645   1.3      matt     break;
   2646   1.3      matt 
   2647  1.10  christos   case 27: /* mri_script_command: ALIGN_K NAME '=' exp  */
   2648  1.10  christos #line 231 "ldgram.y"
   2649  1.10  christos                         { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); }
   2650  1.10  christos #line 2651 "ldgram.c"
   2651   1.3      matt     break;
   2652   1.3      matt 
   2653  1.10  christos   case 28: /* mri_script_command: ALIGN_K NAME ',' exp  */
   2654  1.10  christos #line 233 "ldgram.y"
   2655  1.10  christos                         { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); }
   2656  1.10  christos #line 2657 "ldgram.c"
   2657   1.3      matt     break;
   2658   1.3      matt 
   2659  1.10  christos   case 29: /* mri_script_command: ALIGNMOD NAME '=' exp  */
   2660  1.10  christos #line 235 "ldgram.y"
   2661  1.10  christos                         { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); }
   2662  1.10  christos #line 2663 "ldgram.c"
   2663   1.3      matt     break;
   2664   1.3      matt 
   2665  1.10  christos   case 30: /* mri_script_command: ALIGNMOD NAME ',' exp  */
   2666  1.10  christos #line 237 "ldgram.y"
   2667  1.10  christos                         { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); }
   2668  1.10  christos #line 2669 "ldgram.c"
   2669   1.3      matt     break;
   2670   1.3      matt 
   2671  1.10  christos   case 33: /* mri_script_command: NAMEWORD NAME  */
   2672  1.10  christos #line 241 "ldgram.y"
   2673  1.10  christos                         { mri_name((yyvsp[0].name)); }
   2674  1.10  christos #line 2675 "ldgram.c"
   2675   1.3      matt     break;
   2676   1.3      matt 
   2677  1.10  christos   case 34: /* mri_script_command: ALIAS NAME ',' NAME  */
   2678  1.10  christos #line 243 "ldgram.y"
   2679  1.10  christos                         { mri_alias((yyvsp[-2].name),(yyvsp[0].name),0);}
   2680  1.10  christos #line 2681 "ldgram.c"
   2681   1.3      matt     break;
   2682   1.3      matt 
   2683  1.10  christos   case 35: /* mri_script_command: ALIAS NAME ',' INT  */
   2684  1.10  christos #line 245 "ldgram.y"
   2685  1.10  christos                         { mri_alias ((yyvsp[-2].name), 0, (int) (yyvsp[0].bigint).integer); }
   2686  1.10  christos #line 2687 "ldgram.c"
   2687   1.3      matt     break;
   2688   1.3      matt 
   2689  1.10  christos   case 36: /* mri_script_command: BASE exp  */
   2690  1.10  christos #line 247 "ldgram.y"
   2691  1.10  christos                         { mri_base((yyvsp[0].etree)); }
   2692  1.10  christos #line 2693 "ldgram.c"
   2693   1.3      matt     break;
   2694   1.3      matt 
   2695  1.10  christos   case 37: /* mri_script_command: TRUNCATE INT  */
   2696  1.10  christos #line 249 "ldgram.y"
   2697  1.10  christos                 { mri_truncate ((unsigned int) (yyvsp[0].bigint).integer); }
   2698  1.10  christos #line 2699 "ldgram.c"
   2699   1.3      matt     break;
   2700   1.3      matt 
   2701  1.10  christos   case 40: /* $@3: %empty  */
   2702  1.10  christos #line 253 "ldgram.y"
   2703  1.10  christos                 { ldfile_open_command_file ((yyvsp[0].name)); }
   2704  1.10  christos #line 2705 "ldgram.c"
   2705   1.3      matt     break;
   2706   1.3      matt 
   2707  1.10  christos   case 42: /* mri_script_command: START NAME  */
   2708  1.10  christos #line 256 "ldgram.y"
   2709  1.10  christos                 { lang_add_entry ((yyvsp[0].name), false); }
   2710  1.10  christos #line 2711 "ldgram.c"
   2711   1.3      matt     break;
   2712   1.3      matt 
   2713  1.10  christos   case 44: /* ordernamelist: ordernamelist ',' NAME  */
   2714  1.10  christos #line 261 "ldgram.y"
   2715  1.10  christos                                              { mri_order((yyvsp[0].name)); }
   2716  1.10  christos #line 2717 "ldgram.c"
   2717   1.3      matt     break;
   2718   1.3      matt 
   2719  1.10  christos   case 45: /* ordernamelist: ordernamelist NAME  */
   2720  1.10  christos #line 262 "ldgram.y"
   2721  1.10  christos                                           { mri_order((yyvsp[0].name)); }
   2722  1.10  christos #line 2723 "ldgram.c"
   2723   1.3      matt     break;
   2724   1.3      matt 
   2725  1.10  christos   case 47: /* mri_load_name_list: NAME  */
   2726  1.10  christos #line 268 "ldgram.y"
   2727  1.10  christos                         { mri_load((yyvsp[0].name)); }
   2728  1.10  christos #line 2729 "ldgram.c"
   2729   1.3      matt     break;
   2730   1.3      matt 
   2731  1.10  christos   case 48: /* mri_load_name_list: mri_load_name_list ',' NAME  */
   2732  1.10  christos #line 269 "ldgram.y"
   2733  1.10  christos                                             { mri_load((yyvsp[0].name)); }
   2734  1.10  christos #line 2735 "ldgram.c"
   2735   1.3      matt     break;
   2736   1.3      matt 
   2737  1.10  christos   case 49: /* mri_abs_name_list: NAME  */
   2738  1.10  christos #line 274 "ldgram.y"
   2739  1.10  christos                         { mri_only_load((yyvsp[0].name)); }
   2740  1.10  christos #line 2741 "ldgram.c"
   2741   1.3      matt     break;
   2742   1.3      matt 
   2743  1.10  christos   case 50: /* mri_abs_name_list: mri_abs_name_list ',' NAME  */
   2744  1.10  christos #line 276 "ldgram.y"
   2745  1.10  christos                         { mri_only_load((yyvsp[0].name)); }
   2746  1.10  christos #line 2747 "ldgram.c"
   2747   1.3      matt     break;
   2748   1.3      matt 
   2749  1.10  christos   case 51: /* casesymlist: %empty  */
   2750  1.10  christos #line 280 "ldgram.y"
   2751  1.10  christos                       { (yyval.name) = NULL; }
   2752  1.10  christos #line 2753 "ldgram.c"
   2753   1.3      matt     break;
   2754   1.3      matt 
   2755  1.10  christos   case 54: /* extern_name_list: NAME  */
   2756  1.10  christos #line 287 "ldgram.y"
   2757  1.10  christos                         { ldlang_add_undef ((yyvsp[0].name), false); }
   2758  1.10  christos #line 2759 "ldgram.c"
   2759   1.3      matt     break;
   2760   1.3      matt 
   2761  1.10  christos   case 55: /* extern_name_list: extern_name_list NAME  */
   2762  1.10  christos #line 289 "ldgram.y"
   2763  1.10  christos                         { ldlang_add_undef ((yyvsp[0].name), false); }
   2764  1.10  christos #line 2765 "ldgram.c"
   2765   1.3      matt     break;
   2766   1.3      matt 
   2767  1.10  christos   case 56: /* extern_name_list: extern_name_list ',' NAME  */
   2768  1.10  christos #line 291 "ldgram.y"
   2769  1.10  christos                         { ldlang_add_undef ((yyvsp[0].name), false); }
   2770  1.10  christos #line 2771 "ldgram.c"
   2771   1.3      matt     break;
   2772   1.3      matt 
   2773  1.10  christos   case 57: /* $@4: %empty  */
   2774  1.10  christos #line 295 "ldgram.y"
   2775  1.10  christos         { ldlex_script (); }
   2776  1.10  christos #line 2777 "ldgram.c"
   2777   1.3      matt     break;
   2778   1.3      matt 
   2779  1.10  christos   case 58: /* script_file: $@4 ifile_list  */
   2780  1.10  christos #line 297 "ldgram.y"
   2781  1.10  christos         { ldlex_popstate (); }
   2782  1.10  christos #line 2783 "ldgram.c"
   2783   1.3      matt     break;
   2784   1.3      matt 
   2785  1.10  christos   case 71: /* ifile_p1: TARGET_K '(' NAME ')'  */
   2786  1.10  christos #line 318 "ldgram.y"
   2787  1.10  christos                 { lang_add_target((yyvsp[-1].name)); }
   2788  1.10  christos #line 2789 "ldgram.c"
   2789   1.3      matt     break;
   2790   1.3      matt 
   2791  1.10  christos   case 72: /* ifile_p1: SEARCH_DIR '(' filename ')'  */
   2792  1.10  christos #line 320 "ldgram.y"
   2793  1.10  christos                 { ldfile_add_library_path ((yyvsp[-1].name), false); }
   2794  1.10  christos #line 2795 "ldgram.c"
   2795   1.3      matt     break;
   2796   1.3      matt 
   2797  1.10  christos   case 73: /* ifile_p1: OUTPUT '(' filename ')'  */
   2798  1.10  christos #line 322 "ldgram.y"
   2799  1.10  christos                 { lang_add_output((yyvsp[-1].name), 1); }
   2800  1.10  christos #line 2801 "ldgram.c"
   2801   1.3      matt     break;
   2802   1.3      matt 
   2803  1.10  christos   case 74: /* ifile_p1: OUTPUT_FORMAT '(' NAME ')'  */
   2804  1.10  christos #line 324 "ldgram.y"
   2805  1.10  christos                   { lang_add_output_format ((yyvsp[-1].name), (char *) NULL,
   2806   1.1     skrll 					    (char *) NULL, 1); }
   2807  1.10  christos #line 2808 "ldgram.c"
   2808   1.3      matt     break;
   2809   1.3      matt 
   2810  1.10  christos   case 75: /* ifile_p1: OUTPUT_FORMAT '(' NAME ',' NAME ',' NAME ')'  */
   2811  1.10  christos #line 327 "ldgram.y"
   2812  1.10  christos                   { lang_add_output_format ((yyvsp[-5].name), (yyvsp[-3].name), (yyvsp[-1].name), 1); }
   2813  1.10  christos #line 2814 "ldgram.c"
   2814   1.3      matt     break;
   2815   1.3      matt 
   2816  1.10  christos   case 76: /* ifile_p1: OUTPUT_ARCH '(' NAME ')'  */
   2817  1.10  christos #line 329 "ldgram.y"
   2818  1.10  christos                   { ldfile_set_output_arch ((yyvsp[-1].name), bfd_arch_unknown); }
   2819  1.10  christos #line 2820 "ldgram.c"
   2820   1.3      matt     break;
   2821   1.3      matt 
   2822  1.10  christos   case 77: /* ifile_p1: FORCE_COMMON_ALLOCATION  */
   2823  1.10  christos #line 331 "ldgram.y"
   2824  1.10  christos                 { command_line.force_common_definition = true ; }
   2825  1.10  christos #line 2826 "ldgram.c"
   2826   1.3      matt     break;
   2827   1.3      matt 
   2828  1.10  christos   case 78: /* ifile_p1: FORCE_GROUP_ALLOCATION  */
   2829  1.10  christos #line 333 "ldgram.y"
   2830  1.10  christos                 { command_line.force_group_allocation = true ; }
   2831  1.10  christos #line 2832 "ldgram.c"
   2832   1.3      matt     break;
   2833   1.3      matt 
   2834  1.10  christos   case 79: /* ifile_p1: INHIBIT_COMMON_ALLOCATION  */
   2835  1.10  christos #line 335 "ldgram.y"
   2836  1.10  christos                 { link_info.inhibit_common_definition = true ; }
   2837  1.10  christos #line 2838 "ldgram.c"
   2838   1.3      matt     break;
   2839   1.3      matt 
   2840  1.10  christos   case 81: /* $@5: %empty  */
   2841  1.10  christos #line 338 "ldgram.y"
   2842  1.10  christos                   { lang_enter_group (); }
   2843  1.10  christos #line 2844 "ldgram.c"
   2844   1.3      matt     break;
   2845   1.3      matt 
   2846  1.10  christos   case 82: /* ifile_p1: GROUP $@5 '(' input_list ')'  */
   2847  1.10  christos #line 340 "ldgram.y"
   2848  1.10  christos                   { lang_leave_group (); }
   2849  1.10  christos #line 2850 "ldgram.c"
   2850   1.3      matt     break;
   2851   1.3      matt 
   2852  1.10  christos   case 83: /* ifile_p1: MAP '(' filename ')'  */
   2853  1.10  christos #line 342 "ldgram.y"
   2854  1.10  christos                 { lang_add_map((yyvsp[-1].name)); }
   2855  1.10  christos #line 2856 "ldgram.c"
   2856   1.3      matt     break;
   2857   1.3      matt 
   2858  1.10  christos   case 84: /* $@6: %empty  */
   2859  1.10  christos #line 344 "ldgram.y"
   2860  1.10  christos                 { ldfile_open_command_file ((yyvsp[0].name)); }
   2861  1.10  christos #line 2862 "ldgram.c"
   2862   1.3      matt     break;
   2863   1.3      matt 
   2864  1.10  christos   case 86: /* ifile_p1: NOCROSSREFS '(' nocrossref_list ')'  */
   2865  1.10  christos #line 347 "ldgram.y"
   2866  1.10  christos                 {
   2867   1.7  christos 		  lang_add_nocrossref ((yyvsp[-1].nocrossref));
   2868   1.6  christos 		}
   2869  1.10  christos #line 2870 "ldgram.c"
   2870   1.3      matt     break;
   2871   1.3      matt 
   2872  1.10  christos   case 87: /* ifile_p1: NOCROSSREFS_TO '(' nocrossref_list ')'  */
   2873  1.10  christos #line 351 "ldgram.y"
   2874  1.10  christos                 {
   2875   1.7  christos 		  lang_add_nocrossref_to ((yyvsp[-1].nocrossref));
   2876   1.7  christos 		}
   2877  1.10  christos #line 2878 "ldgram.c"
   2878  1.10  christos     break;
   2879  1.10  christos 
   2880  1.10  christos   case 88: /* $@7: %empty  */
   2881  1.10  christos #line 354 "ldgram.y"
   2882  1.10  christos                            { ldlex_expression (); }
   2883  1.10  christos #line 2884 "ldgram.c"
   2884   1.3      matt     break;
   2885   1.3      matt 
   2886  1.10  christos   case 89: /* ifile_p1: EXTERN '(' $@7 extern_name_list ')'  */
   2887  1.10  christos #line 355 "ldgram.y"
   2888  1.10  christos                         { ldlex_popstate (); }
   2889  1.10  christos #line 2890 "ldgram.c"
   2890   1.3      matt     break;
   2891   1.3      matt 
   2892  1.10  christos   case 90: /* ifile_p1: INSERT_K AFTER NAME  */
   2893  1.10  christos #line 357 "ldgram.y"
   2894  1.10  christos                 { lang_add_insert ((yyvsp[0].name), 0); }
   2895  1.10  christos #line 2896 "ldgram.c"
   2896   1.3      matt     break;
   2897   1.3      matt 
   2898  1.10  christos   case 91: /* ifile_p1: INSERT_K BEFORE NAME  */
   2899  1.10  christos #line 359 "ldgram.y"
   2900  1.10  christos                 { lang_add_insert ((yyvsp[0].name), 1); }
   2901  1.10  christos #line 2902 "ldgram.c"
   2902   1.3      matt     break;
   2903   1.3      matt 
   2904  1.10  christos   case 92: /* ifile_p1: REGION_ALIAS '(' NAME ',' NAME ')'  */
   2905  1.10  christos #line 361 "ldgram.y"
   2906  1.10  christos                 { lang_memory_region_alias ((yyvsp[-3].name), (yyvsp[-1].name)); }
   2907  1.10  christos #line 2908 "ldgram.c"
   2908   1.3      matt     break;
   2909   1.3      matt 
   2910  1.10  christos   case 93: /* ifile_p1: LD_FEATURE '(' NAME ')'  */
   2911  1.10  christos #line 363 "ldgram.y"
   2912  1.10  christos                 { lang_ld_feature ((yyvsp[-1].name)); }
   2913  1.10  christos #line 2914 "ldgram.c"
   2914   1.3      matt     break;
   2915   1.3      matt 
   2916  1.10  christos   case 94: /* $@8: %empty  */
   2917  1.10  christos #line 367 "ldgram.y"
   2918  1.10  christos                 { ldlex_inputlist(); }
   2919  1.10  christos #line 2920 "ldgram.c"
   2920   1.3      matt     break;
   2921   1.3      matt 
   2922  1.10  christos   case 95: /* input_list: $@8 input_list1  */
   2923  1.10  christos #line 369 "ldgram.y"
   2924  1.10  christos                 { ldlex_popstate(); }
   2925  1.10  christos #line 2926 "ldgram.c"
   2926  1.10  christos     break;
   2927  1.10  christos 
   2928  1.10  christos   case 96: /* input_list1: NAME  */
   2929  1.10  christos #line 373 "ldgram.y"
   2930  1.10  christos                 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum,
   2931   1.4      matt 				 (char *)NULL); }
   2932  1.10  christos #line 2933 "ldgram.c"
   2933   1.3      matt     break;
   2934   1.3      matt 
   2935  1.10  christos   case 97: /* input_list1: input_list1 ',' NAME  */
   2936  1.10  christos #line 376 "ldgram.y"
   2937  1.10  christos                 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum,
   2938   1.4      matt 				 (char *)NULL); }
   2939  1.10  christos #line 2940 "ldgram.c"
   2940   1.3      matt     break;
   2941   1.3      matt 
   2942  1.10  christos   case 98: /* input_list1: input_list1 NAME  */
   2943  1.10  christos #line 379 "ldgram.y"
   2944  1.10  christos                 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum,
   2945   1.5  christos 				 (char *)NULL); }
   2946  1.10  christos #line 2947 "ldgram.c"
   2947   1.3      matt     break;
   2948   1.3      matt 
   2949  1.10  christos   case 99: /* input_list1: LNAME  */
   2950  1.10  christos #line 382 "ldgram.y"
   2951  1.10  christos                 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum,
   2952   1.5  christos 				 (char *)NULL); }
   2953  1.10  christos #line 2954 "ldgram.c"
   2954   1.3      matt     break;
   2955   1.3      matt 
   2956  1.10  christos   case 100: /* input_list1: input_list1 ',' LNAME  */
   2957  1.10  christos #line 385 "ldgram.y"
   2958  1.10  christos                 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum,
   2959   1.6  christos 				 (char *)NULL); }
   2960  1.10  christos #line 2961 "ldgram.c"
   2961   1.6  christos     break;
   2962   1.6  christos 
   2963  1.10  christos   case 101: /* input_list1: input_list1 LNAME  */
   2964  1.10  christos #line 388 "ldgram.y"
   2965  1.10  christos                 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum,
   2966   1.7  christos 				 (char *)NULL); }
   2967  1.10  christos #line 2968 "ldgram.c"
   2968   1.7  christos     break;
   2969   1.7  christos 
   2970  1.10  christos   case 102: /* @9: %empty  */
   2971  1.10  christos #line 391 "ldgram.y"
   2972  1.10  christos                   { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular;
   2973  1.10  christos 		    input_flags.add_DT_NEEDED_for_regular = true; }
   2974  1.10  christos #line 2975 "ldgram.c"
   2975   1.3      matt     break;
   2976   1.3      matt 
   2977  1.10  christos   case 103: /* input_list1: AS_NEEDED '(' @9 input_list1 ')'  */
   2978  1.10  christos #line 394 "ldgram.y"
   2979  1.10  christos                   { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); }
   2980  1.10  christos #line 2981 "ldgram.c"
   2981   1.4      matt     break;
   2982   1.4      matt 
   2983  1.10  christos   case 104: /* @10: %empty  */
   2984  1.10  christos #line 396 "ldgram.y"
   2985  1.10  christos                   { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular;
   2986  1.10  christos 		    input_flags.add_DT_NEEDED_for_regular = true; }
   2987  1.10  christos #line 2988 "ldgram.c"
   2988   1.3      matt     break;
   2989   1.3      matt 
   2990  1.10  christos   case 105: /* input_list1: input_list1 ',' AS_NEEDED '(' @10 input_list1 ')'  */
   2991  1.10  christos #line 399 "ldgram.y"
   2992  1.10  christos                   { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); }
   2993  1.10  christos #line 2994 "ldgram.c"
   2994   1.5  christos     break;
   2995   1.5  christos 
   2996  1.10  christos   case 106: /* @11: %empty  */
   2997  1.10  christos #line 401 "ldgram.y"
   2998  1.10  christos                   { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular;
   2999  1.10  christos 		    input_flags.add_DT_NEEDED_for_regular = true; }
   3000  1.10  christos #line 3001 "ldgram.c"
   3001   1.3      matt     break;
   3002   1.3      matt 
   3003  1.10  christos   case 107: /* input_list1: input_list1 AS_NEEDED '(' @11 input_list1 ')'  */
   3004  1.10  christos #line 404 "ldgram.y"
   3005  1.10  christos                   { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); }
   3006  1.10  christos #line 3007 "ldgram.c"
   3007   1.4      matt     break;
   3008   1.4      matt 
   3009  1.10  christos   case 112: /* statement_anywhere: ENTRY '(' NAME ')'  */
   3010  1.10  christos #line 419 "ldgram.y"
   3011  1.10  christos                 { lang_add_entry ((yyvsp[-1].name), false); }
   3012  1.10  christos #line 3013 "ldgram.c"
   3013   1.5  christos     break;
   3014   1.5  christos 
   3015  1.10  christos   case 114: /* $@12: %empty  */
   3016  1.10  christos #line 421 "ldgram.y"
   3017  1.10  christos                           {ldlex_expression ();}
   3018  1.10  christos #line 3019 "ldgram.c"
   3019   1.3      matt     break;
   3020   1.3      matt 
   3021  1.10  christos   case 115: /* statement_anywhere: ASSERT_K $@12 '(' exp ',' NAME ')'  */
   3022  1.10  christos #line 422 "ldgram.y"
   3023  1.10  christos                 { ldlex_popstate ();
   3024   1.7  christos 		  lang_add_assignment (exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name))); }
   3025  1.10  christos #line 3026 "ldgram.c"
   3026   1.3      matt     break;
   3027   1.3      matt 
   3028  1.10  christos   case 116: /* wildcard_name: NAME  */
   3029  1.10  christos #line 428 "ldgram.y"
   3030  1.10  christos                         {
   3031   1.7  christos 			  (yyval.cname) = (yyvsp[0].name);
   3032   1.3      matt 			}
   3033  1.10  christos #line 3034 "ldgram.c"
   3034   1.3      matt     break;
   3035   1.3      matt 
   3036  1.10  christos   case 117: /* wildcard_maybe_exclude: wildcard_name  */
   3037  1.10  christos #line 435 "ldgram.y"
   3038  1.10  christos                         {
   3039   1.7  christos 			  (yyval.wildcard).name = (yyvsp[0].cname);
   3040   1.3      matt 			  (yyval.wildcard).sorted = none;
   3041   1.3      matt 			  (yyval.wildcard).exclude_name_list = NULL;
   3042   1.4      matt 			  (yyval.wildcard).section_flag_list = NULL;
   3043   1.3      matt 			}
   3044  1.10  christos #line 3045 "ldgram.c"
   3045   1.3      matt     break;
   3046   1.3      matt 
   3047  1.10  christos   case 118: /* wildcard_maybe_exclude: EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name  */
   3048  1.10  christos #line 442 "ldgram.y"
   3049  1.10  christos                         {
   3050   1.7  christos 			  (yyval.wildcard).name = (yyvsp[0].cname);
   3051   1.3      matt 			  (yyval.wildcard).sorted = none;
   3052   1.7  christos 			  (yyval.wildcard).exclude_name_list = (yyvsp[-2].name_list);
   3053   1.4      matt 			  (yyval.wildcard).section_flag_list = NULL;
   3054   1.3      matt 			}
   3055  1.10  christos #line 3056 "ldgram.c"
   3056   1.7  christos     break;
   3057   1.7  christos 
   3058  1.10  christos   case 120: /* filename_spec: SORT_BY_NAME '(' wildcard_maybe_exclude ')'  */
   3059  1.10  christos #line 453 "ldgram.y"
   3060  1.10  christos                         {
   3061   1.7  christos 			  (yyval.wildcard) = (yyvsp[-1].wildcard);
   3062   1.7  christos 			  (yyval.wildcard).sorted = by_name;
   3063   1.7  christos 			}
   3064  1.10  christos #line 3065 "ldgram.c"
   3065   1.7  christos     break;
   3066   1.7  christos 
   3067  1.10  christos   case 121: /* filename_spec: SORT_NONE '(' wildcard_maybe_exclude ')'  */
   3068  1.10  christos #line 458 "ldgram.y"
   3069  1.10  christos                         {
   3070   1.7  christos 			  (yyval.wildcard) = (yyvsp[-1].wildcard);
   3071   1.7  christos 			  (yyval.wildcard).sorted = by_none;
   3072   1.7  christos 			}
   3073  1.10  christos #line 3074 "ldgram.c"
   3074   1.3      matt     break;
   3075   1.3      matt 
   3076  1.10  christos   case 123: /* section_name_spec: SORT_BY_NAME '(' wildcard_maybe_exclude ')'  */
   3077  1.10  christos #line 467 "ldgram.y"
   3078  1.10  christos                         {
   3079   1.7  christos 			  (yyval.wildcard) = (yyvsp[-1].wildcard);
   3080   1.3      matt 			  (yyval.wildcard).sorted = by_name;
   3081   1.1     skrll 			}
   3082  1.10  christos #line 3083 "ldgram.c"
   3083   1.3      matt     break;
   3084   1.3      matt 
   3085  1.10  christos   case 124: /* section_name_spec: SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')'  */
   3086  1.10  christos #line 472 "ldgram.y"
   3087  1.10  christos                         {
   3088   1.7  christos 			  (yyval.wildcard) = (yyvsp[-1].wildcard);
   3089   1.3      matt 			  (yyval.wildcard).sorted = by_alignment;
   3090   1.1     skrll 			}
   3091  1.10  christos #line 3092 "ldgram.c"
   3092   1.3      matt     break;
   3093   1.3      matt 
   3094  1.10  christos   case 125: /* section_name_spec: SORT_NONE '(' wildcard_maybe_exclude ')'  */
   3095  1.10  christos #line 477 "ldgram.y"
   3096  1.10  christos                         {
   3097   1.7  christos 			  (yyval.wildcard) = (yyvsp[-1].wildcard);
   3098   1.4      matt 			  (yyval.wildcard).sorted = by_none;
   3099   1.4      matt 			}
   3100  1.10  christos #line 3101 "ldgram.c"
   3101   1.4      matt     break;
   3102   1.4      matt 
   3103  1.10  christos   case 126: /* section_name_spec: SORT_BY_NAME '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' ')'  */
   3104  1.10  christos #line 482 "ldgram.y"
   3105  1.10  christos                         {
   3106   1.7  christos 			  (yyval.wildcard) = (yyvsp[-2].wildcard);
   3107   1.3      matt 			  (yyval.wildcard).sorted = by_name_alignment;
   3108   1.1     skrll 			}
   3109  1.10  christos #line 3110 "ldgram.c"
   3110   1.3      matt     break;
   3111   1.3      matt 
   3112  1.10  christos   case 127: /* section_name_spec: SORT_BY_NAME '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')'  */
   3113  1.10  christos #line 487 "ldgram.y"
   3114  1.10  christos                         {
   3115   1.7  christos 			  (yyval.wildcard) = (yyvsp[-2].wildcard);
   3116   1.3      matt 			  (yyval.wildcard).sorted = by_name;
   3117   1.1     skrll 			}
   3118  1.10  christos #line 3119 "ldgram.c"
   3119   1.3      matt     break;
   3120   1.3      matt 
   3121  1.10  christos   case 128: /* section_name_spec: SORT_BY_ALIGNMENT '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')'  */
   3122  1.10  christos #line 492 "ldgram.y"
   3123  1.10  christos                         {
   3124   1.7  christos 			  (yyval.wildcard) = (yyvsp[-2].wildcard);
   3125   1.3      matt 			  (yyval.wildcard).sorted = by_alignment_name;
   3126   1.3      matt 			}
   3127  1.10  christos #line 3128 "ldgram.c"
   3128   1.3      matt     break;
   3129   1.3      matt 
   3130  1.10  christos   case 129: /* section_name_spec: SORT_BY_ALIGNMENT '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' ')'  */
   3131  1.10  christos #line 497 "ldgram.y"
   3132  1.10  christos                         {
   3133   1.7  christos 			  (yyval.wildcard) = (yyvsp[-2].wildcard);
   3134   1.3      matt 			  (yyval.wildcard).sorted = by_alignment;
   3135   1.3      matt 			}
   3136  1.10  christos #line 3137 "ldgram.c"
   3137   1.3      matt     break;
   3138   1.3      matt 
   3139  1.10  christos   case 130: /* section_name_spec: SORT_BY_INIT_PRIORITY '(' wildcard_maybe_exclude ')'  */
   3140  1.10  christos #line 502 "ldgram.y"
   3141  1.10  christos                         {
   3142   1.7  christos 			  (yyval.wildcard) = (yyvsp[-1].wildcard);
   3143   1.4      matt 			  (yyval.wildcard).sorted = by_init_priority;
   3144   1.4      matt 			}
   3145  1.10  christos #line 3146 "ldgram.c"
   3146   1.4      matt     break;
   3147   1.4      matt 
   3148  1.10  christos   case 131: /* sect_flag_list: NAME  */
   3149  1.10  christos #line 509 "ldgram.y"
   3150  1.10  christos                         {
   3151   1.4      matt 			  struct flag_info_list *n;
   3152   1.4      matt 			  n = ((struct flag_info_list *) xmalloc (sizeof *n));
   3153   1.7  christos 			  if ((yyvsp[0].name)[0] == '!')
   3154   1.4      matt 			    {
   3155   1.4      matt 			      n->with = without_flags;
   3156   1.7  christos 			      n->name = &(yyvsp[0].name)[1];
   3157   1.4      matt 			    }
   3158   1.4      matt 			  else
   3159   1.4      matt 			    {
   3160   1.4      matt 			      n->with = with_flags;
   3161   1.7  christos 			      n->name = (yyvsp[0].name);
   3162   1.4      matt 			    }
   3163  1.10  christos 			  n->valid = false;
   3164   1.4      matt 			  n->next = NULL;
   3165   1.4      matt 			  (yyval.flag_info_list) = n;
   3166   1.1     skrll 			}
   3167  1.10  christos #line 3168 "ldgram.c"
   3168   1.3      matt     break;
   3169   1.3      matt 
   3170  1.10  christos   case 132: /* sect_flag_list: sect_flag_list '&' NAME  */
   3171  1.10  christos #line 527 "ldgram.y"
   3172  1.10  christos                         {
   3173   1.4      matt 			  struct flag_info_list *n;
   3174   1.4      matt 			  n = ((struct flag_info_list *) xmalloc (sizeof *n));
   3175   1.7  christos 			  if ((yyvsp[0].name)[0] == '!')
   3176   1.4      matt 			    {
   3177   1.4      matt 			      n->with = without_flags;
   3178   1.7  christos 			      n->name = &(yyvsp[0].name)[1];
   3179   1.4      matt 			    }
   3180   1.4      matt 			  else
   3181   1.4      matt 			    {
   3182   1.4      matt 			      n->with = with_flags;
   3183   1.7  christos 			      n->name = (yyvsp[0].name);
   3184   1.4      matt 			    }
   3185  1.10  christos 			  n->valid = false;
   3186   1.7  christos 			  n->next = (yyvsp[-2].flag_info_list);
   3187   1.4      matt 			  (yyval.flag_info_list) = n;
   3188   1.4      matt 			}
   3189  1.10  christos #line 3190 "ldgram.c"
   3190   1.4      matt     break;
   3191   1.4      matt 
   3192  1.10  christos   case 133: /* sect_flags: INPUT_SECTION_FLAGS '(' sect_flag_list ')'  */
   3193  1.10  christos #line 548 "ldgram.y"
   3194  1.10  christos                         {
   3195   1.4      matt 			  struct flag_info *n;
   3196   1.4      matt 			  n = ((struct flag_info *) xmalloc (sizeof *n));
   3197   1.7  christos 			  n->flag_list = (yyvsp[-1].flag_info_list);
   3198  1.10  christos 			  n->flags_initialized = false;
   3199   1.4      matt 			  n->not_with_flags = 0;
   3200   1.4      matt 			  n->only_with_flags = 0;
   3201   1.4      matt 			  (yyval.flag_info) = n;
   3202   1.4      matt 			}
   3203  1.10  christos #line 3204 "ldgram.c"
   3204   1.4      matt     break;
   3205   1.4      matt 
   3206  1.10  christos   case 134: /* exclude_name_list: exclude_name_list wildcard_name  */
   3207  1.10  christos #line 561 "ldgram.y"
   3208  1.10  christos                         {
   3209   1.1     skrll 			  struct name_list *tmp;
   3210   1.1     skrll 			  tmp = (struct name_list *) xmalloc (sizeof *tmp);
   3211   1.7  christos 			  tmp->name = (yyvsp[0].cname);
   3212   1.7  christos 			  tmp->next = (yyvsp[-1].name_list);
   3213   1.3      matt 			  (yyval.name_list) = tmp;
   3214   1.1     skrll 			}
   3215  1.10  christos #line 3216 "ldgram.c"
   3216   1.3      matt     break;
   3217   1.3      matt 
   3218  1.10  christos   case 135: /* exclude_name_list: wildcard_name  */
   3219  1.10  christos #line 570 "ldgram.y"
   3220  1.10  christos                         {
   3221   1.1     skrll 			  struct name_list *tmp;
   3222   1.1     skrll 			  tmp = (struct name_list *) xmalloc (sizeof *tmp);
   3223   1.7  christos 			  tmp->name = (yyvsp[0].cname);
   3224   1.1     skrll 			  tmp->next = NULL;
   3225   1.3      matt 			  (yyval.name_list) = tmp;
   3226   1.1     skrll 			}
   3227  1.10  christos #line 3228 "ldgram.c"
   3228   1.3      matt     break;
   3229   1.3      matt 
   3230  1.10  christos   case 136: /* section_name_list: section_name_list opt_comma section_name_spec  */
   3231  1.10  christos #line 581 "ldgram.y"
   3232  1.10  christos                         {
   3233   1.1     skrll 			  struct wildcard_list *tmp;
   3234   1.1     skrll 			  tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
   3235   1.7  christos 			  tmp->next = (yyvsp[-2].wildcard_list);
   3236   1.7  christos 			  tmp->spec = (yyvsp[0].wildcard);
   3237   1.3      matt 			  (yyval.wildcard_list) = tmp;
   3238   1.3      matt 			}
   3239  1.10  christos #line 3240 "ldgram.c"
   3240   1.3      matt     break;
   3241   1.3      matt 
   3242  1.10  christos   case 137: /* section_name_list: section_name_spec  */
   3243  1.10  christos #line 590 "ldgram.y"
   3244  1.10  christos                         {
   3245   1.1     skrll 			  struct wildcard_list *tmp;
   3246   1.1     skrll 			  tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
   3247   1.1     skrll 			  tmp->next = NULL;
   3248   1.7  christos 			  tmp->spec = (yyvsp[0].wildcard);
   3249   1.3      matt 			  (yyval.wildcard_list) = tmp;
   3250   1.2      matt 			}
   3251  1.10  christos #line 3252 "ldgram.c"
   3252   1.3      matt     break;
   3253   1.3      matt 
   3254  1.10  christos   case 138: /* input_section_spec_no_keep: NAME  */
   3255  1.10  christos #line 601 "ldgram.y"
   3256  1.10  christos                         {
   3257   1.4      matt 			  struct wildcard_spec tmp;
   3258   1.7  christos 			  tmp.name = (yyvsp[0].name);
   3259   1.4      matt 			  tmp.exclude_name_list = NULL;
   3260   1.4      matt 			  tmp.sorted = none;
   3261   1.4      matt 			  tmp.section_flag_list = NULL;
   3262   1.4      matt 			  lang_add_wild (&tmp, NULL, ldgram_had_keep);
   3263   1.4      matt 			}
   3264  1.10  christos #line 3265 "ldgram.c"
   3265   1.4      matt     break;
   3266   1.4      matt 
   3267  1.10  christos   case 139: /* input_section_spec_no_keep: sect_flags NAME  */
   3268  1.10  christos #line 610 "ldgram.y"
   3269  1.10  christos                         {
   3270   1.2      matt 			  struct wildcard_spec tmp;
   3271   1.7  christos 			  tmp.name = (yyvsp[0].name);
   3272   1.2      matt 			  tmp.exclude_name_list = NULL;
   3273   1.2      matt 			  tmp.sorted = none;
   3274   1.7  christos 			  tmp.section_flag_list = (yyvsp[-1].flag_info);
   3275   1.2      matt 			  lang_add_wild (&tmp, NULL, ldgram_had_keep);
   3276   1.1     skrll 			}
   3277  1.10  christos #line 3278 "ldgram.c"
   3278   1.3      matt     break;
   3279   1.3      matt 
   3280  1.10  christos   case 140: /* input_section_spec_no_keep: '[' section_name_list ']'  */
   3281  1.10  christos #line 619 "ldgram.y"
   3282  1.10  christos                         {
   3283   1.7  christos 			  lang_add_wild (NULL, (yyvsp[-1].wildcard_list), ldgram_had_keep);
   3284   1.4      matt 			}
   3285  1.10  christos #line 3286 "ldgram.c"
   3286   1.4      matt     break;
   3287   1.4      matt 
   3288  1.10  christos   case 141: /* input_section_spec_no_keep: sect_flags '[' section_name_list ']'  */
   3289  1.10  christos #line 623 "ldgram.y"
   3290  1.10  christos                         {
   3291   1.4      matt 			  struct wildcard_spec tmp;
   3292   1.4      matt 			  tmp.name = NULL;
   3293   1.4      matt 			  tmp.exclude_name_list = NULL;
   3294   1.4      matt 			  tmp.sorted = none;
   3295   1.7  christos 			  tmp.section_flag_list = (yyvsp[-3].flag_info);
   3296   1.7  christos 			  lang_add_wild (&tmp, (yyvsp[-1].wildcard_list), ldgram_had_keep);
   3297   1.4      matt 			}
   3298  1.10  christos #line 3299 "ldgram.c"
   3299   1.4      matt     break;
   3300   1.4      matt 
   3301  1.10  christos   case 142: /* input_section_spec_no_keep: filename_spec '(' section_name_list ')'  */
   3302  1.10  christos #line 632 "ldgram.y"
   3303  1.10  christos                         {
   3304   1.7  christos 			  lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep);
   3305   1.1     skrll 			}
   3306  1.10  christos #line 3307 "ldgram.c"
   3307   1.3      matt     break;
   3308   1.3      matt 
   3309  1.10  christos   case 143: /* input_section_spec_no_keep: sect_flags filename_spec '(' section_name_list ')'  */
   3310  1.10  christos #line 636 "ldgram.y"
   3311  1.10  christos                         {
   3312   1.7  christos 			  (yyvsp[-3].wildcard).section_flag_list = (yyvsp[-4].flag_info);
   3313   1.7  christos 			  lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep);
   3314   1.2      matt 			}
   3315  1.10  christos #line 3316 "ldgram.c"
   3316   1.3      matt     break;
   3317   1.3      matt 
   3318  1.10  christos   case 145: /* $@13: %empty  */
   3319  1.10  christos #line 645 "ldgram.y"
   3320  1.10  christos                         { ldgram_had_keep = true; }
   3321  1.10  christos #line 3322 "ldgram.c"
   3322   1.3      matt     break;
   3323   1.3      matt 
   3324  1.10  christos   case 146: /* input_section_spec: KEEP '(' $@13 input_section_spec_no_keep ')'  */
   3325  1.10  christos #line 647 "ldgram.y"
   3326  1.10  christos                         { ldgram_had_keep = false; }
   3327  1.10  christos #line 3328 "ldgram.c"
   3328   1.3      matt     break;
   3329   1.3      matt 
   3330  1.10  christos   case 149: /* statement: CREATE_OBJECT_SYMBOLS  */
   3331  1.10  christos #line 654 "ldgram.y"
   3332  1.10  christos                 {
   3333  1.10  christos 		  lang_add_attribute (lang_object_symbols_statement_enum);
   3334   1.7  christos 		}
   3335  1.10  christos #line 3336 "ldgram.c"
   3336   1.3      matt     break;
   3337   1.3      matt 
   3338  1.10  christos   case 150: /* statement: CONSTRUCTORS  */
   3339  1.10  christos #line 658 "ldgram.y"
   3340  1.10  christos                 {
   3341  1.10  christos 		  lang_add_attribute (lang_constructors_statement_enum);
   3342   1.1     skrll 		}
   3343  1.10  christos #line 3344 "ldgram.c"
   3344   1.3      matt     break;
   3345   1.3      matt 
   3346  1.10  christos   case 151: /* statement: SORT_BY_NAME '(' CONSTRUCTORS ')'  */
   3347  1.10  christos #line 662 "ldgram.y"
   3348  1.10  christos                 {
   3349  1.10  christos 		  constructors_sorted = true;
   3350   1.1     skrll 		  lang_add_attribute (lang_constructors_statement_enum);
   3351   1.1     skrll 		}
   3352  1.10  christos #line 3353 "ldgram.c"
   3353   1.3      matt     break;
   3354   1.3      matt 
   3355  1.10  christos   case 153: /* statement: length '(' mustbe_exp ')'  */
   3356  1.10  christos #line 668 "ldgram.y"
   3357  1.10  christos                 {
   3358   1.7  christos 		  lang_add_data ((int) (yyvsp[-3].integer), (yyvsp[-1].etree));
   3359   1.7  christos 		}
   3360  1.10  christos #line 3361 "ldgram.c"
   3361   1.3      matt     break;
   3362   1.3      matt 
   3363  1.10  christos   case 154: /* statement: FILL '(' fill_exp ')'  */
   3364  1.10  christos #line 673 "ldgram.y"
   3365  1.10  christos                 {
   3366   1.7  christos 		  lang_add_fill ((yyvsp[-1].fill));
   3367   1.7  christos 		}
   3368  1.10  christos #line 3369 "ldgram.c"
   3369   1.3      matt     break;
   3370   1.3      matt 
   3371  1.10  christos   case 155: /* $@14: %empty  */
   3372  1.10  christos #line 677 "ldgram.y"
   3373  1.10  christos                 { ldlex_expression (); }
   3374  1.10  christos #line 3375 "ldgram.c"
   3375   1.3      matt     break;
   3376   1.3      matt 
   3377  1.10  christos   case 156: /* statement: ASSERT_K $@14 '(' exp ',' NAME ')' separator  */
   3378  1.10  christos #line 679 "ldgram.y"
   3379  1.10  christos                 {
   3380  1.10  christos 		  ldlex_popstate ();
   3381  1.10  christos 		  lang_add_assignment (exp_assert ((yyvsp[-4].etree), (yyvsp[-2].name)));
   3382  1.10  christos 		}
   3383  1.10  christos #line 3384 "ldgram.c"
   3384   1.3      matt     break;
   3385   1.3      matt 
   3386  1.10  christos   case 157: /* $@15: %empty  */
   3387  1.10  christos #line 684 "ldgram.y"
   3388  1.10  christos                 {
   3389  1.10  christos 		  ldfile_open_command_file ((yyvsp[0].name));
   3390  1.10  christos 		}
   3391  1.10  christos #line 3392 "ldgram.c"
   3392   1.3      matt     break;
   3393   1.3      matt 
   3394  1.10  christos   case 163: /* length: QUAD  */
   3395  1.10  christos #line 702 "ldgram.y"
   3396  1.10  christos                         { (yyval.integer) = (yyvsp[0].token); }
   3397  1.10  christos #line 3398 "ldgram.c"
   3398   1.3      matt     break;
   3399   1.3      matt 
   3400  1.10  christos   case 164: /* length: SQUAD  */
   3401  1.10  christos #line 704 "ldgram.y"
   3402  1.10  christos                         { (yyval.integer) = (yyvsp[0].token); }
   3403  1.10  christos #line 3404 "ldgram.c"
   3404   1.3      matt     break;
   3405   1.3      matt 
   3406  1.10  christos   case 165: /* length: LONG  */
   3407  1.10  christos #line 706 "ldgram.y"
   3408  1.10  christos                         { (yyval.integer) = (yyvsp[0].token); }
   3409  1.10  christos #line 3410 "ldgram.c"
   3410   1.3      matt     break;
   3411   1.3      matt 
   3412  1.10  christos   case 166: /* length: SHORT  */
   3413  1.10  christos #line 708 "ldgram.y"
   3414  1.10  christos                         { (yyval.integer) = (yyvsp[0].token); }
   3415  1.10  christos #line 3416 "ldgram.c"
   3416   1.5  christos     break;
   3417   1.5  christos 
   3418  1.10  christos   case 167: /* length: BYTE  */
   3419  1.10  christos #line 710 "ldgram.y"
   3420  1.10  christos                         { (yyval.integer) = (yyvsp[0].token); }
   3421  1.10  christos #line 3422 "ldgram.c"
   3422   1.5  christos     break;
   3423   1.5  christos 
   3424  1.10  christos   case 168: /* fill_exp: mustbe_exp  */
   3425  1.10  christos #line 715 "ldgram.y"
   3426  1.10  christos                 {
   3427   1.7  christos 		  (yyval.fill) = exp_get_fill ((yyvsp[0].etree), 0, "fill value");
   3428   1.6  christos 		}
   3429  1.10  christos #line 3430 "ldgram.c"
   3430   1.3      matt     break;
   3431   1.3      matt 
   3432  1.10  christos   case 169: /* fill_opt: '=' fill_exp  */
   3433  1.10  christos #line 722 "ldgram.y"
   3434  1.10  christos                 { (yyval.fill) = (yyvsp[0].fill); }
   3435  1.10  christos #line 3436 "ldgram.c"
   3436   1.3      matt     break;
   3437   1.3      matt 
   3438  1.10  christos   case 170: /* fill_opt: %empty  */
   3439  1.10  christos #line 723 "ldgram.y"
   3440  1.10  christos                 { (yyval.fill) = (fill_type *) 0; }
   3441  1.10  christos #line 3442 "ldgram.c"
   3442   1.3      matt     break;
   3443   1.3      matt 
   3444  1.10  christos   case 171: /* assign_op: PLUSEQ  */
   3445  1.10  christos #line 728 "ldgram.y"
   3446  1.10  christos                         { (yyval.token) = '+'; }
   3447  1.10  christos #line 3448 "ldgram.c"
   3448   1.3      matt     break;
   3449   1.3      matt 
   3450  1.10  christos   case 172: /* assign_op: MINUSEQ  */
   3451  1.10  christos #line 730 "ldgram.y"
   3452  1.10  christos                         { (yyval.token) = '-'; }
   3453  1.10  christos #line 3454 "ldgram.c"
   3454   1.3      matt     break;
   3455   1.3      matt 
   3456  1.10  christos   case 173: /* assign_op: MULTEQ  */
   3457  1.10  christos #line 732 "ldgram.y"
   3458  1.10  christos                         { (yyval.token) = '*'; }
   3459  1.10  christos #line 3460 "ldgram.c"
   3460   1.3      matt     break;
   3461   1.3      matt 
   3462  1.10  christos   case 174: /* assign_op: DIVEQ  */
   3463  1.10  christos #line 734 "ldgram.y"
   3464  1.10  christos                         { (yyval.token) = '/'; }
   3465  1.10  christos #line 3466 "ldgram.c"
   3466   1.3      matt     break;
   3467   1.3      matt 
   3468  1.10  christos   case 175: /* assign_op: LSHIFTEQ  */
   3469  1.10  christos #line 736 "ldgram.y"
   3470  1.10  christos                         { (yyval.token) = LSHIFT; }
   3471  1.10  christos #line 3472 "ldgram.c"
   3472   1.3      matt     break;
   3473   1.3      matt 
   3474  1.10  christos   case 176: /* assign_op: RSHIFTEQ  */
   3475  1.10  christos #line 738 "ldgram.y"
   3476  1.10  christos                         { (yyval.token) = RSHIFT; }
   3477  1.10  christos #line 3478 "ldgram.c"
   3478   1.3      matt     break;
   3479   1.3      matt 
   3480  1.10  christos   case 177: /* assign_op: ANDEQ  */
   3481  1.10  christos #line 740 "ldgram.y"
   3482  1.10  christos                         { (yyval.token) = '&'; }
   3483  1.10  christos #line 3484 "ldgram.c"
   3484   1.3      matt     break;
   3485   1.3      matt 
   3486  1.10  christos   case 178: /* assign_op: OREQ  */
   3487  1.10  christos #line 742 "ldgram.y"
   3488  1.10  christos                         { (yyval.token) = '|'; }
   3489  1.10  christos #line 3490 "ldgram.c"
   3490   1.4      matt     break;
   3491   1.4      matt 
   3492  1.10  christos   case 181: /* assignment: NAME '=' mustbe_exp  */
   3493  1.10  christos #line 752 "ldgram.y"
   3494  1.10  christos                 {
   3495  1.10  christos 		  lang_add_assignment (exp_assign ((yyvsp[-2].name), (yyvsp[0].etree), false));
   3496   1.3      matt 		}
   3497  1.10  christos #line 3498 "ldgram.c"
   3498   1.3      matt     break;
   3499   1.3      matt 
   3500  1.10  christos   case 182: /* assignment: NAME assign_op mustbe_exp  */
   3501  1.10  christos #line 756 "ldgram.y"
   3502  1.10  christos                 {
   3503   1.7  christos 		  lang_add_assignment (exp_assign ((yyvsp[-2].name),
   3504   1.7  christos 						   exp_binop ((yyvsp[-1].token),
   3505   1.6  christos 							      exp_nameop (NAME,
   3506   1.7  christos 									  (yyvsp[-2].name)),
   3507  1.10  christos 							      (yyvsp[0].etree)), false));
   3508   1.3      matt 		}
   3509  1.10  christos #line 3510 "ldgram.c"
   3510   1.3      matt     break;
   3511   1.3      matt 
   3512  1.10  christos   case 183: /* assignment: HIDDEN '(' NAME '=' mustbe_exp ')'  */
   3513  1.10  christos #line 764 "ldgram.y"
   3514  1.10  christos                 {
   3515  1.10  christos 		  lang_add_assignment (exp_assign ((yyvsp[-3].name), (yyvsp[-1].etree), true));
   3516   1.3      matt 		}
   3517  1.10  christos #line 3518 "ldgram.c"
   3518   1.3      matt     break;
   3519   1.3      matt 
   3520  1.10  christos   case 184: /* assignment: PROVIDE '(' NAME '=' mustbe_exp ')'  */
   3521  1.10  christos #line 768 "ldgram.y"
   3522  1.10  christos                 {
   3523  1.10  christos 		  lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), false));
   3524   1.3      matt 		}
   3525  1.10  christos #line 3526 "ldgram.c"
   3526   1.3      matt     break;
   3527   1.3      matt 
   3528  1.10  christos   case 185: /* assignment: PROVIDE_HIDDEN '(' NAME '=' mustbe_exp ')'  */
   3529  1.10  christos #line 772 "ldgram.y"
   3530  1.10  christos                 {
   3531  1.10  christos 		  lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), true));
   3532   1.6  christos 		}
   3533  1.10  christos #line 3534 "ldgram.c"
   3534   1.3      matt     break;
   3535   1.3      matt 
   3536  1.10  christos   case 193: /* $@16: %empty  */
   3537  1.10  christos #line 795 "ldgram.y"
   3538  1.10  christos                 { region = lang_memory_region_lookup ((yyvsp[0].name), true); }
   3539  1.10  christos #line 3540 "ldgram.c"
   3540   1.3      matt     break;
   3541   1.3      matt 
   3542  1.10  christos   case 194: /* memory_spec: NAME $@16 attributes_opt ':' origin_spec opt_comma length_spec  */
   3543  1.10  christos #line 798 "ldgram.y"
   3544  1.10  christos                 {}
   3545  1.10  christos #line 3546 "ldgram.c"
   3546   1.3      matt     break;
   3547   1.3      matt 
   3548  1.10  christos   case 195: /* $@17: %empty  */
   3549  1.10  christos #line 800 "ldgram.y"
   3550  1.10  christos                 { ldfile_open_command_file ((yyvsp[0].name)); }
   3551  1.10  christos #line 3552 "ldgram.c"
   3552   1.6  christos     break;
   3553   1.6  christos 
   3554  1.10  christos   case 197: /* origin_spec: ORIGIN '=' mustbe_exp  */
   3555  1.10  christos #line 806 "ldgram.y"
   3556  1.10  christos                 {
   3557   1.7  christos 		  region->origin_exp = (yyvsp[0].etree);
   3558   1.3      matt 		}
   3559  1.10  christos #line 3560 "ldgram.c"
   3560   1.3      matt     break;
   3561   1.3      matt 
   3562  1.10  christos   case 198: /* length_spec: LENGTH '=' mustbe_exp  */
   3563  1.10  christos #line 813 "ldgram.y"
   3564  1.10  christos                 {
   3565  1.10  christos 		  if (yychar == NAME)
   3566  1.10  christos 		    {
   3567  1.10  christos 		      yyclearin;
   3568  1.10  christos 		      ldlex_backup ();
   3569  1.10  christos 		    }
   3570   1.7  christos 		  region->length_exp = (yyvsp[0].etree);
   3571   1.1     skrll 		}
   3572  1.10  christos #line 3573 "ldgram.c"
   3573   1.3      matt     break;
   3574   1.3      matt 
   3575  1.10  christos   case 199: /* attributes_opt: %empty  */
   3576  1.10  christos #line 825 "ldgram.y"
   3577  1.10  christos                   { /* dummy action to avoid bison 1.25 error message */ }
   3578  1.10  christos #line 3579 "ldgram.c"
   3579   1.3      matt     break;
   3580   1.3      matt 
   3581  1.10  christos   case 203: /* attributes_string: NAME  */
   3582  1.10  christos #line 836 "ldgram.y"
   3583  1.10  christos                   { lang_set_flags (region, (yyvsp[0].name), 0); }
   3584  1.10  christos #line 3585 "ldgram.c"
   3585   1.3      matt     break;
   3586   1.3      matt 
   3587  1.10  christos   case 204: /* attributes_string: '!' NAME  */
   3588  1.10  christos #line 838 "ldgram.y"
   3589  1.10  christos                   { lang_set_flags (region, (yyvsp[0].name), 1); }
   3590  1.10  christos #line 3591 "ldgram.c"
   3591   1.3      matt     break;
   3592   1.3      matt 
   3593  1.10  christos   case 205: /* startup: STARTUP '(' filename ')'  */
   3594  1.10  christos #line 843 "ldgram.y"
   3595  1.10  christos                 { lang_startup((yyvsp[-1].name)); }
   3596  1.10  christos #line 3597 "ldgram.c"
   3597   1.3      matt     break;
   3598   1.3      matt 
   3599  1.10  christos   case 207: /* high_level_library: HLL '(' ')'  */
   3600  1.10  christos #line 849 "ldgram.y"
   3601  1.10  christos                         { ldemul_hll((char *)NULL); }
   3602  1.10  christos #line 3603 "ldgram.c"
   3603   1.3      matt     break;
   3604   1.3      matt 
   3605  1.10  christos   case 208: /* high_level_library_NAME_list: high_level_library_NAME_list opt_comma filename  */
   3606  1.10  christos #line 854 "ldgram.y"
   3607  1.10  christos                         { ldemul_hll((yyvsp[0].name)); }
   3608  1.10  christos #line 3609 "ldgram.c"
   3609   1.6  christos     break;
   3610   1.6  christos 
   3611  1.10  christos   case 209: /* high_level_library_NAME_list: filename  */
   3612  1.10  christos #line 856 "ldgram.y"
   3613  1.10  christos                         { ldemul_hll((yyvsp[0].name)); }
   3614  1.10  christos #line 3615 "ldgram.c"
   3615   1.3      matt     break;
   3616   1.3      matt 
   3617  1.10  christos   case 211: /* low_level_library_NAME_list: low_level_library_NAME_list opt_comma filename  */
   3618  1.10  christos #line 865 "ldgram.y"
   3619  1.10  christos                         { ldemul_syslib((yyvsp[0].name)); }
   3620  1.10  christos #line 3621 "ldgram.c"
   3621   1.3      matt     break;
   3622   1.3      matt 
   3623  1.10  christos   case 213: /* floating_point_support: FLOAT  */
   3624  1.10  christos #line 871 "ldgram.y"
   3625  1.10  christos                         { lang_float(true); }
   3626  1.10  christos #line 3627 "ldgram.c"
   3627   1.3      matt     break;
   3628   1.3      matt 
   3629  1.10  christos   case 214: /* floating_point_support: NOFLOAT  */
   3630  1.10  christos #line 873 "ldgram.y"
   3631  1.10  christos                         { lang_float(false); }
   3632  1.10  christos #line 3633 "ldgram.c"
   3633   1.3      matt     break;
   3634   1.3      matt 
   3635  1.10  christos   case 215: /* nocrossref_list: %empty  */
   3636  1.10  christos #line 878 "ldgram.y"
   3637  1.10  christos                 {
   3638   1.3      matt 		  (yyval.nocrossref) = NULL;
   3639   1.2      matt 		}
   3640  1.10  christos #line 3641 "ldgram.c"
   3641   1.3      matt     break;
   3642   1.3      matt 
   3643  1.10  christos   case 216: /* nocrossref_list: NAME nocrossref_list  */
   3644  1.10  christos #line 882 "ldgram.y"
   3645  1.10  christos                 {
   3646   1.3      matt 		  struct lang_nocrossref *n;
   3647   1.3      matt 
   3648   1.3      matt 		  n = (struct lang_nocrossref *) xmalloc (sizeof *n);
   3649   1.7  christos 		  n->name = (yyvsp[-1].name);
   3650   1.7  christos 		  n->next = (yyvsp[0].nocrossref);
   3651   1.3      matt 		  (yyval.nocrossref) = n;
   3652   1.2      matt 		}
   3653  1.10  christos #line 3654 "ldgram.c"
   3654   1.3      matt     break;
   3655   1.3      matt 
   3656  1.10  christos   case 217: /* nocrossref_list: NAME ',' nocrossref_list  */
   3657  1.10  christos #line 891 "ldgram.y"
   3658  1.10  christos                 {
   3659   1.3      matt 		  struct lang_nocrossref *n;
   3660   1.3      matt 
   3661   1.3      matt 		  n = (struct lang_nocrossref *) xmalloc (sizeof *n);
   3662   1.7  christos 		  n->name = (yyvsp[-2].name);
   3663   1.7  christos 		  n->next = (yyvsp[0].nocrossref);
   3664   1.3      matt 		  (yyval.nocrossref) = n;
   3665   1.3      matt 		}
   3666  1.10  christos #line 3667 "ldgram.c"
   3667  1.10  christos     break;
   3668  1.10  christos 
   3669  1.10  christos   case 218: /* $@18: %empty  */
   3670  1.10  christos #line 901 "ldgram.y"
   3671  1.10  christos                         { ldlex_script (); }
   3672  1.10  christos #line 3673 "ldgram.c"
   3673  1.10  christos     break;
   3674  1.10  christos 
   3675  1.10  christos   case 219: /* paren_script_name: $@18 '(' NAME ')'  */
   3676  1.10  christos #line 903 "ldgram.y"
   3677  1.10  christos                         { ldlex_popstate (); (yyval.name) = (yyvsp[-1].name); }
   3678  1.10  christos #line 3679 "ldgram.c"
   3679   1.3      matt     break;
   3680   1.3      matt 
   3681  1.10  christos   case 220: /* $@19: %empty  */
   3682  1.10  christos #line 905 "ldgram.y"
   3683  1.10  christos                         { ldlex_expression (); }
   3684  1.10  christos #line 3685 "ldgram.c"
   3685   1.3      matt     break;
   3686   1.3      matt 
   3687  1.10  christos   case 221: /* mustbe_exp: $@19 exp  */
   3688  1.10  christos #line 907 "ldgram.y"
   3689  1.10  christos                         { ldlex_popstate (); (yyval.etree) = (yyvsp[0].etree); }
   3690  1.10  christos #line 3691 "ldgram.c"
   3691   1.3      matt     break;
   3692   1.3      matt 
   3693  1.10  christos   case 222: /* exp: '-' exp  */
   3694  1.10  christos #line 912 "ldgram.y"
   3695  1.10  christos                         { (yyval.etree) = exp_unop ('-', (yyvsp[0].etree)); }
   3696  1.10  christos #line 3697 "ldgram.c"
   3697   1.3      matt     break;
   3698   1.3      matt 
   3699  1.10  christos   case 223: /* exp: '(' exp ')'  */
   3700  1.10  christos #line 914 "ldgram.y"
   3701  1.10  christos                         { (yyval.etree) = (yyvsp[-1].etree); }
   3702  1.10  christos #line 3703 "ldgram.c"
   3703   1.3      matt     break;
   3704   1.3      matt 
   3705  1.10  christos   case 224: /* exp: NEXT '(' exp ')'  */
   3706  1.10  christos #line 916 "ldgram.y"
   3707  1.10  christos                         { (yyval.etree) = exp_unop ((int) (yyvsp[-3].integer),(yyvsp[-1].etree)); }
   3708  1.10  christos #line 3709 "ldgram.c"
   3709   1.3      matt     break;
   3710   1.3      matt 
   3711  1.10  christos   case 225: /* exp: '!' exp  */
   3712  1.10  christos #line 918 "ldgram.y"
   3713  1.10  christos                         { (yyval.etree) = exp_unop ('!', (yyvsp[0].etree)); }
   3714  1.10  christos #line 3715 "ldgram.c"
   3715   1.3      matt     break;
   3716   1.3      matt 
   3717  1.10  christos   case 226: /* exp: '+' exp  */
   3718  1.10  christos #line 920 "ldgram.y"
   3719  1.10  christos                         { (yyval.etree) = (yyvsp[0].etree); }
   3720  1.10  christos #line 3721 "ldgram.c"
   3721   1.3      matt     break;
   3722   1.3      matt 
   3723  1.10  christos   case 227: /* exp: '~' exp  */
   3724  1.10  christos #line 922 "ldgram.y"
   3725  1.10  christos                         { (yyval.etree) = exp_unop ('~', (yyvsp[0].etree));}
   3726  1.10  christos #line 3727 "ldgram.c"
   3727   1.3      matt     break;
   3728   1.3      matt 
   3729  1.10  christos   case 228: /* exp: exp '*' exp  */
   3730  1.10  christos #line 925 "ldgram.y"
   3731  1.10  christos                         { (yyval.etree) = exp_binop ('*', (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3732  1.10  christos #line 3733 "ldgram.c"
   3733   1.3      matt     break;
   3734   1.3      matt 
   3735  1.10  christos   case 229: /* exp: exp '/' exp  */
   3736  1.10  christos #line 927 "ldgram.y"
   3737  1.10  christos                         { (yyval.etree) = exp_binop ('/', (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3738  1.10  christos #line 3739 "ldgram.c"
   3739   1.3      matt     break;
   3740   1.3      matt 
   3741  1.10  christos   case 230: /* exp: exp '%' exp  */
   3742  1.10  christos #line 929 "ldgram.y"
   3743  1.10  christos                         { (yyval.etree) = exp_binop ('%', (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3744  1.10  christos #line 3745 "ldgram.c"
   3745   1.3      matt     break;
   3746   1.3      matt 
   3747  1.10  christos   case 231: /* exp: exp '+' exp  */
   3748  1.10  christos #line 931 "ldgram.y"
   3749  1.10  christos                         { (yyval.etree) = exp_binop ('+', (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3750  1.10  christos #line 3751 "ldgram.c"
   3751   1.3      matt     break;
   3752   1.3      matt 
   3753  1.10  christos   case 232: /* exp: exp '-' exp  */
   3754  1.10  christos #line 933 "ldgram.y"
   3755  1.10  christos                         { (yyval.etree) = exp_binop ('-' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3756  1.10  christos #line 3757 "ldgram.c"
   3757   1.3      matt     break;
   3758   1.3      matt 
   3759  1.10  christos   case 233: /* exp: exp LSHIFT exp  */
   3760  1.10  christos #line 935 "ldgram.y"
   3761  1.10  christos                         { (yyval.etree) = exp_binop (LSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3762  1.10  christos #line 3763 "ldgram.c"
   3763   1.3      matt     break;
   3764   1.3      matt 
   3765  1.10  christos   case 234: /* exp: exp RSHIFT exp  */
   3766  1.10  christos #line 937 "ldgram.y"
   3767  1.10  christos                         { (yyval.etree) = exp_binop (RSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3768  1.10  christos #line 3769 "ldgram.c"
   3769   1.3      matt     break;
   3770   1.3      matt 
   3771  1.10  christos   case 235: /* exp: exp EQ exp  */
   3772  1.10  christos #line 939 "ldgram.y"
   3773  1.10  christos                         { (yyval.etree) = exp_binop (EQ , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3774  1.10  christos #line 3775 "ldgram.c"
   3775   1.3      matt     break;
   3776   1.3      matt 
   3777  1.10  christos   case 236: /* exp: exp NE exp  */
   3778  1.10  christos #line 941 "ldgram.y"
   3779  1.10  christos                         { (yyval.etree) = exp_binop (NE , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3780  1.10  christos #line 3781 "ldgram.c"
   3781   1.3      matt     break;
   3782   1.3      matt 
   3783  1.10  christos   case 237: /* exp: exp LE exp  */
   3784  1.10  christos #line 943 "ldgram.y"
   3785  1.10  christos                         { (yyval.etree) = exp_binop (LE , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3786  1.10  christos #line 3787 "ldgram.c"
   3787   1.3      matt     break;
   3788   1.3      matt 
   3789  1.10  christos   case 238: /* exp: exp GE exp  */
   3790  1.10  christos #line 945 "ldgram.y"
   3791  1.10  christos                         { (yyval.etree) = exp_binop (GE , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3792  1.10  christos #line 3793 "ldgram.c"
   3793   1.3      matt     break;
   3794   1.3      matt 
   3795  1.10  christos   case 239: /* exp: exp '<' exp  */
   3796  1.10  christos #line 947 "ldgram.y"
   3797  1.10  christos                         { (yyval.etree) = exp_binop ('<' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3798  1.10  christos #line 3799 "ldgram.c"
   3799   1.3      matt     break;
   3800   1.3      matt 
   3801  1.10  christos   case 240: /* exp: exp '>' exp  */
   3802  1.10  christos #line 949 "ldgram.y"
   3803  1.10  christos                         { (yyval.etree) = exp_binop ('>' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3804  1.10  christos #line 3805 "ldgram.c"
   3805   1.3      matt     break;
   3806   1.3      matt 
   3807  1.10  christos   case 241: /* exp: exp '&' exp  */
   3808  1.10  christos #line 951 "ldgram.y"
   3809  1.10  christos                         { (yyval.etree) = exp_binop ('&' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3810  1.10  christos #line 3811 "ldgram.c"
   3811   1.3      matt     break;
   3812   1.3      matt 
   3813  1.10  christos   case 242: /* exp: exp '^' exp  */
   3814  1.10  christos #line 953 "ldgram.y"
   3815  1.10  christos                         { (yyval.etree) = exp_binop ('^' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3816  1.10  christos #line 3817 "ldgram.c"
   3817   1.3      matt     break;
   3818   1.3      matt 
   3819  1.10  christos   case 243: /* exp: exp '|' exp  */
   3820  1.10  christos #line 955 "ldgram.y"
   3821  1.10  christos                         { (yyval.etree) = exp_binop ('|' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3822  1.10  christos #line 3823 "ldgram.c"
   3823   1.3      matt     break;
   3824   1.3      matt 
   3825  1.10  christos   case 244: /* exp: exp '?' exp ':' exp  */
   3826  1.10  christos #line 957 "ldgram.y"
   3827  1.10  christos                         { (yyval.etree) = exp_trinop ('?' , (yyvsp[-4].etree), (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3828  1.10  christos #line 3829 "ldgram.c"
   3829   1.3      matt     break;
   3830   1.3      matt 
   3831  1.10  christos   case 245: /* exp: exp ANDAND exp  */
   3832  1.10  christos #line 959 "ldgram.y"
   3833  1.10  christos                         { (yyval.etree) = exp_binop (ANDAND , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3834  1.10  christos #line 3835 "ldgram.c"
   3835   1.3      matt     break;
   3836   1.3      matt 
   3837  1.10  christos   case 246: /* exp: exp OROR exp  */
   3838  1.10  christos #line 961 "ldgram.y"
   3839  1.10  christos                         { (yyval.etree) = exp_binop (OROR , (yyvsp[-2].etree), (yyvsp[0].etree)); }
   3840  1.10  christos #line 3841 "ldgram.c"
   3841   1.3      matt     break;
   3842   1.3      matt 
   3843  1.10  christos   case 247: /* exp: DEFINED '(' NAME ')'  */
   3844  1.10  christos #line 963 "ldgram.y"
   3845  1.10  christos                         { (yyval.etree) = exp_nameop (DEFINED, (yyvsp[-1].name)); }
   3846  1.10  christos #line 3847 "ldgram.c"
   3847   1.3      matt     break;
   3848   1.3      matt 
   3849  1.10  christos   case 248: /* exp: INT  */
   3850  1.10  christos #line 965 "ldgram.y"
   3851  1.10  christos                         { (yyval.etree) = exp_bigintop ((yyvsp[0].bigint).integer, (yyvsp[0].bigint).str); }
   3852  1.10  christos #line 3853 "ldgram.c"
   3853   1.3      matt     break;
   3854   1.3      matt 
   3855  1.10  christos   case 249: /* exp: SIZEOF_HEADERS  */
   3856  1.10  christos #line 967 "ldgram.y"
   3857  1.10  christos                         { (yyval.etree) = exp_nameop (SIZEOF_HEADERS,0); }
   3858  1.10  christos #line 3859 "ldgram.c"
   3859   1.3      matt     break;
   3860   1.3      matt 
   3861  1.10  christos   case 250: /* exp: ALIGNOF paren_script_name  */
   3862  1.10  christos #line 970 "ldgram.y"
   3863  1.10  christos                         { (yyval.etree) = exp_nameop (ALIGNOF, (yyvsp[0].name)); }
   3864  1.10  christos #line 3865 "ldgram.c"
   3865   1.3      matt     break;
   3866   1.3      matt 
   3867  1.10  christos   case 251: /* exp: SIZEOF paren_script_name  */
   3868  1.10  christos #line 972 "ldgram.y"
   3869  1.10  christos                         { (yyval.etree) = exp_nameop (SIZEOF, (yyvsp[0].name)); }
   3870  1.10  christos #line 3871 "ldgram.c"
   3871   1.3      matt     break;
   3872   1.3      matt 
   3873  1.10  christos   case 252: /* exp: ADDR paren_script_name  */
   3874  1.10  christos #line 974 "ldgram.y"
   3875  1.10  christos                         { (yyval.etree) = exp_nameop (ADDR, (yyvsp[0].name)); }
   3876  1.10  christos #line 3877 "ldgram.c"
   3877   1.3      matt     break;
   3878   1.3      matt 
   3879  1.10  christos   case 253: /* exp: LOADADDR paren_script_name  */
   3880  1.10  christos #line 976 "ldgram.y"
   3881  1.10  christos                         { (yyval.etree) = exp_nameop (LOADADDR, (yyvsp[0].name)); }
   3882  1.10  christos #line 3883 "ldgram.c"
   3883   1.3      matt     break;
   3884   1.3      matt 
   3885  1.10  christos   case 254: /* exp: CONSTANT '(' NAME ')'  */
   3886  1.10  christos #line 978 "ldgram.y"
   3887  1.10  christos                         { (yyval.etree) = exp_nameop (CONSTANT,(yyvsp[-1].name)); }
   3888  1.10  christos #line 3889 "ldgram.c"
   3889   1.5  christos     break;
   3890   1.5  christos 
   3891  1.10  christos   case 255: /* exp: ABSOLUTE '(' exp ')'  */
   3892  1.10  christos #line 980 "ldgram.y"
   3893  1.10  christos                         { (yyval.etree) = exp_unop (ABSOLUTE, (yyvsp[-1].etree)); }
   3894  1.10  christos #line 3895 "ldgram.c"
   3895   1.5  christos     break;
   3896   1.5  christos 
   3897  1.10  christos   case 256: /* exp: ALIGN_K '(' exp ')'  */
   3898  1.10  christos #line 982 "ldgram.y"
   3899  1.10  christos                         { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); }
   3900  1.10  christos #line 3901 "ldgram.c"
   3901   1.6  christos     break;
   3902   1.6  christos 
   3903  1.10  christos   case 257: /* exp: ALIGN_K '(' exp ',' exp ')'  */
   3904  1.10  christos #line 984 "ldgram.y"
   3905  1.10  christos                         { (yyval.etree) = exp_binop (ALIGN_K,(yyvsp[-3].etree),(yyvsp[-1].etree)); }
   3906  1.10  christos #line 3907 "ldgram.c"
   3907   1.3      matt     break;
   3908   1.3      matt 
   3909  1.10  christos   case 258: /* exp: DATA_SEGMENT_ALIGN '(' exp ',' exp ')'  */
   3910  1.10  christos #line 986 "ldgram.y"
   3911  1.10  christos                         { (yyval.etree) = exp_binop (DATA_SEGMENT_ALIGN, (yyvsp[-3].etree), (yyvsp[-1].etree)); }
   3912  1.10  christos #line 3913 "ldgram.c"
   3913   1.3      matt     break;
   3914   1.3      matt 
   3915  1.10  christos   case 259: /* exp: DATA_SEGMENT_RELRO_END '(' exp ',' exp ')'  */
   3916  1.10  christos #line 988 "ldgram.y"
   3917  1.10  christos                         { (yyval.etree) = exp_binop (DATA_SEGMENT_RELRO_END, (yyvsp[-1].etree), (yyvsp[-3].etree)); }
   3918  1.10  christos #line 3919 "ldgram.c"
   3919   1.3      matt     break;
   3920   1.3      matt 
   3921  1.10  christos   case 260: /* exp: DATA_SEGMENT_END '(' exp ')'  */
   3922  1.10  christos #line 990 "ldgram.y"
   3923  1.10  christos                         { (yyval.etree) = exp_unop (DATA_SEGMENT_END, (yyvsp[-1].etree)); }
   3924  1.10  christos #line 3925 "ldgram.c"
   3925   1.3      matt     break;
   3926   1.3      matt 
   3927  1.10  christos   case 261: /* $@20: %empty  */
   3928  1.10  christos #line 991 "ldgram.y"
   3929  1.10  christos                               { ldlex_script (); }
   3930  1.10  christos #line 3931 "ldgram.c"
   3931  1.10  christos     break;
   3932  1.10  christos 
   3933  1.10  christos   case 262: /* $@21: %empty  */
   3934  1.10  christos #line 992 "ldgram.y"
   3935  1.10  christos                         { ldlex_popstate (); }
   3936  1.10  christos #line 3937 "ldgram.c"
   3937  1.10  christos     break;
   3938  1.10  christos 
   3939  1.10  christos   case 263: /* exp: SEGMENT_START $@20 '(' NAME $@21 ',' exp ')'  */
   3940  1.10  christos #line 993 "ldgram.y"
   3941  1.10  christos                         { /* The operands to the expression node are
   3942   1.7  christos 			     placed in the opposite order from the way
   3943   1.7  christos 			     in which they appear in the script as
   3944   1.7  christos 			     that allows us to reuse more code in
   3945   1.7  christos 			     fold_binary.  */
   3946   1.7  christos 			  (yyval.etree) = exp_binop (SEGMENT_START,
   3947   1.7  christos 					  (yyvsp[-1].etree),
   3948  1.10  christos 					  exp_nameop (NAME, (yyvsp[-4].name))); }
   3949  1.10  christos #line 3950 "ldgram.c"
   3950   1.3      matt     break;
   3951   1.3      matt 
   3952  1.10  christos   case 264: /* exp: BLOCK '(' exp ')'  */
   3953  1.10  christos #line 1002 "ldgram.y"
   3954  1.10  christos                         { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); }
   3955  1.10  christos #line 3956 "ldgram.c"
   3956   1.3      matt     break;
   3957   1.3      matt 
   3958  1.10  christos   case 265: /* exp: NAME  */
   3959  1.10  christos #line 1004 "ldgram.y"
   3960  1.10  christos                         { (yyval.etree) = exp_nameop (NAME,(yyvsp[0].name)); }
   3961  1.10  christos #line 3962 "ldgram.c"
   3962   1.3      matt     break;
   3963   1.3      matt 
   3964  1.10  christos   case 266: /* exp: MAX_K '(' exp ',' exp ')'  */
   3965  1.10  christos #line 1006 "ldgram.y"
   3966  1.10  christos                         { (yyval.etree) = exp_binop (MAX_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); }
   3967  1.10  christos #line 3968 "ldgram.c"
   3968   1.3      matt     break;
   3969   1.1     skrll 
   3970  1.10  christos   case 267: /* exp: MIN_K '(' exp ',' exp ')'  */
   3971  1.10  christos #line 1008 "ldgram.y"
   3972  1.10  christos                         { (yyval.etree) = exp_binop (MIN_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); }
   3973  1.10  christos #line 3974 "ldgram.c"
   3974   1.3      matt     break;
   3975   1.3      matt 
   3976  1.10  christos   case 268: /* exp: ASSERT_K '(' exp ',' NAME ')'  */
   3977  1.10  christos #line 1010 "ldgram.y"
   3978  1.10  christos                         { (yyval.etree) = exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name)); }
   3979  1.10  christos #line 3980 "ldgram.c"
   3980   1.3      matt     break;
   3981   1.3      matt 
   3982  1.10  christos   case 269: /* exp: ORIGIN paren_script_name  */
   3983  1.10  christos #line 1012 "ldgram.y"
   3984  1.10  christos                         { (yyval.etree) = exp_nameop (ORIGIN, (yyvsp[0].name)); }
   3985  1.10  christos #line 3986 "ldgram.c"
   3986   1.3      matt     break;
   3987   1.3      matt 
   3988  1.10  christos   case 270: /* exp: LENGTH paren_script_name  */
   3989  1.10  christos #line 1014 "ldgram.y"
   3990  1.10  christos                         { (yyval.etree) = exp_nameop (LENGTH, (yyvsp[0].name)); }
   3991  1.10  christos #line 3992 "ldgram.c"
   3992   1.3      matt     break;
   3993   1.3      matt 
   3994  1.10  christos   case 271: /* exp: LOG2CEIL '(' exp ')'  */
   3995  1.10  christos #line 1016 "ldgram.y"
   3996  1.10  christos                         { (yyval.etree) = exp_unop (LOG2CEIL, (yyvsp[-1].etree)); }
   3997  1.10  christos #line 3998 "ldgram.c"
   3998   1.5  christos     break;
   3999   1.5  christos 
   4000  1.10  christos   case 272: /* memspec_at_opt: AT '>' NAME  */
   4001  1.10  christos #line 1021 "ldgram.y"
   4002  1.10  christos                             { (yyval.name) = (yyvsp[0].name); }
   4003  1.10  christos #line 4004 "ldgram.c"
   4004   1.5  christos     break;
   4005   1.5  christos 
   4006  1.10  christos   case 273: /* memspec_at_opt: %empty  */
   4007  1.10  christos #line 1022 "ldgram.y"
   4008  1.10  christos                 { (yyval.name) = 0; }
   4009  1.10  christos #line 4010 "ldgram.c"
   4010   1.5  christos     break;
   4011   1.5  christos 
   4012  1.10  christos   case 274: /* opt_at: AT '(' exp ')'  */
   4013  1.10  christos #line 1026 "ldgram.y"
   4014  1.10  christos                                { (yyval.etree) = (yyvsp[-1].etree); }
   4015  1.10  christos #line 4016 "ldgram.c"
   4016   1.5  christos     break;
   4017   1.5  christos 
   4018  1.10  christos   case 275: /* opt_at: %empty  */
   4019  1.10  christos #line 1027 "ldgram.y"
   4020  1.10  christos                 { (yyval.etree) = 0; }
   4021  1.10  christos #line 4022 "ldgram.c"
   4022   1.5  christos     break;
   4023   1.5  christos 
   4024  1.10  christos   case 276: /* opt_align: ALIGN_K '(' exp ')'  */
   4025  1.10  christos #line 1031 "ldgram.y"
   4026  1.10  christos                                     { (yyval.etree) = (yyvsp[-1].etree); }
   4027  1.10  christos #line 4028 "ldgram.c"
   4028   1.6  christos     break;
   4029   1.6  christos 
   4030  1.10  christos   case 277: /* opt_align: %empty  */
   4031  1.10  christos #line 1032 "ldgram.y"
   4032  1.10  christos                 { (yyval.etree) = 0; }
   4033  1.10  christos #line 4034 "ldgram.c"
   4034   1.3      matt     break;
   4035   1.3      matt 
   4036  1.10  christos   case 278: /* opt_align_with_input: ALIGN_WITH_INPUT  */
   4037  1.10  christos #line 1036 "ldgram.y"
   4038  1.10  christos                                  { (yyval.token) = ALIGN_WITH_INPUT; }
   4039  1.10  christos #line 4040 "ldgram.c"
   4040   1.7  christos     break;
   4041   1.7  christos 
   4042  1.10  christos   case 279: /* opt_align_with_input: %empty  */
   4043  1.10  christos #line 1037 "ldgram.y"
   4044  1.10  christos                 { (yyval.token) = 0; }
   4045  1.10  christos #line 4046 "ldgram.c"
   4046   1.7  christos     break;
   4047   1.7  christos 
   4048  1.10  christos   case 280: /* opt_subalign: SUBALIGN '(' exp ')'  */
   4049  1.10  christos #line 1041 "ldgram.y"
   4050  1.10  christos                                      { (yyval.etree) = (yyvsp[-1].etree); }
   4051  1.10  christos #line 4052 "ldgram.c"
   4052   1.7  christos     break;
   4053   1.7  christos 
   4054  1.10  christos   case 281: /* opt_subalign: %empty  */
   4055  1.10  christos #line 1042 "ldgram.y"
   4056  1.10  christos                 { (yyval.etree) = 0; }
   4057  1.10  christos #line 4058 "ldgram.c"
   4058   1.7  christos     break;
   4059   1.7  christos 
   4060  1.10  christos   case 282: /* sect_constraint: ONLY_IF_RO  */
   4061  1.10  christos #line 1046 "ldgram.y"
   4062  1.10  christos                            { (yyval.token) = ONLY_IF_RO; }
   4063  1.10  christos #line 4064 "ldgram.c"
   4064   1.3      matt     break;
   4065   1.3      matt 
   4066  1.10  christos   case 283: /* sect_constraint: ONLY_IF_RW  */
   4067  1.10  christos #line 1047 "ldgram.y"
   4068  1.10  christos                            { (yyval.token) = ONLY_IF_RW; }
   4069  1.10  christos #line 4070 "ldgram.c"
   4070   1.3      matt     break;
   4071   1.3      matt 
   4072  1.10  christos   case 284: /* sect_constraint: SPECIAL  */
   4073  1.10  christos #line 1048 "ldgram.y"
   4074  1.10  christos                         { (yyval.token) = SPECIAL; }
   4075  1.10  christos #line 4076 "ldgram.c"
   4076   1.3      matt     break;
   4077   1.3      matt 
   4078  1.10  christos   case 285: /* sect_constraint: %empty  */
   4079  1.10  christos #line 1049 "ldgram.y"
   4080  1.10  christos                 { (yyval.token) = 0; }
   4081  1.10  christos #line 4082 "ldgram.c"
   4082   1.3      matt     break;
   4083   1.3      matt 
   4084  1.10  christos   case 286: /* $@22: %empty  */
   4085  1.10  christos #line 1053 "ldgram.y"
   4086  1.10  christos                         { ldlex_expression(); }
   4087  1.10  christos #line 4088 "ldgram.c"
   4088   1.3      matt     break;
   4089   1.3      matt 
   4090  1.10  christos   case 287: /* $@23: %empty  */
   4091  1.10  christos #line 1060 "ldgram.y"
   4092  1.10  christos                         {
   4093  1.10  christos 			  ldlex_popstate ();
   4094  1.10  christos 			  ldlex_wild ();
   4095  1.10  christos 			  lang_enter_output_section_statement ((yyvsp[-7].name), (yyvsp[-5].etree), sectype,
   4096  1.10  christos 					sectype_value, (yyvsp[-3].etree), (yyvsp[-1].etree), (yyvsp[-4].etree), (yyvsp[0].token), (yyvsp[-2].token));
   4097  1.10  christos 			}
   4098  1.10  christos #line 4099 "ldgram.c"
   4099   1.3      matt     break;
   4100   1.3      matt 
   4101  1.10  christos   case 288: /* $@24: %empty  */
   4102  1.10  christos #line 1069 "ldgram.y"
   4103  1.10  christos                         { ldlex_popstate (); }
   4104  1.10  christos #line 4105 "ldgram.c"
   4105  1.10  christos     break;
   4106  1.10  christos 
   4107  1.10  christos   case 289: /* $@25: %empty  */
   4108  1.10  christos #line 1071 "ldgram.y"
   4109  1.10  christos                         {
   4110  1.10  christos 			  /* fill_opt may have switched the lexer into
   4111  1.10  christos 			     expression state, and back again, but in
   4112  1.10  christos 			     order to find the end of the fill
   4113  1.10  christos 			     expression the parser must look ahead one
   4114  1.10  christos 			     token.  If it is a NAME, throw it away as
   4115  1.10  christos 			     it will have been lexed in the wrong
   4116  1.10  christos 			     state.  */
   4117  1.10  christos 			  if (yychar == NAME)
   4118  1.10  christos 			    {
   4119  1.10  christos 			      yyclearin;
   4120  1.10  christos 			      ldlex_backup ();
   4121  1.10  christos 			    }
   4122  1.10  christos 			  lang_leave_output_section_statement ((yyvsp[0].fill), (yyvsp[-3].name),
   4123  1.10  christos 							       (yyvsp[-1].section_phdr), (yyvsp[-2].name));
   4124   1.3      matt 			}
   4125  1.10  christos #line 4126 "ldgram.c"
   4126   1.3      matt     break;
   4127   1.3      matt 
   4128  1.10  christos   case 291: /* $@26: %empty  */
   4129  1.10  christos #line 1089 "ldgram.y"
   4130  1.10  christos                         { ldlex_expression (); }
   4131  1.10  christos #line 4132 "ldgram.c"
   4132   1.3      matt     break;
   4133   1.3      matt 
   4134  1.10  christos   case 292: /* $@27: %empty  */
   4135  1.10  christos #line 1091 "ldgram.y"
   4136  1.10  christos                         { ldlex_popstate (); }
   4137  1.10  christos #line 4138 "ldgram.c"
   4138   1.3      matt     break;
   4139   1.3      matt 
   4140  1.10  christos   case 293: /* $@28: %empty  */
   4141  1.10  christos #line 1093 "ldgram.y"
   4142  1.10  christos                         {
   4143  1.10  christos 			  lang_enter_overlay ((yyvsp[-5].etree), (yyvsp[-2].etree));
   4144  1.10  christos 			}
   4145  1.10  christos #line 4146 "ldgram.c"
   4146   1.3      matt     break;
   4147   1.3      matt 
   4148  1.10  christos   case 294: /* $@29: %empty  */
   4149  1.10  christos #line 1099 "ldgram.y"
   4150  1.10  christos                         {
   4151  1.10  christos 			  if (yychar == NAME)
   4152  1.10  christos 			    {
   4153  1.10  christos 			      yyclearin;
   4154  1.10  christos 			      ldlex_backup ();
   4155  1.10  christos 			    }
   4156  1.10  christos 			  lang_leave_overlay ((yyvsp[-10].etree), (int) (yyvsp[-11].integer),
   4157  1.10  christos 					      (yyvsp[0].fill), (yyvsp[-3].name), (yyvsp[-1].section_phdr), (yyvsp[-2].name));
   4158   1.3      matt 			}
   4159  1.10  christos #line 4160 "ldgram.c"
   4160   1.3      matt     break;
   4161   1.3      matt 
   4162  1.10  christos   case 296: /* $@30: %empty  */
   4163  1.10  christos #line 1114 "ldgram.y"
   4164  1.10  christos                         { ldlex_expression (); }
   4165  1.10  christos #line 4166 "ldgram.c"
   4166   1.3      matt     break;
   4167   1.3      matt 
   4168  1.10  christos   case 297: /* $@31: %empty  */
   4169  1.10  christos #line 1116 "ldgram.y"
   4170  1.10  christos                         {
   4171   1.3      matt 			  ldlex_popstate ();
   4172  1.10  christos 			  lang_add_assignment (exp_assign (".", (yyvsp[0].etree), false));
   4173   1.3      matt 			}
   4174  1.10  christos #line 4175 "ldgram.c"
   4175   1.3      matt     break;
   4176   1.3      matt 
   4177  1.10  christos   case 299: /* $@32: %empty  */
   4178  1.10  christos #line 1122 "ldgram.y"
   4179  1.10  christos                         {
   4180  1.10  christos 			  ldfile_open_command_file ((yyvsp[0].name));
   4181  1.10  christos 			}
   4182  1.10  christos #line 4183 "ldgram.c"
   4183   1.3      matt     break;
   4184   1.3      matt 
   4185  1.10  christos   case 301: /* type: NOLOAD  */
   4186  1.10  christos #line 1129 "ldgram.y"
   4187  1.10  christos                    { sectype = noload_section; }
   4188  1.10  christos #line 4189 "ldgram.c"
   4189   1.3      matt     break;
   4190   1.3      matt 
   4191  1.10  christos   case 302: /* type: DSECT  */
   4192  1.10  christos #line 1130 "ldgram.y"
   4193  1.10  christos                    { sectype = noalloc_section; }
   4194  1.10  christos #line 4195 "ldgram.c"
   4195   1.3      matt     break;
   4196   1.3      matt 
   4197  1.10  christos   case 303: /* type: COPY  */
   4198  1.10  christos #line 1131 "ldgram.y"
   4199  1.10  christos                    { sectype = noalloc_section; }
   4200  1.10  christos #line 4201 "ldgram.c"
   4201   1.3      matt     break;
   4202   1.3      matt 
   4203  1.10  christos   case 304: /* type: INFO  */
   4204  1.10  christos #line 1132 "ldgram.y"
   4205  1.10  christos                    { sectype = noalloc_section; }
   4206  1.10  christos #line 4207 "ldgram.c"
   4207   1.3      matt     break;
   4208   1.3      matt 
   4209  1.10  christos   case 305: /* type: OVERLAY  */
   4210  1.10  christos #line 1133 "ldgram.y"
   4211  1.10  christos                    { sectype = noalloc_section; }
   4212  1.10  christos #line 4213 "ldgram.c"
   4213   1.3      matt     break;
   4214   1.3      matt 
   4215  1.10  christos   case 306: /* type: READONLY '(' TYPE '=' exp ')'  */
   4216  1.10  christos #line 1134 "ldgram.y"
   4217  1.10  christos                                          { sectype = typed_readonly_section; sectype_value = (yyvsp[-1].etree); }
   4218  1.10  christos #line 4219 "ldgram.c"
   4219   1.3      matt     break;
   4220   1.3      matt 
   4221  1.10  christos   case 307: /* type: READONLY  */
   4222  1.10  christos #line 1135 "ldgram.y"
   4223  1.10  christos                     { sectype = readonly_section; }
   4224  1.10  christos #line 4225 "ldgram.c"
   4225   1.3      matt     break;
   4226   1.3      matt 
   4227  1.10  christos   case 308: /* type: TYPE '=' exp  */
   4228  1.10  christos #line 1136 "ldgram.y"
   4229  1.10  christos                         { sectype = type_section; sectype_value = (yyvsp[0].etree); }
   4230  1.10  christos #line 4231 "ldgram.c"
   4231   1.3      matt     break;
   4232   1.3      matt 
   4233  1.10  christos   case 310: /* atype: %empty  */
   4234  1.10  christos #line 1141 "ldgram.y"
   4235  1.10  christos                             { sectype = normal_section; }
   4236  1.10  christos #line 4237 "ldgram.c"
   4237   1.3      matt     break;
   4238   1.3      matt 
   4239  1.10  christos   case 311: /* atype: '(' ')'  */
   4240  1.10  christos #line 1142 "ldgram.y"
   4241  1.10  christos                         { sectype = normal_section; }
   4242  1.10  christos #line 4243 "ldgram.c"
   4243   1.3      matt     break;
   4244   1.3      matt 
   4245  1.10  christos   case 312: /* opt_exp_with_type: exp atype ':'  */
   4246  1.10  christos #line 1146 "ldgram.y"
   4247  1.10  christos                                         { (yyval.etree) = (yyvsp[-2].etree); }
   4248  1.10  christos #line 4249 "ldgram.c"
   4249   1.3      matt     break;
   4250   1.3      matt 
   4251  1.10  christos   case 313: /* opt_exp_with_type: atype ':'  */
   4252  1.10  christos #line 1147 "ldgram.y"
   4253  1.10  christos                                         { (yyval.etree) = (etree_type *)NULL;  }
   4254  1.10  christos #line 4255 "ldgram.c"
   4255   1.3      matt     break;
   4256   1.3      matt 
   4257  1.10  christos   case 314: /* opt_exp_with_type: BIND '(' exp ')' atype ':'  */
   4258  1.10  christos #line 1152 "ldgram.y"
   4259  1.10  christos                                            { (yyval.etree) = (yyvsp[-3].etree); }
   4260  1.10  christos #line 4261 "ldgram.c"
   4261   1.3      matt     break;
   4262   1.3      matt 
   4263  1.10  christos   case 315: /* opt_exp_with_type: BIND '(' exp ')' BLOCK '(' exp ')' atype ':'  */
   4264  1.10  christos #line 1154 "ldgram.y"
   4265  1.10  christos                 { (yyval.etree) = (yyvsp[-7].etree); }
   4266  1.10  christos #line 4267 "ldgram.c"
   4267   1.3      matt     break;
   4268   1.3      matt 
   4269  1.10  christos   case 316: /* opt_exp_without_type: exp ':'  */
   4270  1.10  christos #line 1158 "ldgram.y"
   4271  1.10  christos                                 { (yyval.etree) = (yyvsp[-1].etree); }
   4272  1.10  christos #line 4273 "ldgram.c"
   4273   1.3      matt     break;
   4274   1.3      matt 
   4275  1.10  christos   case 317: /* opt_exp_without_type: ':'  */
   4276  1.10  christos #line 1159 "ldgram.y"
   4277  1.10  christos                                 { (yyval.etree) = (etree_type *) NULL;  }
   4278  1.10  christos #line 4279 "ldgram.c"
   4279   1.3      matt     break;
   4280   1.3      matt 
   4281  1.10  christos   case 318: /* opt_nocrossrefs: %empty  */
   4282  1.10  christos #line 1164 "ldgram.y"
   4283  1.10  christos                         { (yyval.integer) = 0; }
   4284  1.10  christos #line 4285 "ldgram.c"
   4285   1.3      matt     break;
   4286   1.3      matt 
   4287  1.10  christos   case 319: /* opt_nocrossrefs: NOCROSSREFS  */
   4288  1.10  christos #line 1166 "ldgram.y"
   4289  1.10  christos                         { (yyval.integer) = 1; }
   4290  1.10  christos #line 4291 "ldgram.c"
   4291   1.3      matt     break;
   4292   1.3      matt 
   4293  1.10  christos   case 320: /* memspec_opt: '>' NAME  */
   4294  1.10  christos #line 1171 "ldgram.y"
   4295  1.10  christos                 { (yyval.name) = (yyvsp[0].name); }
   4296  1.10  christos #line 4297 "ldgram.c"
   4297   1.6  christos     break;
   4298   1.6  christos 
   4299  1.10  christos   case 321: /* memspec_opt: %empty  */
   4300  1.10  christos #line 1172 "ldgram.y"
   4301  1.10  christos                 { (yyval.name) = DEFAULT_MEMORY_REGION; }
   4302  1.10  christos #line 4303 "ldgram.c"
   4303   1.3      matt     break;
   4304   1.3      matt 
   4305  1.10  christos   case 322: /* phdr_opt: %empty  */
   4306  1.10  christos #line 1177 "ldgram.y"
   4307  1.10  christos                 {
   4308   1.3      matt 		  (yyval.section_phdr) = NULL;
   4309   1.3      matt 		}
   4310  1.10  christos #line 4311 "ldgram.c"
   4311   1.3      matt     break;
   4312   1.3      matt 
   4313  1.10  christos   case 323: /* phdr_opt: phdr_opt ':' NAME  */
   4314  1.10  christos #line 1181 "ldgram.y"
   4315  1.10  christos                 {
   4316   1.1     skrll 		  struct lang_output_section_phdr_list *n;
   4317   1.1     skrll 
   4318   1.1     skrll 		  n = ((struct lang_output_section_phdr_list *)
   4319   1.1     skrll 		       xmalloc (sizeof *n));
   4320   1.7  christos 		  n->name = (yyvsp[0].name);
   4321  1.10  christos 		  n->used = false;
   4322   1.7  christos 		  n->next = (yyvsp[-2].section_phdr);
   4323   1.3      matt 		  (yyval.section_phdr) = n;
   4324   1.1     skrll 		}
   4325  1.10  christos #line 4326 "ldgram.c"
   4326   1.3      matt     break;
   4327   1.3      matt 
   4328  1.10  christos   case 325: /* $@33: %empty  */
   4329  1.10  christos #line 1197 "ldgram.y"
   4330  1.10  christos                         {
   4331  1.10  christos 			  ldlex_wild ();
   4332   1.7  christos 			  lang_enter_overlay_section ((yyvsp[0].name));
   4333   1.1     skrll 			}
   4334  1.10  christos #line 4335 "ldgram.c"
   4335   1.3      matt     break;
   4336   1.3      matt 
   4337  1.10  christos   case 326: /* $@34: %empty  */
   4338  1.10  christos #line 1204 "ldgram.y"
   4339  1.10  christos                         { ldlex_popstate (); }
   4340  1.10  christos #line 4341 "ldgram.c"
   4341   1.3      matt     break;
   4342   1.3      matt 
   4343  1.10  christos   case 327: /* $@35: %empty  */
   4344  1.10  christos #line 1206 "ldgram.y"
   4345  1.10  christos                         {
   4346  1.10  christos 			  if (yychar == NAME)
   4347  1.10  christos 			    {
   4348  1.10  christos 			      yyclearin;
   4349  1.10  christos 			      ldlex_backup ();
   4350  1.10  christos 			    }
   4351   1.7  christos 			  lang_leave_overlay_section ((yyvsp[0].fill), (yyvsp[-1].section_phdr));
   4352   1.1     skrll 			}
   4353  1.10  christos #line 4354 "ldgram.c"
   4354   1.3      matt     break;
   4355   1.3      matt 
   4356  1.10  christos   case 332: /* $@36: %empty  */
   4357  1.10  christos #line 1227 "ldgram.y"
   4358  1.10  christos                      { ldlex_expression (); }
   4359  1.10  christos #line 4360 "ldgram.c"
   4360   1.3      matt     break;
   4361   1.3      matt 
   4362  1.10  christos   case 333: /* $@37: %empty  */
   4363  1.10  christos #line 1228 "ldgram.y"
   4364  1.10  christos                                             { ldlex_popstate (); }
   4365  1.10  christos #line 4366 "ldgram.c"
   4366   1.3      matt     break;
   4367   1.3      matt 
   4368  1.10  christos   case 334: /* phdr: NAME $@36 phdr_type phdr_qualifiers $@37 ';'  */
   4369  1.10  christos #line 1230 "ldgram.y"
   4370  1.10  christos                 {
   4371   1.7  christos 		  lang_new_phdr ((yyvsp[-5].name), (yyvsp[-3].etree), (yyvsp[-2].phdr).filehdr, (yyvsp[-2].phdr).phdrs, (yyvsp[-2].phdr).at,
   4372   1.7  christos 				 (yyvsp[-2].phdr).flags);
   4373   1.1     skrll 		}
   4374  1.10  christos #line 4375 "ldgram.c"
   4375   1.3      matt     break;
   4376   1.3      matt 
   4377  1.10  christos   case 335: /* phdr_type: exp  */
   4378  1.10  christos #line 1238 "ldgram.y"
   4379  1.10  christos                 {
   4380   1.7  christos 		  (yyval.etree) = (yyvsp[0].etree);
   4381   1.1     skrll 
   4382   1.7  christos 		  if ((yyvsp[0].etree)->type.node_class == etree_name
   4383   1.7  christos 		      && (yyvsp[0].etree)->type.node_code == NAME)
   4384   1.1     skrll 		    {
   4385   1.1     skrll 		      const char *s;
   4386   1.1     skrll 		      unsigned int i;
   4387   1.1     skrll 		      static const char * const phdr_types[] =
   4388   1.1     skrll 			{
   4389   1.1     skrll 			  "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
   4390   1.1     skrll 			  "PT_INTERP", "PT_NOTE", "PT_SHLIB",
   4391   1.1     skrll 			  "PT_PHDR", "PT_TLS"
   4392   1.1     skrll 			};
   4393   1.1     skrll 
   4394   1.7  christos 		      s = (yyvsp[0].etree)->name.name;
   4395   1.1     skrll 		      for (i = 0;
   4396   1.1     skrll 			   i < sizeof phdr_types / sizeof phdr_types[0];
   4397   1.1     skrll 			   i++)
   4398   1.1     skrll 			if (strcmp (s, phdr_types[i]) == 0)
   4399   1.1     skrll 			  {
   4400   1.3      matt 			    (yyval.etree) = exp_intop (i);
   4401   1.1     skrll 			    break;
   4402   1.1     skrll 			  }
   4403   1.1     skrll 		      if (i == sizeof phdr_types / sizeof phdr_types[0])
   4404   1.1     skrll 			{
   4405   1.1     skrll 			  if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
   4406   1.3      matt 			    (yyval.etree) = exp_intop (0x6474e550);
   4407   1.1     skrll 			  else if (strcmp (s, "PT_GNU_STACK") == 0)
   4408   1.3      matt 			    (yyval.etree) = exp_intop (0x6474e551);
   4409  1.10  christos 			  else if (strcmp (s, "PT_GNU_RELRO") == 0)
   4410  1.10  christos 			    (yyval.etree) = exp_intop (0x6474e552);
   4411  1.10  christos 			  else if (strcmp (s, "PT_GNU_PROPERTY") == 0)
   4412  1.10  christos 			    (yyval.etree) = exp_intop (0x6474e553);
   4413   1.1     skrll 			  else
   4414   1.1     skrll 			    {
   4415   1.1     skrll 			      einfo (_("\
   4416   1.8  christos %X%P:%pS: unknown phdr type `%s' (try integer literal)\n"),
   4417   1.4      matt 				     NULL, s);
   4418   1.3      matt 			      (yyval.etree) = exp_intop (0);
   4419   1.1     skrll 			    }
   4420   1.1     skrll 			}
   4421   1.1     skrll 		    }
   4422   1.1     skrll 		}
   4423  1.10  christos #line 4424 "ldgram.c"
   4424   1.3      matt     break;
   4425   1.3      matt 
   4426  1.10  christos   case 336: /* phdr_qualifiers: %empty  */
   4427  1.10  christos #line 1286 "ldgram.y"
   4428  1.10  christos                 {
   4429   1.3      matt 		  memset (&(yyval.phdr), 0, sizeof (struct phdr_info));
   4430   1.1     skrll 		}
   4431  1.10  christos #line 4432 "ldgram.c"
   4432   1.3      matt     break;
   4433   1.3      matt 
   4434  1.10  christos   case 337: /* phdr_qualifiers: NAME phdr_val phdr_qualifiers  */
   4435  1.10  christos #line 1290 "ldgram.y"
   4436  1.10  christos                 {
   4437   1.7  christos 		  (yyval.phdr) = (yyvsp[0].phdr);
   4438   1.7  christos 		  if (strcmp ((yyvsp[-2].name), "FILEHDR") == 0 && (yyvsp[-1].etree) == NULL)
   4439  1.10  christos 		    (yyval.phdr).filehdr = true;
   4440   1.7  christos 		  else if (strcmp ((yyvsp[-2].name), "PHDRS") == 0 && (yyvsp[-1].etree) == NULL)
   4441  1.10  christos 		    (yyval.phdr).phdrs = true;
   4442   1.7  christos 		  else if (strcmp ((yyvsp[-2].name), "FLAGS") == 0 && (yyvsp[-1].etree) != NULL)
   4443   1.7  christos 		    (yyval.phdr).flags = (yyvsp[-1].etree);
   4444   1.1     skrll 		  else
   4445   1.8  christos 		    einfo (_("%X%P:%pS: PHDRS syntax error at `%s'\n"),
   4446   1.7  christos 			   NULL, (yyvsp[-2].name));
   4447   1.1     skrll 		}
   4448  1.10  christos #line 4449 "ldgram.c"
   4449   1.3      matt     break;
   4450   1.3      matt 
   4451  1.10  christos   case 338: /* phdr_qualifiers: AT '(' exp ')' phdr_qualifiers  */
   4452  1.10  christos #line 1303 "ldgram.y"
   4453  1.10  christos                 {
   4454   1.7  christos 		  (yyval.phdr) = (yyvsp[0].phdr);
   4455   1.7  christos 		  (yyval.phdr).at = (yyvsp[-2].etree);
   4456   1.1     skrll 		}
   4457  1.10  christos #line 4458 "ldgram.c"
   4458   1.3      matt     break;
   4459   1.3      matt 
   4460  1.10  christos   case 339: /* phdr_val: %empty  */
   4461  1.10  christos #line 1311 "ldgram.y"
   4462  1.10  christos                 {
   4463   1.3      matt 		  (yyval.etree) = NULL;
   4464   1.1     skrll 		}
   4465  1.10  christos #line 4466 "ldgram.c"
   4466   1.3      matt     break;
   4467   1.3      matt 
   4468  1.10  christos   case 340: /* phdr_val: '(' exp ')'  */
   4469  1.10  christos #line 1315 "ldgram.y"
   4470  1.10  christos                 {
   4471   1.7  christos 		  (yyval.etree) = (yyvsp[-1].etree);
   4472   1.1     skrll 		}
   4473  1.10  christos #line 4474 "ldgram.c"
   4474   1.3      matt     break;
   4475   1.3      matt 
   4476  1.10  christos   case 341: /* $@38: %empty  */
   4477  1.10  christos #line 1321 "ldgram.y"
   4478  1.10  christos                 {
   4479   1.1     skrll 		  ldlex_version_file ();
   4480   1.1     skrll 		  PUSH_ERROR (_("dynamic list"));
   4481   1.1     skrll 		}
   4482  1.10  christos #line 4483 "ldgram.c"
   4483   1.3      matt     break;
   4484   1.3      matt 
   4485  1.10  christos   case 342: /* dynamic_list_file: $@38 dynamic_list_nodes  */
   4486  1.10  christos #line 1326 "ldgram.y"
   4487  1.10  christos                 {
   4488   1.1     skrll 		  ldlex_popstate ();
   4489   1.1     skrll 		  POP_ERROR ();
   4490   1.1     skrll 		}
   4491  1.10  christos #line 4492 "ldgram.c"
   4492   1.3      matt     break;
   4493   1.3      matt 
   4494  1.10  christos   case 346: /* dynamic_list_tag: vers_defns ';'  */
   4495  1.10  christos #line 1343 "ldgram.y"
   4496  1.10  christos                 {
   4497  1.10  christos 		  lang_append_dynamic_list (current_dynamic_list_p, (yyvsp[-1].versyms));
   4498   1.1     skrll 		}
   4499  1.10  christos #line 4500 "ldgram.c"
   4500   1.3      matt     break;
   4501   1.3      matt 
   4502  1.10  christos   case 347: /* $@39: %empty  */
   4503  1.10  christos #line 1351 "ldgram.y"
   4504  1.10  christos                 {
   4505   1.1     skrll 		  ldlex_version_file ();
   4506   1.1     skrll 		  PUSH_ERROR (_("VERSION script"));
   4507   1.1     skrll 		}
   4508  1.10  christos #line 4509 "ldgram.c"
   4509   1.3      matt     break;
   4510   1.3      matt 
   4511  1.10  christos   case 348: /* version_script_file: $@39 vers_nodes  */
   4512  1.10  christos #line 1356 "ldgram.y"
   4513  1.10  christos                 {
   4514   1.1     skrll 		  ldlex_popstate ();
   4515   1.1     skrll 		  POP_ERROR ();
   4516   1.1     skrll 		}
   4517  1.10  christos #line 4518 "ldgram.c"
   4518   1.3      matt     break;
   4519   1.3      matt 
   4520  1.10  christos   case 349: /* $@40: %empty  */
   4521  1.10  christos #line 1365 "ldgram.y"
   4522  1.10  christos                 {
   4523   1.1     skrll 		  ldlex_version_script ();
   4524   1.1     skrll 		}
   4525  1.10  christos #line 4526 "ldgram.c"
   4526   1.3      matt     break;
   4527   1.3      matt 
   4528  1.10  christos   case 350: /* version: $@40 VERSIONK '{' vers_nodes '}'  */
   4529  1.10  christos #line 1369 "ldgram.y"
   4530  1.10  christos                 {
   4531   1.1     skrll 		  ldlex_popstate ();
   4532   1.1     skrll 		}
   4533  1.10  christos #line 4534 "ldgram.c"
   4534   1.3      matt     break;
   4535   1.3      matt 
   4536  1.10  christos   case 353: /* vers_node: '{' vers_tag '}' ';'  */
   4537  1.10  christos #line 1381 "ldgram.y"
   4538  1.10  christos                 {
   4539   1.7  christos 		  lang_register_vers_node (NULL, (yyvsp[-2].versnode), NULL);
   4540   1.1     skrll 		}
   4541  1.10  christos #line 4542 "ldgram.c"
   4542   1.3      matt     break;
   4543   1.3      matt 
   4544  1.10  christos   case 354: /* vers_node: VERS_TAG '{' vers_tag '}' ';'  */
   4545  1.10  christos #line 1385 "ldgram.y"
   4546  1.10  christos                 {
   4547   1.7  christos 		  lang_register_vers_node ((yyvsp[-4].name), (yyvsp[-2].versnode), NULL);
   4548   1.1     skrll 		}
   4549  1.10  christos #line 4550 "ldgram.c"
   4550   1.3      matt     break;
   4551   1.3      matt 
   4552  1.10  christos   case 355: /* vers_node: VERS_TAG '{' vers_tag '}' verdep ';'  */
   4553  1.10  christos #line 1389 "ldgram.y"
   4554  1.10  christos                 {
   4555   1.7  christos 		  lang_register_vers_node ((yyvsp[-5].name), (yyvsp[-3].versnode), (yyvsp[-1].deflist));
   4556   1.1     skrll 		}
   4557  1.10  christos #line 4558 "ldgram.c"
   4558   1.3      matt     break;
   4559   1.3      matt 
   4560  1.10  christos   case 356: /* verdep: VERS_TAG  */
   4561  1.10  christos #line 1396 "ldgram.y"
   4562  1.10  christos                 {
   4563   1.7  christos 		  (yyval.deflist) = lang_add_vers_depend (NULL, (yyvsp[0].name));
   4564   1.1     skrll 		}
   4565  1.10  christos #line 4566 "ldgram.c"
   4566   1.3      matt     break;
   4567   1.3      matt 
   4568  1.10  christos   case 357: /* verdep: verdep VERS_TAG  */
   4569  1.10  christos #line 1400 "ldgram.y"
   4570  1.10  christos                 {
   4571   1.7  christos 		  (yyval.deflist) = lang_add_vers_depend ((yyvsp[-1].deflist), (yyvsp[0].name));
   4572   1.1     skrll 		}
   4573  1.10  christos #line 4574 "ldgram.c"
   4574   1.3      matt     break;
   4575   1.3      matt 
   4576  1.10  christos   case 358: /* vers_tag: %empty  */
   4577  1.10  christos #line 1407 "ldgram.y"
   4578  1.10  christos                 {
   4579   1.6  christos 		  (yyval.versnode) = lang_new_vers_node (NULL, NULL);
   4580   1.1     skrll 		}
   4581  1.10  christos #line 4582 "ldgram.c"
   4582   1.3      matt     break;
   4583   1.3      matt 
   4584  1.10  christos   case 359: /* vers_tag: vers_defns ';'  */
   4585  1.10  christos #line 1411 "ldgram.y"
   4586  1.10  christos                 {
   4587   1.7  christos 		  (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL);
   4588   1.1     skrll 		}
   4589  1.10  christos #line 4590 "ldgram.c"
   4590   1.3      matt     break;
   4591   1.3      matt 
   4592  1.10  christos   case 360: /* vers_tag: GLOBAL ':' vers_defns ';'  */
   4593  1.10  christos #line 1415 "ldgram.y"
   4594  1.10  christos                 {
   4595   1.7  christos 		  (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL);
   4596   1.1     skrll 		}
   4597  1.10  christos #line 4598 "ldgram.c"
   4598   1.3      matt     break;
   4599   1.3      matt 
   4600  1.10  christos   case 361: /* vers_tag: LOCAL ':' vers_defns ';'  */
   4601  1.10  christos #line 1419 "ldgram.y"
   4602  1.10  christos                 {
   4603   1.7  christos 		  (yyval.versnode) = lang_new_vers_node (NULL, (yyvsp[-1].versyms));
   4604   1.1     skrll 		}
   4605  1.10  christos #line 4606 "ldgram.c"
   4606   1.3      matt     break;
   4607   1.3      matt 
   4608  1.10  christos   case 362: /* vers_tag: GLOBAL ':' vers_defns ';' LOCAL ':' vers_defns ';'  */
   4609  1.10  christos #line 1423 "ldgram.y"
   4610  1.10  christos                 {
   4611   1.7  christos 		  (yyval.versnode) = lang_new_vers_node ((yyvsp[-5].versyms), (yyvsp[-1].versyms));
   4612   1.1     skrll 		}
   4613  1.10  christos #line 4614 "ldgram.c"
   4614   1.3      matt     break;
   4615   1.3      matt 
   4616  1.10  christos   case 363: /* vers_defns: VERS_IDENTIFIER  */
   4617  1.10  christos #line 1430 "ldgram.y"
   4618  1.10  christos                 {
   4619  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, false);
   4620   1.1     skrll 		}
   4621  1.10  christos #line 4622 "ldgram.c"
   4622   1.3      matt     break;
   4623   1.3      matt 
   4624  1.10  christos   case 364: /* vers_defns: NAME  */
   4625  1.10  christos #line 1434 "ldgram.y"
   4626  1.10  christos                 {
   4627  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, true);
   4628   1.1     skrll 		}
   4629  1.10  christos #line 4630 "ldgram.c"
   4630   1.3      matt     break;
   4631   1.3      matt 
   4632  1.10  christos   case 365: /* vers_defns: vers_defns ';' VERS_IDENTIFIER  */
   4633  1.10  christos #line 1438 "ldgram.y"
   4634  1.10  christos                 {
   4635  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, false);
   4636   1.1     skrll 		}
   4637  1.10  christos #line 4638 "ldgram.c"
   4638   1.3      matt     break;
   4639   1.3      matt 
   4640  1.10  christos   case 366: /* vers_defns: vers_defns ';' NAME  */
   4641  1.10  christos #line 1442 "ldgram.y"
   4642  1.10  christos                 {
   4643  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, true);
   4644   1.6  christos 		}
   4645  1.10  christos #line 4646 "ldgram.c"
   4646   1.3      matt     break;
   4647   1.3      matt 
   4648  1.10  christos   case 367: /* @41: %empty  */
   4649  1.10  christos #line 1446 "ldgram.y"
   4650  1.10  christos                         {
   4651   1.6  christos 			  (yyval.name) = ldgram_vers_current_lang;
   4652   1.7  christos 			  ldgram_vers_current_lang = (yyvsp[-1].name);
   4653   1.3      matt 			}
   4654  1.10  christos #line 4655 "ldgram.c"
   4655   1.3      matt     break;
   4656   1.3      matt 
   4657  1.10  christos   case 368: /* vers_defns: vers_defns ';' EXTERN NAME '{' @41 vers_defns opt_semicolon '}'  */
   4658  1.10  christos #line 1451 "ldgram.y"
   4659  1.10  christos                         {
   4660   1.6  christos 			  struct bfd_elf_version_expr *pat;
   4661   1.7  christos 			  for (pat = (yyvsp[-2].versyms); pat->next != NULL; pat = pat->next);
   4662   1.7  christos 			  pat->next = (yyvsp[-8].versyms);
   4663   1.7  christos 			  (yyval.versyms) = (yyvsp[-2].versyms);
   4664   1.7  christos 			  ldgram_vers_current_lang = (yyvsp[-3].name);
   4665   1.1     skrll 			}
   4666  1.10  christos #line 4667 "ldgram.c"
   4667   1.3      matt     break;
   4668   1.3      matt 
   4669  1.10  christos   case 369: /* @42: %empty  */
   4670  1.10  christos #line 1459 "ldgram.y"
   4671  1.10  christos                         {
   4672   1.6  christos 			  (yyval.name) = ldgram_vers_current_lang;
   4673   1.7  christos 			  ldgram_vers_current_lang = (yyvsp[-1].name);
   4674   1.1     skrll 			}
   4675  1.10  christos #line 4676 "ldgram.c"
   4676   1.3      matt     break;
   4677   1.3      matt 
   4678  1.10  christos   case 370: /* vers_defns: EXTERN NAME '{' @42 vers_defns opt_semicolon '}'  */
   4679  1.10  christos #line 1464 "ldgram.y"
   4680  1.10  christos                         {
   4681   1.7  christos 			  (yyval.versyms) = (yyvsp[-2].versyms);
   4682   1.7  christos 			  ldgram_vers_current_lang = (yyvsp[-3].name);
   4683   1.6  christos 			}
   4684  1.10  christos #line 4685 "ldgram.c"
   4685   1.3      matt     break;
   4686   1.3      matt 
   4687  1.10  christos   case 371: /* vers_defns: GLOBAL  */
   4688  1.10  christos #line 1469 "ldgram.y"
   4689  1.10  christos                 {
   4690  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, false);
   4691   1.1     skrll 		}
   4692  1.10  christos #line 4693 "ldgram.c"
   4693   1.3      matt     break;
   4694   1.3      matt 
   4695  1.10  christos   case 372: /* vers_defns: vers_defns ';' GLOBAL  */
   4696  1.10  christos #line 1473 "ldgram.y"
   4697  1.10  christos                 {
   4698  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "global", ldgram_vers_current_lang, false);
   4699   1.1     skrll 		}
   4700  1.10  christos #line 4701 "ldgram.c"
   4701   1.3      matt     break;
   4702   1.3      matt 
   4703  1.10  christos   case 373: /* vers_defns: LOCAL  */
   4704  1.10  christos #line 1477 "ldgram.y"
   4705  1.10  christos                 {
   4706  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, false);
   4707   1.1     skrll 		}
   4708  1.10  christos #line 4709 "ldgram.c"
   4709   1.3      matt     break;
   4710   1.3      matt 
   4711  1.10  christos   case 374: /* vers_defns: vers_defns ';' LOCAL  */
   4712  1.10  christos #line 1481 "ldgram.y"
   4713  1.10  christos                 {
   4714  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "local", ldgram_vers_current_lang, false);
   4715   1.6  christos 		}
   4716  1.10  christos #line 4717 "ldgram.c"
   4717   1.6  christos     break;
   4718   1.6  christos 
   4719  1.10  christos   case 375: /* vers_defns: EXTERN  */
   4720  1.10  christos #line 1485 "ldgram.y"
   4721  1.10  christos                 {
   4722  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, false);
   4723   1.1     skrll 		}
   4724  1.10  christos #line 4725 "ldgram.c"
   4725   1.3      matt     break;
   4726   1.3      matt 
   4727  1.10  christos   case 376: /* vers_defns: vers_defns ';' EXTERN  */
   4728  1.10  christos #line 1489 "ldgram.y"
   4729  1.10  christos                 {
   4730  1.10  christos 		  (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "extern", ldgram_vers_current_lang, false);
   4731   1.1     skrll 		}
   4732  1.10  christos #line 4733 "ldgram.c"
   4733   1.3      matt     break;
   4734   1.3      matt 
   4735   1.3      matt 
   4736  1.10  christos #line 4737 "ldgram.c"
   4737  1.10  christos 
   4738   1.3      matt       default: break;
   4739   1.3      matt     }
   4740   1.7  christos   /* User semantic actions sometimes alter yychar, and that requires
   4741   1.7  christos      that yytoken be updated with the new translation.  We take the
   4742   1.7  christos      approach of translating immediately before every use of yytoken.
   4743   1.7  christos      One alternative is translating here after every semantic action,
   4744   1.7  christos      but that translation would be missed if the semantic action invokes
   4745   1.7  christos      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
   4746   1.7  christos      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
   4747   1.7  christos      incorrect destructor might then be invoked immediately.  In the
   4748   1.7  christos      case of YYERROR or YYBACKUP, subsequent parser actions might lead
   4749   1.7  christos      to an incorrect destructor call or verbose syntax error message
   4750   1.7  christos      before the lookahead is translated.  */
   4751  1.10  christos   YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
   4752   1.3      matt 
   4753   1.4      matt   YYPOPSTACK (yylen);
   4754   1.4      matt   yylen = 0;
   4755   1.3      matt 
   4756   1.3      matt   *++yyvsp = yyval;
   4757   1.3      matt 
   4758   1.7  christos   /* Now 'shift' the result of the reduction.  Determine what state
   4759   1.3      matt      that goes to, based on the state we popped back to and the rule
   4760   1.3      matt      number reduced by.  */
   4761  1.10  christos   {
   4762  1.10  christos     const int yylhs = yyr1[yyn] - YYNTOKENS;
   4763  1.10  christos     const int yyi = yypgoto[yylhs] + *yyssp;
   4764  1.10  christos     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
   4765  1.10  christos                ? yytable[yyi]
   4766  1.10  christos                : yydefgoto[yylhs]);
   4767  1.10  christos   }
   4768   1.3      matt 
   4769   1.3      matt   goto yynewstate;
   4770   1.3      matt 
   4771   1.3      matt 
   4772   1.7  christos /*--------------------------------------.
   4773   1.7  christos | yyerrlab -- here on detecting error.  |
   4774   1.7  christos `--------------------------------------*/
   4775   1.3      matt yyerrlab:
   4776   1.7  christos   /* Make sure we have latest lookahead translation.  See comments at
   4777   1.7  christos      user semantic actions for why this is necessary.  */
   4778  1.10  christos   yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
   4779   1.3      matt   /* If not already recovering from an error, report this error.  */
   4780   1.3      matt   if (!yyerrstatus)
   4781   1.3      matt     {
   4782   1.3      matt       ++yynerrs;
   4783   1.4      matt       yyerror (YY_("syntax error"));
   4784   1.1     skrll     }
   4785   1.3      matt 
   4786   1.3      matt   if (yyerrstatus == 3)
   4787   1.1     skrll     {
   4788   1.7  christos       /* If just tried and failed to reuse lookahead token after an
   4789   1.7  christos          error, discard it.  */
   4790   1.3      matt 
   4791   1.3      matt       if (yychar <= YYEOF)
   4792   1.7  christos         {
   4793   1.7  christos           /* Return failure if at end of input.  */
   4794   1.7  christos           if (yychar == YYEOF)
   4795   1.7  christos             YYABORT;
   4796   1.7  christos         }
   4797   1.3      matt       else
   4798   1.7  christos         {
   4799   1.7  christos           yydestruct ("Error: discarding",
   4800   1.7  christos                       yytoken, &yylval);
   4801   1.7  christos           yychar = YYEMPTY;
   4802   1.7  christos         }
   4803   1.3      matt     }
   4804   1.3      matt 
   4805   1.7  christos   /* Else will try to reuse lookahead token after shifting the error
   4806   1.3      matt      token.  */
   4807   1.3      matt   goto yyerrlab1;
   4808   1.3      matt 
   4809   1.3      matt 
   4810   1.3      matt /*---------------------------------------------------.
   4811   1.3      matt | yyerrorlab -- error raised explicitly by YYERROR.  |
   4812   1.3      matt `---------------------------------------------------*/
   4813   1.3      matt yyerrorlab:
   4814  1.10  christos   /* Pacify compilers when the user code never invokes YYERROR and the
   4815  1.10  christos      label yyerrorlab therefore never appears in user code.  */
   4816  1.10  christos   if (0)
   4817  1.10  christos     YYERROR;
   4818  1.10  christos   ++yynerrs;
   4819   1.3      matt 
   4820   1.7  christos   /* Do not reclaim the symbols of the rule whose action triggered
   4821   1.4      matt      this YYERROR.  */
   4822   1.4      matt   YYPOPSTACK (yylen);
   4823   1.4      matt   yylen = 0;
   4824   1.4      matt   YY_STACK_PRINT (yyss, yyssp);
   4825   1.3      matt   yystate = *yyssp;
   4826   1.3      matt   goto yyerrlab1;
   4827   1.3      matt 
   4828   1.3      matt 
   4829   1.3      matt /*-------------------------------------------------------------.
   4830   1.3      matt | yyerrlab1 -- common code for both syntax error and YYERROR.  |
   4831   1.3      matt `-------------------------------------------------------------*/
   4832   1.3      matt yyerrlab1:
   4833   1.7  christos   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
   4834   1.3      matt 
   4835  1.10  christos   /* Pop stack until we find a state that shifts the error token.  */
   4836   1.3      matt   for (;;)
   4837   1.3      matt     {
   4838   1.3      matt       yyn = yypact[yystate];
   4839   1.7  christos       if (!yypact_value_is_default (yyn))
   4840   1.7  christos         {
   4841  1.10  christos           yyn += YYSYMBOL_YYerror;
   4842  1.10  christos           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
   4843   1.7  christos             {
   4844   1.7  christos               yyn = yytable[yyn];
   4845   1.7  christos               if (0 < yyn)
   4846   1.7  christos                 break;
   4847   1.7  christos             }
   4848   1.7  christos         }
   4849   1.3      matt 
   4850   1.3      matt       /* Pop the current state because it cannot handle the error token.  */
   4851   1.3      matt       if (yyssp == yyss)
   4852   1.7  christos         YYABORT;
   4853   1.3      matt 
   4854   1.3      matt 
   4855   1.4      matt       yydestruct ("Error: popping",
   4856  1.10  christos                   YY_ACCESSING_SYMBOL (yystate), yyvsp);
   4857   1.4      matt       YYPOPSTACK (1);
   4858   1.3      matt       yystate = *yyssp;
   4859   1.3      matt       YY_STACK_PRINT (yyss, yyssp);
   4860   1.1     skrll     }
   4861   1.3      matt 
   4862   1.7  christos   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   4863   1.3      matt   *++yyvsp = yylval;
   4864   1.7  christos   YY_IGNORE_MAYBE_UNINITIALIZED_END
   4865   1.3      matt 
   4866   1.3      matt 
   4867   1.4      matt   /* Shift the error token.  */
   4868  1.10  christos   YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
   4869   1.3      matt 
   4870   1.3      matt   yystate = yyn;
   4871   1.3      matt   goto yynewstate;
   4872   1.3      matt 
   4873   1.3      matt 
   4874   1.3      matt /*-------------------------------------.
   4875   1.3      matt | yyacceptlab -- YYACCEPT comes here.  |
   4876   1.3      matt `-------------------------------------*/
   4877   1.3      matt yyacceptlab:
   4878   1.3      matt   yyresult = 0;
   4879  1.10  christos   goto yyreturnlab;
   4880  1.10  christos 
   4881   1.3      matt 
   4882   1.3      matt /*-----------------------------------.
   4883   1.3      matt | yyabortlab -- YYABORT comes here.  |
   4884   1.3      matt `-----------------------------------*/
   4885   1.3      matt yyabortlab:
   4886   1.3      matt   yyresult = 1;
   4887  1.10  christos   goto yyreturnlab;
   4888  1.10  christos 
   4889   1.3      matt 
   4890  1.10  christos /*-----------------------------------------------------------.
   4891  1.10  christos | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
   4892  1.10  christos `-----------------------------------------------------------*/
   4893   1.3      matt yyexhaustedlab:
   4894   1.3      matt   yyerror (YY_("memory exhausted"));
   4895   1.3      matt   yyresult = 2;
   4896  1.10  christos   goto yyreturnlab;
   4897  1.10  christos 
   4898   1.3      matt 
   4899  1.10  christos /*----------------------------------------------------------.
   4900  1.10  christos | yyreturnlab -- parsing is finished, clean up and return.  |
   4901  1.10  christos `----------------------------------------------------------*/
   4902  1.10  christos yyreturnlab:
   4903   1.7  christos   if (yychar != YYEMPTY)
   4904   1.7  christos     {
   4905   1.7  christos       /* Make sure we have latest lookahead translation.  See comments at
   4906   1.7  christos          user semantic actions for why this is necessary.  */
   4907   1.7  christos       yytoken = YYTRANSLATE (yychar);
   4908   1.7  christos       yydestruct ("Cleanup: discarding lookahead",
   4909   1.7  christos                   yytoken, &yylval);
   4910   1.7  christos     }
   4911   1.7  christos   /* Do not reclaim the symbols of the rule whose action triggered
   4912   1.4      matt      this YYABORT or YYACCEPT.  */
   4913   1.4      matt   YYPOPSTACK (yylen);
   4914   1.4      matt   YY_STACK_PRINT (yyss, yyssp);
   4915   1.3      matt   while (yyssp != yyss)
   4916   1.1     skrll     {
   4917   1.3      matt       yydestruct ("Cleanup: popping",
   4918  1.10  christos                   YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
   4919   1.4      matt       YYPOPSTACK (1);
   4920   1.1     skrll     }
   4921   1.3      matt #ifndef yyoverflow
   4922   1.3      matt   if (yyss != yyssa)
   4923   1.3      matt     YYSTACK_FREE (yyss);
   4924   1.3      matt #endif
   4925  1.10  christos 
   4926   1.7  christos   return yyresult;
   4927   1.3      matt }
   4928  1.10  christos 
   4929  1.10  christos #line 1499 "ldgram.y"
   4930   1.3      matt 
   4931   1.3      matt void
   4932   1.3      matt yyerror(arg)
   4933   1.3      matt      const char *arg;
   4934   1.3      matt {
   4935   1.3      matt   if (ldfile_assumed_script)
   4936   1.3      matt     einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
   4937   1.4      matt 	   ldlex_filename ());
   4938   1.3      matt   if (error_index > 0 && error_index < ERROR_NAME_MAX)
   4939   1.8  christos     einfo ("%F%P:%pS: %s in %s\n", NULL, arg, error_names[error_index - 1]);
   4940   1.3      matt   else
   4941   1.8  christos     einfo ("%F%P:%pS: %s\n", NULL, arg);
   4942   1.1     skrll }
   4943