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