Home | History | Annotate | Line # | Download | only in ld
ldgram.c revision 1.2
      1 #ifndef lint
      2 #if __GNUC__ - 0 >= 4 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ >= 1)
      3 __attribute__((__used__))
      4 #endif
      5 static const char yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93";
      6 #endif
      7 
      8 #ifdef _LIBC
      9 #include "namespace.h"
     10 #endif
     11 #include <stdlib.h>
     12 #include <string.h>
     13 
     14 #define YYBYACC 1
     15 #define YYMAJOR 1
     16 #define YYMINOR 9
     17 
     18 #define YYEMPTY        (-1)
     19 #define yyclearin      (yychar = YYEMPTY)
     20 #define yyerrok        (yyerrflag = 0)
     21 #define YYRECOVERING() (yyerrflag != 0)
     22 
     23 #define YYPREFIX "yy"
     24 
     25 #define YYPURE 0
     26 
     27 #line 25 "ldgram.y"
     28 /*
     29 
     30  */
     31 
     32 #define DONTDECLARE_MALLOC
     33 
     34 #include "sysdep.h"
     35 #include "bfd.h"
     36 #include "bfdlink.h"
     37 #include "ld.h"
     38 #include "ldexp.h"
     39 #include "ldver.h"
     40 #include "ldlang.h"
     41 #include "ldfile.h"
     42 #include "ldemul.h"
     43 #include "ldmisc.h"
     44 #include "ldmain.h"
     45 #include "mri.h"
     46 #include "ldctor.h"
     47 #include "ldlex.h"
     48 
     49 #ifndef YYDEBUG
     50 #define YYDEBUG 1
     51 #endif
     52 
     53 static enum section_type sectype;
     54 static lang_memory_region_type *region;
     55 
     56 bfd_boolean ldgram_had_keep = FALSE;
     57 char *ldgram_vers_current_lang = NULL;
     58 
     59 #define ERROR_NAME_MAX 20
     60 static char *error_names[ERROR_NAME_MAX];
     61 static int error_index;
     62 #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
     63 #define POP_ERROR()   error_index--;
     64 #line 62 "ldgram.y"
     65 #ifdef YYSTYPE
     66 #undef  YYSTYPE_IS_DECLARED
     67 #define YYSTYPE_IS_DECLARED 1
     68 #endif
     69 #ifndef YYSTYPE_IS_DECLARED
     70 #define YYSTYPE_IS_DECLARED 1
     71 typedef union {
     72   bfd_vma integer;
     73   struct big_int
     74     {
     75       bfd_vma integer;
     76       char *str;
     77     } bigint;
     78   fill_type *fill;
     79   char *name;
     80   const char *cname;
     81   struct wildcard_spec wildcard;
     82   struct wildcard_list *wildcard_list;
     83   struct name_list *name_list;
     84   struct flag_info_list *flag_info_list;
     85   struct flag_info *flag_info;
     86   int token;
     87   union etree_union *etree;
     88   struct phdr_info
     89     {
     90       bfd_boolean filehdr;
     91       bfd_boolean phdrs;
     92       union etree_union *at;
     93       union etree_union *flags;
     94     } phdr;
     95   struct lang_nocrossref *nocrossref;
     96   struct lang_output_section_phdr_list *section_phdr;
     97   struct bfd_elf_version_deps *deflist;
     98   struct bfd_elf_version_expr *versyms;
     99   struct bfd_elf_version_tree *versnode;
    100 } YYSTYPE;
    101 #endif /* !YYSTYPE_IS_DECLARED */
    102 #line 102 "/u1/netbsd-openrisc/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
    103 
    104 /* compatibility with bison */
    105 #ifdef YYPARSE_PARAM
    106 /* compatibility with FreeBSD */
    107 # ifdef YYPARSE_PARAM_TYPE
    108 #  define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
    109 # else
    110 #  define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
    111 # endif
    112 #else
    113 # define YYPARSE_DECL() yyparse(void)
    114 #endif
    115 
    116 /* Parameters sent to lex. */
    117 #ifdef YYLEX_PARAM
    118 # define YYLEX_DECL() yylex(void *YYLEX_PARAM)
    119 # define YYLEX yylex(YYLEX_PARAM)
    120 #else
    121 # define YYLEX_DECL() yylex(void)
    122 # define YYLEX yylex()
    123 #endif
    124 
    125 /* Parameters sent to yyerror. */
    126 #ifndef YYERROR_DECL
    127 #define YYERROR_DECL() yyerror(const char *s)
    128 #endif
    129 #ifndef YYERROR_CALL
    130 #define YYERROR_CALL(msg) yyerror(msg)
    131 #endif
    132 
    133 extern int YYPARSE_DECL();
    134 
    135 
    136 #define INT 257
    137 #define NAME 258
    138 #define LNAME 259
    139 #define PLUSEQ 260
    140 #define MINUSEQ 261
    141 #define MULTEQ 262
    142 #define DIVEQ 263
    143 #define LSHIFTEQ 264
    144 #define RSHIFTEQ 265
    145 #define ANDEQ 266
    146 #define OREQ 267
    147 #define OROR 268
    148 #define ANDAND 269
    149 #define EQ 270
    150 #define NE 271
    151 #define LE 272
    152 #define GE 273
    153 #define LSHIFT 274
    154 #define RSHIFT 275
    155 #define UNARY 276
    156 #define END 277
    157 #define ALIGN_K 278
    158 #define BLOCK 279
    159 #define BIND 280
    160 #define QUAD 281
    161 #define SQUAD 282
    162 #define LONG 283
    163 #define SHORT 284
    164 #define BYTE 285
    165 #define SECTIONS 286
    166 #define PHDRS 287
    167 #define INSERT_K 288
    168 #define AFTER 289
    169 #define BEFORE 290
    170 #define DATA_SEGMENT_ALIGN 291
    171 #define DATA_SEGMENT_RELRO_END 292
    172 #define DATA_SEGMENT_END 293
    173 #define SORT_BY_NAME 294
    174 #define SORT_BY_ALIGNMENT 295
    175 #define SORT_NONE 296
    176 #define SORT_BY_INIT_PRIORITY 297
    177 #define SIZEOF_HEADERS 298
    178 #define OUTPUT_FORMAT 299
    179 #define FORCE_COMMON_ALLOCATION 300
    180 #define OUTPUT_ARCH 301
    181 #define INHIBIT_COMMON_ALLOCATION 302
    182 #define SEGMENT_START 303
    183 #define INCLUDE 304
    184 #define MEMORY 305
    185 #define REGION_ALIAS 306
    186 #define LD_FEATURE 307
    187 #define NOLOAD 308
    188 #define DSECT 309
    189 #define COPY 310
    190 #define INFO 311
    191 #define OVERLAY 312
    192 #define DEFINED 313
    193 #define TARGET_K 314
    194 #define SEARCH_DIR 315
    195 #define MAP 316
    196 #define ENTRY 317
    197 #define NEXT 318
    198 #define SIZEOF 319
    199 #define ALIGNOF 320
    200 #define ADDR 321
    201 #define LOADADDR 322
    202 #define MAX_K 323
    203 #define MIN_K 324
    204 #define STARTUP 325
    205 #define HLL 326
    206 #define SYSLIB 327
    207 #define FLOAT 328
    208 #define NOFLOAT 329
    209 #define NOCROSSREFS 330
    210 #define ORIGIN 331
    211 #define FILL 332
    212 #define LENGTH 333
    213 #define CREATE_OBJECT_SYMBOLS 334
    214 #define INPUT 335
    215 #define GROUP 336
    216 #define OUTPUT 337
    217 #define CONSTRUCTORS 338
    218 #define ALIGNMOD 339
    219 #define AT 340
    220 #define SUBALIGN 341
    221 #define HIDDEN 342
    222 #define PROVIDE 343
    223 #define PROVIDE_HIDDEN 344
    224 #define AS_NEEDED 345
    225 #define CHIP 346
    226 #define LIST 347
    227 #define SECT 348
    228 #define ABSOLUTE 349
    229 #define LOAD 350
    230 #define NEWLINE 351
    231 #define ENDWORD 352
    232 #define ORDER 353
    233 #define NAMEWORD 354
    234 #define ASSERT_K 355
    235 #define FORMAT 356
    236 #define PUBLIC 357
    237 #define DEFSYMEND 358
    238 #define BASE 359
    239 #define ALIAS 360
    240 #define TRUNCATE 361
    241 #define REL 362
    242 #define INPUT_SCRIPT 363
    243 #define INPUT_MRI_SCRIPT 364
    244 #define INPUT_DEFSYM 365
    245 #define CASE 366
    246 #define EXTERN 367
    247 #define START 368
    248 #define VERS_TAG 369
    249 #define VERS_IDENTIFIER 370
    250 #define GLOBAL 371
    251 #define LOCAL 372
    252 #define VERSIONK 373
    253 #define INPUT_VERSION_SCRIPT 374
    254 #define KEEP 375
    255 #define ONLY_IF_RO 376
    256 #define ONLY_IF_RW 377
    257 #define SPECIAL 378
    258 #define INPUT_SECTION_FLAGS 379
    259 #define EXCLUDE_FILE 380
    260 #define CONSTANT 381
    261 #define INPUT_DYNAMIC_LIST 382
    262 #define YYERRCODE 256
    263 static const short yylhs[] = {                           -1,
    264     0,    0,    0,    0,    0,   30,   39,   38,   41,   35,
    265    40,   40,   42,   42,   42,   42,   42,   42,   42,   42,
    266    42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    267    42,   42,   42,   42,   42,   42,   42,   42,   47,   42,
    268    42,   42,   43,   43,   43,   45,   45,   44,   44,   17,
    269    17,   17,   49,   46,   48,   48,   48,   51,   34,   50,
    270    50,   52,   52,   52,   52,   52,   52,   52,   52,   52,
    271    52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
    272    63,   52,   52,   64,   52,   52,   52,   52,   52,   52,
    273    52,   62,   62,   62,   62,   62,   62,   65,   62,   66,
    274    62,   67,   62,   54,   68,   68,   68,   60,   60,   72,
    275    60,   19,   19,   19,   20,   20,   20,   20,   20,   20,
    276    20,   20,   20,   20,   20,   14,   14,   15,   12,   12,
    277    13,   13,   74,   74,   74,   74,   74,   74,   75,   76,
    278    75,   77,   77,   77,   77,   77,   77,   77,   77,   78,
    279    77,   80,   77,   81,   81,   79,   79,   21,   21,   21,
    280    21,   21,   11,   10,   10,   26,   26,   26,   26,   26,
    281    26,   26,   26,   71,   71,   70,   70,   70,   70,   70,
    282    73,   73,   53,   82,   82,   83,   83,   85,   84,   88,
    283    84,   86,   87,   28,   28,   89,   89,   90,   90,   56,
    284    57,   57,   91,   91,   58,   92,   92,   59,   59,   23,
    285    23,   23,   93,    3,    1,    1,    1,    1,    1,    1,
    286     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    287     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    288     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    289     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    290     1,   18,   18,    4,    4,    9,    9,    8,    8,   29,
    291    29,   29,   29,   94,   95,   96,   97,   98,   69,   99,
    292   100,  102,  103,  104,   69,  105,  106,   69,  107,   69,
    293   108,  108,  108,  108,  108,   27,   27,   27,    2,    2,
    294     2,    2,    7,    7,   25,   25,   16,   16,   24,   24,
    295   101,  109,  110,  111,  101,   55,  112,  112,  114,  115,
    296   113,    5,   22,   22,   22,    6,    6,  117,   37,  116,
    297   116,  118,  119,  121,   36,  122,   61,  120,  120,  123,
    298   123,  123,   33,   33,   32,   32,   32,   32,   32,   31,
    299    31,   31,   31,  124,   31,  126,   31,   31,   31,   31,
    300    31,   31,   31,  125,  125,
    301 };
    302 static const short yylen[] = {                            2,
    303     2,    2,    2,    2,    2,    1,    0,    4,    0,    2,
    304     3,    0,    2,    4,    1,    1,    2,    1,    4,    4,
    305     3,    2,    4,    3,    4,    4,    4,    4,    4,    2,
    306     2,    2,    4,    4,    2,    2,    2,    2,    0,    5,
    307     2,    0,    3,    2,    0,    1,    3,    1,    3,    0,
    308     1,    3,    0,    2,    1,    2,    3,    0,    2,    2,
    309     0,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    310     1,    4,    4,    4,    4,    8,    4,    1,    1,    4,
    311     0,    5,    4,    0,    5,    4,    4,    3,    3,    6,
    312     4,    1,    3,    2,    1,    3,    2,    0,    5,    0,
    313     7,    0,    6,    4,    2,    2,    0,    4,    2,    0,
    314     7,    1,    1,    1,    1,    5,    4,    4,    4,    7,
    315     7,    7,    7,    8,    4,    1,    3,    4,    2,    1,
    316     3,    1,    1,    2,    3,    4,    4,    5,    1,    0,
    317     5,    2,    1,    1,    1,    4,    1,    4,    4,    0,
    318     8,    0,    5,    2,    1,    0,    1,    1,    1,    1,
    319     1,    1,    1,    2,    0,    1,    1,    1,    1,    1,
    320     1,    1,    1,    1,    1,    3,    3,    6,    6,    6,
    321     1,    0,    4,    1,    0,    3,    1,    0,    7,    0,
    322     5,    3,    3,    0,    3,    1,    2,    1,    2,    4,
    323     4,    3,    3,    1,    4,    3,    0,    1,    1,    0,
    324     2,    3,    0,    2,    2,    3,    4,    2,    2,    2,
    325     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
    326     3,    3,    3,    3,    3,    3,    5,    3,    3,    4,
    327     1,    1,    4,    4,    4,    4,    4,    4,    4,    6,
    328     6,    6,    4,    6,    4,    1,    6,    6,    6,    4,
    329     4,    3,    0,    4,    0,    4,    0,    4,    0,    1,
    330     1,    1,    0,    0,    0,    0,    0,    0,   19,    0,
    331     0,    0,    0,    0,   18,    0,    0,    7,    0,    5,
    332     1,    1,    1,    1,    1,    3,    0,    2,    3,    2,
    333     6,   10,    2,    1,    0,    1,    2,    0,    0,    3,
    334     0,    0,    0,    0,   11,    4,    0,    2,    0,    0,
    335     6,    1,    0,    3,    5,    0,    3,    0,    2,    1,
    336     2,    4,    2,    0,    2,    0,    5,    1,    2,    4,
    337     5,    6,    1,    2,    0,    2,    4,    4,    8,    1,
    338     1,    3,    3,    0,    9,    0,    7,    1,    3,    1,
    339     3,    1,    3,    0,    1,
    340 };
    341 static const short yydefred[] = {                         0,
    342    58,    9,    7,  334,  328,    0,    1,   61,    2,   12,
    343     5,    0,    3,    0,    4,    0,    0,    0,    0,    0,
    344     0,    0,  338,    0,    0,  330,    0,    0,    0,    0,
    345     0,   78,    0,   79,    0,    0,    0,    0,    0,    0,
    346     0,    0,    0,    0,    0,  208,  209,    0,    0,   81,
    347     0,    0,    0,    0,  110,    0,   71,   60,   62,   63,
    348    64,   65,   66,   67,   68,   69,   70,    0,    0,   15,
    349     0,    0,    0,    0,   16,    0,    0,    0,   18,   45,
    350     0,    0,    0,    0,    0,    0,    0,   53,    0,    0,
    351     0,  351,    0,  350,    0,    0,    0,    0,    0,  339,
    352   358,  360,    0,    0,  331,  166,  167,  168,  169,  213,
    353   170,  171,  172,  173,  213,  107,  317,    0,    0,    0,
    354     0,    6,   84,    0,    0,    0,    0,    0,    0,    0,
    355     0,    0,  207,    0,    0,    0,    0,    0,    0,    0,
    356     0,   53,  175,  174,  109,    0,    0,   39,    0,  241,
    357   256,    0,    0,    0,    0,    0,    0,    0,    0,  242,
    358     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    359     0,    0,    0,    0,    0,    0,    0,    0,   48,    0,
    360    46,    0,    0,   32,   22,    0,    0,    0,   36,   51,
    361     0,   38,    0,   41,   11,    0,    0,    0,    0,    0,
    362     0,    0,    0,    0,  176,    0,  177,    0,    0,   88,
    363    89,    0,    0,   61,  188,    0,    0,    0,  187,    0,
    364     0,    0,    0,    0,    0,    0,  202,  204,    0,    0,
    365     0,    0,   92,   95,    0,    0,    0,    0,    0,    0,
    366     0,    0,    0,    0,    0,    0,   12,    0,    0,  219,
    367   215,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    368     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    369     0,  218,  220,    0,    0,    0,    0,    0,    0,    0,
    370     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    371     0,    0,    0,    0,    0,    0,    0,    0,   44,    0,
    372     0,    0,    0,    0,    0,   55,    0,  356,    0,    0,
    373   353,    0,  352,  359,  361,  340,    0,  332,    0,    0,
    374   104,    0,  280,  286,  106,  105,  319,  316,  318,    0,
    375    75,   77,    0,    0,  190,  183,  181,    0,    0,   91,
    376    72,   73,   83,  108,  200,  201,    0,  205,    0,    0,
    377   211,   86,   98,   94,   97,    0,    0,   80,    0,   74,
    378   213,  213,  213,    0,   87,    0,    0,    0,    0,    0,
    379     0,  216,    0,    0,    0,    0,    0,    0,    0,    0,
    380     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    381     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    382     0,    0,    0,    0,    0,    0,    0,  221,  222,  223,
    383     0,    0,    0,   49,   47,   43,    0,    0,   34,   33,
    384    52,   56,    0,    0,    0,    0,    0,  343,  341,    0,
    385     0,  289,    0,    0,    0,    0,   85,    0,    0,    0,
    386   186,    0,  203,  206,  212,    0,  102,   93,   96,    0,
    387    82,    0,    0,    0,    0,  337,   40,    0,  249,  255,
    388     0,    0,  253,    0,  240,  217,  244,  243,  245,  246,
    389     0,    0,  260,  261,  248,    0,  247,    0,   57,    0,
    390     0,  354,  344,  342,    0,    0,    0,    0,    0,  107,
    391   304,    0,    0,  287,    0,    0,    0,  198,    0,    0,
    392   196,    0,    0,   90,    0,    0,  100,  178,  179,  180,
    393     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    394     0,    0,    0,  291,  292,  293,  294,  295,  298,    0,
    395     0,    0,    0,    0,    0,  300,    0,  303,  306,    0,
    396     0,    0,    0,  320,    0,  199,  195,  197,    0,    0,
    397   191,   99,    0,    0,  111,  250,  251,  252,  254,  257,
    398   258,  259,  357,    0,    0,  296,    0,  299,    0,    0,
    399     0,  290,    0,  107,    0,    0,    0,    0,   76,  213,
    400     0,  103,    0,    0,    0,    0,    0,    0,    0,  275,
    401   281,    0,    0,  324,    0,  321,  192,    0,  189,  101,
    402   355,    0,    0,  264,    0,    0,    0,    0,  288,  327,
    403     0,  213,    0,  301,  266,    0,  270,  271,  272,    0,
    404   282,  325,  193,    0,  268,  276,  311,    0,    0,    0,
    405     0,    0,  114,  113,  158,  159,  160,  161,  162,    0,
    406     0,    0,    0,    0,    0,  143,  145,  150,    0,    0,
    407     0,  144,    0,    0,  115,    0,    0,    0,  139,  147,
    408   155,    0,    0,  312,  283,  302,    0,    0,    0,    0,
    409   152,  213,    0,  140,    0,    0,  112,    0,    0,  132,
    410     0,    0,    0,    0,  213,  142,  277,  154,    0,    0,
    411     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    412     0,  163,    0,    0,    0,  126,    0,    0,  130,    0,
    413   135,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    414     0,    0,  146,    0,  117,    0,    0,  118,  119,  125,
    415     0,  149,    0,    0,    0,    0,  128,    0,  129,  131,
    416   136,    0,  137,  148,    0,    0,  307,    0,  309,    0,
    417     0,    0,    0,    0,  153,    0,  141,  127,  116,  138,
    418   309,  313,    0,    0,    0,    0,    0,    0,    0,    0,
    419     0,  309,  262,  213,    0,  284,  121,  120,    0,  122,
    420   123,    0,  278,    0,  164,  310,    0,  124,  151,    0,
    421   314,  285,  279,    0,  315,
    422 };
    423 static const short yydgoto[] = {                          6,
    424   252,  488,  702,  535,  496,  576,  493,  590,  571,  776,
    425   703,  708,  679,  707,  654,  720,  191,  749,  655,  656,
    426   657,  544,  232,  764,  540,  115,  489,  439,  620,  123,
    427    97,   98,  430,    7,    9,   13,   15,   11,   12,   18,
    428    10,   90,  183,  180,  182,  192,  247,  307,  193,   17,
    429     8,   58,   59,   60,   61,   62,   63,   64,   65,  325,
    430    67,  236,  136,  214,  446,  554,  506,  208,  326,   68,
    431   145,  141,  712,  659,  660,  705,  661,  673,  662,  701,
    432   663,  217,  218,  219,  334,  550,  599,  440,  500,  501,
    433   229,  230,  206,  431,  607,  629,  717,  790,  433,  608,
    434   630,  627,  690,  787,  434,  541,  490,  530,  689,  772,
    435   794,  209,  329,  435,  578,   25,   16,   26,  104,   22,
    436    14,   69,   23,  523,  521,  424,
    437 };
    438 static const short yysindex[] = {                       281,
    439     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    440     0, -211,    0, -105,    0,  -37, 2232, 3478,    2,  190,
    441   -29, -105,    0,  238,  -37,    0, 1216,   27,   42, -170,
    442    75,    0,  136,    0,  -59,  100,  189,  208,  223,  226,
    443   247,  275,  278,  280,  284,    0,    0,  311,  322,    0,
    444   340,  342,  346,  353,    0,  367,    0,    0,    0,    0,
    445     0,    0,    0,    0,    0,    0,    0,   99, -140,    0,
    446    20,  -59,  150, 1781,    0,  155,  163,  168,    0,    0,
    447   177,  178,  180, 1781,  186,  182,  188,    0,  191,   92,
    448  1781,    0,  200,    0,  389,  393,  402,  339,  190,    0,
    449     0,    0,  408,  343,    0,    0,    0,    0,    0,    0,
    450     0,    0,    0,    0,    0,    0,    0,  216,  220,  221,
    451   225,    0,    0, -163,  228,  229,  233,  -59,  -59,  234,
    452   -59,  -19,    0,  235, -203,  454,  -59,  239,  241,  242,
    453   464,    0,    0,    0,    0,  384,   72,    0,   78,    0,
    454     0, 1781, 1781, 1781,  468,  477,  478,  489,  491,    0,
    455   493,  495,  503,  504,  505,  508,  511,  514,  516,  524,
    456   525,  527,  529,  531, 1781, 1781, 1885, 1413,    0,  528,
    457     0,  532,   -1,    0,    0, 1482, 3660,  535,    0,    0,
    458   537,    0,  317,    0,    0, 3660,  459,  238,  238,  294,
    459   526,  461,  294,  530,    0, 1781,    0,  198,  -91,    0,
    460     0,  103,  547,    0,    0,  -59,  465,  548,    0,  552,
    461   557,  560,  563,  566,  570,  571,    0,    0,  115,  119,
    462    22,  573,    0,    0,  575,  -18, -203,  579,  564,  565,
    463   567, 1781,  583, -105, 1781, 1781,    0, 1781, 1781,    0,
    464     0, 2553, 1781, 1781, 1781, 1781, 1781,  371,  373, 1781,
    465   374,  383,  385,  394, 1781, 1781,  400,  401, 1781, 1781,
    466   404,    0,    0, 1781, 1781, 1781, 1781, 1781, 1781, 1781,
    467  1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781,
    468  1781, 1781, 1781, 1781, 1781, 3660,  410,  423,    0,  427,
    469  1781, 1781, 3660,  -73,  428,    0,   70,    0,  592,  628,
    470     0,  430,    0,    0,    0,    0,  -52,    0, 3660, 1216,
    471     0,  -59,    0,    0,    0,    0,    0,    0,    0,  431,
    472     0,    0, 2168,  660,    0,    0,    0, -163,  444,    0,
    473     0,    0,    0,    0,    0,    0,  -59,    0,  -59,  235,
    474     0,    0,    0,    0,    0,  663, -175,    0,    1,    0,
    475     0,    0,    0, 2580,    0,  -72, 3660, 3660, 1890, 3660,
    476  3660,    0, 2541, 2591, 2619, 2646, 2658,  662,  671, 2694,
    477   674,  677,  680,  681, 2862, 2897,  687,  696, 2933, 2945,
    478   704, 2972, 3695, 2397, 2078, 2133, 1424,  701,  701,   66,
    479    66,   66,   66,  682,  682,  352,  352,    0,    0,    0,
    480  3660, 3660, 3660,    0,    0,    0, 3660, 3660,    0,    0,
    481     0,    0,  446,  238,  300,  294,  600,    0,    0,  -48,
    482  1633,    0, 1712, 1633, 1781,  698,    0,  -14,  689, -163,
    483     0,  708,    0,    0,    0, -203,    0,    0,    0,  710,
    484     0,  711,  712,  713,  498,    0,    0, 1781,    0,    0,
    485  1781, 1781,    0, 1781,    0,    0,    0,    0,    0,    0,
    486  1781, 1781,    0,    0,    0,  499,    0, 1781,    0,  692,
    487   714,    0,    0,    0, 1319,  719, 2986,  429,  717,    0,
    488     0, 3000,  448,    0, 3660, -209,  518,    0,  523,    7,
    489     0,  451,  506,    0,   85, -203,    0,    0,    0,    0,
    490   743, 3060, 3101, 3115, 3189, 3243, 3254,  744, 3660,  294,
    491   661,  238,  238,    0,    0,    0,    0,    0,    0,  746,
    492  1781,  108,  733,  754,  517,    0, 1247,    0,    0,  429,
    493   678,  756,  760,    0,  761,    0,    0,    0,  742,  548,
    494     0,    0,   96, -203,    0,    0,    0,    0,    0,    0,
    495     0,    0,    0,  745,  692,    0, 3302,    0, 1781,  765,
    496   466,    0,  466,    0, 1781, -209, 1781,  749,    0,    0,
    497   476,    0,  120,  294,  685,   -3, 3356, 1781,  771,    0,
    498     0,  995, 3406,    0, 3441,    0,    0,  751,    0,    0,
    499     0,  773,  757,    0, 3495, 1781,   77,  693,    0,    0,
    500  -209,    0, 1781,    0,    0, 3541,    0,    0,    0,  695,
    501     0,    0,    0, 3595,    0,    0,    0,  780, 2086,  -65,
    502   763, 1216,    0,    0,    0,    0,    0,    0,    0,  782,
    503   785,  793,  795,  -59,  801,    0,    0,    0,  802,  803,
    504   807,    0,  -13,  -22,    0,  808,  809,   99,    0,    0,
    505     0,  725, 2086,    0,    0,    0,   54,  106,  -11,  -11,
    506     0,    0,  811,    0,  594,  -11,    0,  813,   32,    0,
    507     0,  -13,  816,  -13,    0,    0,    0,    0,  736,  798,
    508   821,  828,  829,  832,  834,  833,  838,  839,  840,  841,
    509  2086,    0,  842, 1781,  -27,    0,  156,   58,    0,   -9,
    510     0,  -13,   37,  -13,  181,  849,  798, 2086,  611,  539,
    511   -11,  -11,    0,  -11,    0,  -11,  -11,    0,    0,    0,
    512   614,    0, 3606,    0,  853,  638,    0,  -11,    0,    0,
    513     0,  193,    0,    0,  539,  772,    0,  836,    0,  859,
    514   865,   64,  868,  871,    0,  655,    0,    0,    0,    0,
    515     0,    0,  657,  185,  875,  876,  -11,  877,  878,  880,
    516   185,    0,    0,    0,  664,    0,    0,    0,  882,    0,
    517     0,   99,    0,  185,    0,    0,  548,    0,    0,  548,
    518     0,    0,    0,  548,    0,
    519 };
    520 static const short yyrindex[] = {                         0,
    521     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    522     0,    0,    0,    0,    0,    0,    4,    5,    0,  804,
    523     0,  927,    0,    0,  932,    0,    0,    0,    0,    0,
    524     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    525     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    526     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    527     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    528     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    529     0,    0,    0,    0,    0,    0,  -12,    0,    0,    0,
    530     0,    0,   26,    0,  879,  881,    0,    0,  804,    0,
    531     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    532     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    533     0,    0,    0,  810,    0,    0,    0,    0,    0,    0,
    534     0,    0,    0,  893,    0,    0,    0,    0,    0,    0,
    535     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    536     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    537     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    538     0,    0,    0,    0,    0,    0,  585,    0,    0,  586,
    539     0,  588,  596,    0,    0,    0,  597,    0,    0,    0,
    540   602,    0,    0,    0,    0,  951,    0,    0,    0,  830,
    541     0,    0,  844,    0,    0,    0,    0,    0,    0,    0,
    542     0,    0,    0,    0,    0,    0,    0,  125,    0,    0,
    543     0,    0,    0,    0,    0,    0,    0,    0,  699,  699,
    544   893,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    545     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    546     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    547     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    548     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    549     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    550     0,    0,    0,    0,    0,  603,    0,    0,    0,    0,
    551     0,    0,  612,    0,    0,    0,  -25,    0,    0,    0,
    552     0,   28,    0,    0,    0,    0,    0,    0,  194, 1561,
    553     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    554     0,    0,  593,  912,    0,    0,    0,    0,    0,    0,
    555     0,    0,    0,    0,    0,    0,    0,    0,    0,  893,
    556     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    557     0,    0,    0,    0,    0,    0,  621,  627,  629,  633,
    558   635,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    559     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    560     0,    0, 1229, 1158, 1088, 1036,  981,  867,  924,  559,
    561   616,  673,  730,  365,  422,   30,  251,    0,    0,    0,
    562   642,  643,  644,    0,    0,    0,  645,  646,    0,    0,
    563     0,    0,    0,    0,  854,  864,    0,    0,    0,    0,
    564   946,    0,    0,  946,    0,    0,    0,    0,    0,  728,
    565     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    566     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    567     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    568     0,    0,    0,    0,    0,    0,    0,    0,    0,  883,
    569   952,    0,    0,    0,    0,    0,  946,  272,    0,    0,
    570     0,    0,  -79,    0,  -34,  953,    0,    0,    0,    0,
    571     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    572     0,    0,    0,    0,    0,    0,    0,    0, 1108,  885,
    573     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    574     0,    0,    0,    0,   55,    0,    0,    0,    0,  -99,
    575     0,  -32,    0,    0,    0,    0,    0,    0,    0,  690,
    576     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    577     0,    0,    0,    0,  883,    0,    0,    0,    0,    0,
    578   -41,    0,  891,    0,    0,  953,    0,    0,    0,    0,
    579     0,    0,    0,  895,    0,  946,    0,    0,    0,    0,
    580     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    581     0,    0,    0,    0,    0,    0,  903,    0,    0,    0,
    582   953,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    583     0,    0,    0,    0,    0,    0,    0,  946,  902,    0,
    584     0, 2022,    0,    0,    0,    0,    0,    0,    0,    0,
    585     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    586     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    587     0,    0,  -90,    0,    0,    0,    0,    0,    0,    0,
    588     0,    0,    0,    0,    0,    0,    0,    0,   35,    0,
    589  1921,    0,    0,    0,    0,    0,    0,    0,    0,  522,
    590     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    591   752,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    592     0,    0,   35,    0,   35,    0,  522,  902,    0,  779,
    593     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    594     0,    0,    0,  328,    0,    0,    0,    0,    0,    0,
    595     0,   35,    0,    0,  779,    0,    0,    0,    0,    0,
    596     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    597     0,    0,    0,  133,    0,    0,    0,    0,    0,    0,
    598   133,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    599     0,    0,    0,   13,    0,    0,  502,    0,    0,  502,
    600     0,    0,    0,  -60,    0,
    601 };
    602 static const short yygindex[] = {                         0,
    603   -74,  598, -107,  490,    0,    0,    0,  458,    0, -674,
    604   259,  314, -548,    0,    0,  318,    0,  296, 2079, -242,
    605     0, -504, -193, -599,    0,    0, -396,    0,    0,  -70,
    606   -10,  944,    0,    0,    0,    0,    0,    0,    0,  799,
    607     0,    0,    0,    0,    0,  908,    0,    0,    0,  831,
    608     0,    0,    0,    0,    0,    0,    0,    0,    0,   -8,
    609     0, -216,    0,    0,    0,    0,    0, -451,    0, -583,
    610  -630,    0, -217,  347,    0,    0,  388,    0, -573,    0,
    611     0,  613,    0,  716,    0,    0,    0,    0,    0,  555,
    612     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    613     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    614     0,    0,    0,    0,    0,    0,    0, 1032,    0,  814,
    615     0,    0,  -16,    0,  494,    0,
    616 };
    617 #define YYTABLESIZE 3970
    618 static const short yytable[] = {                        177,
    619   338,  148,  205,   59,   10,  100,  429,  207,   66,  187,
    620   484,  347,  349,  103,  634,   54,  196,   20,  499,  634,
    621   359,  227,  358,  265,  322,  357,  326,  686,  634,  224,
    622   634,   50,  634,  328,  157,  633,  532,  351,  537,  499,
    623   633,  451,  300,  305,  357,  658,   19,  547,  542,  633,
    624    20,  633,  456,  633,  233,  234,  165,  223,  224,  665,
    625   226,  228,   91,  653,  182,  350,  238,  224,  682,  224,
    626   224,  594,  224,  224,  224,  337,  182,  250,  251,  658,
    627   337,  269,  448,  449,  362,   24,  363,  224,  224,  224,
    628   533,  224,  224,   99,  215,  634,  783,  182,  738,  634,
    629   272,  273,  292,  296,  767,  634,  622,  290,  288,  791,
    630   289,  303,  291,  423,  120,  246,  633,  658,  118,  119,
    631   633,  249,  592,  224,  711,  552,  633,  731,  357,  741,
    632   543,  319,  245,  713,  658,  715,  582,  165,  248,  357,
    633   216,  235,  143,  331,  746,  335,  330,  634,  529,  116,
    634   362,  789,  363,  224,  224,  346,  445,  144,  337,  348,
    635   600,  771,  337,  357,  117,  742,  327,  364,  633,  450,
    636   367,  368,  784,  370,  371,  121,  165,  267,  373,  374,
    637   375,  376,  377,  419,  420,  380,  157,  309,  310,  603,
    638   385,  386,  664,  736,  389,  390,  737,  182,  122,  392,
    639   393,  394,  395,  396,  397,  398,  399,  400,  401,  402,
    640   403,  404,  405,  406,  407,  408,  409,  410,  411,  412,
    641   413,  743,  124,  322,  337,  326,  417,  418,  125,  505,
    642   734,  631,  146,  760,  214,  681,  337,  214,  122,  354,
    643   355,  265,  775,  498,  677,  774,  677,  126,  677,  184,
    644   225,  432,  214,  452,  453,  454,  299,  165,  354,  355,
    645   305,  305,  127,   21,  498,  128,  678,  641,  642,  643,
    646   165,  678,  641,  642,  643,  602,  443,  147,  444,  231,
    647   678,  641,  642,  643,  691,  692,  129,  224,  225,  553,
    648   225,  225,  182,  225,  225,  225,   21,  224,  224,  224,
    649   224,  224,  224,  224,  224,  322,  224,  326,  225,  225,
    650   225,  677,  225,  225,  130,  677,  428,  131,  214,  132,
    651   483,  677,  321,  133,   66,   54,  356,  422,  182,  182,
    652   182,  182,  581,  224,  269,  269,  269,  583,   50,  286,
    653   287,  224,  354,  355,  225,  356,  224,  691,  692,  100,
    654   134,  650,  651,  354,  355,   42,  487,  651,  492,  487,
    655   495,  135,  224,  677,  226,  224,  651,  112,  133,  224,
    656   694,  224,  224,  224,  225,  225,  336,  354,  355,  137,
    657   224,  138,  182,  512,  224,  139,  513,  514,  292,  515,
    658   165,  693,  140,  290,  265,  267,  516,  517,  291,  696,
    659   697,  184,  226,  519,  226,  226,  142,  149,  226,  165,
    660   680,  683,  178,  480,  182,  524,  525,  526,  527,  528,
    661   179,  227,  226,  226,  226,  181,  226,  226,  182,  356,
    662   267,  267,  267,  694,  184,  185,  165,  186,  189,  680,
    663   356,  680,  195,  188,  165,  190,  198,   92,  194,  165,
    664   199,  214,  617,  618,  619,  320,  567,  197,  226,  227,
    665   200,  227,  227,  201,  356,  227,  203,  204,  165,  740,
    666   214,  680,  597,  210,  165,  165,  165,  211,  212,  227,
    667   227,  227,  213,  227,  227,  220,  221,  165,  226,  226,
    668   222,  225,  231,  237,  587,   92,  239,  214,  240,  241,
    669   593,  322,  595,  242,  623,  214,  244,  253,  225,  323,
    670   214,  564,  565,  605,   42,  227,  254,  255,  225,  225,
    671   225,  225,  225,  225,  225,  225,  214,  225,  256,  214,
    672   257,  616,  258,  324,  259,  214,  214,  214,  624,   52,
    673    53,   54,  260,  261,  262,  227,  227,  263,  214,  265,
    674   264,  311,   55,  265,  225,  266,   93,  311,  232,   94,
    675    95,   96,  225,  267,  268,  308,  269,  225,  270,  792,
    676   271,  297,  793,  671,  306,  298,  795,  716,  304,  308,
    677   305,  308,  308,  225,  316,  317,  225,  332,  318,  336,
    678   225,  337,  225,  225,  225,  339,  232,  340,  232,  232,
    679   341,  225,  232,  342,   93,  225,  343,   94,  101,  102,
    680   344,  345,  265,  352,  353,  233,  232,  232,  232,  360,
    681   232,  232,  226,  365,  361,  362,  182,  363,  378,  733,
    682   379,  381,  226,  226,  226,  226,  226,  226,  226,  226,
    683   382,  226,  383,    1,    2,    3,  308,  265,  265,  265,
    684   425,  384,  232,  233,    4,  233,  233,  387,  388,  233,
    685   312,  391,    5,  313,  314,  315,  312,  414,  226,  313,
    686   314,  481,  230,  233,  233,  233,  226,  233,  233,  227,
    687   415,  226,  232,  232,  416,  421,  426,  427,  436,  227,
    688   227,  227,  227,  227,  227,  227,  227,  226,  227,  438,
    689   226,  442,  447,  479,  226,  464,  226,  226,  226,  233,
    690   230,  465,  230,  230,  467,  226,  230,  468,  292,  226,
    691   469,  470,  482,  290,  288,  227,  289,  473,  291,  231,
    692   230,  230,  230,  227,  230,  230,  474,  292,  227,  233,
    693   233,  497,  290,  288,  477,  289,  502,  291,  504,  507,
    694   520,  508,  509,  510,  227,  511,  518,  227,  531,  182,
    695   282,  227,  283,  227,  227,  227,  230,  231,  534,  231,
    696   231,  522,  227,  231,  536,  545,  227,  539,  182,  308,
    697   546,  549,  551,  555,  562,  563,  566,  231,  231,  231,
    698   568,  231,  231,  569,  570,  575,  230,  230,  308,  577,
    699   574,  579,  580,  584,  588,  182,  589,  596,  598,  601,
    700   606,  612,  613,  182,  614,  621,  232,  626,  182,  532,
    701   666,  667,  263,  231,  668,  308,  232,  232,  232,  232,
    702   232,  232,  669,  308,  670,  232,  263,  182,  308,  263,
    703   672,  674,  675,  182,  182,  182,  676,  684,  685,  687,
    704   704,  706,  710,  231,  231,  714,  182,  308,  718,  719,
    705   721,  308,  232,  308,  308,  308,  228,  722,  747,  723,
    706   232,  724,  726,  233,  725,  232,  308,  727,  748,  728,
    707   729,  730,  732,  233,  233,  233,  233,  233,  233,  744,
    708   755,  232,  233,  757,  232,  758,  762,  763,  232,  765,
    709   232,  232,  232,  263,  228,  766,  228,  228,  768,  232,
    710   228,  769,  770,  232,  773,  777,  778,  780,  781,  233,
    711   782,  786,  788,  229,  228,  228,  335,  233,  345,  228,
    712   230,  329,  233,  210,  185,   13,   30,  358,   31,  360,
    713   230,  230,  230,  230,  230,  230,   17,   35,  233,  230,
    714     8,  233,   37,   24,  346,  233,  182,  233,  233,  233,
    715   228,  229,   21,  229,  229,  336,  233,  229,  333,  194,
    716   233,   26,  284,  285,  286,  287,  230,   27,  347,   42,
    717   234,  229,  229,   28,  230,   29,  229,  231,  348,  230,
    718   228,  228,   14,   25,   23,   19,   20,  231,  231,  231,
    719   231,  231,  231,  297,  185,  230,  231,  364,  230,  365,
    720   361,  323,  230,  269,  230,  230,  230,  229,  234,  349,
    721   234,  234,  182,  230,  234,  273,  156,  230,  156,  573,
    722   591,  494,  785,  231,  745,  235,  263,  752,  234,  234,
    723   761,  231,  202,  234,  333,  369,  231,  229,  229,  243,
    724   688,  735,  503,  441,  548,  263,  105,  366,  585,    0,
    725     0,    0,  231,    0,    0,  231,    0,    0,    0,  231,
    726     0,  231,  231,  231,  234,  235,  235,    0,    0,  235,
    727   231,    0,  263,    0,  231,    0,    0,  236,    0,    0,
    728   263,    0,    0,  235,  235,  263,    0,    0,  235,    0,
    729     0,    0,    0,    0,  234,  234,    0,  237,    0,    0,
    730     0,    0,    0,    0,  263,    0,    0,    0,    0,  609,
    731   263,  263,  263,    0,  228,    0,    0,  236,  236,  235,
    732     0,  236,    0,  263,  228,  228,  228,  228,    0,    0,
    733     0,    0,    0,  228,    0,  236,  236,  237,  237,    0,
    734   236,  237,    0,    0,    0,    0,    0,  238,    0,  235,
    735   235,    0,    0,    0,    0,  237,  237,    0,    0,    0,
    736   228,    0,    0,    0,    0,    0,    0,    0,  228,    0,
    737     0,  229,    0,  228,    0,    0,    0,    0,    0,    0,
    738     0,  229,  229,  229,  229,    0,    0,  238,  238,  228,
    739   229,  238,  228,    0,    0,    0,  228,    0,  228,  228,
    740   228,  236,  236,    0,    0,  238,  238,  228,    0,    0,
    741   238,  228,    0,    0,    0,    0,    0,  229,  239,    0,
    742     0,    0,  237,    0,    0,  229,    0,    0,  234,    0,
    743   229,    0,    0,    0,    0,    0,    0,    0,  234,  234,
    744     0,    0,  320,    0,    0,    0,  229,  234,    0,  229,
    745     0,    0,    0,  229,    0,  229,  229,  229,  239,  239,
    746     0,    0,  239,    0,  229,    0,  110,    0,  229,    0,
    747     0,    0,  238,    0,  234,    0,  239,  239,    0,    0,
    748     0,  239,  234,  235,    0,    0,    0,  234,  322,    0,
    749     0,    0,    0,  235,  235,    0,  323,    0,    0,    0,
    750     0,   42,  235,  234,    0,    0,  234,    0,    0,    0,
    751   234,    0,  234,  234,  234,    0,    0,    0,    0,    0,
    752   324,  234,    0,    0,    0,  234,   52,   53,   54,  235,
    753     0,    0,    0,    0,    0,  236,    0,  235,    0,   55,
    754     0,  175,  235,  239,    0,  236,  236,    0,  154,  529,
    755     0,  152,    0,  153,  236,  237,    0,    0,  235,    0,
    756     0,  235,    0,    0,    0,  235,    0,  235,  235,  235,
    757     0,    0,    0,    0,  237,    0,  235,    0,    0,    0,
    758   235,  236,    0,    0,    0,    0,    0,    0,    0,  236,
    759     0,    0,    0,    0,  236,    0,    0,    0,    0,    0,
    760     0,  237,    0,    0,    0,  238,    0,    0,    0,  237,
    761   236,    0,    0,  236,  237,  238,  238,  236,    0,  236,
    762   236,  236,    0,    0,  238,    0,    0,    0,  236,    0,
    763   237,    0,  236,  237,  176,  175,    0,  237,    0,  237,
    764   237,  237,  154,    0,    0,  152,  295,  153,  237,    0,
    765   292,  238,  237,    0,    0,  290,  288,    0,  289,  238,
    766   291,    0,    0,  294,  238,  106,  107,  108,  109,  111,
    767   112,  113,  114,  282,    0,  283,  239,    0,    0,    0,
    768   238,    0,    0,  238,    0,    0,  239,  238,    0,  238,
    769   238,  238,    0,    0,  320,  239,    0,    0,  238,    0,
    770     0,    0,  238,    0,  175,    0,    0,    0,    0,    0,
    771     0,  154,    0,  572,  152,  302,  153,    0,    0,    0,
    772     0,    0,  239,    0,    0,    0,    0,    0,  176,    0,
    773   239,    0,  301,    0,    0,  239,    0,    0,    0,    0,
    774   322,    0,    0,    0,    0,    0,    0,    0,  323,    0,
    775     0,  239,    0,   42,  239,    0,    0,    0,  239,    0,
    776   239,  239,  239,    0,    0,  150,  151,    0,    0,  239,
    777     0,    0,  324,  239,    0,    0,    0,    0,   52,   53,
    778    54,    0,    0,  274,    0,    0,  155,  156,    0,    0,
    779   274,   55,    0,  274,    0,  274,    0,  176,    0,  157,
    780   158,  159,    0,    0,    0,    0,  160,    0,  274,    0,
    781     0,  161,    0,    0,    0,    0,  524,  525,  526,  527,
    782   528,  162,    0,    0,    0,    0,  163,  164,  165,  166,
    783   167,  168,  169,    0,    0,    0,    0,    0,    0,  170,
    784     0,  171,    0,    0,    0,    0,    0,    0,    0,    0,
    785     0,    0,    0,    0,    0,  175,    0,  172,    0,  150,
    786   151,    0,  485,  173,    0,  152,    0,  153,    0,    0,
    787     0,    0,    0,    0,    0,    0,  274,    0,    0,    0,
    788   155,  156,    0,  280,  281,  284,  285,  286,  287,  174,
    789     0,    0,    0,  157,  158,  159,    0,    0,    0,    0,
    790   160,    0,    0,    0,    0,  161,    0,    0,    0,    0,
    791     0,    0,    0,    0,    0,  162,    0,    0,    0,    0,
    792   163,  164,  165,  166,  167,  168,  169,    0,  150,  151,
    793     0,    0,    0,  170,  175,  171,    0,    0,    0,    0,
    794     0,  154,    0,    0,  152,    0,  153,    0,  176,  155,
    795   156,  172,    0,    0,    0,    0,    0,  173,    0,  491,
    796     0,    0,  157,  158,  159,    0,    0,    0,    0,  160,
    797     0,    0,    0,    0,  161,    0,    0,    0,    0,    0,
    798     0,    0,    0,  174,  162,    0,    0,    0,    0,  163,
    799   164,  165,  166,  167,  168,  169,    0,    0,    0,    0,
    800     0,    0,  170,  175,  171,    0,    0,  274,  274,    0,
    801   154,    0,    0,  152,    0,  153,    0,    0,    0,    0,
    802   172,    0,    0,    0,    0,    0,  173,  176,  274,  274,
    803   274,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    804     0,  274,  274,  274,    0,    0,    0,    0,  274,    0,
    805     0,    0,  174,  274,    0,    0,    0,    0,    0,    0,
    806     0,    0,    0,  274,    0,    0,    0,    0,  274,  274,
    807   274,  274,  274,  274,  274,    0,    0,    0,    0,  150,
    808   151,  274,    0,  274,    0,    0,    0,    0,    0,    0,
    809     0,    0,    0,    0,    0,    0,  176,    0,    0,  274,
    810   155,  156,  486,    0,    0,  274,    0,    0,    0,    0,
    811     0,  292,  279,  157,  158,  159,  290,  288,  293,  289,
    812   160,  291,    0,    0,    0,  161,    0,    0,    0,    0,
    813     0,  274,    0,    0,  282,  162,  283,  274,    0,    0,
    814   163,  164,  165,  166,  167,  168,  169,    0,    0,    0,
    815   112,  134,  134,  170,    0,  171,    0,    0,  150,  151,
    816     0,    0,    0,    0,    0,    0,    0,    0,  278,  134,
    817     0,  172,    0,  134,    0,    0,    0,  173,    0,  155,
    818   156,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    819     0,    0,  157,  158,  159,    0,    0,    0,  277,  160,
    820     0,  134,    0,  174,  161,    0,    0,    0,    0,    0,
    821     0,    0,    0,    0,  162,    0,    0,    0,    0,  163,
    822   164,  165,  166,  167,  168,  169,    0,  150,  151,    0,
    823     0,    0,  170,    0,  171,  134,    0,    0,    0,    0,
    824     0,    0,    0,    0,    0,    0,    0,    0,  155,  156,
    825   172,  112,    0,  133,    0,    0,  173,    0,    0,    0,
    826     0,  157,  158,  159,    0,    0,    0,    0,  160,    0,
    827   133,    0,    0,  161,  133,    0,    0,    0,    0,    0,
    828     0,    0,  174,  162,    0,    0,    0,    0,  163,  164,
    829   165,  166,  167,  168,  169,    0,    0,    0,    0,    0,
    830     0,  170,  133,  171,  292,  279,    0,    0,    0,  290,
    831   288,    0,  289,    0,  291,    0,    0,  634,    0,  172,
    832     0,    0,    0,    0,    0,  173,    0,  282,    0,  283,
    833     0,    0,    0,    0,  652,    0,  133,   70,  633,    0,
    834     0,    0,  275,  276,  280,  281,  284,  285,  286,  287,
    835     0,  174,    0,    0,    0,    0,  457,   71,    0,  292,
    836   279,  278,    0,    0,  290,  288,  653,  289,  134,  291,
    837     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    838     0,    0,  282,   72,  283,    0,    0,  134,    0,    0,
    839     0,  134,  134,  134,  134,  134,    0,    0,    0,    0,
    840     0,    0,    0,    0,  134,  134,  134,  134,    0,    0,
    841     0,    0,    0,    0,  134,    0,   57,    0,   73,    0,
    842     0,    0,    0,    0,    0,   74,   75,   76,   77,   78,
    843     0,   79,   80,   81,    0,   82,   83,    0,   84,   85,
    844    86,    0,  134,    0,  134,   87,   88,   89,  134,    0,
    845     0,    0,  134,  134,  134,    0,    0,    0,    0,    0,
    846     0,    0,    0,    0,    0,  134,    0,    0,    0,  133,
    847     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    848    57,    0,    0,    0,    0,  134,    0,    0,  133,  134,
    849   134,    0,  133,  133,  133,  133,  133,    0,    0,    0,
    850     0,    0,    0,    0,    0,  133,  133,  133,  133,    0,
    851     0,    0,    0,    0,    0,  133,    0,    0,    0,    0,
    852     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    853     0,    0,    0,  632,    0,    0,    0,  280,  281,  284,
    854   285,  286,  287,  133,    0,  133,    0,    0,    0,  133,
    855     0,    0,    0,  133,  133,  133,  635,  636,  637,  638,
    856   639,    0,    0,    0,    0,    0,  133,    0,    0,  640,
    857   641,  642,  643,    0,    0,    0,    0,    0,    0,  644,
    858     0,    0,    0,    0,    0,    0,  133,    0,    0,    0,
    859   133,  133,  280,  281,  284,  285,  286,  287,    0,    0,
    860     0,    0,    0,    0,    0,    0,    0,  645,    0,  646,
    861     0,    0,    0,  647,    0,   27,    0,   52,   53,   54,
    862     0,    0,    0,  292,  279,    0,    0,    0,  290,  288,
    863   648,  289,    0,  291,  437,    0,    0,    0,    0,    0,
    864     0,    0,    0,   28,   29,   30,  282,    0,  283,    0,
    865   649,    0,    0,    0,  650,  651,   31,   32,   33,   34,
    866     0,   35,   36,   37,   38,    0,    0,    0,    0,    0,
    867     0,   39,   40,   41,   42,    0,    0,    0,    0,   27,
    868   278,    0,   43,   44,   45,   46,   47,   48,    0,    0,
    869     0,    0,   49,   50,   51,    0,    0,    0,    0,   52,
    870    53,   54,    0,    0,    0,    0,    0,   28,   29,   30,
    871   277,    0,   55,    0,    0,    0,    0,    0,    0,    0,
    872    31,   32,   33,   34,   56,   35,   36,   37,   38,    0,
    873     0,    0,    0,    0,    0,   39,   40,   41,   42,    0,
    874     0,    0,    0,    0,    0,    0,   43,   44,   45,   46,
    875    47,   48,    0,    0,    0,    0,   49,   50,   51,    0,
    876     0,    0,    0,   52,   53,   54,    0,  292,  279,    0,
    877     0,  459,  290,  288,  458,  289,   55,  291,    0,  292,
    878   279,    0,    0,  372,  290,  288,    0,  289,   56,  291,
    879   282,    0,  283,  274,    0,    0,    0,    0,    0,    0,
    880     0,    0,  282,    0,  283,  274,  292,  279,    0,    0,
    881     0,  290,  288,  455,  289,    0,  291,  292,  279,    0,
    882     0,  460,  290,  288,  278,  289,    0,  291,    0,  282,
    883     0,  283,  274,    0,    0,    0,  278,    0,    0,    0,
    884   282,    0,  283,  274,    0,  292,  279,    0,    0,    0,
    885   290,  288,  461,  289,  277,  291,  280,  281,  284,  285,
    886   286,  287,    0,  278,    0,    0,  277,    0,  282,    0,
    887   283,  274,  292,  279,  278,    0,    0,  290,  288,  462,
    888   289,    0,  291,    0,  292,  279,    0,    0,  463,  290,
    889   288,    0,  289,  277,  291,  282,    0,  283,  274,    0,
    890     0,    0,  278,    0,  277,    0,    0,  282,    0,  283,
    891   274,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    892   292,  279,    0,    0,  466,  290,  288,    0,  289,  278,
    893   291,    0,  277,    0,    0,  695,  698,  699,  700,    0,
    894     0,  278,    0,  282,  709,  283,  274,    0,    0,    0,
    895     0,    0,    0,    0,    0,    0,    0,    0,    0,  277,
    896     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    897     0,  277,    0,    0,    0,    0,  739,  278,  695,    0,
    898     0,    0,    0,    0,    0,    0,    0,    0,    0,  750,
    899   751,    0,  709,    0,  753,  754,    0,    0,  275,  276,
    900   280,  281,  284,  285,  286,  287,  759,  277,    0,    0,
    901   275,  276,  280,  281,  284,  285,  286,  287,    0,    0,
    902   739,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    903     0,    0,    0,    0,    0,  779,    0,  275,  276,  280,
    904   281,  284,  285,  286,  287,    0,    0,    0,  275,  276,
    905   280,  281,  284,  285,  286,  287,    0,    0,    0,    0,
    906     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    907     0,    0,    0,    0,    0,    0,  275,  276,  280,  281,
    908   284,  285,  286,  287,    0,    0,    0,    0,  292,  279,
    909     0,    0,    0,  290,  288,  471,  289,    0,  291,    0,
    910     0,    0,    0,  275,  276,  280,  281,  284,  285,  286,
    911   287,  282,    0,  283,  274,  275,  276,  280,  281,  284,
    912   285,  286,  287,  292,  279,    0,    0,    0,  290,  288,
    913   472,  289,    0,  291,    0,    0,    0,    0,    0,    0,
    914     0,    0,    0,    0,    0,  278,  282,    0,  283,  274,
    915     0,  275,  276,  280,  281,  284,  285,  286,  287,  292,
    916   279,    0,    0,  475,  290,  288,    0,  289,    0,  291,
    917     0,  292,  279,    0,    0,  277,  290,  288,  476,  289,
    918   278,  291,  282,    0,  283,  274,    0,    0,    0,    0,
    919     0,    0,    0,    0,  282,    0,  283,  274,  292,  279,
    920     0,    0,    0,  290,  288,    0,  289,    0,  291,    0,
    921   277,    0,  292,  279,    0,  532,  278,  290,  288,  478,
    922   289,  282,  291,  283,  274,    0,  292,  279,  278,    0,
    923     0,  290,  288,    0,  289,  282,  291,  283,  274,    0,
    924     0,    0,    0,    0,    0,    0,  277,  538,    0,  282,
    925     0,  283,  274,    0,    0,  278,    0,    0,  277,    0,
    926     0,    0,    0,    0,    0,    0,    0,    0,    0,  278,
    927     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    928     0,    0,    0,  278,    0,  277,  292,  279,    0,    0,
    929   556,  290,  288,    0,  289,    0,  291,    0,    0,  277,
    930     0,    0,    0,    0,    0,    0,    0,    0,    0,  282,
    931     0,  283,  274,  277,    0,    0,    0,    0,    0,  275,
    932   276,  280,  281,  284,  285,  286,  287,  292,  279,    0,
    933     0,  557,  290,  288,    0,  289,    0,  291,    0,    0,
    934     0,  292,  279,  278,    0,  558,  290,  288,    0,  289,
    935   282,  291,  283,  274,  275,  276,  280,  281,  284,  285,
    936   286,  287,    0,    0,  282,    0,  283,  274,    0,    0,
    937     0,    0,    0,  277,    0,    0,    0,    0,    0,    0,
    938     0,    0,    0,    0,  278,    0,    0,    0,    0,    0,
    939   275,  276,  280,  281,  284,  285,  286,  287,  278,    0,
    940     0,    0,  275,  276,  280,  281,  284,  285,  286,  287,
    941     0,    0,    0,    0,  277,  292,  279,    0,    0,  559,
    942   290,  288,    0,  289,    0,  291,    0,    0,  277,  275,
    943   276,  280,  281,  284,  285,  286,  287,    0,  282,    0,
    944   283,  274,    0,  275,  276,  280,  281,  284,  285,  286,
    945   287,    0,    0,    0,    0,    0,    0,  275,  276,  280,
    946   281,  284,  285,  286,  287,    0,    0,    0,    0,  292,
    947   279,    0,  278,  560,  290,  288,    0,  289,    0,  291,
    948   292,  279,    0,    0,  561,  290,  288,    0,  289,    0,
    949   291,    0,  282,    0,  283,  274,    0,    0,    0,    0,
    950     0,    0,  277,  282,    0,  283,  274,    0,    0,    0,
    951     0,    0,    0,    0,    0,    0,    0,  275,  276,  280,
    952   281,  284,  285,  286,  287,    0,  278,    0,  292,  279,
    953     0,    0,  586,  290,  288,    0,  289,  278,  291,    0,
    954     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    955     0,  282,    0,  283,  274,    0,  277,    0,  275,  276,
    956   280,  281,  284,  285,  286,  287,    0,  277,    0,    0,
    957     0,    0,  275,  276,  280,  281,  284,  285,  286,  287,
    958     0,    0,  292,  279,    0,  278,  604,  290,  288,    0,
    959   289,    0,  291,    0,    0,    0,    0,    0,    0,    0,
    960     0,    0,    0,    0,    0,  282,    0,  283,  274,    0,
    961     0,    0,    0,    0,    0,  277,    0,    0,    0,    0,
    962     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    963     0,    0,  292,  279,    0,    0,  610,  290,  288,  278,
    964   289,    0,  291,    0,    0,    0,  275,  276,  280,  281,
    965   284,  285,  286,  287,    0,  282,    0,  283,  274,    0,
    966     0,    0,    0,    0,    0,    0,    0,  292,  279,  277,
    967     0,  611,  290,  288,    0,  289,    0,  291,    0,    0,
    968     0,    0,    0,    0,    0,    0,    0,    0,    0,  278,
    969   282,    0,  283,  274,    0,    0,    0,    0,    0,    0,
    970   275,  276,  280,  281,  284,  285,  286,  287,    0,    0,
    971     0,  275,  276,  280,  281,  284,  285,  286,  287,  277,
    972     0,  292,  279,    0,  278,  615,  290,  288,    0,  289,
    973     0,  291,    0,    0,    0,    0,    0,    0,    0,    0,
    974     0,    0,    0,    0,  282,    0,  283,  274,    0,    0,
    975     0,    0,    0,    0,  277,    0,    0,    0,    0,  275,
    976   276,  280,  281,  284,  285,  286,  287,  292,  279,    0,
    977     0,  625,  290,  288,    0,  289,    0,  291,  278,    0,
    978     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    979   282,    0,  283,  274,    0,    0,    0,    0,    0,    0,
    980     0,    0,    0,    0,    0,    0,    0,    0,  277,    0,
    981     0,    0,    0,  275,  276,  280,  281,  284,  285,  286,
    982   287,  292,  279,    0,  278,  628,  290,  288,    0,  289,
    983     0,  291,  292,  279,    0,    0,    0,  290,  288,  756,
    984   289,    0,  291,    0,  282,    0,  283,  274,    0,    0,
    985     0,    0,    0,    0,  277,  282,    0,  283,  274,    0,
    986     0,    0,    0,  275,  276,  280,  281,  284,  285,  286,
    987   287,    0,    0,    0,    0,    0,    0,    0,  278,    0,
    988     0,    0,    0,    0,    0,    0,  292,  279,    0,  278,
    989     0,  290,  288,    0,  289,    0,  291,    0,  275,  276,
    990   280,  281,  284,  285,  286,  287,    0,    0,  277,  282,
    991     0,  283,  274,    0,    0,    0,    0,    0,    0,  277,
    992     0,  292,  279,    0,    0,   70,  290,  288,    0,  289,
    993     0,  291,    0,    0,    0,    0,    0,    0,    0,    0,
    994     0,    0,    0,  278,  282,   71,  283,    0,    0,    0,
    995     0,    0,  275,  276,  280,  281,  284,  285,  286,  287,
    996     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    997     0,   72,    0,  277,    0,    0,    0,    0,  278,    0,
    998     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    999     0,    0,    0,    0,    0,    0,    0,    0,  275,  276,
   1000   280,  281,  284,  285,  286,  287,   73,    0,  277,    0,
   1001     0,    0,    0,   74,   75,   76,   77,   78,    0,   79,
   1002    80,   81,    0,   82,   83,    0,   84,   85,   86,    0,
   1003     0,    0,    0,   87,   88,   89,    0,    0,    0,    0,
   1004     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1005     0,    0,  275,  276,  280,  281,  284,  285,  286,  287,
   1006     0,    0,    0,  275,  276,  280,  281,  284,  285,  286,
   1007   287,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1008     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1009     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1010     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1011     0,    0,    0,    0,    0,    0,    0,  275,  276,  280,
   1012   281,  284,  285,  286,  287,    0,    0,    0,    0,    0,
   1013     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1014     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1015     0,    0,    0,  276,  280,  281,  284,  285,  286,  287,
   1016 };
   1017 static const short yycheck[] = {                         74,
   1018   218,   72,  110,    0,    0,   22,   59,  115,   17,   84,
   1019    59,  229,  230,   24,   42,   41,   91,  123,   33,   42,
   1020   237,   41,   41,  123,   59,   44,   59,  658,   42,    0,
   1021    42,   44,   42,  125,  125,   63,   40,  231,  490,   33,
   1022    63,   41,   44,  123,   44,  629,  258,   41,  258,   63,
   1023   123,   63,  125,   63,  258,  259,   44,  128,  129,  125,
   1024   131,  132,   61,   91,  125,   44,  137,   38,   91,   40,
   1025    41,  576,   43,   44,   45,   44,   42,  152,  153,  663,
   1026    44,  123,  258,  259,   59,  123,   59,   58,   59,   60,
   1027   487,   62,   63,  123,  258,   42,  771,   63,   41,   42,
   1028   175,  176,   37,  178,   41,   42,  611,   42,   43,  784,
   1029    45,  186,   47,   44,   40,   44,   63,  701,  289,  290,
   1030    63,   44,  574,   94,   93,   41,   63,  701,   44,   93,
   1031   340,  206,   61,  682,  718,  684,   41,  125,   61,   44,
   1032   304,  345,   44,   41,  718,  216,   44,   42,   41,  123,
   1033   125,  782,  125,  124,  125,   41,  350,   59,   44,   41,
   1034    41,  761,   44,   44,  123,  714,  258,  242,   63,  345,
   1035   245,  246,  772,  248,  249,   40,   44,  123,  253,  254,
   1036   255,  256,  257,  257,  258,  260,  277,  198,  199,  586,
   1037   265,  266,  258,   38,  269,  270,   41,  258,  258,  274,
   1038   275,  276,  277,  278,  279,  280,  281,  282,  283,  284,
   1039   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
   1040   295,   41,  123,  258,   44,  258,  301,  302,   40,  446,
   1041   258,  628,  373,   41,   41,  258,   44,   44,  258,  258,
   1042   259,  341,   58,  258,  258,   61,  258,   40,  258,  125,
   1043     0,  322,   59,  361,  362,  363,  258,  125,  258,  259,
   1044   340,  341,   40,  369,  258,   40,  294,  295,  296,  297,
   1045   258,  294,  295,  296,  297,  279,  347,  258,  349,  258,
   1046   294,  295,  296,  297,  294,  295,   40,  258,   38,  506,
   1047    40,   41,  258,   43,   44,   45,  369,  268,  269,  270,
   1048   271,  272,  273,  274,  275,  340,  277,  340,   58,   59,
   1049    60,  258,   62,   63,   40,  258,  369,   40,  125,   40,
   1050   369,  258,  125,   40,  333,  351,  345,  258,  294,  295,
   1051   296,  297,  550,  304,  376,  377,  378,  554,  351,  274,
   1052   275,  312,  258,  259,   94,  345,  317,  294,  295,  366,
   1053    40,  379,  380,  258,  259,  351,  431,  380,  433,  434,
   1054   435,   40,  333,  258,    0,  336,  380,   40,   41,  340,
   1055   380,  342,  343,  344,  124,  125,  373,  258,  259,   40,
   1056   351,   40,  258,  458,  355,   40,  461,  462,   37,  464,
   1057   258,  338,   40,   42,  123,  341,  471,  472,   47,  294,
   1058   295,  277,   38,  478,   40,   41,   40,  258,   44,  277,
   1059   653,  654,  258,  424,  380,  308,  309,  310,  311,  312,
   1060   258,    0,   58,   59,   60,  258,   62,   63,  304,  345,
   1061   376,  377,  378,  380,  258,  258,  304,  258,  257,  682,
   1062   345,  684,  351,  258,  312,  258,   58,  258,  258,  317,
   1063    58,  258,  376,  377,  378,  258,  531,  258,   94,   38,
   1064    59,   40,   41,  125,  345,   44,   59,  125,  336,  712,
   1065   277,  714,  580,  258,  342,  343,  344,  258,  258,   58,
   1066    59,   60,  258,   62,   63,  258,  258,  355,  124,  125,
   1067   258,  258,  258,   40,  569,  258,  258,  304,  258,  258,
   1068   575,  304,  577,   40,  612,  312,  123,   40,  258,  312,
   1069   317,  522,  523,  588,  317,   94,   40,   40,  268,  269,
   1070   270,  271,  272,  273,  274,  275,  333,  277,   40,  336,
   1071    40,  606,   40,  336,   40,  342,  343,  344,  613,  342,
   1072   343,  344,   40,   40,   40,  124,  125,   40,  355,  278,
   1073    40,  258,  355,   40,  304,   40,  367,  258,    0,  370,
   1074   371,  372,  312,   40,   40,   44,   40,  317,   40,  787,
   1075    40,   44,  790,  644,  258,   44,  794,  685,   44,   58,
   1076    44,  123,   61,  333,   59,  125,  336,   41,   59,  125,
   1077   340,   44,  342,  343,  344,   44,   38,   41,   40,   41,
   1078    41,  351,   44,   41,  367,  355,   41,  370,  371,  372,
   1079    41,   41,  341,   41,   40,    0,   58,   59,   60,   41,
   1080    62,   63,  258,   41,   61,   61,  125,   61,  258,  704,
   1081   258,  258,  268,  269,  270,  271,  272,  273,  274,  275,
   1082   258,  277,  258,  363,  364,  365,  125,  376,  377,  378,
   1083    59,  258,   94,   38,  374,   40,   41,  258,  258,   44,
   1084   367,  258,  382,  370,  371,  372,  367,  258,  304,  370,
   1085   371,  372,    0,   58,   59,   60,  312,   62,   63,  258,
   1086   258,  317,  124,  125,  258,  258,   59,  258,  258,  268,
   1087   269,  270,  271,  272,  273,  274,  275,  333,  277,   40,
   1088   336,  258,   40,  258,  340,   44,  342,  343,  344,   94,
   1089    38,   41,   40,   41,   41,  351,   44,   41,   37,  355,
   1090    41,   41,  123,   42,   43,  304,   45,   41,   47,    0,
   1091    58,   59,   60,  312,   62,   63,   41,   37,  317,  124,
   1092   125,   44,   42,   43,   41,   45,   58,   47,   41,   40,
   1093    59,   41,   41,   41,  333,  258,  258,  336,   40,  258,
   1094    60,  340,   62,  342,  343,  344,   94,   38,  340,   40,
   1095    41,   58,  351,   44,   58,  258,  355,  330,  277,  258,
   1096   258,  331,  277,   41,   41,  125,   41,   58,   59,   60,
   1097    58,   62,   63,   40,  278,   40,  124,  125,  277,   40,
   1098   123,   41,   61,   59,   40,  304,  341,   59,  333,  125,
   1099    40,   61,   40,  312,   58,  123,  258,  123,  317,   40,
   1100    58,   40,   44,   94,   40,  304,  268,  269,  270,  271,
   1101   272,  273,   40,  312,   40,  277,   58,  336,  317,   61,
   1102    40,   40,   40,  342,  343,  344,   40,   40,   40,  125,
   1103    40,  258,   40,  124,  125,   40,  355,  336,  123,   62,
   1104    40,  340,  304,  342,  343,  344,    0,   40,  258,   41,
   1105   312,   40,   40,  258,   41,  317,  355,   40,  340,   41,
   1106    41,   41,   41,  268,  269,  270,  271,  272,  273,   41,
   1107   277,  333,  277,   41,  336,  258,  125,   62,  340,   41,
   1108   342,  343,  344,  125,   38,   41,   40,   41,   41,  351,
   1109    44,   41,  258,  355,  258,   41,   41,   41,   41,  304,
   1110    41,  258,   41,    0,   58,   59,    0,  312,  125,   63,
   1111   258,    0,  317,   41,  125,  351,  351,   59,  351,   59,
   1112   268,  269,  270,  271,  272,  273,  351,  351,  333,  277,
   1113     0,  336,  351,  351,  125,  340,  258,  342,  343,  344,
   1114    94,   38,  351,   40,   41,  373,  351,   44,  125,   58,
   1115   355,  351,  272,  273,  274,  275,  304,  351,  125,  351,
   1116     0,   58,   59,  351,  312,  351,   63,  258,  125,  317,
   1117   124,  125,  351,  351,  351,  351,  351,  268,  269,  270,
   1118   271,  272,  273,   58,  277,  333,  277,  125,  336,  125,
   1119    59,   59,  340,  123,  342,  343,  344,   94,   38,  125,
   1120    40,   41,  333,  351,   44,  123,  125,  355,  277,  540,
   1121   573,  434,  774,  304,  717,    0,  258,  724,   58,   59,
   1122   745,  312,   99,   63,  214,  247,  317,  124,  125,  142,
   1123   663,  705,  440,  338,  500,  277,   25,  244,  565,   -1,
   1124    -1,   -1,  333,   -1,   -1,  336,   -1,   -1,   -1,  340,
   1125    -1,  342,  343,  344,   94,   40,   41,   -1,   -1,   44,
   1126   351,   -1,  304,   -1,  355,   -1,   -1,    0,   -1,   -1,
   1127   312,   -1,   -1,   58,   59,  317,   -1,   -1,   63,   -1,
   1128    -1,   -1,   -1,   -1,  124,  125,   -1,    0,   -1,   -1,
   1129    -1,   -1,   -1,   -1,  336,   -1,   -1,   -1,   -1,  125,
   1130   342,  343,  344,   -1,  258,   -1,   -1,   40,   41,   94,
   1131    -1,   44,   -1,  355,  268,  269,  270,  271,   -1,   -1,
   1132    -1,   -1,   -1,  277,   -1,   58,   59,   40,   41,   -1,
   1133    63,   44,   -1,   -1,   -1,   -1,   -1,    0,   -1,  124,
   1134   125,   -1,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,
   1135   304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  312,   -1,
   1136    -1,  258,   -1,  317,   -1,   -1,   -1,   -1,   -1,   -1,
   1137    -1,  268,  269,  270,  271,   -1,   -1,   40,   41,  333,
   1138   277,   44,  336,   -1,   -1,   -1,  340,   -1,  342,  343,
   1139   344,  124,  125,   -1,   -1,   58,   59,  351,   -1,   -1,
   1140    63,  355,   -1,   -1,   -1,   -1,   -1,  304,    0,   -1,
   1141    -1,   -1,  125,   -1,   -1,  312,   -1,   -1,  258,   -1,
   1142   317,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  268,  269,
   1143    -1,   -1,  258,   -1,   -1,   -1,  333,  277,   -1,  336,
   1144    -1,   -1,   -1,  340,   -1,  342,  343,  344,   40,   41,
   1145    -1,   -1,   44,   -1,  351,   -1,   61,   -1,  355,   -1,
   1146    -1,   -1,  125,   -1,  304,   -1,   58,   59,   -1,   -1,
   1147    -1,   63,  312,  258,   -1,   -1,   -1,  317,  304,   -1,
   1148    -1,   -1,   -1,  268,  269,   -1,  312,   -1,   -1,   -1,
   1149    -1,  317,  277,  333,   -1,   -1,  336,   -1,   -1,   -1,
   1150   340,   -1,  342,  343,  344,   -1,   -1,   -1,   -1,   -1,
   1151   336,  351,   -1,   -1,   -1,  355,  342,  343,  344,  304,
   1152    -1,   -1,   -1,   -1,   -1,  258,   -1,  312,   -1,  355,
   1153    -1,   33,  317,  125,   -1,  268,  269,   -1,   40,   41,
   1154    -1,   43,   -1,   45,  277,  258,   -1,   -1,  333,   -1,
   1155    -1,  336,   -1,   -1,   -1,  340,   -1,  342,  343,  344,
   1156    -1,   -1,   -1,   -1,  277,   -1,  351,   -1,   -1,   -1,
   1157   355,  304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  312,
   1158    -1,   -1,   -1,   -1,  317,   -1,   -1,   -1,   -1,   -1,
   1159    -1,  304,   -1,   -1,   -1,  258,   -1,   -1,   -1,  312,
   1160   333,   -1,   -1,  336,  317,  268,  269,  340,   -1,  342,
   1161   343,  344,   -1,   -1,  277,   -1,   -1,   -1,  351,   -1,
   1162   333,   -1,  355,  336,  126,   33,   -1,  340,   -1,  342,
   1163   343,  344,   40,   -1,   -1,   43,   44,   45,  351,   -1,
   1164    37,  304,  355,   -1,   -1,   42,   43,   -1,   45,  312,
   1165    47,   -1,   -1,   61,  317,  260,  261,  262,  263,  264,
   1166   265,  266,  267,   60,   -1,   62,  258,   -1,   -1,   -1,
   1167   333,   -1,   -1,  336,   -1,   -1,  268,  340,   -1,  342,
   1168   343,  344,   -1,   -1,  258,  277,   -1,   -1,  351,   -1,
   1169    -1,   -1,  355,   -1,   33,   -1,   -1,   -1,   -1,   -1,
   1170    -1,   40,   -1,  277,   43,   44,   45,   -1,   -1,   -1,
   1171    -1,   -1,  304,   -1,   -1,   -1,   -1,   -1,  126,   -1,
   1172   312,   -1,   61,   -1,   -1,  317,   -1,   -1,   -1,   -1,
   1173   304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  312,   -1,
   1174    -1,  333,   -1,  317,  336,   -1,   -1,   -1,  340,   -1,
   1175   342,  343,  344,   -1,   -1,  257,  258,   -1,   -1,  351,
   1176    -1,   -1,  336,  355,   -1,   -1,   -1,   -1,  342,  343,
   1177   344,   -1,   -1,   33,   -1,   -1,  278,  279,   -1,   -1,
   1178    40,  355,   -1,   43,   -1,   45,   -1,  126,   -1,  291,
   1179   292,  293,   -1,   -1,   -1,   -1,  298,   -1,   58,   -1,
   1180    -1,  303,   -1,   -1,   -1,   -1,  308,  309,  310,  311,
   1181   312,  313,   -1,   -1,   -1,   -1,  318,  319,  320,  321,
   1182   322,  323,  324,   -1,   -1,   -1,   -1,   -1,   -1,  331,
   1183    -1,  333,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1184    -1,   -1,   -1,   -1,   -1,   33,   -1,  349,   -1,  257,
   1185   258,   -1,   40,  355,   -1,   43,   -1,   45,   -1,   -1,
   1186    -1,   -1,   -1,   -1,   -1,   -1,  126,   -1,   -1,   -1,
   1187   278,  279,   -1,  270,  271,  272,  273,  274,  275,  381,
   1188    -1,   -1,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,
   1189   298,   -1,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,
   1190    -1,   -1,   -1,   -1,   -1,  313,   -1,   -1,   -1,   -1,
   1191   318,  319,  320,  321,  322,  323,  324,   -1,  257,  258,
   1192    -1,   -1,   -1,  331,   33,  333,   -1,   -1,   -1,   -1,
   1193    -1,   40,   -1,   -1,   43,   -1,   45,   -1,  126,  278,
   1194   279,  349,   -1,   -1,   -1,   -1,   -1,  355,   -1,   58,
   1195    -1,   -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,
   1196    -1,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,   -1,
   1197    -1,   -1,   -1,  381,  313,   -1,   -1,   -1,   -1,  318,
   1198   319,  320,  321,  322,  323,  324,   -1,   -1,   -1,   -1,
   1199    -1,   -1,  331,   33,  333,   -1,   -1,  257,  258,   -1,
   1200    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
   1201   349,   -1,   -1,   -1,   -1,   -1,  355,  126,  278,  279,
   1202   280,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1203    -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,   -1,
   1204    -1,   -1,  381,  303,   -1,   -1,   -1,   -1,   -1,   -1,
   1205    -1,   -1,   -1,  313,   -1,   -1,   -1,   -1,  318,  319,
   1206   320,  321,  322,  323,  324,   -1,   -1,   -1,   -1,  257,
   1207   258,  331,   -1,  333,   -1,   -1,   -1,   -1,   -1,   -1,
   1208    -1,   -1,   -1,   -1,   -1,   -1,  126,   -1,   -1,  349,
   1209   278,  279,  280,   -1,   -1,  355,   -1,   -1,   -1,   -1,
   1210    -1,   37,   38,  291,  292,  293,   42,   43,   44,   45,
   1211   298,   47,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,
   1212    -1,  381,   -1,   -1,   60,  313,   62,   63,   -1,   -1,
   1213   318,  319,  320,  321,  322,  323,  324,   -1,   -1,   -1,
   1214    40,   41,   42,  331,   -1,  333,   -1,   -1,  257,  258,
   1215    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,   59,
   1216    -1,  349,   -1,   63,   -1,   -1,   -1,  355,   -1,  278,
   1217   279,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1218    -1,   -1,  291,  292,  293,   -1,   -1,   -1,  124,  298,
   1219    -1,   91,   -1,  381,  303,   -1,   -1,   -1,   -1,   -1,
   1220    -1,   -1,   -1,   -1,  313,   -1,   -1,   -1,   -1,  318,
   1221   319,  320,  321,  322,  323,  324,   -1,  257,  258,   -1,
   1222    -1,   -1,  331,   -1,  333,  125,   -1,   -1,   -1,   -1,
   1223    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  278,  279,
   1224   349,   40,   -1,   42,   -1,   -1,  355,   -1,   -1,   -1,
   1225    -1,  291,  292,  293,   -1,   -1,   -1,   -1,  298,   -1,
   1226    59,   -1,   -1,  303,   63,   -1,   -1,   -1,   -1,   -1,
   1227    -1,   -1,  381,  313,   -1,   -1,   -1,   -1,  318,  319,
   1228   320,  321,  322,  323,  324,   -1,   -1,   -1,   -1,   -1,
   1229    -1,  331,   91,  333,   37,   38,   -1,   -1,   -1,   42,
   1230    43,   -1,   45,   -1,   47,   -1,   -1,   42,   -1,  349,
   1231    -1,   -1,   -1,   -1,   -1,  355,   -1,   60,   -1,   62,
   1232    -1,   -1,   -1,   -1,   59,   -1,  125,  258,   63,   -1,
   1233    -1,   -1,  268,  269,  270,  271,  272,  273,  274,  275,
   1234    -1,  381,   -1,   -1,   -1,   -1,  277,  278,   -1,   37,
   1235    38,   94,   -1,   -1,   42,   43,   91,   45,  258,   47,
   1236    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1237    -1,   -1,   60,  304,   62,   -1,   -1,  277,   -1,   -1,
   1238    -1,  281,  282,  283,  284,  285,   -1,   -1,   -1,   -1,
   1239    -1,   -1,   -1,   -1,  294,  295,  296,  297,   -1,   -1,
   1240    -1,   -1,   -1,   -1,  304,   -1,   59,   -1,  339,   -1,
   1241    -1,   -1,   -1,   -1,   -1,  346,  347,  348,  349,  350,
   1242    -1,  352,  353,  354,   -1,  356,  357,   -1,  359,  360,
   1243   361,   -1,  332,   -1,  334,  366,  367,  368,  338,   -1,
   1244    -1,   -1,  342,  343,  344,   -1,   -1,   -1,   -1,   -1,
   1245    -1,   -1,   -1,   -1,   -1,  355,   -1,   -1,   -1,  258,
   1246    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1247    59,   -1,   -1,   -1,   -1,  375,   -1,   -1,  277,  379,
   1248   380,   -1,  281,  282,  283,  284,  285,   -1,   -1,   -1,
   1249    -1,   -1,   -1,   -1,   -1,  294,  295,  296,  297,   -1,
   1250    -1,   -1,   -1,   -1,   -1,  304,   -1,   -1,   -1,   -1,
   1251    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1252    -1,   -1,   -1,  258,   -1,   -1,   -1,  270,  271,  272,
   1253   273,  274,  275,  332,   -1,  334,   -1,   -1,   -1,  338,
   1254    -1,   -1,   -1,  342,  343,  344,  281,  282,  283,  284,
   1255   285,   -1,   -1,   -1,   -1,   -1,  355,   -1,   -1,  294,
   1256   295,  296,  297,   -1,   -1,   -1,   -1,   -1,   -1,  304,
   1257    -1,   -1,   -1,   -1,   -1,   -1,  375,   -1,   -1,   -1,
   1258   379,  380,  270,  271,  272,  273,  274,  275,   -1,   -1,
   1259    -1,   -1,   -1,   -1,   -1,   -1,   -1,  332,   -1,  334,
   1260    -1,   -1,   -1,  338,   -1,  258,   -1,  342,  343,  344,
   1261    -1,   -1,   -1,   37,   38,   -1,   -1,   -1,   42,   43,
   1262   355,   45,   -1,   47,  277,   -1,   -1,   -1,   -1,   -1,
   1263    -1,   -1,   -1,  286,  287,  288,   60,   -1,   62,   -1,
   1264   375,   -1,   -1,   -1,  379,  380,  299,  300,  301,  302,
   1265    -1,  304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,
   1266    -1,  314,  315,  316,  317,   -1,   -1,   -1,   -1,  258,
   1267    94,   -1,  325,  326,  327,  328,  329,  330,   -1,   -1,
   1268    -1,   -1,  335,  336,  337,   -1,   -1,   -1,   -1,  342,
   1269   343,  344,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,
   1270   124,   -1,  355,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1271   299,  300,  301,  302,  367,  304,  305,  306,  307,   -1,
   1272    -1,   -1,   -1,   -1,   -1,  314,  315,  316,  317,   -1,
   1273    -1,   -1,   -1,   -1,   -1,   -1,  325,  326,  327,  328,
   1274   329,  330,   -1,   -1,   -1,   -1,  335,  336,  337,   -1,
   1275    -1,   -1,   -1,  342,  343,  344,   -1,   37,   38,   -1,
   1276    -1,   41,   42,   43,   44,   45,  355,   47,   -1,   37,
   1277    38,   -1,   -1,   41,   42,   43,   -1,   45,  367,   47,
   1278    60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,
   1279    -1,   -1,   60,   -1,   62,   63,   37,   38,   -1,   -1,
   1280    -1,   42,   43,   44,   45,   -1,   47,   37,   38,   -1,
   1281    -1,   41,   42,   43,   94,   45,   -1,   47,   -1,   60,
   1282    -1,   62,   63,   -1,   -1,   -1,   94,   -1,   -1,   -1,
   1283    60,   -1,   62,   63,   -1,   37,   38,   -1,   -1,   -1,
   1284    42,   43,   44,   45,  124,   47,  270,  271,  272,  273,
   1285   274,  275,   -1,   94,   -1,   -1,  124,   -1,   60,   -1,
   1286    62,   63,   37,   38,   94,   -1,   -1,   42,   43,   44,
   1287    45,   -1,   47,   -1,   37,   38,   -1,   -1,   41,   42,
   1288    43,   -1,   45,  124,   47,   60,   -1,   62,   63,   -1,
   1289    -1,   -1,   94,   -1,  124,   -1,   -1,   60,   -1,   62,
   1290    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1291    37,   38,   -1,   -1,   41,   42,   43,   -1,   45,   94,
   1292    47,   -1,  124,   -1,   -1,  667,  668,  669,  670,   -1,
   1293    -1,   94,   -1,   60,  676,   62,   63,   -1,   -1,   -1,
   1294    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,
   1295    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1296    -1,  124,   -1,   -1,   -1,   -1,  708,   94,  710,   -1,
   1297    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  721,
   1298   722,   -1,  724,   -1,  726,  727,   -1,   -1,  268,  269,
   1299   270,  271,  272,  273,  274,  275,  738,  124,   -1,   -1,
   1300   268,  269,  270,  271,  272,  273,  274,  275,   -1,   -1,
   1301   752,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1302    -1,   -1,   -1,   -1,   -1,  767,   -1,  268,  269,  270,
   1303   271,  272,  273,  274,  275,   -1,   -1,   -1,  268,  269,
   1304   270,  271,  272,  273,  274,  275,   -1,   -1,   -1,   -1,
   1305    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1306    -1,   -1,   -1,   -1,   -1,   -1,  268,  269,  270,  271,
   1307   272,  273,  274,  275,   -1,   -1,   -1,   -1,   37,   38,
   1308    -1,   -1,   -1,   42,   43,   44,   45,   -1,   47,   -1,
   1309    -1,   -1,   -1,  268,  269,  270,  271,  272,  273,  274,
   1310   275,   60,   -1,   62,   63,  268,  269,  270,  271,  272,
   1311   273,  274,  275,   37,   38,   -1,   -1,   -1,   42,   43,
   1312    44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   1313    -1,   -1,   -1,   -1,   -1,   94,   60,   -1,   62,   63,
   1314    -1,  268,  269,  270,  271,  272,  273,  274,  275,   37,
   1315    38,   -1,   -1,   41,   42,   43,   -1,   45,   -1,   47,
   1316    -1,   37,   38,   -1,   -1,  124,   42,   43,   44,   45,
   1317    94,   47,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
   1318    -1,   -1,   -1,   -1,   60,   -1,   62,   63,   37,   38,
   1319    -1,   -1,   -1,   42,   43,   -1,   45,   -1,   47,   -1,
   1320   124,   -1,   37,   38,   -1,   40,   94,   42,   43,   58,
   1321    45,   60,   47,   62,   63,   -1,   37,   38,   94,   -1,
   1322    -1,   42,   43,   -1,   45,   60,   47,   62,   63,   -1,
   1323    -1,   -1,   -1,   -1,   -1,   -1,  124,   58,   -1,   60,
   1324    -1,   62,   63,   -1,   -1,   94,   -1,   -1,  124,   -1,
   1325    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
   1326    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1327    -1,   -1,   -1,   94,   -1,  124,   37,   38,   -1,   -1,
   1328    41,   42,   43,   -1,   45,   -1,   47,   -1,   -1,  124,
   1329    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,
   1330    -1,   62,   63,  124,   -1,   -1,   -1,   -1,   -1,  268,
   1331   269,  270,  271,  272,  273,  274,  275,   37,   38,   -1,
   1332    -1,   41,   42,   43,   -1,   45,   -1,   47,   -1,   -1,
   1333    -1,   37,   38,   94,   -1,   41,   42,   43,   -1,   45,
   1334    60,   47,   62,   63,  268,  269,  270,  271,  272,  273,
   1335   274,  275,   -1,   -1,   60,   -1,   62,   63,   -1,   -1,
   1336    -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,
   1337    -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,   -1,   -1,
   1338   268,  269,  270,  271,  272,  273,  274,  275,   94,   -1,
   1339    -1,   -1,  268,  269,  270,  271,  272,  273,  274,  275,
   1340    -1,   -1,   -1,   -1,  124,   37,   38,   -1,   -1,   41,
   1341    42,   43,   -1,   45,   -1,   47,   -1,   -1,  124,  268,
   1342   269,  270,  271,  272,  273,  274,  275,   -1,   60,   -1,
   1343    62,   63,   -1,  268,  269,  270,  271,  272,  273,  274,
   1344   275,   -1,   -1,   -1,   -1,   -1,   -1,  268,  269,  270,
   1345   271,  272,  273,  274,  275,   -1,   -1,   -1,   -1,   37,
   1346    38,   -1,   94,   41,   42,   43,   -1,   45,   -1,   47,
   1347    37,   38,   -1,   -1,   41,   42,   43,   -1,   45,   -1,
   1348    47,   -1,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
   1349    -1,   -1,  124,   60,   -1,   62,   63,   -1,   -1,   -1,
   1350    -1,   -1,   -1,   -1,   -1,   -1,   -1,  268,  269,  270,
   1351   271,  272,  273,  274,  275,   -1,   94,   -1,   37,   38,
   1352    -1,   -1,   41,   42,   43,   -1,   45,   94,   47,   -1,
   1353    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1354    -1,   60,   -1,   62,   63,   -1,  124,   -1,  268,  269,
   1355   270,  271,  272,  273,  274,  275,   -1,  124,   -1,   -1,
   1356    -1,   -1,  268,  269,  270,  271,  272,  273,  274,  275,
   1357    -1,   -1,   37,   38,   -1,   94,   41,   42,   43,   -1,
   1358    45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1359    -1,   -1,   -1,   -1,   -1,   60,   -1,   62,   63,   -1,
   1360    -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
   1361    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1362    -1,   -1,   37,   38,   -1,   -1,   41,   42,   43,   94,
   1363    45,   -1,   47,   -1,   -1,   -1,  268,  269,  270,  271,
   1364   272,  273,  274,  275,   -1,   60,   -1,   62,   63,   -1,
   1365    -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   38,  124,
   1366    -1,   41,   42,   43,   -1,   45,   -1,   47,   -1,   -1,
   1367    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
   1368    60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,
   1369   268,  269,  270,  271,  272,  273,  274,  275,   -1,   -1,
   1370    -1,  268,  269,  270,  271,  272,  273,  274,  275,  124,
   1371    -1,   37,   38,   -1,   94,   41,   42,   43,   -1,   45,
   1372    -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1373    -1,   -1,   -1,   -1,   60,   -1,   62,   63,   -1,   -1,
   1374    -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,  268,
   1375   269,  270,  271,  272,  273,  274,  275,   37,   38,   -1,
   1376    -1,   41,   42,   43,   -1,   45,   -1,   47,   94,   -1,
   1377    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1378    60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,
   1379    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,
   1380    -1,   -1,   -1,  268,  269,  270,  271,  272,  273,  274,
   1381   275,   37,   38,   -1,   94,   41,   42,   43,   -1,   45,
   1382    -1,   47,   37,   38,   -1,   -1,   -1,   42,   43,   44,
   1383    45,   -1,   47,   -1,   60,   -1,   62,   63,   -1,   -1,
   1384    -1,   -1,   -1,   -1,  124,   60,   -1,   62,   63,   -1,
   1385    -1,   -1,   -1,  268,  269,  270,  271,  272,  273,  274,
   1386   275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,
   1387    -1,   -1,   -1,   -1,   -1,   -1,   37,   38,   -1,   94,
   1388    -1,   42,   43,   -1,   45,   -1,   47,   -1,  268,  269,
   1389   270,  271,  272,  273,  274,  275,   -1,   -1,  124,   60,
   1390    -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,  124,
   1391    -1,   37,   38,   -1,   -1,  258,   42,   43,   -1,   45,
   1392    -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1393    -1,   -1,   -1,   94,   60,  278,   62,   -1,   -1,   -1,
   1394    -1,   -1,  268,  269,  270,  271,  272,  273,  274,  275,
   1395    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1396    -1,  304,   -1,  124,   -1,   -1,   -1,   -1,   94,   -1,
   1397    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1398    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  268,  269,
   1399   270,  271,  272,  273,  274,  275,  339,   -1,  124,   -1,
   1400    -1,   -1,   -1,  346,  347,  348,  349,  350,   -1,  352,
   1401   353,  354,   -1,  356,  357,   -1,  359,  360,  361,   -1,
   1402    -1,   -1,   -1,  366,  367,  368,   -1,   -1,   -1,   -1,
   1403    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1404    -1,   -1,  268,  269,  270,  271,  272,  273,  274,  275,
   1405    -1,   -1,   -1,  268,  269,  270,  271,  272,  273,  274,
   1406   275,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1407    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1408    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1409    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1410    -1,   -1,   -1,   -1,   -1,   -1,   -1,  268,  269,  270,
   1411   271,  272,  273,  274,  275,   -1,   -1,   -1,   -1,   -1,
   1412    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1413    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   1414    -1,   -1,   -1,  269,  270,  271,  272,  273,  274,  275,
   1415 };
   1416 #define YYFINAL 6
   1417 #ifndef YYDEBUG
   1418 #define YYDEBUG 0
   1419 #endif
   1420 #define YYMAXTOKEN 382
   1421 #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? (YYMAXTOKEN + 1) : (a))
   1422 #if YYDEBUG
   1423 static const char *yytname[] = {
   1424 
   1425 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   1426 "'!'",0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,
   1427 0,0,0,0,0,"':'","';'","'<'","'='","'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   1428 0,0,0,0,0,0,0,0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   1429 0,0,0,0,0,0,0,0,"'{'","'|'","'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   1430 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   1431 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   1432 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"INT","NAME",
   1433 "LNAME","PLUSEQ","MINUSEQ","MULTEQ","DIVEQ","LSHIFTEQ","RSHIFTEQ","ANDEQ",
   1434 "OREQ","OROR","ANDAND","EQ","NE","LE","GE","LSHIFT","RSHIFT","UNARY","END",
   1435 "ALIGN_K","BLOCK","BIND","QUAD","SQUAD","LONG","SHORT","BYTE","SECTIONS",
   1436 "PHDRS","INSERT_K","AFTER","BEFORE","DATA_SEGMENT_ALIGN",
   1437 "DATA_SEGMENT_RELRO_END","DATA_SEGMENT_END","SORT_BY_NAME","SORT_BY_ALIGNMENT",
   1438 "SORT_NONE","SORT_BY_INIT_PRIORITY","SIZEOF_HEADERS","OUTPUT_FORMAT",
   1439 "FORCE_COMMON_ALLOCATION","OUTPUT_ARCH","INHIBIT_COMMON_ALLOCATION",
   1440 "SEGMENT_START","INCLUDE","MEMORY","REGION_ALIAS","LD_FEATURE","NOLOAD","DSECT",
   1441 "COPY","INFO","OVERLAY","DEFINED","TARGET_K","SEARCH_DIR","MAP","ENTRY","NEXT",
   1442 "SIZEOF","ALIGNOF","ADDR","LOADADDR","MAX_K","MIN_K","STARTUP","HLL","SYSLIB",
   1443 "FLOAT","NOFLOAT","NOCROSSREFS","ORIGIN","FILL","LENGTH",
   1444 "CREATE_OBJECT_SYMBOLS","INPUT","GROUP","OUTPUT","CONSTRUCTORS","ALIGNMOD","AT",
   1445 "SUBALIGN","HIDDEN","PROVIDE","PROVIDE_HIDDEN","AS_NEEDED","CHIP","LIST","SECT",
   1446 "ABSOLUTE","LOAD","NEWLINE","ENDWORD","ORDER","NAMEWORD","ASSERT_K","FORMAT",
   1447 "PUBLIC","DEFSYMEND","BASE","ALIAS","TRUNCATE","REL","INPUT_SCRIPT",
   1448 "INPUT_MRI_SCRIPT","INPUT_DEFSYM","CASE","EXTERN","START","VERS_TAG",
   1449 "VERS_IDENTIFIER","GLOBAL","LOCAL","VERSIONK","INPUT_VERSION_SCRIPT","KEEP",
   1450 "ONLY_IF_RO","ONLY_IF_RW","SPECIAL","INPUT_SECTION_FLAGS","EXCLUDE_FILE",
   1451 "CONSTANT","INPUT_DYNAMIC_LIST","illegal-token",
   1452 };
   1453 static const char *yyrule[] = {
   1454 "$accept : file",
   1455 "file : INPUT_SCRIPT script_file",
   1456 "file : INPUT_MRI_SCRIPT mri_script_file",
   1457 "file : INPUT_VERSION_SCRIPT version_script_file",
   1458 "file : INPUT_DYNAMIC_LIST dynamic_list_file",
   1459 "file : INPUT_DEFSYM defsym_expr",
   1460 "filename : NAME",
   1461 "$$1 :",
   1462 "defsym_expr : $$1 NAME '=' exp",
   1463 "$$2 :",
   1464 "mri_script_file : $$2 mri_script_lines",
   1465 "mri_script_lines : mri_script_lines mri_script_command NEWLINE",
   1466 "mri_script_lines :",
   1467 "mri_script_command : CHIP exp",
   1468 "mri_script_command : CHIP exp ',' exp",
   1469 "mri_script_command : NAME",
   1470 "mri_script_command : LIST",
   1471 "mri_script_command : ORDER ordernamelist",
   1472 "mri_script_command : ENDWORD",
   1473 "mri_script_command : PUBLIC NAME '=' exp",
   1474 "mri_script_command : PUBLIC NAME ',' exp",
   1475 "mri_script_command : PUBLIC NAME exp",
   1476 "mri_script_command : FORMAT NAME",
   1477 "mri_script_command : SECT NAME ',' exp",
   1478 "mri_script_command : SECT NAME exp",
   1479 "mri_script_command : SECT NAME '=' exp",
   1480 "mri_script_command : ALIGN_K NAME '=' exp",
   1481 "mri_script_command : ALIGN_K NAME ',' exp",
   1482 "mri_script_command : ALIGNMOD NAME '=' exp",
   1483 "mri_script_command : ALIGNMOD NAME ',' exp",
   1484 "mri_script_command : ABSOLUTE mri_abs_name_list",
   1485 "mri_script_command : LOAD mri_load_name_list",
   1486 "mri_script_command : NAMEWORD NAME",
   1487 "mri_script_command : ALIAS NAME ',' NAME",
   1488 "mri_script_command : ALIAS NAME ',' INT",
   1489 "mri_script_command : BASE exp",
   1490 "mri_script_command : TRUNCATE INT",
   1491 "mri_script_command : CASE casesymlist",
   1492 "mri_script_command : EXTERN extern_name_list",
   1493 "$$3 :",
   1494 "mri_script_command : INCLUDE filename $$3 mri_script_lines END",
   1495 "mri_script_command : START NAME",
   1496 "mri_script_command :",
   1497 "ordernamelist : ordernamelist ',' NAME",
   1498 "ordernamelist : ordernamelist NAME",
   1499 "ordernamelist :",
   1500 "mri_load_name_list : NAME",
   1501 "mri_load_name_list : mri_load_name_list ',' NAME",
   1502 "mri_abs_name_list : NAME",
   1503 "mri_abs_name_list : mri_abs_name_list ',' NAME",
   1504 "casesymlist :",
   1505 "casesymlist : NAME",
   1506 "casesymlist : casesymlist ',' NAME",
   1507 "$$4 :",
   1508 "extern_name_list : $$4 extern_name_list_body",
   1509 "extern_name_list_body : NAME",
   1510 "extern_name_list_body : extern_name_list_body NAME",
   1511 "extern_name_list_body : extern_name_list_body ',' NAME",
   1512 "$$5 :",
   1513 "script_file : $$5 ifile_list",
   1514 "ifile_list : ifile_list ifile_p1",
   1515 "ifile_list :",
   1516 "ifile_p1 : memory",
   1517 "ifile_p1 : sections",
   1518 "ifile_p1 : phdrs",
   1519 "ifile_p1 : startup",
   1520 "ifile_p1 : high_level_library",
   1521 "ifile_p1 : low_level_library",
   1522 "ifile_p1 : floating_point_support",
   1523 "ifile_p1 : statement_anywhere",
   1524 "ifile_p1 : version",
   1525 "ifile_p1 : ';'",
   1526 "ifile_p1 : TARGET_K '(' NAME ')'",
   1527 "ifile_p1 : SEARCH_DIR '(' filename ')'",
   1528 "ifile_p1 : OUTPUT '(' filename ')'",
   1529 "ifile_p1 : OUTPUT_FORMAT '(' NAME ')'",
   1530 "ifile_p1 : OUTPUT_FORMAT '(' NAME ',' NAME ',' NAME ')'",
   1531 "ifile_p1 : OUTPUT_ARCH '(' NAME ')'",
   1532 "ifile_p1 : FORCE_COMMON_ALLOCATION",
   1533 "ifile_p1 : INHIBIT_COMMON_ALLOCATION",
   1534 "ifile_p1 : INPUT '(' input_list ')'",
   1535 "$$6 :",
   1536 "ifile_p1 : GROUP $$6 '(' input_list ')'",
   1537 "ifile_p1 : MAP '(' filename ')'",
   1538 "$$7 :",
   1539 "ifile_p1 : INCLUDE filename $$7 ifile_list END",
   1540 "ifile_p1 : NOCROSSREFS '(' nocrossref_list ')'",
   1541 "ifile_p1 : EXTERN '(' extern_name_list ')'",
   1542 "ifile_p1 : INSERT_K AFTER NAME",
   1543 "ifile_p1 : INSERT_K BEFORE NAME",
   1544 "ifile_p1 : REGION_ALIAS '(' NAME ',' NAME ')'",
   1545 "ifile_p1 : LD_FEATURE '(' NAME ')'",
   1546 "input_list : NAME",
   1547 "input_list : input_list ',' NAME",
   1548 "input_list : input_list NAME",
   1549 "input_list : LNAME",
   1550 "input_list : input_list ',' LNAME",
   1551 "input_list : input_list LNAME",
   1552 "$$8 :",
   1553 "input_list : AS_NEEDED '(' $$8 input_list ')'",
   1554 "$$9 :",
   1555 "input_list : input_list ',' AS_NEEDED '(' $$9 input_list ')'",
   1556 "$$10 :",
   1557 "input_list : input_list AS_NEEDED '(' $$10 input_list ')'",
   1558 "sections : SECTIONS '{' sec_or_group_p1 '}'",
   1559 "sec_or_group_p1 : sec_or_group_p1 section",
   1560 "sec_or_group_p1 : sec_or_group_p1 statement_anywhere",
   1561 "sec_or_group_p1 :",
   1562 "statement_anywhere : ENTRY '(' NAME ')'",
   1563 "statement_anywhere : assignment end",
   1564 "$$11 :",
   1565 "statement_anywhere : ASSERT_K $$11 '(' exp ',' NAME ')'",
   1566 "wildcard_name : NAME",
   1567 "wildcard_name : '*'",
   1568 "wildcard_name : '?'",
   1569 "wildcard_spec : wildcard_name",
   1570 "wildcard_spec : EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name",
   1571 "wildcard_spec : SORT_BY_NAME '(' wildcard_name ')'",
   1572 "wildcard_spec : SORT_BY_ALIGNMENT '(' wildcard_name ')'",
   1573 "wildcard_spec : SORT_NONE '(' wildcard_name ')'",
   1574 "wildcard_spec : SORT_BY_NAME '(' SORT_BY_ALIGNMENT '(' wildcard_name ')' ')'",
   1575 "wildcard_spec : SORT_BY_NAME '(' SORT_BY_NAME '(' wildcard_name ')' ')'",
   1576 "wildcard_spec : SORT_BY_ALIGNMENT '(' SORT_BY_NAME '(' wildcard_name ')' ')'",
   1577 "wildcard_spec : SORT_BY_ALIGNMENT '(' SORT_BY_ALIGNMENT '(' wildcard_name ')' ')'",
   1578 "wildcard_spec : SORT_BY_NAME '(' EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name ')'",
   1579 "wildcard_spec : SORT_BY_INIT_PRIORITY '(' wildcard_name ')'",
   1580 "sect_flag_list : NAME",
   1581 "sect_flag_list : sect_flag_list '&' NAME",
   1582 "sect_flags : INPUT_SECTION_FLAGS '(' sect_flag_list ')'",
   1583 "exclude_name_list : exclude_name_list wildcard_name",
   1584 "exclude_name_list : wildcard_name",
   1585 "file_NAME_list : file_NAME_list opt_comma wildcard_spec",
   1586 "file_NAME_list : wildcard_spec",
   1587 "input_section_spec_no_keep : NAME",
   1588 "input_section_spec_no_keep : sect_flags NAME",
   1589 "input_section_spec_no_keep : '[' file_NAME_list ']'",
   1590 "input_section_spec_no_keep : sect_flags '[' file_NAME_list ']'",
   1591 "input_section_spec_no_keep : wildcard_spec '(' file_NAME_list ')'",
   1592 "input_section_spec_no_keep : sect_flags wildcard_spec '(' file_NAME_list ')'",
   1593 "input_section_spec : input_section_spec_no_keep",
   1594 "$$12 :",
   1595 "input_section_spec : KEEP '(' $$12 input_section_spec_no_keep ')'",
   1596 "statement : assignment end",
   1597 "statement : CREATE_OBJECT_SYMBOLS",
   1598 "statement : ';'",
   1599 "statement : CONSTRUCTORS",
   1600 "statement : SORT_BY_NAME '(' CONSTRUCTORS ')'",
   1601 "statement : input_section_spec",
   1602 "statement : length '(' mustbe_exp ')'",
   1603 "statement : FILL '(' fill_exp ')'",
   1604 "$$13 :",
   1605 "statement : ASSERT_K $$13 '(' exp ',' NAME ')' end",
   1606 "$$14 :",
   1607 "statement : INCLUDE filename $$14 statement_list_opt END",
   1608 "statement_list : statement_list statement",
   1609 "statement_list : statement",
   1610 "statement_list_opt :",
   1611 "statement_list_opt : statement_list",
   1612 "length : QUAD",
   1613 "length : SQUAD",
   1614 "length : LONG",
   1615 "length : SHORT",
   1616 "length : BYTE",
   1617 "fill_exp : mustbe_exp",
   1618 "fill_opt : '=' fill_exp",
   1619 "fill_opt :",
   1620 "assign_op : PLUSEQ",
   1621 "assign_op : MINUSEQ",
   1622 "assign_op : MULTEQ",
   1623 "assign_op : DIVEQ",
   1624 "assign_op : LSHIFTEQ",
   1625 "assign_op : RSHIFTEQ",
   1626 "assign_op : ANDEQ",
   1627 "assign_op : OREQ",
   1628 "end : ';'",
   1629 "end : ','",
   1630 "assignment : NAME '=' mustbe_exp",
   1631 "assignment : NAME assign_op mustbe_exp",
   1632 "assignment : HIDDEN '(' NAME '=' mustbe_exp ')'",
   1633 "assignment : PROVIDE '(' NAME '=' mustbe_exp ')'",
   1634 "assignment : PROVIDE_HIDDEN '(' NAME '=' mustbe_exp ')'",
   1635 "opt_comma : ','",
   1636 "opt_comma :",
   1637 "memory : MEMORY '{' memory_spec_list_opt '}'",
   1638 "memory_spec_list_opt : memory_spec_list",
   1639 "memory_spec_list_opt :",
   1640 "memory_spec_list : memory_spec_list opt_comma memory_spec",
   1641 "memory_spec_list : memory_spec",
   1642 "$$15 :",
   1643 "memory_spec : NAME $$15 attributes_opt ':' origin_spec opt_comma length_spec",
   1644 "$$16 :",
   1645 "memory_spec : INCLUDE filename $$16 memory_spec_list_opt END",
   1646 "origin_spec : ORIGIN '=' mustbe_exp",
   1647 "length_spec : LENGTH '=' mustbe_exp",
   1648 "attributes_opt :",
   1649 "attributes_opt : '(' attributes_list ')'",
   1650 "attributes_list : attributes_string",
   1651 "attributes_list : attributes_list attributes_string",
   1652 "attributes_string : NAME",
   1653 "attributes_string : '!' NAME",
   1654 "startup : STARTUP '(' filename ')'",
   1655 "high_level_library : HLL '(' high_level_library_NAME_list ')'",
   1656 "high_level_library : HLL '(' ')'",
   1657 "high_level_library_NAME_list : high_level_library_NAME_list opt_comma filename",
   1658 "high_level_library_NAME_list : filename",
   1659 "low_level_library : SYSLIB '(' low_level_library_NAME_list ')'",
   1660 "low_level_library_NAME_list : low_level_library_NAME_list opt_comma filename",
   1661 "low_level_library_NAME_list :",
   1662 "floating_point_support : FLOAT",
   1663 "floating_point_support : NOFLOAT",
   1664 "nocrossref_list :",
   1665 "nocrossref_list : NAME nocrossref_list",
   1666 "nocrossref_list : NAME ',' nocrossref_list",
   1667 "$$17 :",
   1668 "mustbe_exp : $$17 exp",
   1669 "exp : '-' exp",
   1670 "exp : '(' exp ')'",
   1671 "exp : NEXT '(' exp ')'",
   1672 "exp : '!' exp",
   1673 "exp : '+' exp",
   1674 "exp : '~' exp",
   1675 "exp : exp '*' exp",
   1676 "exp : exp '/' exp",
   1677 "exp : exp '%' exp",
   1678 "exp : exp '+' exp",
   1679 "exp : exp '-' exp",
   1680 "exp : exp LSHIFT exp",
   1681 "exp : exp RSHIFT exp",
   1682 "exp : exp EQ exp",
   1683 "exp : exp NE exp",
   1684 "exp : exp LE exp",
   1685 "exp : exp GE exp",
   1686 "exp : exp '<' exp",
   1687 "exp : exp '>' exp",
   1688 "exp : exp '&' exp",
   1689 "exp : exp '^' exp",
   1690 "exp : exp '|' exp",
   1691 "exp : exp '?' exp ':' exp",
   1692 "exp : exp ANDAND exp",
   1693 "exp : exp OROR exp",
   1694 "exp : DEFINED '(' NAME ')'",
   1695 "exp : INT",
   1696 "exp : SIZEOF_HEADERS",
   1697 "exp : ALIGNOF '(' NAME ')'",
   1698 "exp : SIZEOF '(' NAME ')'",
   1699 "exp : ADDR '(' NAME ')'",
   1700 "exp : LOADADDR '(' NAME ')'",
   1701 "exp : CONSTANT '(' NAME ')'",
   1702 "exp : ABSOLUTE '(' exp ')'",
   1703 "exp : ALIGN_K '(' exp ')'",
   1704 "exp : ALIGN_K '(' exp ',' exp ')'",
   1705 "exp : DATA_SEGMENT_ALIGN '(' exp ',' exp ')'",
   1706 "exp : DATA_SEGMENT_RELRO_END '(' exp ',' exp ')'",
   1707 "exp : DATA_SEGMENT_END '(' exp ')'",
   1708 "exp : SEGMENT_START '(' NAME ',' exp ')'",
   1709 "exp : BLOCK '(' exp ')'",
   1710 "exp : NAME",
   1711 "exp : MAX_K '(' exp ',' exp ')'",
   1712 "exp : MIN_K '(' exp ',' exp ')'",
   1713 "exp : ASSERT_K '(' exp ',' NAME ')'",
   1714 "exp : ORIGIN '(' NAME ')'",
   1715 "exp : LENGTH '(' NAME ')'",
   1716 "memspec_at_opt : AT '>' NAME",
   1717 "memspec_at_opt :",
   1718 "opt_at : AT '(' exp ')'",
   1719 "opt_at :",
   1720 "opt_align : ALIGN_K '(' exp ')'",
   1721 "opt_align :",
   1722 "opt_subalign : SUBALIGN '(' exp ')'",
   1723 "opt_subalign :",
   1724 "sect_constraint : ONLY_IF_RO",
   1725 "sect_constraint : ONLY_IF_RW",
   1726 "sect_constraint : SPECIAL",
   1727 "sect_constraint :",
   1728 "$$18 :",
   1729 "$$19 :",
   1730 "$$20 :",
   1731 "$$21 :",
   1732 "$$22 :",
   1733 "section : NAME $$18 opt_exp_with_type opt_at opt_align opt_subalign $$19 sect_constraint '{' $$20 statement_list_opt '}' $$21 memspec_opt memspec_at_opt phdr_opt fill_opt $$22 opt_comma",
   1734 "$$23 :",
   1735 "$$24 :",
   1736 "$$25 :",
   1737 "$$26 :",
   1738 "$$27 :",
   1739 "section : OVERLAY $$23 opt_exp_without_type opt_nocrossrefs opt_at opt_subalign $$24 '{' $$25 overlay_section '}' $$26 memspec_opt memspec_at_opt phdr_opt fill_opt $$27 opt_comma",
   1740 "$$28 :",
   1741 "$$29 :",
   1742 "section : GROUP $$28 opt_exp_with_type $$29 '{' sec_or_group_p1 '}'",
   1743 "$$30 :",
   1744 "section : INCLUDE filename $$30 sec_or_group_p1 END",
   1745 "type : NOLOAD",
   1746 "type : DSECT",
   1747 "type : COPY",
   1748 "type : INFO",
   1749 "type : OVERLAY",
   1750 "atype : '(' type ')'",
   1751 "atype :",
   1752 "atype : '(' ')'",
   1753 "opt_exp_with_type : exp atype ':'",
   1754 "opt_exp_with_type : atype ':'",
   1755 "opt_exp_with_type : BIND '(' exp ')' atype ':'",
   1756 "opt_exp_with_type : BIND '(' exp ')' BLOCK '(' exp ')' atype ':'",
   1757 "opt_exp_without_type : exp ':'",
   1758 "opt_exp_without_type : ':'",
   1759 "opt_nocrossrefs :",
   1760 "opt_nocrossrefs : NOCROSSREFS",
   1761 "memspec_opt : '>' NAME",
   1762 "memspec_opt :",
   1763 "phdr_opt :",
   1764 "phdr_opt : phdr_opt ':' NAME",
   1765 "overlay_section :",
   1766 "$$31 :",
   1767 "$$32 :",
   1768 "$$33 :",
   1769 "overlay_section : overlay_section NAME $$31 '{' statement_list_opt '}' $$32 phdr_opt fill_opt $$33 opt_comma",
   1770 "phdrs : PHDRS '{' phdr_list '}'",
   1771 "phdr_list :",
   1772 "phdr_list : phdr_list phdr",
   1773 "$$34 :",
   1774 "$$35 :",
   1775 "phdr : NAME $$34 phdr_type phdr_qualifiers $$35 ';'",
   1776 "phdr_type : exp",
   1777 "phdr_qualifiers :",
   1778 "phdr_qualifiers : NAME phdr_val phdr_qualifiers",
   1779 "phdr_qualifiers : AT '(' exp ')' phdr_qualifiers",
   1780 "phdr_val :",
   1781 "phdr_val : '(' exp ')'",
   1782 "$$36 :",
   1783 "dynamic_list_file : $$36 dynamic_list_nodes",
   1784 "dynamic_list_nodes : dynamic_list_node",
   1785 "dynamic_list_nodes : dynamic_list_nodes dynamic_list_node",
   1786 "dynamic_list_node : '{' dynamic_list_tag '}' ';'",
   1787 "dynamic_list_tag : vers_defns ';'",
   1788 "$$37 :",
   1789 "version_script_file : $$37 vers_nodes",
   1790 "$$38 :",
   1791 "version : $$38 VERSIONK '{' vers_nodes '}'",
   1792 "vers_nodes : vers_node",
   1793 "vers_nodes : vers_nodes vers_node",
   1794 "vers_node : '{' vers_tag '}' ';'",
   1795 "vers_node : VERS_TAG '{' vers_tag '}' ';'",
   1796 "vers_node : VERS_TAG '{' vers_tag '}' verdep ';'",
   1797 "verdep : VERS_TAG",
   1798 "verdep : verdep VERS_TAG",
   1799 "vers_tag :",
   1800 "vers_tag : vers_defns ';'",
   1801 "vers_tag : GLOBAL ':' vers_defns ';'",
   1802 "vers_tag : LOCAL ':' vers_defns ';'",
   1803 "vers_tag : GLOBAL ':' vers_defns ';' LOCAL ':' vers_defns ';'",
   1804 "vers_defns : VERS_IDENTIFIER",
   1805 "vers_defns : NAME",
   1806 "vers_defns : vers_defns ';' VERS_IDENTIFIER",
   1807 "vers_defns : vers_defns ';' NAME",
   1808 "$$39 :",
   1809 "vers_defns : vers_defns ';' EXTERN NAME '{' $$39 vers_defns opt_semicolon '}'",
   1810 "$$40 :",
   1811 "vers_defns : EXTERN NAME '{' $$40 vers_defns opt_semicolon '}'",
   1812 "vers_defns : GLOBAL",
   1813 "vers_defns : vers_defns ';' GLOBAL",
   1814 "vers_defns : LOCAL",
   1815 "vers_defns : vers_defns ';' LOCAL",
   1816 "vers_defns : EXTERN",
   1817 "vers_defns : vers_defns ';' EXTERN",
   1818 "opt_semicolon :",
   1819 "opt_semicolon : ';'",
   1820 
   1821 };
   1822 #endif
   1823 
   1824 int      yydebug;
   1825 int      yynerrs;
   1826 
   1827 int      yyerrflag;
   1828 int      yychar;
   1829 YYSTYPE  yyval;
   1830 YYSTYPE  yylval;
   1831 
   1832 /* define the initial stack-sizes */
   1833 #ifdef YYSTACKSIZE
   1834 #undef YYMAXDEPTH
   1835 #define YYMAXDEPTH  YYSTACKSIZE
   1836 #else
   1837 #ifdef YYMAXDEPTH
   1838 #define YYSTACKSIZE YYMAXDEPTH
   1839 #else
   1840 #define YYSTACKSIZE 500
   1841 #define YYMAXDEPTH  500
   1842 #endif
   1843 #endif
   1844 
   1845 #define YYINITSTACKSIZE 500
   1846 
   1847 typedef struct {
   1848     unsigned stacksize;
   1849     short    *s_base;
   1850     short    *s_mark;
   1851     short    *s_last;
   1852     YYSTYPE  *l_base;
   1853     YYSTYPE  *l_mark;
   1854 } YYSTACKDATA;
   1855 /* variables for the parser stack */
   1856 static YYSTACKDATA yystack;
   1857 #line 1460 "ldgram.y"
   1858 void
   1859 yyerror(arg)
   1860      const char *arg;
   1861 {
   1862   if (ldfile_assumed_script)
   1863     einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
   1864 	   ldlex_filename ());
   1865   if (error_index > 0 && error_index < ERROR_NAME_MAX)
   1866     einfo ("%P%F:%S: %s in %s\n", NULL, arg, error_names[error_index - 1]);
   1867   else
   1868     einfo ("%P%F:%S: %s\n", NULL, arg);
   1869 }
   1870 #line 1869 "/u1/netbsd-openrisc/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
   1871 
   1872 #if YYDEBUG
   1873 #include <stdio.h>		/* needed for printf */
   1874 #endif
   1875 
   1876 #include <stdlib.h>	/* needed for malloc, etc */
   1877 #include <string.h>	/* needed for memset */
   1878 
   1879 /* allocate initial stack or double stack size, up to YYMAXDEPTH */
   1880 static int yygrowstack(YYSTACKDATA *data)
   1881 {
   1882     int i;
   1883     unsigned newsize;
   1884     short *newss;
   1885     YYSTYPE *newvs;
   1886 
   1887     if ((newsize = data->stacksize) == 0)
   1888         newsize = YYINITSTACKSIZE;
   1889     else if (newsize >= YYMAXDEPTH)
   1890         return -1;
   1891     else if ((newsize *= 2) > YYMAXDEPTH)
   1892         newsize = YYMAXDEPTH;
   1893 
   1894     i = (int) (data->s_mark - data->s_base);
   1895     newss = (short *)realloc(data->s_base, newsize * sizeof(*newss));
   1896     if (newss == 0)
   1897         return -1;
   1898 
   1899     data->s_base = newss;
   1900     data->s_mark = newss + i;
   1901 
   1902     newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
   1903     if (newvs == 0)
   1904         return -1;
   1905 
   1906     data->l_base = newvs;
   1907     data->l_mark = newvs + i;
   1908 
   1909     data->stacksize = newsize;
   1910     data->s_last = data->s_base + newsize - 1;
   1911     return 0;
   1912 }
   1913 
   1914 #if YYPURE || defined(YY_NO_LEAKS)
   1915 static void yyfreestack(YYSTACKDATA *data)
   1916 {
   1917     free(data->s_base);
   1918     free(data->l_base);
   1919     memset(data, 0, sizeof(*data));
   1920 }
   1921 #else
   1922 #define yyfreestack(data) /* nothing */
   1923 #endif
   1924 
   1925 #define YYABORT  goto yyabort
   1926 #define YYREJECT goto yyabort
   1927 #define YYACCEPT goto yyaccept
   1928 #define YYERROR  goto yyerrlab
   1929 
   1930 int
   1931 YYPARSE_DECL()
   1932 {
   1933     int yym, yyn, yystate;
   1934 #if YYDEBUG
   1935     const char *yys;
   1936 
   1937     if ((yys = getenv("YYDEBUG")) != 0)
   1938     {
   1939         yyn = *yys;
   1940         if (yyn >= '0' && yyn <= '9')
   1941             yydebug = yyn - '0';
   1942     }
   1943 #endif
   1944 
   1945     yynerrs = 0;
   1946     yyerrflag = 0;
   1947     yychar = YYEMPTY;
   1948     yystate = 0;
   1949 
   1950 #if YYPURE
   1951     memset(&yystack, 0, sizeof(yystack));
   1952 #endif
   1953 
   1954     if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow;
   1955     yystack.s_mark = yystack.s_base;
   1956     yystack.l_mark = yystack.l_base;
   1957     yystate = 0;
   1958     *yystack.s_mark = 0;
   1959 
   1960 yyloop:
   1961     if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
   1962     if (yychar < 0)
   1963     {
   1964         if ((yychar = YYLEX) < 0) yychar = 0;
   1965 #if YYDEBUG
   1966         if (yydebug)
   1967         {
   1968             yys = yytname[YYTRANSLATE(yychar)];
   1969             printf("%sdebug: state %d, reading %d (%s)\n",
   1970                     YYPREFIX, yystate, yychar, yys);
   1971         }
   1972 #endif
   1973     }
   1974     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
   1975             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
   1976     {
   1977 #if YYDEBUG
   1978         if (yydebug)
   1979             printf("%sdebug: state %d, shifting to state %d\n",
   1980                     YYPREFIX, yystate, yytable[yyn]);
   1981 #endif
   1982         if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
   1983         {
   1984             goto yyoverflow;
   1985         }
   1986         yystate = yytable[yyn];
   1987         *++yystack.s_mark = yytable[yyn];
   1988         *++yystack.l_mark = yylval;
   1989         yychar = YYEMPTY;
   1990         if (yyerrflag > 0)  --yyerrflag;
   1991         goto yyloop;
   1992     }
   1993     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
   1994             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
   1995     {
   1996         yyn = yytable[yyn];
   1997         goto yyreduce;
   1998     }
   1999     if (yyerrflag) goto yyinrecovery;
   2000 
   2001     yyerror("syntax error");
   2002 
   2003     goto yyerrlab;
   2004 
   2005 yyerrlab:
   2006     ++yynerrs;
   2007 
   2008 yyinrecovery:
   2009     if (yyerrflag < 3)
   2010     {
   2011         yyerrflag = 3;
   2012         for (;;)
   2013         {
   2014             if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&
   2015                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
   2016             {
   2017 #if YYDEBUG
   2018                 if (yydebug)
   2019                     printf("%sdebug: state %d, error recovery shifting\
   2020  to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
   2021 #endif
   2022                 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
   2023                 {
   2024                     goto yyoverflow;
   2025                 }
   2026                 yystate = yytable[yyn];
   2027                 *++yystack.s_mark = yytable[yyn];
   2028                 *++yystack.l_mark = yylval;
   2029                 goto yyloop;
   2030             }
   2031             else
   2032             {
   2033 #if YYDEBUG
   2034                 if (yydebug)
   2035                     printf("%sdebug: error recovery discarding state %d\n",
   2036                             YYPREFIX, *yystack.s_mark);
   2037 #endif
   2038                 if (yystack.s_mark <= yystack.s_base) goto yyabort;
   2039                 --yystack.s_mark;
   2040                 --yystack.l_mark;
   2041             }
   2042         }
   2043     }
   2044     else
   2045     {
   2046         if (yychar == 0) goto yyabort;
   2047 #if YYDEBUG
   2048         if (yydebug)
   2049         {
   2050             yys = yytname[YYTRANSLATE(yychar)];
   2051             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
   2052                     YYPREFIX, yystate, yychar, yys);
   2053         }
   2054 #endif
   2055         yychar = YYEMPTY;
   2056         goto yyloop;
   2057     }
   2058 
   2059 yyreduce:
   2060 #if YYDEBUG
   2061     if (yydebug)
   2062         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
   2063                 YYPREFIX, yystate, yyn, yyrule[yyn]);
   2064 #endif
   2065     yym = yylen[yyn];
   2066     if (yym)
   2067         yyval = yystack.l_mark[1-yym];
   2068     else
   2069         memset(&yyval, 0, sizeof yyval);
   2070     switch (yyn)
   2071     {
   2072 case 7:
   2073 #line 180 "ldgram.y"
   2074 	{ ldlex_defsym(); }
   2075 break;
   2076 case 8:
   2077 #line 182 "ldgram.y"
   2078 	{
   2079 		  ldlex_popstate();
   2080 		  lang_add_assignment (exp_defsym (yystack.l_mark[-2].name, yystack.l_mark[0].etree));
   2081 		}
   2082 break;
   2083 case 9:
   2084 #line 190 "ldgram.y"
   2085 	{
   2086 		  ldlex_mri_script ();
   2087 		  PUSH_ERROR (_("MRI style script"));
   2088 		}
   2089 break;
   2090 case 10:
   2091 #line 195 "ldgram.y"
   2092 	{
   2093 		  ldlex_popstate ();
   2094 		  mri_draw_tree ();
   2095 		  POP_ERROR ();
   2096 		}
   2097 break;
   2098 case 15:
   2099 #line 210 "ldgram.y"
   2100 	{
   2101 			einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),yystack.l_mark[0].name);
   2102 			}
   2103 break;
   2104 case 16:
   2105 #line 213 "ldgram.y"
   2106 	{
   2107 			config.map_filename = "-";
   2108 			}
   2109 break;
   2110 case 19:
   2111 #line 219 "ldgram.y"
   2112 	{ mri_public(yystack.l_mark[-2].name, yystack.l_mark[0].etree); }
   2113 break;
   2114 case 20:
   2115 #line 221 "ldgram.y"
   2116 	{ mri_public(yystack.l_mark[-2].name, yystack.l_mark[0].etree); }
   2117 break;
   2118 case 21:
   2119 #line 223 "ldgram.y"
   2120 	{ mri_public(yystack.l_mark[-1].name, yystack.l_mark[0].etree); }
   2121 break;
   2122 case 22:
   2123 #line 225 "ldgram.y"
   2124 	{ mri_format(yystack.l_mark[0].name); }
   2125 break;
   2126 case 23:
   2127 #line 227 "ldgram.y"
   2128 	{ mri_output_section(yystack.l_mark[-2].name, yystack.l_mark[0].etree);}
   2129 break;
   2130 case 24:
   2131 #line 229 "ldgram.y"
   2132 	{ mri_output_section(yystack.l_mark[-1].name, yystack.l_mark[0].etree);}
   2133 break;
   2134 case 25:
   2135 #line 231 "ldgram.y"
   2136 	{ mri_output_section(yystack.l_mark[-2].name, yystack.l_mark[0].etree);}
   2137 break;
   2138 case 26:
   2139 #line 233 "ldgram.y"
   2140 	{ mri_align(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
   2141 break;
   2142 case 27:
   2143 #line 235 "ldgram.y"
   2144 	{ mri_align(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
   2145 break;
   2146 case 28:
   2147 #line 237 "ldgram.y"
   2148 	{ mri_alignmod(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
   2149 break;
   2150 case 29:
   2151 #line 239 "ldgram.y"
   2152 	{ mri_alignmod(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
   2153 break;
   2154 case 32:
   2155 #line 243 "ldgram.y"
   2156 	{ mri_name(yystack.l_mark[0].name); }
   2157 break;
   2158 case 33:
   2159 #line 245 "ldgram.y"
   2160 	{ mri_alias(yystack.l_mark[-2].name,yystack.l_mark[0].name,0);}
   2161 break;
   2162 case 34:
   2163 #line 247 "ldgram.y"
   2164 	{ mri_alias (yystack.l_mark[-2].name, 0, (int) yystack.l_mark[0].bigint.integer); }
   2165 break;
   2166 case 35:
   2167 #line 249 "ldgram.y"
   2168 	{ mri_base(yystack.l_mark[0].etree); }
   2169 break;
   2170 case 36:
   2171 #line 251 "ldgram.y"
   2172 	{ mri_truncate ((unsigned int) yystack.l_mark[0].bigint.integer); }
   2173 break;
   2174 case 39:
   2175 #line 255 "ldgram.y"
   2176 	{ ldlex_script (); ldfile_open_command_file(yystack.l_mark[0].name); }
   2177 break;
   2178 case 40:
   2179 #line 257 "ldgram.y"
   2180 	{ ldlex_popstate (); }
   2181 break;
   2182 case 41:
   2183 #line 259 "ldgram.y"
   2184 	{ lang_add_entry (yystack.l_mark[0].name, FALSE); }
   2185 break;
   2186 case 43:
   2187 #line 264 "ldgram.y"
   2188 	{ mri_order(yystack.l_mark[0].name); }
   2189 break;
   2190 case 44:
   2191 #line 265 "ldgram.y"
   2192 	{ mri_order(yystack.l_mark[0].name); }
   2193 break;
   2194 case 46:
   2195 #line 271 "ldgram.y"
   2196 	{ mri_load(yystack.l_mark[0].name); }
   2197 break;
   2198 case 47:
   2199 #line 272 "ldgram.y"
   2200 	{ mri_load(yystack.l_mark[0].name); }
   2201 break;
   2202 case 48:
   2203 #line 277 "ldgram.y"
   2204 	{ mri_only_load(yystack.l_mark[0].name); }
   2205 break;
   2206 case 49:
   2207 #line 279 "ldgram.y"
   2208 	{ mri_only_load(yystack.l_mark[0].name); }
   2209 break;
   2210 case 50:
   2211 #line 283 "ldgram.y"
   2212 	{ yyval.name = NULL; }
   2213 break;
   2214 case 53:
   2215 #line 290 "ldgram.y"
   2216 	{ ldlex_expression (); }
   2217 break;
   2218 case 54:
   2219 #line 292 "ldgram.y"
   2220 	{ ldlex_popstate (); }
   2221 break;
   2222 case 55:
   2223 #line 296 "ldgram.y"
   2224 	{ ldlang_add_undef (yystack.l_mark[0].name, FALSE); }
   2225 break;
   2226 case 56:
   2227 #line 298 "ldgram.y"
   2228 	{ ldlang_add_undef (yystack.l_mark[0].name, FALSE); }
   2229 break;
   2230 case 57:
   2231 #line 300 "ldgram.y"
   2232 	{ ldlang_add_undef (yystack.l_mark[0].name, FALSE); }
   2233 break;
   2234 case 58:
   2235 #line 304 "ldgram.y"
   2236 	{ ldlex_both(); }
   2237 break;
   2238 case 59:
   2239 #line 306 "ldgram.y"
   2240 	{ ldlex_popstate(); }
   2241 break;
   2242 case 72:
   2243 #line 327 "ldgram.y"
   2244 	{ lang_add_target(yystack.l_mark[-1].name); }
   2245 break;
   2246 case 73:
   2247 #line 329 "ldgram.y"
   2248 	{ ldfile_add_library_path (yystack.l_mark[-1].name, FALSE); }
   2249 break;
   2250 case 74:
   2251 #line 331 "ldgram.y"
   2252 	{ lang_add_output(yystack.l_mark[-1].name, 1); }
   2253 break;
   2254 case 75:
   2255 #line 333 "ldgram.y"
   2256 	{ lang_add_output_format (yystack.l_mark[-1].name, (char *) NULL,
   2257 					    (char *) NULL, 1); }
   2258 break;
   2259 case 76:
   2260 #line 336 "ldgram.y"
   2261 	{ lang_add_output_format (yystack.l_mark[-5].name, yystack.l_mark[-3].name, yystack.l_mark[-1].name, 1); }
   2262 break;
   2263 case 77:
   2264 #line 338 "ldgram.y"
   2265 	{ ldfile_set_output_arch (yystack.l_mark[-1].name, bfd_arch_unknown); }
   2266 break;
   2267 case 78:
   2268 #line 340 "ldgram.y"
   2269 	{ command_line.force_common_definition = TRUE ; }
   2270 break;
   2271 case 79:
   2272 #line 342 "ldgram.y"
   2273 	{ command_line.inhibit_common_definition = TRUE ; }
   2274 break;
   2275 case 81:
   2276 #line 345 "ldgram.y"
   2277 	{ lang_enter_group (); }
   2278 break;
   2279 case 82:
   2280 #line 347 "ldgram.y"
   2281 	{ lang_leave_group (); }
   2282 break;
   2283 case 83:
   2284 #line 349 "ldgram.y"
   2285 	{ lang_add_map(yystack.l_mark[-1].name); }
   2286 break;
   2287 case 84:
   2288 #line 351 "ldgram.y"
   2289 	{ ldlex_script (); ldfile_open_command_file(yystack.l_mark[0].name); }
   2290 break;
   2291 case 85:
   2292 #line 353 "ldgram.y"
   2293 	{ ldlex_popstate (); }
   2294 break;
   2295 case 86:
   2296 #line 355 "ldgram.y"
   2297 	{
   2298 		  lang_add_nocrossref (yystack.l_mark[-1].nocrossref);
   2299 		}
   2300 break;
   2301 case 88:
   2302 #line 360 "ldgram.y"
   2303 	{ lang_add_insert (yystack.l_mark[0].name, 0); }
   2304 break;
   2305 case 89:
   2306 #line 362 "ldgram.y"
   2307 	{ lang_add_insert (yystack.l_mark[0].name, 1); }
   2308 break;
   2309 case 90:
   2310 #line 364 "ldgram.y"
   2311 	{ lang_memory_region_alias (yystack.l_mark[-3].name, yystack.l_mark[-1].name); }
   2312 break;
   2313 case 91:
   2314 #line 366 "ldgram.y"
   2315 	{ lang_ld_feature (yystack.l_mark[-1].name); }
   2316 break;
   2317 case 92:
   2318 #line 371 "ldgram.y"
   2319 	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_search_file_enum,
   2320 				 (char *)NULL); }
   2321 break;
   2322 case 93:
   2323 #line 374 "ldgram.y"
   2324 	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_search_file_enum,
   2325 				 (char *)NULL); }
   2326 break;
   2327 case 94:
   2328 #line 377 "ldgram.y"
   2329 	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_search_file_enum,
   2330 				 (char *)NULL); }
   2331 break;
   2332 case 95:
   2333 #line 380 "ldgram.y"
   2334 	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_l_enum,
   2335 				 (char *)NULL); }
   2336 break;
   2337 case 96:
   2338 #line 383 "ldgram.y"
   2339 	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_l_enum,
   2340 				 (char *)NULL); }
   2341 break;
   2342 case 97:
   2343 #line 386 "ldgram.y"
   2344 	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_l_enum,
   2345 				 (char *)NULL); }
   2346 break;
   2347 case 98:
   2348 #line 389 "ldgram.y"
   2349 	{ yyval.integer = input_flags.add_DT_NEEDED_for_regular;
   2350 		    input_flags.add_DT_NEEDED_for_regular = TRUE; }
   2351 break;
   2352 case 99:
   2353 #line 392 "ldgram.y"
   2354 	{ input_flags.add_DT_NEEDED_for_regular = yystack.l_mark[-2].integer; }
   2355 break;
   2356 case 100:
   2357 #line 394 "ldgram.y"
   2358 	{ yyval.integer = input_flags.add_DT_NEEDED_for_regular;
   2359 		    input_flags.add_DT_NEEDED_for_regular = TRUE; }
   2360 break;
   2361 case 101:
   2362 #line 397 "ldgram.y"
   2363 	{ input_flags.add_DT_NEEDED_for_regular = yystack.l_mark[-2].integer; }
   2364 break;
   2365 case 102:
   2366 #line 399 "ldgram.y"
   2367 	{ yyval.integer = input_flags.add_DT_NEEDED_for_regular;
   2368 		    input_flags.add_DT_NEEDED_for_regular = TRUE; }
   2369 break;
   2370 case 103:
   2371 #line 402 "ldgram.y"
   2372 	{ input_flags.add_DT_NEEDED_for_regular = yystack.l_mark[-2].integer; }
   2373 break;
   2374 case 108:
   2375 #line 417 "ldgram.y"
   2376 	{ lang_add_entry (yystack.l_mark[-1].name, FALSE); }
   2377 break;
   2378 case 110:
   2379 #line 419 "ldgram.y"
   2380 	{ldlex_expression ();}
   2381 break;
   2382 case 111:
   2383 #line 420 "ldgram.y"
   2384 	{ ldlex_popstate ();
   2385 		  lang_add_assignment (exp_assert (yystack.l_mark[-3].etree, yystack.l_mark[-1].name)); }
   2386 break;
   2387 case 112:
   2388 #line 428 "ldgram.y"
   2389 	{
   2390 			  yyval.cname = yystack.l_mark[0].name;
   2391 			}
   2392 break;
   2393 case 113:
   2394 #line 432 "ldgram.y"
   2395 	{
   2396 			  yyval.cname = "*";
   2397 			}
   2398 break;
   2399 case 114:
   2400 #line 436 "ldgram.y"
   2401 	{
   2402 			  yyval.cname = "?";
   2403 			}
   2404 break;
   2405 case 115:
   2406 #line 443 "ldgram.y"
   2407 	{
   2408 			  yyval.wildcard.name = yystack.l_mark[0].cname;
   2409 			  yyval.wildcard.sorted = none;
   2410 			  yyval.wildcard.exclude_name_list = NULL;
   2411 			  yyval.wildcard.section_flag_list = NULL;
   2412 			}
   2413 break;
   2414 case 116:
   2415 #line 450 "ldgram.y"
   2416 	{
   2417 			  yyval.wildcard.name = yystack.l_mark[0].cname;
   2418 			  yyval.wildcard.sorted = none;
   2419 			  yyval.wildcard.exclude_name_list = yystack.l_mark[-2].name_list;
   2420 			  yyval.wildcard.section_flag_list = NULL;
   2421 			}
   2422 break;
   2423 case 117:
   2424 #line 457 "ldgram.y"
   2425 	{
   2426 			  yyval.wildcard.name = yystack.l_mark[-1].cname;
   2427 			  yyval.wildcard.sorted = by_name;
   2428 			  yyval.wildcard.exclude_name_list = NULL;
   2429 			  yyval.wildcard.section_flag_list = NULL;
   2430 			}
   2431 break;
   2432 case 118:
   2433 #line 464 "ldgram.y"
   2434 	{
   2435 			  yyval.wildcard.name = yystack.l_mark[-1].cname;
   2436 			  yyval.wildcard.sorted = by_alignment;
   2437 			  yyval.wildcard.exclude_name_list = NULL;
   2438 			  yyval.wildcard.section_flag_list = NULL;
   2439 			}
   2440 break;
   2441 case 119:
   2442 #line 471 "ldgram.y"
   2443 	{
   2444 			  yyval.wildcard.name = yystack.l_mark[-1].cname;
   2445 			  yyval.wildcard.sorted = by_none;
   2446 			  yyval.wildcard.exclude_name_list = NULL;
   2447 			  yyval.wildcard.section_flag_list = NULL;
   2448 			}
   2449 break;
   2450 case 120:
   2451 #line 478 "ldgram.y"
   2452 	{
   2453 			  yyval.wildcard.name = yystack.l_mark[-2].cname;
   2454 			  yyval.wildcard.sorted = by_name_alignment;
   2455 			  yyval.wildcard.exclude_name_list = NULL;
   2456 			  yyval.wildcard.section_flag_list = NULL;
   2457 			}
   2458 break;
   2459 case 121:
   2460 #line 485 "ldgram.y"
   2461 	{
   2462 			  yyval.wildcard.name = yystack.l_mark[-2].cname;
   2463 			  yyval.wildcard.sorted = by_name;
   2464 			  yyval.wildcard.exclude_name_list = NULL;
   2465 			  yyval.wildcard.section_flag_list = NULL;
   2466 			}
   2467 break;
   2468 case 122:
   2469 #line 492 "ldgram.y"
   2470 	{
   2471 			  yyval.wildcard.name = yystack.l_mark[-2].cname;
   2472 			  yyval.wildcard.sorted = by_alignment_name;
   2473 			  yyval.wildcard.exclude_name_list = NULL;
   2474 			  yyval.wildcard.section_flag_list = NULL;
   2475 			}
   2476 break;
   2477 case 123:
   2478 #line 499 "ldgram.y"
   2479 	{
   2480 			  yyval.wildcard.name = yystack.l_mark[-2].cname;
   2481 			  yyval.wildcard.sorted = by_alignment;
   2482 			  yyval.wildcard.exclude_name_list = NULL;
   2483 			  yyval.wildcard.section_flag_list = NULL;
   2484 			}
   2485 break;
   2486 case 124:
   2487 #line 506 "ldgram.y"
   2488 	{
   2489 			  yyval.wildcard.name = yystack.l_mark[-1].cname;
   2490 			  yyval.wildcard.sorted = by_name;
   2491 			  yyval.wildcard.exclude_name_list = yystack.l_mark[-3].name_list;
   2492 			  yyval.wildcard.section_flag_list = NULL;
   2493 			}
   2494 break;
   2495 case 125:
   2496 #line 513 "ldgram.y"
   2497 	{
   2498 			  yyval.wildcard.name = yystack.l_mark[-1].cname;
   2499 			  yyval.wildcard.sorted = by_init_priority;
   2500 			  yyval.wildcard.exclude_name_list = NULL;
   2501 			  yyval.wildcard.section_flag_list = NULL;
   2502 			}
   2503 break;
   2504 case 126:
   2505 #line 522 "ldgram.y"
   2506 	{
   2507 			  struct flag_info_list *n;
   2508 			  n = ((struct flag_info_list *) xmalloc (sizeof *n));
   2509 			  if (yystack.l_mark[0].name[0] == '!')
   2510 			    {
   2511 			      n->with = without_flags;
   2512 			      n->name = &yystack.l_mark[0].name[1];
   2513 			    }
   2514 			  else
   2515 			    {
   2516 			      n->with = with_flags;
   2517 			      n->name = yystack.l_mark[0].name;
   2518 			    }
   2519 			  n->valid = FALSE;
   2520 			  n->next = NULL;
   2521 			  yyval.flag_info_list = n;
   2522 			}
   2523 break;
   2524 case 127:
   2525 #line 540 "ldgram.y"
   2526 	{
   2527 			  struct flag_info_list *n;
   2528 			  n = ((struct flag_info_list *) xmalloc (sizeof *n));
   2529 			  if (yystack.l_mark[0].name[0] == '!')
   2530 			    {
   2531 			      n->with = without_flags;
   2532 			      n->name = &yystack.l_mark[0].name[1];
   2533 			    }
   2534 			  else
   2535 			    {
   2536 			      n->with = with_flags;
   2537 			      n->name = yystack.l_mark[0].name;
   2538 			    }
   2539 			  n->valid = FALSE;
   2540 			  n->next = yystack.l_mark[-2].flag_info_list;
   2541 			  yyval.flag_info_list = n;
   2542 			}
   2543 break;
   2544 case 128:
   2545 #line 561 "ldgram.y"
   2546 	{
   2547 			  struct flag_info *n;
   2548 			  n = ((struct flag_info *) xmalloc (sizeof *n));
   2549 			  n->flag_list = yystack.l_mark[-1].flag_info_list;
   2550 			  n->flags_initialized = FALSE;
   2551 			  n->not_with_flags = 0;
   2552 			  n->only_with_flags = 0;
   2553 			  yyval.flag_info = n;
   2554 			}
   2555 break;
   2556 case 129:
   2557 #line 574 "ldgram.y"
   2558 	{
   2559 			  struct name_list *tmp;
   2560 			  tmp = (struct name_list *) xmalloc (sizeof *tmp);
   2561 			  tmp->name = yystack.l_mark[0].cname;
   2562 			  tmp->next = yystack.l_mark[-1].name_list;
   2563 			  yyval.name_list = tmp;
   2564 			}
   2565 break;
   2566 case 130:
   2567 #line 583 "ldgram.y"
   2568 	{
   2569 			  struct name_list *tmp;
   2570 			  tmp = (struct name_list *) xmalloc (sizeof *tmp);
   2571 			  tmp->name = yystack.l_mark[0].cname;
   2572 			  tmp->next = NULL;
   2573 			  yyval.name_list = tmp;
   2574 			}
   2575 break;
   2576 case 131:
   2577 #line 594 "ldgram.y"
   2578 	{
   2579 			  struct wildcard_list *tmp;
   2580 			  tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
   2581 			  tmp->next = yystack.l_mark[-2].wildcard_list;
   2582 			  tmp->spec = yystack.l_mark[0].wildcard;
   2583 			  yyval.wildcard_list = tmp;
   2584 			}
   2585 break;
   2586 case 132:
   2587 #line 603 "ldgram.y"
   2588 	{
   2589 			  struct wildcard_list *tmp;
   2590 			  tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
   2591 			  tmp->next = NULL;
   2592 			  tmp->spec = yystack.l_mark[0].wildcard;
   2593 			  yyval.wildcard_list = tmp;
   2594 			}
   2595 break;
   2596 case 133:
   2597 #line 614 "ldgram.y"
   2598 	{
   2599 			  struct wildcard_spec tmp;
   2600 			  tmp.name = yystack.l_mark[0].name;
   2601 			  tmp.exclude_name_list = NULL;
   2602 			  tmp.sorted = none;
   2603 			  tmp.section_flag_list = NULL;
   2604 			  lang_add_wild (&tmp, NULL, ldgram_had_keep);
   2605 			}
   2606 break;
   2607 case 134:
   2608 #line 623 "ldgram.y"
   2609 	{
   2610 			  struct wildcard_spec tmp;
   2611 			  tmp.name = yystack.l_mark[0].name;
   2612 			  tmp.exclude_name_list = NULL;
   2613 			  tmp.sorted = none;
   2614 			  tmp.section_flag_list = yystack.l_mark[-1].flag_info;
   2615 			  lang_add_wild (&tmp, NULL, ldgram_had_keep);
   2616 			}
   2617 break;
   2618 case 135:
   2619 #line 632 "ldgram.y"
   2620 	{
   2621 			  lang_add_wild (NULL, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
   2622 			}
   2623 break;
   2624 case 136:
   2625 #line 636 "ldgram.y"
   2626 	{
   2627 			  struct wildcard_spec tmp;
   2628 			  tmp.name = NULL;
   2629 			  tmp.exclude_name_list = NULL;
   2630 			  tmp.sorted = none;
   2631 			  tmp.section_flag_list = yystack.l_mark[-3].flag_info;
   2632 			  lang_add_wild (&tmp, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
   2633 			}
   2634 break;
   2635 case 137:
   2636 #line 645 "ldgram.y"
   2637 	{
   2638 			  lang_add_wild (&yystack.l_mark[-3].wildcard, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
   2639 			}
   2640 break;
   2641 case 138:
   2642 #line 649 "ldgram.y"
   2643 	{
   2644 			  yystack.l_mark[-3].wildcard.section_flag_list = yystack.l_mark[-4].flag_info;
   2645 			  lang_add_wild (&yystack.l_mark[-3].wildcard, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
   2646 			}
   2647 break;
   2648 case 140:
   2649 #line 658 "ldgram.y"
   2650 	{ ldgram_had_keep = TRUE; }
   2651 break;
   2652 case 141:
   2653 #line 660 "ldgram.y"
   2654 	{ ldgram_had_keep = FALSE; }
   2655 break;
   2656 case 143:
   2657 #line 666 "ldgram.y"
   2658 	{
   2659  		lang_add_attribute(lang_object_symbols_statement_enum);
   2660 	      	}
   2661 break;
   2662 case 145:
   2663 #line 671 "ldgram.y"
   2664 	{
   2665 
   2666 		  lang_add_attribute(lang_constructors_statement_enum);
   2667 		}
   2668 break;
   2669 case 146:
   2670 #line 676 "ldgram.y"
   2671 	{
   2672 		  constructors_sorted = TRUE;
   2673 		  lang_add_attribute (lang_constructors_statement_enum);
   2674 		}
   2675 break;
   2676 case 148:
   2677 #line 682 "ldgram.y"
   2678 	{
   2679 			  lang_add_data ((int) yystack.l_mark[-3].integer, yystack.l_mark[-1].etree);
   2680 			}
   2681 break;
   2682 case 149:
   2683 #line 687 "ldgram.y"
   2684 	{
   2685 			  lang_add_fill (yystack.l_mark[-1].fill);
   2686 			}
   2687 break;
   2688 case 150:
   2689 #line 690 "ldgram.y"
   2690 	{ldlex_expression ();}
   2691 break;
   2692 case 151:
   2693 #line 691 "ldgram.y"
   2694 	{ ldlex_popstate ();
   2695 			  lang_add_assignment (exp_assert (yystack.l_mark[-4].etree, yystack.l_mark[-2].name)); }
   2696 break;
   2697 case 152:
   2698 #line 694 "ldgram.y"
   2699 	{ ldlex_script (); ldfile_open_command_file(yystack.l_mark[0].name); }
   2700 break;
   2701 case 153:
   2702 #line 696 "ldgram.y"
   2703 	{ ldlex_popstate (); }
   2704 break;
   2705 case 158:
   2706 #line 711 "ldgram.y"
   2707 	{ yyval.integer = yystack.l_mark[0].token; }
   2708 break;
   2709 case 159:
   2710 #line 713 "ldgram.y"
   2711 	{ yyval.integer = yystack.l_mark[0].token; }
   2712 break;
   2713 case 160:
   2714 #line 715 "ldgram.y"
   2715 	{ yyval.integer = yystack.l_mark[0].token; }
   2716 break;
   2717 case 161:
   2718 #line 717 "ldgram.y"
   2719 	{ yyval.integer = yystack.l_mark[0].token; }
   2720 break;
   2721 case 162:
   2722 #line 719 "ldgram.y"
   2723 	{ yyval.integer = yystack.l_mark[0].token; }
   2724 break;
   2725 case 163:
   2726 #line 724 "ldgram.y"
   2727 	{
   2728 		  yyval.fill = exp_get_fill (yystack.l_mark[0].etree, 0, "fill value");
   2729 		}
   2730 break;
   2731 case 164:
   2732 #line 731 "ldgram.y"
   2733 	{ yyval.fill = yystack.l_mark[0].fill; }
   2734 break;
   2735 case 165:
   2736 #line 732 "ldgram.y"
   2737 	{ yyval.fill = (fill_type *) 0; }
   2738 break;
   2739 case 166:
   2740 #line 737 "ldgram.y"
   2741 	{ yyval.token = '+'; }
   2742 break;
   2743 case 167:
   2744 #line 739 "ldgram.y"
   2745 	{ yyval.token = '-'; }
   2746 break;
   2747 case 168:
   2748 #line 741 "ldgram.y"
   2749 	{ yyval.token = '*'; }
   2750 break;
   2751 case 169:
   2752 #line 743 "ldgram.y"
   2753 	{ yyval.token = '/'; }
   2754 break;
   2755 case 170:
   2756 #line 745 "ldgram.y"
   2757 	{ yyval.token = LSHIFT; }
   2758 break;
   2759 case 171:
   2760 #line 747 "ldgram.y"
   2761 	{ yyval.token = RSHIFT; }
   2762 break;
   2763 case 172:
   2764 #line 749 "ldgram.y"
   2765 	{ yyval.token = '&'; }
   2766 break;
   2767 case 173:
   2768 #line 751 "ldgram.y"
   2769 	{ yyval.token = '|'; }
   2770 break;
   2771 case 176:
   2772 #line 761 "ldgram.y"
   2773 	{
   2774 		  lang_add_assignment (exp_assign (yystack.l_mark[-2].name, yystack.l_mark[0].etree, FALSE));
   2775 		}
   2776 break;
   2777 case 177:
   2778 #line 765 "ldgram.y"
   2779 	{
   2780 		  lang_add_assignment (exp_assign (yystack.l_mark[-2].name,
   2781 						   exp_binop (yystack.l_mark[-1].token,
   2782 							      exp_nameop (NAME,
   2783 									  yystack.l_mark[-2].name),
   2784 							      yystack.l_mark[0].etree), FALSE));
   2785 		}
   2786 break;
   2787 case 178:
   2788 #line 773 "ldgram.y"
   2789 	{
   2790 		  lang_add_assignment (exp_assign (yystack.l_mark[-3].name, yystack.l_mark[-1].etree, TRUE));
   2791 		}
   2792 break;
   2793 case 179:
   2794 #line 777 "ldgram.y"
   2795 	{
   2796 		  lang_add_assignment (exp_provide (yystack.l_mark[-3].name, yystack.l_mark[-1].etree, FALSE));
   2797 		}
   2798 break;
   2799 case 180:
   2800 #line 781 "ldgram.y"
   2801 	{
   2802 		  lang_add_assignment (exp_provide (yystack.l_mark[-3].name, yystack.l_mark[-1].etree, TRUE));
   2803 		}
   2804 break;
   2805 case 188:
   2806 #line 804 "ldgram.y"
   2807 	{ region = lang_memory_region_lookup (yystack.l_mark[0].name, TRUE); }
   2808 break;
   2809 case 189:
   2810 #line 807 "ldgram.y"
   2811 	{}
   2812 break;
   2813 case 190:
   2814 #line 809 "ldgram.y"
   2815 	{ ldlex_script (); ldfile_open_command_file(yystack.l_mark[0].name); }
   2816 break;
   2817 case 191:
   2818 #line 811 "ldgram.y"
   2819 	{ ldlex_popstate (); }
   2820 break;
   2821 case 192:
   2822 #line 816 "ldgram.y"
   2823 	{
   2824 		  region->origin = exp_get_vma (yystack.l_mark[0].etree, 0, "origin");
   2825 		  region->current = region->origin;
   2826 		}
   2827 break;
   2828 case 193:
   2829 #line 824 "ldgram.y"
   2830 	{
   2831 		  region->length = exp_get_vma (yystack.l_mark[0].etree, -1, "length");
   2832 		}
   2833 break;
   2834 case 194:
   2835 #line 831 "ldgram.y"
   2836 	{ /* dummy action to avoid bison 1.25 error message */ }
   2837 break;
   2838 case 198:
   2839 #line 842 "ldgram.y"
   2840 	{ lang_set_flags (region, yystack.l_mark[0].name, 0); }
   2841 break;
   2842 case 199:
   2843 #line 844 "ldgram.y"
   2844 	{ lang_set_flags (region, yystack.l_mark[0].name, 1); }
   2845 break;
   2846 case 200:
   2847 #line 849 "ldgram.y"
   2848 	{ lang_startup(yystack.l_mark[-1].name); }
   2849 break;
   2850 case 202:
   2851 #line 855 "ldgram.y"
   2852 	{ ldemul_hll((char *)NULL); }
   2853 break;
   2854 case 203:
   2855 #line 860 "ldgram.y"
   2856 	{ ldemul_hll(yystack.l_mark[0].name); }
   2857 break;
   2858 case 204:
   2859 #line 862 "ldgram.y"
   2860 	{ ldemul_hll(yystack.l_mark[0].name); }
   2861 break;
   2862 case 206:
   2863 #line 870 "ldgram.y"
   2864 	{ ldemul_syslib(yystack.l_mark[0].name); }
   2865 break;
   2866 case 208:
   2867 #line 876 "ldgram.y"
   2868 	{ lang_float(TRUE); }
   2869 break;
   2870 case 209:
   2871 #line 878 "ldgram.y"
   2872 	{ lang_float(FALSE); }
   2873 break;
   2874 case 210:
   2875 #line 883 "ldgram.y"
   2876 	{
   2877 		  yyval.nocrossref = NULL;
   2878 		}
   2879 break;
   2880 case 211:
   2881 #line 887 "ldgram.y"
   2882 	{
   2883 		  struct lang_nocrossref *n;
   2884 
   2885 		  n = (struct lang_nocrossref *) xmalloc (sizeof *n);
   2886 		  n->name = yystack.l_mark[-1].name;
   2887 		  n->next = yystack.l_mark[0].nocrossref;
   2888 		  yyval.nocrossref = n;
   2889 		}
   2890 break;
   2891 case 212:
   2892 #line 896 "ldgram.y"
   2893 	{
   2894 		  struct lang_nocrossref *n;
   2895 
   2896 		  n = (struct lang_nocrossref *) xmalloc (sizeof *n);
   2897 		  n->name = yystack.l_mark[-2].name;
   2898 		  n->next = yystack.l_mark[0].nocrossref;
   2899 		  yyval.nocrossref = n;
   2900 		}
   2901 break;
   2902 case 213:
   2903 #line 906 "ldgram.y"
   2904 	{ ldlex_expression (); }
   2905 break;
   2906 case 214:
   2907 #line 908 "ldgram.y"
   2908 	{ ldlex_popstate (); yyval.etree=yystack.l_mark[0].etree;}
   2909 break;
   2910 case 215:
   2911 #line 913 "ldgram.y"
   2912 	{ yyval.etree = exp_unop ('-', yystack.l_mark[0].etree); }
   2913 break;
   2914 case 216:
   2915 #line 915 "ldgram.y"
   2916 	{ yyval.etree = yystack.l_mark[-1].etree; }
   2917 break;
   2918 case 217:
   2919 #line 917 "ldgram.y"
   2920 	{ yyval.etree = exp_unop ((int) yystack.l_mark[-3].integer,yystack.l_mark[-1].etree); }
   2921 break;
   2922 case 218:
   2923 #line 919 "ldgram.y"
   2924 	{ yyval.etree = exp_unop ('!', yystack.l_mark[0].etree); }
   2925 break;
   2926 case 219:
   2927 #line 921 "ldgram.y"
   2928 	{ yyval.etree = yystack.l_mark[0].etree; }
   2929 break;
   2930 case 220:
   2931 #line 923 "ldgram.y"
   2932 	{ yyval.etree = exp_unop ('~', yystack.l_mark[0].etree);}
   2933 break;
   2934 case 221:
   2935 #line 926 "ldgram.y"
   2936 	{ yyval.etree = exp_binop ('*', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2937 break;
   2938 case 222:
   2939 #line 928 "ldgram.y"
   2940 	{ yyval.etree = exp_binop ('/', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2941 break;
   2942 case 223:
   2943 #line 930 "ldgram.y"
   2944 	{ yyval.etree = exp_binop ('%', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2945 break;
   2946 case 224:
   2947 #line 932 "ldgram.y"
   2948 	{ yyval.etree = exp_binop ('+', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2949 break;
   2950 case 225:
   2951 #line 934 "ldgram.y"
   2952 	{ yyval.etree = exp_binop ('-' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2953 break;
   2954 case 226:
   2955 #line 936 "ldgram.y"
   2956 	{ yyval.etree = exp_binop (LSHIFT , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2957 break;
   2958 case 227:
   2959 #line 938 "ldgram.y"
   2960 	{ yyval.etree = exp_binop (RSHIFT , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2961 break;
   2962 case 228:
   2963 #line 940 "ldgram.y"
   2964 	{ yyval.etree = exp_binop (EQ , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2965 break;
   2966 case 229:
   2967 #line 942 "ldgram.y"
   2968 	{ yyval.etree = exp_binop (NE , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2969 break;
   2970 case 230:
   2971 #line 944 "ldgram.y"
   2972 	{ yyval.etree = exp_binop (LE , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2973 break;
   2974 case 231:
   2975 #line 946 "ldgram.y"
   2976 	{ yyval.etree = exp_binop (GE , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2977 break;
   2978 case 232:
   2979 #line 948 "ldgram.y"
   2980 	{ yyval.etree = exp_binop ('<' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2981 break;
   2982 case 233:
   2983 #line 950 "ldgram.y"
   2984 	{ yyval.etree = exp_binop ('>' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2985 break;
   2986 case 234:
   2987 #line 952 "ldgram.y"
   2988 	{ yyval.etree = exp_binop ('&' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2989 break;
   2990 case 235:
   2991 #line 954 "ldgram.y"
   2992 	{ yyval.etree = exp_binop ('^' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2993 break;
   2994 case 236:
   2995 #line 956 "ldgram.y"
   2996 	{ yyval.etree = exp_binop ('|' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   2997 break;
   2998 case 237:
   2999 #line 958 "ldgram.y"
   3000 	{ yyval.etree = exp_trinop ('?' , yystack.l_mark[-4].etree, yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   3001 break;
   3002 case 238:
   3003 #line 960 "ldgram.y"
   3004 	{ yyval.etree = exp_binop (ANDAND , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   3005 break;
   3006 case 239:
   3007 #line 962 "ldgram.y"
   3008 	{ yyval.etree = exp_binop (OROR , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
   3009 break;
   3010 case 240:
   3011 #line 964 "ldgram.y"
   3012 	{ yyval.etree = exp_nameop (DEFINED, yystack.l_mark[-1].name); }
   3013 break;
   3014 case 241:
   3015 #line 966 "ldgram.y"
   3016 	{ yyval.etree = exp_bigintop (yystack.l_mark[0].bigint.integer, yystack.l_mark[0].bigint.str); }
   3017 break;
   3018 case 242:
   3019 #line 968 "ldgram.y"
   3020 	{ yyval.etree = exp_nameop (SIZEOF_HEADERS,0); }
   3021 break;
   3022 case 243:
   3023 #line 971 "ldgram.y"
   3024 	{ yyval.etree = exp_nameop (ALIGNOF,yystack.l_mark[-1].name); }
   3025 break;
   3026 case 244:
   3027 #line 973 "ldgram.y"
   3028 	{ yyval.etree = exp_nameop (SIZEOF,yystack.l_mark[-1].name); }
   3029 break;
   3030 case 245:
   3031 #line 975 "ldgram.y"
   3032 	{ yyval.etree = exp_nameop (ADDR,yystack.l_mark[-1].name); }
   3033 break;
   3034 case 246:
   3035 #line 977 "ldgram.y"
   3036 	{ yyval.etree = exp_nameop (LOADADDR,yystack.l_mark[-1].name); }
   3037 break;
   3038 case 247:
   3039 #line 979 "ldgram.y"
   3040 	{ yyval.etree = exp_nameop (CONSTANT,yystack.l_mark[-1].name); }
   3041 break;
   3042 case 248:
   3043 #line 981 "ldgram.y"
   3044 	{ yyval.etree = exp_unop (ABSOLUTE, yystack.l_mark[-1].etree); }
   3045 break;
   3046 case 249:
   3047 #line 983 "ldgram.y"
   3048 	{ yyval.etree = exp_unop (ALIGN_K,yystack.l_mark[-1].etree); }
   3049 break;
   3050 case 250:
   3051 #line 985 "ldgram.y"
   3052 	{ yyval.etree = exp_binop (ALIGN_K,yystack.l_mark[-3].etree,yystack.l_mark[-1].etree); }
   3053 break;
   3054 case 251:
   3055 #line 987 "ldgram.y"
   3056 	{ yyval.etree = exp_binop (DATA_SEGMENT_ALIGN, yystack.l_mark[-3].etree, yystack.l_mark[-1].etree); }
   3057 break;
   3058 case 252:
   3059 #line 989 "ldgram.y"
   3060 	{ yyval.etree = exp_binop (DATA_SEGMENT_RELRO_END, yystack.l_mark[-1].etree, yystack.l_mark[-3].etree); }
   3061 break;
   3062 case 253:
   3063 #line 991 "ldgram.y"
   3064 	{ yyval.etree = exp_unop (DATA_SEGMENT_END, yystack.l_mark[-1].etree); }
   3065 break;
   3066 case 254:
   3067 #line 993 "ldgram.y"
   3068 	{ /* The operands to the expression node are
   3069 			     placed in the opposite order from the way
   3070 			     in which they appear in the script as
   3071 			     that allows us to reuse more code in
   3072 			     fold_binary.  */
   3073 			  yyval.etree = exp_binop (SEGMENT_START,
   3074 					  yystack.l_mark[-1].etree,
   3075 					  exp_nameop (NAME, yystack.l_mark[-3].name)); }
   3076 break;
   3077 case 255:
   3078 #line 1002 "ldgram.y"
   3079 	{ yyval.etree = exp_unop (ALIGN_K,yystack.l_mark[-1].etree); }
   3080 break;
   3081 case 256:
   3082 #line 1004 "ldgram.y"
   3083 	{ yyval.etree = exp_nameop (NAME,yystack.l_mark[0].name); }
   3084 break;
   3085 case 257:
   3086 #line 1006 "ldgram.y"
   3087 	{ yyval.etree = exp_binop (MAX_K, yystack.l_mark[-3].etree, yystack.l_mark[-1].etree ); }
   3088 break;
   3089 case 258:
   3090 #line 1008 "ldgram.y"
   3091 	{ yyval.etree = exp_binop (MIN_K, yystack.l_mark[-3].etree, yystack.l_mark[-1].etree ); }
   3092 break;
   3093 case 259:
   3094 #line 1010 "ldgram.y"
   3095 	{ yyval.etree = exp_assert (yystack.l_mark[-3].etree, yystack.l_mark[-1].name); }
   3096 break;
   3097 case 260:
   3098 #line 1012 "ldgram.y"
   3099 	{ yyval.etree = exp_nameop (ORIGIN, yystack.l_mark[-1].name); }
   3100 break;
   3101 case 261:
   3102 #line 1014 "ldgram.y"
   3103 	{ yyval.etree = exp_nameop (LENGTH, yystack.l_mark[-1].name); }
   3104 break;
   3105 case 262:
   3106 #line 1019 "ldgram.y"
   3107 	{ yyval.name = yystack.l_mark[0].name; }
   3108 break;
   3109 case 263:
   3110 #line 1020 "ldgram.y"
   3111 	{ yyval.name = 0; }
   3112 break;
   3113 case 264:
   3114 #line 1024 "ldgram.y"
   3115 	{ yyval.etree = yystack.l_mark[-1].etree; }
   3116 break;
   3117 case 265:
   3118 #line 1025 "ldgram.y"
   3119 	{ yyval.etree = 0; }
   3120 break;
   3121 case 266:
   3122 #line 1029 "ldgram.y"
   3123 	{ yyval.etree = yystack.l_mark[-1].etree; }
   3124 break;
   3125 case 267:
   3126 #line 1030 "ldgram.y"
   3127 	{ yyval.etree = 0; }
   3128 break;
   3129 case 268:
   3130 #line 1034 "ldgram.y"
   3131 	{ yyval.etree = yystack.l_mark[-1].etree; }
   3132 break;
   3133 case 269:
   3134 #line 1035 "ldgram.y"
   3135 	{ yyval.etree = 0; }
   3136 break;
   3137 case 270:
   3138 #line 1039 "ldgram.y"
   3139 	{ yyval.token = ONLY_IF_RO; }
   3140 break;
   3141 case 271:
   3142 #line 1040 "ldgram.y"
   3143 	{ yyval.token = ONLY_IF_RW; }
   3144 break;
   3145 case 272:
   3146 #line 1041 "ldgram.y"
   3147 	{ yyval.token = SPECIAL; }
   3148 break;
   3149 case 273:
   3150 #line 1042 "ldgram.y"
   3151 	{ yyval.token = 0; }
   3152 break;
   3153 case 274:
   3154 #line 1045 "ldgram.y"
   3155 	{ ldlex_expression(); }
   3156 break;
   3157 case 275:
   3158 #line 1049 "ldgram.y"
   3159 	{ ldlex_popstate (); ldlex_script (); }
   3160 break;
   3161 case 276:
   3162 #line 1052 "ldgram.y"
   3163 	{
   3164 			  lang_enter_output_section_statement(yystack.l_mark[-8].name, yystack.l_mark[-6].etree,
   3165 							      sectype,
   3166 							      yystack.l_mark[-4].etree, yystack.l_mark[-3].etree, yystack.l_mark[-5].etree, yystack.l_mark[-1].token);
   3167 			}
   3168 break;
   3169 case 277:
   3170 #line 1058 "ldgram.y"
   3171 	{ ldlex_popstate (); ldlex_expression (); }
   3172 break;
   3173 case 278:
   3174 #line 1060 "ldgram.y"
   3175 	{
   3176 		  ldlex_popstate ();
   3177 		  lang_leave_output_section_statement (yystack.l_mark[0].fill, yystack.l_mark[-3].name, yystack.l_mark[-1].section_phdr, yystack.l_mark[-2].name);
   3178 		}
   3179 break;
   3180 case 279:
   3181 #line 1065 "ldgram.y"
   3182 	{}
   3183 break;
   3184 case 280:
   3185 #line 1067 "ldgram.y"
   3186 	{ ldlex_expression (); }
   3187 break;
   3188 case 281:
   3189 #line 1069 "ldgram.y"
   3190 	{ ldlex_popstate (); ldlex_script (); }
   3191 break;
   3192 case 282:
   3193 #line 1071 "ldgram.y"
   3194 	{
   3195 			  lang_enter_overlay (yystack.l_mark[-5].etree, yystack.l_mark[-2].etree);
   3196 			}
   3197 break;
   3198 case 283:
   3199 #line 1076 "ldgram.y"
   3200 	{ ldlex_popstate (); ldlex_expression (); }
   3201 break;
   3202 case 284:
   3203 #line 1078 "ldgram.y"
   3204 	{
   3205 			  ldlex_popstate ();
   3206 			  lang_leave_overlay (yystack.l_mark[-11].etree, (int) yystack.l_mark[-12].integer,
   3207 					      yystack.l_mark[0].fill, yystack.l_mark[-3].name, yystack.l_mark[-1].section_phdr, yystack.l_mark[-2].name);
   3208 			}
   3209 break;
   3210 case 286:
   3211 #line 1088 "ldgram.y"
   3212 	{ ldlex_expression (); }
   3213 break;
   3214 case 287:
   3215 #line 1090 "ldgram.y"
   3216 	{
   3217 		  ldlex_popstate ();
   3218 		  lang_add_assignment (exp_assign (".", yystack.l_mark[0].etree, FALSE));
   3219 		}
   3220 break;
   3221 case 289:
   3222 #line 1096 "ldgram.y"
   3223 	{ ldlex_script (); ldfile_open_command_file(yystack.l_mark[0].name); }
   3224 break;
   3225 case 290:
   3226 #line 1098 "ldgram.y"
   3227 	{ ldlex_popstate (); }
   3228 break;
   3229 case 291:
   3230 #line 1102 "ldgram.y"
   3231 	{ sectype = noload_section; }
   3232 break;
   3233 case 292:
   3234 #line 1103 "ldgram.y"
   3235 	{ sectype = noalloc_section; }
   3236 break;
   3237 case 293:
   3238 #line 1104 "ldgram.y"
   3239 	{ sectype = noalloc_section; }
   3240 break;
   3241 case 294:
   3242 #line 1105 "ldgram.y"
   3243 	{ sectype = noalloc_section; }
   3244 break;
   3245 case 295:
   3246 #line 1106 "ldgram.y"
   3247 	{ sectype = noalloc_section; }
   3248 break;
   3249 case 297:
   3250 #line 1111 "ldgram.y"
   3251 	{ sectype = normal_section; }
   3252 break;
   3253 case 298:
   3254 #line 1112 "ldgram.y"
   3255 	{ sectype = normal_section; }
   3256 break;
   3257 case 299:
   3258 #line 1116 "ldgram.y"
   3259 	{ yyval.etree = yystack.l_mark[-2].etree; }
   3260 break;
   3261 case 300:
   3262 #line 1117 "ldgram.y"
   3263 	{ yyval.etree = (etree_type *)NULL;  }
   3264 break;
   3265 case 301:
   3266 #line 1122 "ldgram.y"
   3267 	{ yyval.etree = yystack.l_mark[-3].etree; }
   3268 break;
   3269 case 302:
   3270 #line 1124 "ldgram.y"
   3271 	{ yyval.etree = yystack.l_mark[-7].etree; }
   3272 break;
   3273 case 303:
   3274 #line 1128 "ldgram.y"
   3275 	{ yyval.etree = yystack.l_mark[-1].etree; }
   3276 break;
   3277 case 304:
   3278 #line 1129 "ldgram.y"
   3279 	{ yyval.etree = (etree_type *) NULL;  }
   3280 break;
   3281 case 305:
   3282 #line 1134 "ldgram.y"
   3283 	{ yyval.integer = 0; }
   3284 break;
   3285 case 306:
   3286 #line 1136 "ldgram.y"
   3287 	{ yyval.integer = 1; }
   3288 break;
   3289 case 307:
   3290 #line 1141 "ldgram.y"
   3291 	{ yyval.name = yystack.l_mark[0].name; }
   3292 break;
   3293 case 308:
   3294 #line 1142 "ldgram.y"
   3295 	{ yyval.name = DEFAULT_MEMORY_REGION; }
   3296 break;
   3297 case 309:
   3298 #line 1147 "ldgram.y"
   3299 	{
   3300 		  yyval.section_phdr = NULL;
   3301 		}
   3302 break;
   3303 case 310:
   3304 #line 1151 "ldgram.y"
   3305 	{
   3306 		  struct lang_output_section_phdr_list *n;
   3307 
   3308 		  n = ((struct lang_output_section_phdr_list *)
   3309 		       xmalloc (sizeof *n));
   3310 		  n->name = yystack.l_mark[0].name;
   3311 		  n->used = FALSE;
   3312 		  n->next = yystack.l_mark[-2].section_phdr;
   3313 		  yyval.section_phdr = n;
   3314 		}
   3315 break;
   3316 case 312:
   3317 #line 1167 "ldgram.y"
   3318 	{
   3319 			  ldlex_script ();
   3320 			  lang_enter_overlay_section (yystack.l_mark[0].name);
   3321 			}
   3322 break;
   3323 case 313:
   3324 #line 1172 "ldgram.y"
   3325 	{ ldlex_popstate (); ldlex_expression (); }
   3326 break;
   3327 case 314:
   3328 #line 1174 "ldgram.y"
   3329 	{
   3330 			  ldlex_popstate ();
   3331 			  lang_leave_overlay_section (yystack.l_mark[0].fill, yystack.l_mark[-1].section_phdr);
   3332 			}
   3333 break;
   3334 case 319:
   3335 #line 1191 "ldgram.y"
   3336 	{ ldlex_expression (); }
   3337 break;
   3338 case 320:
   3339 #line 1192 "ldgram.y"
   3340 	{ ldlex_popstate (); }
   3341 break;
   3342 case 321:
   3343 #line 1194 "ldgram.y"
   3344 	{
   3345 		  lang_new_phdr (yystack.l_mark[-5].name, yystack.l_mark[-3].etree, yystack.l_mark[-2].phdr.filehdr, yystack.l_mark[-2].phdr.phdrs, yystack.l_mark[-2].phdr.at,
   3346 				 yystack.l_mark[-2].phdr.flags);
   3347 		}
   3348 break;
   3349 case 322:
   3350 #line 1202 "ldgram.y"
   3351 	{
   3352 		  yyval.etree = yystack.l_mark[0].etree;
   3353 
   3354 		  if (yystack.l_mark[0].etree->type.node_class == etree_name
   3355 		      && yystack.l_mark[0].etree->type.node_code == NAME)
   3356 		    {
   3357 		      const char *s;
   3358 		      unsigned int i;
   3359 		      static const char * const phdr_types[] =
   3360 			{
   3361 			  "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
   3362 			  "PT_INTERP", "PT_NOTE", "PT_SHLIB",
   3363 			  "PT_PHDR", "PT_TLS"
   3364 			};
   3365 
   3366 		      s = yystack.l_mark[0].etree->name.name;
   3367 		      for (i = 0;
   3368 			   i < sizeof phdr_types / sizeof phdr_types[0];
   3369 			   i++)
   3370 			if (strcmp (s, phdr_types[i]) == 0)
   3371 			  {
   3372 			    yyval.etree = exp_intop (i);
   3373 			    break;
   3374 			  }
   3375 		      if (i == sizeof phdr_types / sizeof phdr_types[0])
   3376 			{
   3377 			  if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
   3378 			    yyval.etree = exp_intop (0x6474e550);
   3379 			  else if (strcmp (s, "PT_GNU_STACK") == 0)
   3380 			    yyval.etree = exp_intop (0x6474e551);
   3381 			  else
   3382 			    {
   3383 			      einfo (_("\
   3384 %X%P:%S: unknown phdr type `%s' (try integer literal)\n"),
   3385 				     NULL, s);
   3386 			      yyval.etree = exp_intop (0);
   3387 			    }
   3388 			}
   3389 		    }
   3390 		}
   3391 break;
   3392 case 323:
   3393 #line 1246 "ldgram.y"
   3394 	{
   3395 		  memset (&yyval.phdr, 0, sizeof (struct phdr_info));
   3396 		}
   3397 break;
   3398 case 324:
   3399 #line 1250 "ldgram.y"
   3400 	{
   3401 		  yyval.phdr = yystack.l_mark[0].phdr;
   3402 		  if (strcmp (yystack.l_mark[-2].name, "FILEHDR") == 0 && yystack.l_mark[-1].etree == NULL)
   3403 		    yyval.phdr.filehdr = TRUE;
   3404 		  else if (strcmp (yystack.l_mark[-2].name, "PHDRS") == 0 && yystack.l_mark[-1].etree == NULL)
   3405 		    yyval.phdr.phdrs = TRUE;
   3406 		  else if (strcmp (yystack.l_mark[-2].name, "FLAGS") == 0 && yystack.l_mark[-1].etree != NULL)
   3407 		    yyval.phdr.flags = yystack.l_mark[-1].etree;
   3408 		  else
   3409 		    einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"),
   3410 			   NULL, yystack.l_mark[-2].name);
   3411 		}
   3412 break;
   3413 case 325:
   3414 #line 1263 "ldgram.y"
   3415 	{
   3416 		  yyval.phdr = yystack.l_mark[0].phdr;
   3417 		  yyval.phdr.at = yystack.l_mark[-2].etree;
   3418 		}
   3419 break;
   3420 case 326:
   3421 #line 1271 "ldgram.y"
   3422 	{
   3423 		  yyval.etree = NULL;
   3424 		}
   3425 break;
   3426 case 327:
   3427 #line 1275 "ldgram.y"
   3428 	{
   3429 		  yyval.etree = yystack.l_mark[-1].etree;
   3430 		}
   3431 break;
   3432 case 328:
   3433 #line 1281 "ldgram.y"
   3434 	{
   3435 		  ldlex_version_file ();
   3436 		  PUSH_ERROR (_("dynamic list"));
   3437 		}
   3438 break;
   3439 case 329:
   3440 #line 1286 "ldgram.y"
   3441 	{
   3442 		  ldlex_popstate ();
   3443 		  POP_ERROR ();
   3444 		}
   3445 break;
   3446 case 333:
   3447 #line 1303 "ldgram.y"
   3448 	{
   3449 		  lang_append_dynamic_list (yystack.l_mark[-1].versyms);
   3450 		}
   3451 break;
   3452 case 334:
   3453 #line 1311 "ldgram.y"
   3454 	{
   3455 		  ldlex_version_file ();
   3456 		  PUSH_ERROR (_("VERSION script"));
   3457 		}
   3458 break;
   3459 case 335:
   3460 #line 1316 "ldgram.y"
   3461 	{
   3462 		  ldlex_popstate ();
   3463 		  POP_ERROR ();
   3464 		}
   3465 break;
   3466 case 336:
   3467 #line 1325 "ldgram.y"
   3468 	{
   3469 		  ldlex_version_script ();
   3470 		}
   3471 break;
   3472 case 337:
   3473 #line 1329 "ldgram.y"
   3474 	{
   3475 		  ldlex_popstate ();
   3476 		}
   3477 break;
   3478 case 340:
   3479 #line 1341 "ldgram.y"
   3480 	{
   3481 		  lang_register_vers_node (NULL, yystack.l_mark[-2].versnode, NULL);
   3482 		}
   3483 break;
   3484 case 341:
   3485 #line 1345 "ldgram.y"
   3486 	{
   3487 		  lang_register_vers_node (yystack.l_mark[-4].name, yystack.l_mark[-2].versnode, NULL);
   3488 		}
   3489 break;
   3490 case 342:
   3491 #line 1349 "ldgram.y"
   3492 	{
   3493 		  lang_register_vers_node (yystack.l_mark[-5].name, yystack.l_mark[-3].versnode, yystack.l_mark[-1].deflist);
   3494 		}
   3495 break;
   3496 case 343:
   3497 #line 1356 "ldgram.y"
   3498 	{
   3499 		  yyval.deflist = lang_add_vers_depend (NULL, yystack.l_mark[0].name);
   3500 		}
   3501 break;
   3502 case 344:
   3503 #line 1360 "ldgram.y"
   3504 	{
   3505 		  yyval.deflist = lang_add_vers_depend (yystack.l_mark[-1].deflist, yystack.l_mark[0].name);
   3506 		}
   3507 break;
   3508 case 345:
   3509 #line 1367 "ldgram.y"
   3510 	{
   3511 		  yyval.versnode = lang_new_vers_node (NULL, NULL);
   3512 		}
   3513 break;
   3514 case 346:
   3515 #line 1371 "ldgram.y"
   3516 	{
   3517 		  yyval.versnode = lang_new_vers_node (yystack.l_mark[-1].versyms, NULL);
   3518 		}
   3519 break;
   3520 case 347:
   3521 #line 1375 "ldgram.y"
   3522 	{
   3523 		  yyval.versnode = lang_new_vers_node (yystack.l_mark[-1].versyms, NULL);
   3524 		}
   3525 break;
   3526 case 348:
   3527 #line 1379 "ldgram.y"
   3528 	{
   3529 		  yyval.versnode = lang_new_vers_node (NULL, yystack.l_mark[-1].versyms);
   3530 		}
   3531 break;
   3532 case 349:
   3533 #line 1383 "ldgram.y"
   3534 	{
   3535 		  yyval.versnode = lang_new_vers_node (yystack.l_mark[-5].versyms, yystack.l_mark[-1].versyms);
   3536 		}
   3537 break;
   3538 case 350:
   3539 #line 1390 "ldgram.y"
   3540 	{
   3541 		  yyval.versyms = lang_new_vers_pattern (NULL, yystack.l_mark[0].name, ldgram_vers_current_lang, FALSE);
   3542 		}
   3543 break;
   3544 case 351:
   3545 #line 1394 "ldgram.y"
   3546 	{
   3547 		  yyval.versyms = lang_new_vers_pattern (NULL, yystack.l_mark[0].name, ldgram_vers_current_lang, TRUE);
   3548 		}
   3549 break;
   3550 case 352:
   3551 #line 1398 "ldgram.y"
   3552 	{
   3553 		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, yystack.l_mark[0].name, ldgram_vers_current_lang, FALSE);
   3554 		}
   3555 break;
   3556 case 353:
   3557 #line 1402 "ldgram.y"
   3558 	{
   3559 		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, yystack.l_mark[0].name, ldgram_vers_current_lang, TRUE);
   3560 		}
   3561 break;
   3562 case 354:
   3563 #line 1406 "ldgram.y"
   3564 	{
   3565 			  yyval.name = ldgram_vers_current_lang;
   3566 			  ldgram_vers_current_lang = yystack.l_mark[-1].name;
   3567 			}
   3568 break;
   3569 case 355:
   3570 #line 1411 "ldgram.y"
   3571 	{
   3572 			  struct bfd_elf_version_expr *pat;
   3573 			  for (pat = yystack.l_mark[-2].versyms; pat->next != NULL; pat = pat->next);
   3574 			  pat->next = yystack.l_mark[-8].versyms;
   3575 			  yyval.versyms = yystack.l_mark[-2].versyms;
   3576 			  ldgram_vers_current_lang = yystack.l_mark[-3].name;
   3577 			}
   3578 break;
   3579 case 356:
   3580 #line 1419 "ldgram.y"
   3581 	{
   3582 			  yyval.name = ldgram_vers_current_lang;
   3583 			  ldgram_vers_current_lang = yystack.l_mark[-1].name;
   3584 			}
   3585 break;
   3586 case 357:
   3587 #line 1424 "ldgram.y"
   3588 	{
   3589 			  yyval.versyms = yystack.l_mark[-2].versyms;
   3590 			  ldgram_vers_current_lang = yystack.l_mark[-3].name;
   3591 			}
   3592 break;
   3593 case 358:
   3594 #line 1429 "ldgram.y"
   3595 	{
   3596 		  yyval.versyms = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, FALSE);
   3597 		}
   3598 break;
   3599 case 359:
   3600 #line 1433 "ldgram.y"
   3601 	{
   3602 		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, "global", ldgram_vers_current_lang, FALSE);
   3603 		}
   3604 break;
   3605 case 360:
   3606 #line 1437 "ldgram.y"
   3607 	{
   3608 		  yyval.versyms = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, FALSE);
   3609 		}
   3610 break;
   3611 case 361:
   3612 #line 1441 "ldgram.y"
   3613 	{
   3614 		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, "local", ldgram_vers_current_lang, FALSE);
   3615 		}
   3616 break;
   3617 case 362:
   3618 #line 1445 "ldgram.y"
   3619 	{
   3620 		  yyval.versyms = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, FALSE);
   3621 		}
   3622 break;
   3623 case 363:
   3624 #line 1449 "ldgram.y"
   3625 	{
   3626 		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, "extern", ldgram_vers_current_lang, FALSE);
   3627 		}
   3628 break;
   3629 #line 3628 "/u1/netbsd-openrisc/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
   3630     }
   3631     yystack.s_mark -= yym;
   3632     yystate = *yystack.s_mark;
   3633     yystack.l_mark -= yym;
   3634     yym = yylhs[yyn];
   3635     if (yystate == 0 && yym == 0)
   3636     {
   3637 #if YYDEBUG
   3638         if (yydebug)
   3639             printf("%sdebug: after reduction, shifting from state 0 to\
   3640  state %d\n", YYPREFIX, YYFINAL);
   3641 #endif
   3642         yystate = YYFINAL;
   3643         *++yystack.s_mark = YYFINAL;
   3644         *++yystack.l_mark = yyval;
   3645         if (yychar < 0)
   3646         {
   3647             if ((yychar = YYLEX) < 0) yychar = 0;
   3648 #if YYDEBUG
   3649             if (yydebug)
   3650             {
   3651                 yys = yytname[YYTRANSLATE(yychar)];
   3652                 printf("%sdebug: state %d, reading %d (%s)\n",
   3653                         YYPREFIX, YYFINAL, yychar, yys);
   3654             }
   3655 #endif
   3656         }
   3657         if (yychar == 0) goto yyaccept;
   3658         goto yyloop;
   3659     }
   3660     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
   3661             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
   3662         yystate = yytable[yyn];
   3663     else
   3664         yystate = yydgoto[yym];
   3665 #if YYDEBUG
   3666     if (yydebug)
   3667         printf("%sdebug: after reduction, shifting from state %d \
   3668 to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
   3669 #endif
   3670     if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack))
   3671     {
   3672         goto yyoverflow;
   3673     }
   3674     *++yystack.s_mark = (short) yystate;
   3675     *++yystack.l_mark = yyval;
   3676     goto yyloop;
   3677 
   3678 yyoverflow:
   3679     yyerror("yacc stack overflow");
   3680 
   3681 yyabort:
   3682     yyfreestack(&yystack);
   3683     return (1);
   3684 
   3685 yyaccept:
   3686     yyfreestack(&yystack);
   3687     return (0);
   3688 }
   3689