1 /* A Bison parser, made from ldgram.y
2    by GNU bison 1.35.  */
3 
4 #define YYBISON 1  /* Identify Bison output.  */
5 
6 # define	INT	257
7 # define	NAME	258
8 # define	LNAME	259
9 # define	PLUSEQ	260
10 # define	MINUSEQ	261
11 # define	MULTEQ	262
12 # define	DIVEQ	263
13 # define	LSHIFTEQ	264
14 # define	RSHIFTEQ	265
15 # define	ANDEQ	266
16 # define	OREQ	267
17 # define	OROR	268
18 # define	ANDAND	269
19 # define	EQ	270
20 # define	NE	271
21 # define	LE	272
22 # define	GE	273
23 # define	LSHIFT	274
24 # define	RSHIFT	275
25 # define	UNARY	276
26 # define	END	277
27 # define	ALIGN_K	278
28 # define	BLOCK	279
29 # define	BIND	280
30 # define	QUAD	281
31 # define	SQUAD	282
32 # define	LONG	283
33 # define	SHORT	284
34 # define	BYTE	285
35 # define	SECTIONS	286
36 # define	PHDRS	287
37 # define	SORT	288
38 # define	DATA_SEGMENT_ALIGN	289
39 # define	DATA_SEGMENT_END	290
40 # define	SIZEOF_HEADERS	291
41 # define	OUTPUT_FORMAT	292
42 # define	FORCE_COMMON_ALLOCATION	293
43 # define	OUTPUT_ARCH	294
44 # define	INHIBIT_COMMON_ALLOCATION	295
45 # define	INCLUDE	296
46 # define	MEMORY	297
47 # define	DEFSYMEND	298
48 # define	NOLOAD	299
49 # define	DSECT	300
50 # define	COPY	301
51 # define	INFO	302
52 # define	OVERLAY	303
53 # define	DEFINED	304
54 # define	TARGET_K	305
55 # define	SEARCH_DIR	306
56 # define	MAP	307
57 # define	ENTRY	308
58 # define	NEXT	309
59 # define	SIZEOF	310
60 # define	ADDR	311
61 # define	LOADADDR	312
62 # define	MAX_K	313
63 # define	MIN_K	314
64 # define	STARTUP	315
65 # define	HLL	316
66 # define	SYSLIB	317
67 # define	FLOAT	318
68 # define	NOFLOAT	319
69 # define	NOCROSSREFS	320
70 # define	ORIGIN	321
71 # define	FILL	322
72 # define	LENGTH	323
73 # define	CREATE_OBJECT_SYMBOLS	324
74 # define	INPUT	325
75 # define	GROUP	326
76 # define	OUTPUT	327
77 # define	CONSTRUCTORS	328
78 # define	ALIGNMOD	329
79 # define	AT	330
80 # define	SUBALIGN	331
81 # define	PROVIDE	332
82 # define	CHIP	333
83 # define	LIST	334
84 # define	SECT	335
85 # define	ABSOLUTE	336
86 # define	LOAD	337
87 # define	NEWLINE	338
88 # define	ENDWORD	339
89 # define	ORDER	340
90 # define	NAMEWORD	341
91 # define	ASSERT_K	342
92 # define	FORMAT	343
93 # define	PUBLIC	344
94 # define	BASE	345
95 # define	ALIAS	346
96 # define	TRUNCATE	347
97 # define	REL	348
98 # define	INPUT_SCRIPT	349
99 # define	INPUT_MRI_SCRIPT	350
100 # define	INPUT_DEFSYM	351
101 # define	CASE	352
102 # define	EXTERN	353
103 # define	START	354
104 # define	VERS_TAG	355
105 # define	VERS_IDENTIFIER	356
106 # define	GLOBAL	357
107 # define	LOCAL	358
108 # define	VERSIONK	359
109 # define	INPUT_VERSION_SCRIPT	360
110 # define	KEEP	361
111 # define	EXCLUDE_FILE	362
112 
113 #line 22 "ldgram.y"
114 
115 /*
116 
117  */
118 
119 #define DONTDECLARE_MALLOC
120 
121 #include "bfd.h"
122 #include "sysdep.h"
123 #include "bfdlink.h"
124 #include "ld.h"
125 #include "ldexp.h"
126 #include "ldver.h"
127 #include "ldlang.h"
128 #include "ldfile.h"
129 #include "ldemul.h"
130 #include "ldmisc.h"
131 #include "ldmain.h"
132 #include "mri.h"
133 #include "ldctor.h"
134 #include "ldlex.h"
135 
136 #ifndef YYDEBUG
137 #define YYDEBUG 1
138 #endif
139 
140 static enum section_type sectype;
141 
142 lang_memory_region_type *region;
143 
144 bfd_boolean ldgram_want_filename = TRUE;
145 FILE *saved_script_handle = NULL;
146 bfd_boolean force_make_executable = FALSE;
147 
148 bfd_boolean ldgram_in_script = FALSE;
149 bfd_boolean ldgram_had_equals = FALSE;
150 bfd_boolean ldgram_had_keep = FALSE;
151 char *ldgram_vers_current_lang = NULL;
152 
153 #define ERROR_NAME_MAX 20
154 static char *error_names[ERROR_NAME_MAX];
155 static int error_index;
156 #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
157 #define POP_ERROR()   error_index--;
158 
159 #line 67 "ldgram.y"
160 #ifndef YYSTYPE
161 typedef union {
162   bfd_vma integer;
163   struct big_int
164     {
165       bfd_vma integer;
166       char *str;
167     } bigint;
168   fill_type *fill;
169   char *name;
170   const char *cname;
171   struct wildcard_spec wildcard;
172   struct wildcard_list *wildcard_list;
173   struct name_list *name_list;
174   int token;
175   union etree_union *etree;
176   struct phdr_info
177     {
178       bfd_boolean filehdr;
179       bfd_boolean phdrs;
180       union etree_union *at;
181       union etree_union *flags;
182     } phdr;
183   struct lang_nocrossref *nocrossref;
184   struct lang_output_section_phdr_list *section_phdr;
185   struct bfd_elf_version_deps *deflist;
186   struct bfd_elf_version_expr *versyms;
187   struct bfd_elf_version_tree *versnode;
188 } yystype;
189 # define YYSTYPE yystype
190 # define YYSTYPE_IS_TRIVIAL 1
191 #endif
192 #ifndef YYDEBUG
193 # define YYDEBUG 0
194 #endif
195 
196 
197 
198 #define	YYFINAL		627
199 #define	YYFLAG		-32768
200 #define	YYNTBASE	132
201 
202 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
203 #define YYTRANSLATE(x) ((unsigned)(x) <= 362 ? yytranslate[x] : 240)
204 
205 /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
206 static const short yytranslate[] =
207 {
208        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
209        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
210        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
211        2,     2,     2,   130,     2,     2,     2,    34,    21,     2,
212       37,   127,    32,    30,   125,    31,     2,    33,     2,     2,
213        2,     2,     2,     2,     2,     2,     2,     2,    16,   126,
214       24,    10,    25,    15,     2,     2,     2,     2,     2,     2,
215        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
216        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
217        2,   128,     2,   129,    20,     2,     2,     2,     2,     2,
218        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
219        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
220        2,     2,     2,    51,    19,    52,   131,     2,     2,     2,
221        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
222        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
223        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
224        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
225        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
226        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
227        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
228        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
229        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
230        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
231        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
232        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
233        2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
234        6,     7,     8,     9,    11,    12,    13,    14,    17,    18,
235       22,    23,    26,    27,    28,    29,    35,    36,    38,    39,
236       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
237       50,    53,    54,    55,    56,    57,    58,    59,    60,    61,
238       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
239       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
240       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
241       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
242      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
243      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
244      122,   123,   124
245 };
246 
247 #if YYDEBUG
248 static const short yyprhs[] =
249 {
250        0,     0,     3,     6,     9,    12,    14,    15,    20,    21,
251       24,    28,    29,    32,    37,    39,    41,    44,    46,    51,
252       56,    60,    63,    68,    72,    77,    82,    87,    92,    97,
253      100,   103,   106,   111,   116,   119,   122,   125,   128,   129,
254      135,   138,   139,   143,   146,   147,   149,   153,   155,   159,
255      160,   162,   166,   168,   171,   175,   176,   179,   182,   183,
256      185,   187,   189,   191,   193,   195,   197,   199,   201,   203,
257      208,   213,   218,   223,   232,   237,   239,   241,   246,   247,
258      253,   258,   259,   265,   270,   275,   277,   281,   284,   286,
259      290,   293,   298,   301,   304,   305,   310,   313,   314,   322,
260      324,   326,   328,   330,   336,   341,   350,   353,   355,   359,
261      361,   363,   367,   372,   374,   375,   381,   384,   386,   388,
262      390,   395,   397,   402,   407,   410,   412,   413,   415,   417,
263      419,   421,   423,   425,   427,   430,   431,   433,   435,   437,
264      439,   441,   443,   445,   447,   449,   451,   455,   459,   466,
265      468,   469,   475,   478,   482,   483,   484,   492,   496,   500,
266      501,   505,   507,   510,   512,   515,   520,   525,   529,   533,
267      535,   540,   544,   545,   547,   549,   550,   553,   557,   558,
268      561,   564,   568,   573,   576,   579,   582,   586,   590,   594,
269      598,   602,   606,   610,   614,   618,   622,   626,   630,   634,
270      638,   642,   646,   652,   656,   660,   665,   667,   669,   674,
271      679,   684,   689,   694,   701,   708,   713,   718,   720,   727,
272      734,   741,   745,   746,   751,   752,   757,   758,   759,   760,
273      761,   762,   763,   781,   782,   783,   784,   785,   786,   805,
274      806,   807,   815,   817,   819,   821,   823,   825,   829,   830,
275      833,   837,   840,   847,   858,   861,   863,   864,   866,   869,
276      870,   871,   875,   876,   877,   878,   879,   891,   896,   897,
277      900,   901,   902,   909,   911,   912,   916,   922,   923,   927,
278      928,   931,   932,   938,   940,   943,   948,   954,   961,   963,
279      966,   967,   970,   975,   980,   989,   991,   995,   996,  1006,
280     1007,  1015,  1016
281 };
282 static const short yyrhs[] =
283 {
284      111,   146,     0,   112,   136,     0,   122,   228,     0,   113,
285      134,     0,     4,     0,     0,   135,     4,    10,   192,     0,
286        0,   137,   138,     0,   138,   139,   100,     0,     0,    95,
287      192,     0,    95,   192,   125,   192,     0,     4,     0,    96,
288        0,   102,   141,     0,   101,     0,   106,     4,    10,   192,
289        0,   106,     4,   125,   192,     0,   106,     4,   192,     0,
290      105,     4,     0,    97,     4,   125,   192,     0,    97,     4,
291      192,     0,    97,     4,    10,   192,     0,    38,     4,    10,
292      192,     0,    38,     4,   125,   192,     0,    91,     4,    10,
293      192,     0,    91,     4,   125,   192,     0,    98,   143,     0,
294       99,   142,     0,   103,     4,     0,   108,     4,   125,     4,
295        0,   108,     4,   125,     3,     0,   107,   192,     0,   109,
296        3,     0,   114,   144,     0,   115,   145,     0,     0,    58,
297      133,   140,   138,    36,     0,   116,     4,     0,     0,   141,
298      125,     4,     0,   141,     4,     0,     0,     4,     0,   142,
299      125,     4,     0,     4,     0,   143,   125,     4,     0,     0,
300        4,     0,   144,   125,     4,     0,     4,     0,   145,     4,
301        0,   145,   125,     4,     0,     0,   147,   148,     0,   148,
302      149,     0,     0,   174,     0,   153,     0,   220,     0,   183,
303        0,   184,     0,   186,     0,   188,     0,   155,     0,   230,
304        0,   126,     0,    67,    37,     4,   127,     0,    68,    37,
305      133,   127,     0,    89,    37,   133,   127,     0,    54,    37,
306        4,   127,     0,    54,    37,     4,   125,     4,   125,     4,
307      127,     0,    56,    37,     4,   127,     0,    55,     0,    57,
308        0,    87,    37,   152,   127,     0,     0,    88,   150,    37,
309      152,   127,     0,    69,    37,   133,   127,     0,     0,    58,
310      133,   151,   148,    36,     0,    82,    37,   189,   127,     0,
311      115,    37,   145,   127,     0,     4,     0,   152,   125,     4,
312        0,   152,     4,     0,     5,     0,   152,   125,     5,     0,
313      152,     5,     0,    46,    51,   154,    52,     0,   154,   196,
314        0,   154,   155,     0,     0,    70,    37,     4,   127,     0,
315      172,   171,     0,     0,   104,   156,    37,   192,   125,     4,
316      127,     0,     4,     0,    32,     0,    15,     0,   157,     0,
317      124,    37,   159,   127,   157,     0,    48,    37,   157,   127,
318        0,    48,    37,   124,    37,   159,   127,   157,   127,     0,
319      159,   157,     0,   157,     0,   160,   173,   158,     0,   158,
320        0,     4,     0,   128,   160,   129,     0,   158,    37,   160,
321      127,     0,   161,     0,     0,   123,    37,   163,   161,   127,
322        0,   172,   171,     0,    86,     0,   126,     0,    90,     0,
323       48,    37,    90,   127,     0,   162,     0,   167,    37,   190,
324      127,     0,    84,    37,   168,   127,     0,   165,   164,     0,
325      164,     0,     0,   165,     0,    41,     0,    42,     0,    43,
326        0,    44,     0,    45,     0,   190,     0,    10,   168,     0,
327        0,     6,     0,     7,     0,     8,     0,     9,     0,    11,
328        0,    12,     0,    13,     0,    14,     0,   126,     0,   125,
329        0,     4,    10,   190,     0,     4,   170,   190,     0,    94,
330       37,     4,    10,   190,   127,     0,   125,     0,     0,    59,
331       51,   176,   175,    52,     0,   175,   176,     0,   175,   125,
332      176,     0,     0,     0,     4,   177,   180,    16,   178,   173,
333      179,     0,    83,    10,   190,     0,    85,    10,   190,     0,
334        0,    37,   181,   127,     0,   182,     0,   181,   182,     0,
335        4,     0,   130,     4,     0,    77,    37,   133,   127,     0,
336       78,    37,   185,   127,     0,    78,    37,   127,     0,   185,
337      173,   133,     0,   133,     0,    79,    37,   187,   127,     0,
338      187,   173,   133,     0,     0,    80,     0,    81,     0,     0,
339        4,   189,     0,     4,   125,   189,     0,     0,   191,   192,
340        0,    31,   192,     0,    37,   192,   127,     0,    71,    37,
341      192,   127,     0,   130,   192,     0,    30,   192,     0,   131,
342      192,     0,   192,    32,   192,     0,   192,    33,   192,     0,
343      192,    34,   192,     0,   192,    30,   192,     0,   192,    31,
344      192,     0,   192,    28,   192,     0,   192,    29,   192,     0,
345      192,    22,   192,     0,   192,    23,   192,     0,   192,    26,
346      192,     0,   192,    27,   192,     0,   192,    24,   192,     0,
347      192,    25,   192,     0,   192,    21,   192,     0,   192,    20,
348      192,     0,   192,    19,   192,     0,   192,    15,   192,    16,
349      192,     0,   192,    18,   192,     0,   192,    17,   192,     0,
350       66,    37,     4,   127,     0,     3,     0,    53,     0,    72,
351       37,     4,   127,     0,    73,    37,     4,   127,     0,    74,
352       37,     4,   127,     0,    98,    37,   192,   127,     0,    38,
353       37,   192,   127,     0,    38,    37,   192,   125,   192,   127,
354        0,    49,    37,   192,   125,   192,   127,     0,    50,    37,
355      192,   127,     0,    39,    37,   192,   127,     0,     4,     0,
356       75,    37,   192,   125,   192,   127,     0,    76,    37,   192,
357      125,   192,   127,     0,   104,    37,   192,   125,     4,   127,
358        0,    92,    25,     4,     0,     0,    92,    37,   192,   127,
359        0,     0,    93,    37,   192,   127,     0,     0,     0,     0,
360        0,     0,     0,     4,   197,   211,   194,   195,   198,    51,
361      199,   166,    52,   200,   214,   193,   215,   169,   201,   173,
362        0,     0,     0,     0,     0,     0,    65,   202,   212,   213,
363      194,   195,   203,    51,   204,   216,    52,   205,   214,   193,
364      215,   169,   206,   173,     0,     0,     0,    88,   207,   211,
365      208,    51,   154,    52,     0,    61,     0,    62,     0,    63,
366        0,    64,     0,    65,     0,    37,   209,   127,     0,     0,
367       37,   127,     0,   192,   210,    16,     0,   210,    16,     0,
368       40,    37,   192,   127,   210,    16,     0,    40,    37,   192,
369      127,    39,    37,   192,   127,   210,    16,     0,   192,    16,
370        0,    16,     0,     0,    82,     0,    25,     4,     0,     0,
371        0,   215,    16,     4,     0,     0,     0,     0,     0,   216,
372        4,   217,    51,   166,    52,   218,   215,   169,   219,   173,
373        0,    47,    51,   221,    52,     0,     0,   221,   222,     0,
374        0,     0,     4,   223,   225,   226,   224,   126,     0,   192,
375        0,     0,     4,   227,   226,     0,    92,    37,   192,   127,
376      226,     0,     0,    37,   192,   127,     0,     0,   229,   232,
377        0,     0,   231,   121,    51,   232,    52,     0,   233,     0,
378      232,   233,     0,    51,   235,    52,   126,     0,   117,    51,
379      235,    52,   126,     0,   117,    51,   235,    52,   234,   126,
380        0,   117,     0,   234,   117,     0,     0,   236,   126,     0,
381      119,    16,   236,   126,     0,   120,    16,   236,   126,     0,
382      119,    16,   236,   126,   120,    16,   236,   126,     0,   118,
383        0,   236,   126,   118,     0,     0,   236,   126,   115,     4,
384       51,   237,   236,   239,    52,     0,     0,   115,     4,    51,
385      238,   236,   239,    52,     0,     0,   126,     0
386 };
387 
388 #endif
389 
390 #if YYDEBUG
391 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
392 static const short yyrline[] =
393 {
394        0,   161,   163,   164,   165,   169,   172,   172,   182,   182,
395      195,   197,   200,   202,   203,   206,   209,   210,   211,   213,
396      215,   217,   219,   221,   223,   225,   227,   229,   231,   233,
397      234,   235,   237,   239,   241,   243,   245,   246,   247,   247,
398      251,   253,   256,   258,   259,   262,   265,   268,   271,   275,
399      277,   278,   281,   284,   286,   290,   290,   301,   303,   308,
400      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
401      321,   323,   325,   328,   330,   332,   334,   336,   337,   337,
402      341,   343,   343,   347,   351,   354,   358,   361,   364,   367,
403      370,   375,   379,   381,   382,   385,   388,   389,   389,   396,
404      401,   405,   411,   418,   424,   430,   438,   447,   458,   467,
405      478,   487,   491,   497,   499,   499,   505,   507,   511,   512,
406      517,   522,   523,   528,   534,   536,   539,   541,   544,   547,
407      549,   551,   553,   557,   567,   570,   573,   576,   578,   580,
408      582,   584,   586,   588,   593,   593,   597,   602,   610,   617,
409      618,   621,   625,   627,   628,   632,   632,   639,   647,   656,
410      659,   662,   664,   667,   670,   674,   679,   681,   685,   688,
411      693,   695,   698,   701,   704,   708,   713,   722,   733,   733,
412      738,   741,   743,   745,   747,   749,   752,   754,   756,   758,
413      760,   762,   764,   766,   768,   770,   772,   774,   776,   778,
414      780,   782,   784,   786,   788,   790,   792,   794,   797,   799,
415      801,   803,   805,   807,   809,   811,   813,   815,   817,   819,
416      821,   826,   828,   831,   833,   836,   838,   841,   841,   841,
417      841,   841,   841,   860,   860,   860,   860,   860,   860,   878,
418      878,   878,   891,   893,   894,   895,   896,   899,   901,   902,
419      905,   907,   908,   913,   917,   919,   922,   925,   929,   932,
420      935,   940,   953,   955,   955,   955,   955,   971,   975,   977,
421      980,   980,   980,   990,  1034,  1039,  1051,  1058,  1063,  1071,
422     1071,  1085,  1085,  1095,  1097,  1100,  1105,  1109,  1115,  1120,
423     1126,  1131,  1135,  1139,  1143,  1149,  1154,  1158,  1158,  1168,
424     1168,  1180,  1182
425 };
426 #endif
427 
428 
429 #if (YYDEBUG) || defined YYERROR_VERBOSE
430 
431 /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
432 static const char *const yytname[] =
433 {
434   "$", "error", "$undefined.", "INT", "NAME", "LNAME", "PLUSEQ", "MINUSEQ",
435   "MULTEQ", "DIVEQ", "'='", "LSHIFTEQ", "RSHIFTEQ", "ANDEQ", "OREQ",
436   "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQ", "NE", "'<'",
437   "'>'", "LE", "GE", "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'",
438   "'%'", "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND", "QUAD",
439   "SQUAD", "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS", "SORT",
440   "DATA_SEGMENT_ALIGN", "DATA_SEGMENT_END", "'{'", "'}'",
441   "SIZEOF_HEADERS", "OUTPUT_FORMAT", "FORCE_COMMON_ALLOCATION",
442   "OUTPUT_ARCH", "INHIBIT_COMMON_ALLOCATION", "INCLUDE", "MEMORY",
443   "DEFSYMEND", "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "DEFINED",
444   "TARGET_K", "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF", "ADDR",
445   "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL", "SYSLIB", "FLOAT",
446   "NOFLOAT", "NOCROSSREFS", "ORIGIN", "FILL", "LENGTH",
447   "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT", "CONSTRUCTORS",
448   "ALIGNMOD", "AT", "SUBALIGN", "PROVIDE", "CHIP", "LIST", "SECT",
449   "ABSOLUTE", "LOAD", "NEWLINE", "ENDWORD", "ORDER", "NAMEWORD",
450   "ASSERT_K", "FORMAT", "PUBLIC", "BASE", "ALIAS", "TRUNCATE", "REL",
451   "INPUT_SCRIPT", "INPUT_MRI_SCRIPT", "INPUT_DEFSYM", "CASE", "EXTERN",
452   "START", "VERS_TAG", "VERS_IDENTIFIER", "GLOBAL", "LOCAL", "VERSIONK",
453   "INPUT_VERSION_SCRIPT", "KEEP", "EXCLUDE_FILE", "','", "';'", "')'",
454   "'['", "']'", "'!'", "'~'", "file", "filename", "defsym_expr", "@1",
455   "mri_script_file", "@2", "mri_script_lines", "mri_script_command", "@3",
456   "ordernamelist", "mri_load_name_list", "mri_abs_name_list",
457   "casesymlist", "extern_name_list", "script_file", "@4", "ifile_list",
458   "ifile_p1", "@5", "@6", "input_list", "sections", "sec_or_group_p1",
459   "statement_anywhere", "@7", "wildcard_name", "wildcard_spec",
460   "exclude_name_list", "file_NAME_list", "input_section_spec_no_keep",
461   "input_section_spec", "@8", "statement", "statement_list",
462   "statement_list_opt", "length", "fill_exp", "fill_opt", "assign_op",
463   "end", "assignment", "opt_comma", "memory", "memory_spec_list",
464   "memory_spec", "@9", "origin_spec", "length_spec", "attributes_opt",
465   "attributes_list", "attributes_string", "startup", "high_level_library",
466   "high_level_library_NAME_list", "low_level_library",
467   "low_level_library_NAME_list", "floating_point_support",
468   "nocrossref_list", "mustbe_exp", "@10", "exp", "memspec_at_opt",
469   "opt_at", "opt_subalign", "section", "@11", "@12", "@13", "@14", "@15",
470   "@16", "@17", "@18", "@19", "@20", "@21", "@22", "type", "atype",
471   "opt_exp_with_type", "opt_exp_without_type", "opt_nocrossrefs",
472   "memspec_opt", "phdr_opt", "overlay_section", "@23", "@24", "@25",
473   "phdrs", "phdr_list", "phdr", "@26", "@27", "phdr_type",
474   "phdr_qualifiers", "phdr_val", "version_script_file", "@28", "version",
475   "@29", "vers_nodes", "vers_node", "verdep", "vers_tag", "vers_defns",
476   "@30", "@31", "opt_semicolon", 0
477 };
478 #endif
479 
480 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
481 static const short yyr1[] =
482 {
483        0,   132,   132,   132,   132,   133,   135,   134,   137,   136,
484      138,   138,   139,   139,   139,   139,   139,   139,   139,   139,
485      139,   139,   139,   139,   139,   139,   139,   139,   139,   139,
486      139,   139,   139,   139,   139,   139,   139,   139,   140,   139,
487      139,   139,   141,   141,   141,   142,   142,   143,   143,   144,
488      144,   144,   145,   145,   145,   147,   146,   148,   148,   149,
489      149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
490      149,   149,   149,   149,   149,   149,   149,   149,   150,   149,
491      149,   151,   149,   149,   149,   152,   152,   152,   152,   152,
492      152,   153,   154,   154,   154,   155,   155,   156,   155,   157,
493      157,   157,   158,   158,   158,   158,   159,   159,   160,   160,
494      161,   161,   161,   162,   163,   162,   164,   164,   164,   164,
495      164,   164,   164,   164,   165,   165,   166,   166,   167,   167,
496      167,   167,   167,   168,   169,   169,   170,   170,   170,   170,
497      170,   170,   170,   170,   171,   171,   172,   172,   172,   173,
498      173,   174,   175,   175,   175,   177,   176,   178,   179,   180,
499      180,   181,   181,   182,   182,   183,   184,   184,   185,   185,
500      186,   187,   187,   188,   188,   189,   189,   189,   191,   190,
501      192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
502      192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
503      192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
504      192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
505      192,   193,   193,   194,   194,   195,   195,   197,   198,   199,
506      200,   201,   196,   202,   203,   204,   205,   206,   196,   207,
507      208,   196,   209,   209,   209,   209,   209,   210,   210,   210,
508      211,   211,   211,   211,   212,   212,   213,   213,   214,   214,
509      215,   215,   216,   217,   218,   219,   216,   220,   221,   221,
510      223,   224,   222,   225,   226,   226,   226,   227,   227,   229,
511      228,   231,   230,   232,   232,   233,   233,   233,   234,   234,
512      235,   235,   235,   235,   235,   236,   236,   237,   236,   238,
513      236,   239,   239
514 };
515 
516 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
517 static const short yyr2[] =
518 {
519        0,     2,     2,     2,     2,     1,     0,     4,     0,     2,
520        3,     0,     2,     4,     1,     1,     2,     1,     4,     4,
521        3,     2,     4,     3,     4,     4,     4,     4,     4,     2,
522        2,     2,     4,     4,     2,     2,     2,     2,     0,     5,
523        2,     0,     3,     2,     0,     1,     3,     1,     3,     0,
524        1,     3,     1,     2,     3,     0,     2,     2,     0,     1,
525        1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
526        4,     4,     4,     8,     4,     1,     1,     4,     0,     5,
527        4,     0,     5,     4,     4,     1,     3,     2,     1,     3,
528        2,     4,     2,     2,     0,     4,     2,     0,     7,     1,
529        1,     1,     1,     5,     4,     8,     2,     1,     3,     1,
530        1,     3,     4,     1,     0,     5,     2,     1,     1,     1,
531        4,     1,     4,     4,     2,     1,     0,     1,     1,     1,
532        1,     1,     1,     1,     2,     0,     1,     1,     1,     1,
533        1,     1,     1,     1,     1,     1,     3,     3,     6,     1,
534        0,     5,     2,     3,     0,     0,     7,     3,     3,     0,
535        3,     1,     2,     1,     2,     4,     4,     3,     3,     1,
536        4,     3,     0,     1,     1,     0,     2,     3,     0,     2,
537        2,     3,     4,     2,     2,     2,     3,     3,     3,     3,
538        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
539        3,     3,     5,     3,     3,     4,     1,     1,     4,     4,
540        4,     4,     4,     6,     6,     4,     4,     1,     6,     6,
541        6,     3,     0,     4,     0,     4,     0,     0,     0,     0,
542        0,     0,    17,     0,     0,     0,     0,     0,    18,     0,
543        0,     7,     1,     1,     1,     1,     1,     3,     0,     2,
544        3,     2,     6,    10,     2,     1,     0,     1,     2,     0,
545        0,     3,     0,     0,     0,     0,    11,     4,     0,     2,
546        0,     0,     6,     1,     0,     3,     5,     0,     3,     0,
547        2,     0,     5,     1,     2,     4,     5,     6,     1,     2,
548        0,     2,     4,     4,     8,     1,     3,     0,     9,     0,
549        7,     0,     1
550 };
551 
552 /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
553    doesn't specify something else to do.  Zero means the default is an
554    error. */
555 static const short yydefact[] =
556 {
557        0,    55,     8,     6,   279,     1,    58,     2,    11,     4,
558        0,     3,     0,    56,     9,     0,   290,     0,   280,   283,
559        0,     0,     0,     0,    75,     0,    76,     0,     0,     0,
560        0,     0,     0,     0,     0,     0,   173,   174,     0,     0,
561       78,     0,     0,    97,     0,    68,    57,    60,    66,     0,
562       59,    62,    63,    64,    65,    61,    67,     0,    14,     0,
563        0,     0,     0,    15,     0,     0,     0,    17,    44,     0,
564        0,     0,     0,     0,     0,    49,     0,     0,     0,     0,
565        0,   295,     0,     0,     0,     0,   290,   284,   136,   137,
566      138,   139,   178,   140,   141,   142,   143,   178,    94,   268,
567        0,     0,     5,    81,     0,     0,     0,     0,     0,     0,
568        0,   172,   175,     0,     0,     0,     0,     0,     0,   145,
569      144,    96,     0,     0,    38,     0,   206,   217,     0,     0,
570        0,     0,     0,     0,     0,   207,     0,     0,     0,     0,
571        0,     0,     0,     0,     0,     0,     0,    12,     0,    47,
572       29,    45,    30,    16,    31,    21,     0,    34,     0,    35,
573       50,    36,    52,    37,    40,    10,     7,     0,     0,     0,
574        0,   291,     0,   146,     0,   147,     0,     0,     0,     0,
575       58,   155,   154,     0,     0,     0,     0,     0,   167,   169,
576      150,   150,   175,     0,    85,    88,     0,     0,     0,     0,
577        0,     0,     0,     0,     0,    11,     0,     0,   184,   180,
578        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
579        0,     0,     0,     0,   183,   185,     0,     0,     0,     0,
580        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
581        0,     0,     0,     0,     0,     0,     0,     0,    23,     0,
582        0,    43,     0,     0,     0,    20,     0,     0,    53,     0,
583      299,     0,     0,   285,     0,   296,     0,   179,   227,    91,
584      233,   239,    93,    92,   270,   267,   269,     0,    72,    74,
585      281,   159,     0,    69,    70,    80,    95,   165,   149,   166,
586        0,   170,     0,   175,   176,    83,    87,    90,     0,    77,
587        0,    71,   178,     0,    84,     0,    25,    26,    41,    27,
588       28,   181,     0,     0,     0,     0,     0,     0,     0,     0,
589        0,     0,     0,     0,     0,     0,   204,   203,   201,   200,
590      199,   193,   194,   197,   198,   195,   196,   191,   192,   189,
591      190,   186,   187,   188,    13,    24,    22,    48,    46,    42,
592       18,    19,    33,    32,    51,    54,     0,   292,   293,     0,
593      288,   286,     0,   248,     0,   248,     0,     0,    82,     0,
594        0,   151,     0,   152,   168,   171,   177,    86,    89,    79,
595        0,     0,   282,    39,     0,   212,   216,     0,   215,   205,
596      182,   208,   209,   210,     0,     0,   211,     0,     0,   301,
597        0,   297,   289,   287,     0,     0,   248,     0,   224,   255,
598        0,   256,   240,   273,   274,     0,   163,     0,     0,   161,
599        0,   153,   148,     0,     0,     0,     0,     0,     0,   202,
600      302,     0,     0,     0,   242,   243,   244,   245,   246,   249,
601        0,     0,     0,     0,   251,     0,   226,   254,   257,   224,
602        0,   277,     0,   271,     0,   164,   160,   162,     0,   150,
603       98,   213,   214,   218,   219,   220,   300,     0,   301,   247,
604        0,   250,     0,     0,   228,   226,    94,     0,   274,     0,
605        0,    73,   178,     0,   294,     0,   248,     0,     0,     0,
606      234,     0,     0,   275,     0,   272,   157,     0,   156,   298,
607        0,     0,   223,     0,   229,     0,   241,   278,   274,   178,
608        0,   252,   225,   126,   235,   276,   158,     0,   110,   101,
609      100,   128,   129,   130,   131,   132,     0,     0,   117,   119,
610        0,     0,   118,     0,   102,     0,   113,   121,   125,   127,
611        0,     0,     0,   262,   248,     0,   178,   114,     0,    99,
612        0,   109,   150,     0,   124,   230,   178,   116,     0,     0,
613        0,     0,     0,     0,   133,     0,   107,     0,     0,   111,
614        0,   150,   259,     0,   263,   236,   253,   120,     0,   104,
615      123,    99,     0,     0,   106,   108,   112,     0,   222,   122,
616        0,   259,     0,   115,   103,   258,     0,   260,   126,   222,
617        0,     0,   135,     0,   260,     0,   221,   178,     0,   231,
618      264,   135,   105,   134,   261,   150,   260,   237,   232,   135,
619      150,   265,   238,   150,   266,     0,     0,     0
620 };
621 
622 static const short yydefgoto[] =
623 {
624      625,   103,     9,    10,     7,     8,    14,    78,   205,   153,
625      152,   150,   161,   163,     5,     6,    13,    46,   114,   180,
626      196,    47,   176,    48,   117,   534,   535,   567,   552,   536,
627      537,   565,   538,   539,   540,   541,   563,   609,    97,   121,
628       49,   570,    50,   282,   182,   281,   459,   498,   370,   418,
629      419,    51,    52,   190,    53,   191,    54,   193,   564,   174,
630      210,   597,   446,   474,   273,   363,   489,   513,   572,   615,
631      364,   505,   543,   591,   620,   365,   450,   440,   407,   408,
632      411,   449,   588,   602,   558,   590,   616,   623,    55,   177,
633      276,   366,   480,   414,   453,   478,    11,    12,    56,    57,
634       18,    19,   362,    84,    85,   433,   356,   431
635 };
636 
637 static const short yypact[] =
638 {
639      114,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
640       48,-32768,   -20,   585,   699,    50,   113,    43,   -20,-32768,
641      467,    52,   106,   158,-32768,   162,-32768,   204,   163,   180,
642      184,   193,   218,   231,   245,   247,-32768,-32768,   250,   251,
643   -32768,   253,   254,-32768,   255,-32768,-32768,-32768,-32768,   145,
644   -32768,-32768,-32768,-32768,-32768,-32768,-32768,   173,-32768,   291,
645      204,   293,   520,-32768,   294,   295,   296,-32768,-32768,   302,
646      304,   305,   520,   315,   319,   320,   321,   323,   228,   520,
647      325,-32768,   314,   316,   279,   209,   113,-32768,-32768,-32768,
648   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
649      332,   334,-32768,-32768,   335,   338,   204,   204,   339,   204,
650       17,-32768,   340,   271,   308,   204,   342,   313,   321,-32768,
651   -32768,-32768,   300,     5,-32768,    23,-32768,-32768,   520,   520,
652      520,   317,   324,   327,   328,-32768,   329,   330,   333,   337,
653      341,   350,   351,   352,   355,   520,   520,  1180,    33,-32768,
654      227,-32768,   232,    16,-32768,-32768,   310,  1398,   233,-32768,
655   -32768,   237,-32768,    31,-32768,-32768,  1398,   318,   -71,   -71,
656      230,    10,   301,-32768,   520,-32768,    28,    26,    -4,   244,
657   -32768,-32768,-32768,   248,   252,   266,   267,   268,-32768,-32768,
658        2,    93,    65,   269,-32768,-32768,    22,   271,   282,   362,
659      520,    73,   -20,   520,   520,-32768,   520,   520,-32768,-32768,
660      847,   520,   520,   520,   520,   373,   520,   406,   408,   409,
661      520,   520,   520,   520,-32768,-32768,   520,   520,   520,   520,
662      520,   520,   520,   520,   520,   520,   520,   520,   520,   520,
663      520,   520,   520,   520,   520,   520,   520,   520,  1398,   411,
664      417,-32768,   418,   520,   520,  1398,   275,   419,-32768,   420,
665   -32768,   299,   306,-32768,   422,-32768,   -88,  1398,   467,-32768,
666   -32768,-32768,-32768,-32768,-32768,-32768,-32768,   426,-32768,-32768,
667      666,   394,    62,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
668      204,-32768,   204,   340,-32768,-32768,-32768,-32768,   276,-32768,
669       69,-32768,-32768,  1200,-32768,     7,  1398,  1398,   725,  1398,
670     1398,-32768,   827,   867,  1220,   887,   307,   907,   311,   312,
671      343,  1240,  1289,   938,  1309,  1352,   582,  1269,  1415,  1429,
672     1442,  1029,  1029,   429,   429,   429,   429,   210,   210,   220,
673      220,-32768,-32768,-32768,  1398,  1398,  1398,-32768,-32768,-32768,
674     1398,  1398,-32768,-32768,-32768,-32768,   -71,   -39,    10,   386,
675   -32768,-32768,   -78,   416,   468,   416,   520,   326,-32768,     4,
676      427,-32768,   335,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
677      356,   438,-32768,-32768,   520,-32768,-32768,   520,-32768,-32768,
678   -32768,-32768,-32768,-32768,   520,   520,-32768,   440,   520,   322,
679      434,-32768,-32768,-32768,   185,   415,  1329,   451,   353,-32768,
680     1372,   403,-32768,  1398,    19,   464,-32768,   482,     8,-32768,
681      410,-32768,-32768,   367,   958,   978,   998,  1018,   368,  1398,
682       10,   444,   -71,   -71,-32768,-32768,-32768,-32768,-32768,-32768,
683      370,   520,   142,   484,-32768,   465,   423,-32768,-32768,   353,
684      450,   466,   471,-32768,   377,-32768,-32768,-32768,   499,   385,
685   -32768,-32768,-32768,-32768,-32768,-32768,-32768,   387,   322,-32768,
686     1049,-32768,   520,   474,-32768,   423,-32768,   520,    19,   520,
687      389,-32768,-32768,   437,    10,   460,   225,  1069,   520,   475,
688   -32768,   303,  1089,-32768,  1109,-32768,-32768,   509,-32768,-32768,
689      488,   511,-32768,  1129,-32768,   477,-32768,-32768,    19,-32768,
690      520,-32768,-32768,   533,-32768,-32768,-32768,  1160,   392,-32768,
691   -32768,-32768,-32768,-32768,-32768,-32768,   492,   493,-32768,-32768,
692      494,   495,-32768,   197,-32768,   496,-32768,-32768,-32768,   533,
693      483,   501,   145,-32768,   508,   187,-32768,-32768,    86,-32768,
694      512,-32768,   -64,   197,-32768,-32768,-32768,-32768,    36,   536,
695      428,   516,   433,   435,-32768,    85,-32768,     9,    87,-32768,
696      197,   140,   529,   436,-32768,-32768,-32768,-32768,    86,-32768,
697   -32768,   441,   452,    86,-32768,-32768,-32768,   532,   469,-32768,
698      505,   529,    13,-32768,-32768,-32768,   539,-32768,   533,   469,
699       86,   563,   110,   519,-32768,   453,-32768,-32768,   578,-32768,
700   -32768,   110,-32768,-32768,-32768,   385,-32768,-32768,-32768,   110,
701      385,-32768,-32768,   385,-32768,   583,   584,-32768
702 };
703 
704 static const short yypgoto[] =
705 {
706   -32768,   -53,-32768,-32768,-32768,-32768,   380,-32768,-32768,-32768,
707   -32768,-32768,-32768,   470,-32768,-32768,   407,-32768,-32768,-32768,
708      393,-32768,   121,  -174,-32768,  -282,  -478,    42,    68,    57,
709   -32768,-32768,    89,-32768,    27,-32768,    29,  -569,-32768,    84,
710     -488,  -187,-32768,-32768,  -260,-32768,-32768,-32768,-32768,-32768,
711      211,-32768,-32768,-32768,-32768,-32768,-32768,  -178,   -92,-32768,
712      -61,    34,   181,   159,-32768,-32768,-32768,-32768,-32768,-32768,
713   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -390,   270,
714   -32768,-32768,    46,  -570,-32768,-32768,-32768,-32768,-32768,-32768,
715   -32768,-32768,-32768,-32768,  -459,-32768,-32768,-32768,-32768,-32768,
716      443,   -12,-32768,   552,  -159,-32768,-32768,   178
717 };
718 
719 
720 #define	YYLAST		1476
721 
722 
723 static const short yytable[] =
724 {
725      173,   147,   272,   290,   292,   175,    87,   124,   416,   261,
726      262,   157,   416,   549,   294,   203,   443,   549,   166,   493,
727      251,   102,   373,   451,   519,   542,   296,   297,   519,   360,
728      274,    16,   268,   206,   611,   258,   126,   127,   361,   402,
729      574,   520,   617,   246,    80,   520,   619,    81,   403,   515,
730      621,   542,    15,   184,   185,   551,   187,   189,    16,   382,
731       79,   288,   198,   128,   129,   569,   181,   208,   209,   192,
732      130,   131,   132,   296,   297,   551,   264,   258,   275,   265,
733      269,   400,   133,   134,   224,   225,   135,   248,   575,   581,
734      549,   549,   585,   270,    86,   255,   501,    17,    32,   136,
735      519,   519,   519,    98,   137,   138,   139,   140,   141,   142,
736      542,   452,   421,   267,   371,   376,   271,   520,   520,   520,
737      607,   277,    42,   278,    17,   264,   608,   288,   265,   289,
738      204,   143,    43,   550,   417,   456,   583,   144,   417,   303,
739      600,   252,   306,   307,   188,   309,   310,   298,   207,   299,
740      312,   313,   314,   315,   559,   317,   259,    99,   247,   321,
741      322,   323,   324,   145,   146,   325,   326,   327,   328,   329,
742      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
743      340,   341,   342,   343,   344,   345,   346,   372,   126,   127,
744      293,   549,   350,   351,   298,   100,   379,   399,   259,   101,
745      304,   549,   519,   434,   435,   436,   437,   438,   102,   531,
746      380,   561,   519,   533,   104,   128,   129,   105,   288,   520,
747      291,   106,   130,   131,   132,     1,     2,     3,    80,   520,
748      107,    81,    82,    83,   133,   134,     4,   374,   135,   375,
749      240,   241,   242,   243,   244,   550,   434,   435,   436,   437,
750      438,   136,   242,   243,   244,   108,   137,   138,   139,   140,
751      141,   142,   442,   562,   500,   288,   566,   586,   109,   439,
752      119,   120,   483,   467,   468,   194,   195,   560,   352,   353,
753      377,   378,   110,   143,   111,   584,   562,   112,   113,   144,
754      115,   116,   118,    87,   122,   123,   566,   125,   148,   149,
755      151,   594,   406,   410,   406,   413,   154,   268,   155,   156,
756      584,   561,   439,   126,   127,   145,   146,   272,   605,   158,
757      253,   531,   159,   424,   160,   162,   425,   164,   165,   167,
758      168,   170,   169,   426,   427,   171,   178,   429,   179,   181,
759      128,   129,   183,   186,   192,   197,   199,   130,   131,   132,
760      200,   202,   249,   266,   211,   506,   263,   250,   256,   133,
761      134,   212,   257,   135,   213,   214,   215,   216,   270,   260,
762      217,   279,   302,    32,   218,   283,   136,   316,   219,   284,
763      470,   137,   138,   139,   140,   141,   142,   220,   221,   222,
764      496,   271,   223,   285,   286,   287,   295,    42,    88,    89,
765       90,    91,    92,    93,    94,    95,    96,    43,   143,   301,
766      318,   487,   319,   320,   144,   347,   492,   516,   494,   126,
767      127,   348,   349,   354,   355,   357,   359,   503,   618,   -99,
768      367,   369,   358,   622,   389,   254,   624,   401,   391,   392,
769      145,   146,   423,   420,   428,   445,   128,   129,   430,   517,
770      432,   415,   441,   404,   131,   132,   405,   238,   239,   240,
771      241,   242,   243,   244,   573,   133,   134,   444,   454,   135,
772      393,   126,   127,    88,    89,    90,    91,    92,    93,    94,
773       95,    96,   136,   422,   409,   448,   455,   137,   138,   139,
774      140,   141,   142,   458,   460,   465,   466,   469,   128,   129,
775      471,   476,   472,   477,   481,   130,   131,   132,   479,   482,
776      288,   488,   499,   484,   143,   495,   473,   133,   134,   509,
777      144,   135,   497,   126,   127,   510,   504,   511,   514,   545,
778      546,   547,   548,   553,   136,   555,   595,   518,   556,   137,
779      138,   139,   140,   141,   142,   442,   145,   146,   519,   568,
780      128,   129,   576,   578,   587,   577,   598,   130,   131,   132,
781      579,   596,   580,   589,   601,   520,   143,   606,  -110,   133,
782      134,   610,   144,   135,   521,   522,   523,   524,   525,   593,
783      612,   526,   614,   626,   627,   308,   136,   280,   201,    20,
784      300,   137,   138,   139,   140,   141,   142,   491,   145,   146,
785      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
786      238,   239,   240,   241,   242,   243,   244,   527,   143,   528,
787      592,   571,   582,   529,   144,   603,   557,    42,   554,   457,
788      475,    21,    22,   604,   490,   412,   613,   599,   172,    23,
789       24,    25,    26,    27,    28,   305,   485,     0,     0,     0,
790      145,   146,    29,    30,    31,    32,   530,   531,     0,   532,
791        0,   533,    33,    34,    35,    36,    37,    38,     0,     0,
792       20,     0,    39,    40,    41,     0,     0,     0,     0,    42,
793        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
795       44,     0,   368,    58,     0,     0,  -281,     0,     0,     0,
796        0,    45,    21,    22,     0,     0,     0,     0,     0,     0,
797       23,    24,    25,    26,    27,    28,     0,     0,     0,    58,
798        0,     0,     0,    29,    30,    31,    32,    59,     0,     0,
799        0,     0,     0,    33,    34,    35,    36,    37,    38,     0,
800        0,     0,     0,    39,    40,    41,     0,    60,     0,     0,
801       42,   383,     0,    59,     0,     0,     0,     0,     0,     0,
802       43,     0,     0,     0,     0,     0,     0,     0,     0,     0,
803        0,    44,     0,    60,     0,     0,     0,     0,     0,     0,
804       61,     0,    45,     0,    62,    63,    64,    65,    66,   -41,
805       67,    68,    69,     0,    70,    71,    72,    73,    74,     0,
806        0,     0,     0,    75,    76,    77,    61,     0,     0,     0,
807       62,    63,    64,    65,    66,     0,    67,    68,    69,     0,
808       70,    71,    72,    73,    74,     0,     0,     0,     0,    75,
809       76,    77,   226,     0,   227,   228,   229,   230,   231,   232,
810      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
811      243,   244,   226,     0,   227,   228,   229,   230,   231,   232,
812      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
813      243,   244,   226,     0,   227,   228,   229,   230,   231,   232,
814      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
815      243,   244,   226,     0,   227,   228,   229,   230,   231,   232,
816      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
817      243,   244,   226,     0,   227,   228,   229,   230,   231,   232,
818      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
819      243,   244,     0,     0,     0,     0,     0,     0,     0,     0,
820        0,     0,   384,   226,   385,   227,   228,   229,   230,   231,
821      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
822      242,   243,   244,   226,   311,   227,   228,   229,   230,   231,
823      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
824      242,   243,   244,   226,   386,   227,   228,   229,   230,   231,
825      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
826      242,   243,   244,   226,   388,   227,   228,   229,   230,   231,
827      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
828      242,   243,   244,   226,   390,   227,   228,   229,   230,   231,
829      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
830      242,   243,   244,   234,   235,   236,   237,   238,   239,   240,
831      241,   242,   243,   244,   226,   396,   227,   228,   229,   230,
832      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
833      241,   242,   243,   244,   226,   461,   227,   228,   229,   230,
834      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
835      241,   242,   243,   244,   226,   462,   227,   228,   229,   230,
836      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
837      241,   242,   243,   244,   226,   463,   227,   228,   229,   230,
838      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
839      241,   242,   243,   244,   226,   464,   227,   228,   229,   230,
840      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
841      241,   242,   243,   244,     0,     0,     0,     0,     0,     0,
842        0,     0,     0,     0,     0,   226,   486,   227,   228,   229,
843      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
844      240,   241,   242,   243,   244,   226,   502,   227,   228,   229,
845      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
846      240,   241,   242,   243,   244,   226,   507,   227,   228,   229,
847      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
848      240,   241,   242,   243,   244,   226,   508,   227,   228,   229,
849      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
850      240,   241,   242,   243,   244,   226,   512,   227,   228,   229,
851      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
852      240,   241,   242,   243,   244,     0,     0,     0,     0,     0,
853        0,     0,     0,     0,     0,     0,     0,   544,   229,   230,
854      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
855      241,   242,   243,   244,   226,   245,   227,   228,   229,   230,
856      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
857      241,   242,   243,   244,   226,   381,   227,   228,   229,   230,
858      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
859      241,   242,   243,   244,   226,   387,   227,   228,   229,   230,
860      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
861      241,   242,   243,   244,     0,   394,   442,   226,   398,   227,
862      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
863      238,   239,   240,   241,   242,   243,   244,   226,   447,   227,
864      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
865      238,   239,   240,   241,   242,   243,   244,     0,     0,     0,
866        0,     0,     0,   226,   395,   227,   228,   229,   230,   231,
867      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
868      242,   243,   244,     0,   397,   230,   231,   232,   233,   234,
869      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
870      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
871      241,   242,   243,   244,   232,   233,   234,   235,   236,   237,
872      238,   239,   240,   241,   242,   243,   244
873 };
874 
875 static const short yycheck[] =
876 {
877       92,    62,   176,   190,   191,    97,    18,    60,     4,   168,
878      169,    72,     4,     4,   192,    10,   406,     4,    79,   478,
879        4,     4,   282,     4,    15,   513,     4,     5,    15,   117,
880        4,    51,     4,    10,   604,     4,     3,     4,   126,   117,
881        4,    32,   611,    10,   115,    32,   616,   118,   126,   508,
882      619,   539,     4,   106,   107,   533,   109,   110,    51,    52,
883       10,   125,   115,    30,    31,   129,     4,   128,   129,     4,
884       37,    38,    39,     4,     5,   553,   115,     4,    52,   118,
885       52,   120,    49,    50,   145,   146,    53,   148,    52,     4,
886        4,     4,   570,    65,    51,   156,   486,   117,    70,    66,
887       15,    15,    15,    51,    71,    72,    73,    74,    75,    76,
888      598,    92,   372,   174,    52,   293,    88,    32,    32,    32,
889       10,   125,    94,   127,   117,   115,    16,   125,   118,   127,
890      125,    98,   104,    48,   130,   127,   127,   104,   130,   200,
891      127,   125,   203,   204,   127,   206,   207,   125,   125,   127,
892      211,   212,   213,   214,   544,   216,   125,    51,   125,   220,
893      221,   222,   223,   130,   131,   226,   227,   228,   229,   230,
894      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
895      241,   242,   243,   244,   245,   246,   247,   125,     3,     4,
896      125,     4,   253,   254,   125,    37,   127,   356,   125,    37,
897      127,     4,    15,    61,    62,    63,    64,    65,     4,   124,
898      302,   124,    15,   128,    51,    30,    31,    37,   125,    32,
899      127,    37,    37,    38,    39,   111,   112,   113,   115,    32,
900       37,   118,   119,   120,    49,    50,   122,   290,    53,   292,
901       30,    31,    32,    33,    34,    48,    61,    62,    63,    64,
902       65,    66,    32,    33,    34,    37,    71,    72,    73,    74,
903       75,    76,    37,   545,    39,   125,   548,   127,    37,   127,
904      125,   126,   459,   432,   433,     4,     5,    90,     3,     4,
905        4,     5,    37,    98,    37,   567,   568,    37,    37,   104,
906       37,    37,    37,   305,   121,     4,   578,     4,     4,     4,
907        4,   583,   363,   364,   365,   366,     4,     4,     4,     4,
908      592,   124,   127,     3,     4,   130,   131,   491,   600,     4,
909       10,   124,     3,   384,     4,     4,   387,     4,   100,     4,
910       16,    52,    16,   394,   395,   126,     4,   398,     4,     4,
911       30,    31,     4,     4,     4,    37,     4,    37,    38,    39,
912       37,    51,   125,    52,    37,    52,   126,   125,   125,    49,
913       50,    37,   125,    53,    37,    37,    37,    37,    65,    51,
914       37,   127,    10,    70,    37,   127,    66,     4,    37,   127,
915      441,    71,    72,    73,    74,    75,    76,    37,    37,    37,
916      482,    88,    37,   127,   127,   127,   127,    94,     6,     7,
917        8,     9,    10,    11,    12,    13,    14,   104,    98,   127,
918        4,   472,     4,     4,   104,     4,   477,   509,   479,     3,
919        4,     4,     4,     4,     4,   126,     4,   488,   615,    37,
920        4,    37,   126,   620,   127,   125,   623,    51,   127,   127,
921      130,   131,     4,    16,     4,    92,    30,    31,   126,   510,
922       16,   125,    37,    37,    38,    39,    40,    28,    29,    30,
923       31,    32,    33,    34,   556,    49,    50,    16,     4,    53,
924      127,     3,     4,     6,     7,     8,     9,    10,    11,    12,
925       13,    14,    66,   127,    16,    82,     4,    71,    72,    73,
926       74,    75,    76,    83,   127,   127,    52,   127,    30,    31,
927       16,    51,    37,    37,   127,    37,    38,    39,    37,    10,
928      125,    37,    52,   126,    98,   126,    93,    49,    50,    10,
929      104,    53,    85,     3,     4,    37,    51,    16,    51,    37,
930       37,    37,    37,    37,    66,    52,     4,     4,    37,    71,
931       72,    73,    74,    75,    76,    37,   130,   131,    15,    37,
932       30,    31,    16,    37,    25,   127,    51,    37,    38,    39,
933      127,    92,   127,   127,    25,    32,    98,     4,   127,    49,
934       50,    52,   104,    53,    41,    42,    43,    44,    45,   127,
935      127,    48,     4,     0,     0,   205,    66,   180,   118,     4,
936      197,    71,    72,    73,    74,    75,    76,   476,   130,   131,
937       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
938       28,    29,    30,    31,    32,    33,    34,    84,    98,    86,
939      578,   553,   565,    90,   104,   598,   542,    94,   539,   418,
940      449,    46,    47,   599,   475,   365,   607,   591,    86,    54,
941       55,    56,    57,    58,    59,   202,   468,    -1,    -1,    -1,
942      130,   131,    67,    68,    69,    70,   123,   124,    -1,   126,
943       -1,   128,    77,    78,    79,    80,    81,    82,    -1,    -1,
944        4,    -1,    87,    88,    89,    -1,    -1,    -1,    -1,    94,
945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
947      115,    -1,    36,     4,    -1,    -1,   121,    -1,    -1,    -1,
948       -1,   126,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,
949       54,    55,    56,    57,    58,    59,    -1,    -1,    -1,     4,
950       -1,    -1,    -1,    67,    68,    69,    70,    38,    -1,    -1,
951       -1,    -1,    -1,    77,    78,    79,    80,    81,    82,    -1,
952       -1,    -1,    -1,    87,    88,    89,    -1,    58,    -1,    -1,
953       94,    36,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,
954      104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
955       -1,   115,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
956       91,    -1,   126,    -1,    95,    96,    97,    98,    99,   100,
957      101,   102,   103,    -1,   105,   106,   107,   108,   109,    -1,
958       -1,    -1,    -1,   114,   115,   116,    91,    -1,    -1,    -1,
959       95,    96,    97,    98,    99,    -1,   101,   102,   103,    -1,
960      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,   114,
961      115,   116,    15,    -1,    17,    18,    19,    20,    21,    22,
962       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
963       33,    34,    15,    -1,    17,    18,    19,    20,    21,    22,
964       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
965       33,    34,    15,    -1,    17,    18,    19,    20,    21,    22,
966       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
967       33,    34,    15,    -1,    17,    18,    19,    20,    21,    22,
968       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
969       33,    34,    15,    -1,    17,    18,    19,    20,    21,    22,
970       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
971       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
972       -1,    -1,   125,    15,   127,    17,    18,    19,    20,    21,
973       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
974       32,    33,    34,    15,   127,    17,    18,    19,    20,    21,
975       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
976       32,    33,    34,    15,   127,    17,    18,    19,    20,    21,
977       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
978       32,    33,    34,    15,   127,    17,    18,    19,    20,    21,
979       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
980       32,    33,    34,    15,   127,    17,    18,    19,    20,    21,
981       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
982       32,    33,    34,    24,    25,    26,    27,    28,    29,    30,
983       31,    32,    33,    34,    15,   127,    17,    18,    19,    20,
984       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
985       31,    32,    33,    34,    15,   127,    17,    18,    19,    20,
986       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
987       31,    32,    33,    34,    15,   127,    17,    18,    19,    20,
988       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
989       31,    32,    33,    34,    15,   127,    17,    18,    19,    20,
990       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
991       31,    32,    33,    34,    15,   127,    17,    18,    19,    20,
992       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
993       31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
994       -1,    -1,    -1,    -1,    -1,    15,   127,    17,    18,    19,
995       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
996       30,    31,    32,    33,    34,    15,   127,    17,    18,    19,
997       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
998       30,    31,    32,    33,    34,    15,   127,    17,    18,    19,
999       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1000       30,    31,    32,    33,    34,    15,   127,    17,    18,    19,
1001       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1002       30,    31,    32,    33,    34,    15,   127,    17,    18,    19,
1003       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1004       30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
1005       -1,    -1,    -1,    -1,    -1,    -1,    -1,   127,    19,    20,
1006       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1007       31,    32,    33,    34,    15,   125,    17,    18,    19,    20,
1008       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1009       31,    32,    33,    34,    15,   125,    17,    18,    19,    20,
1010       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1011       31,    32,    33,    34,    15,   125,    17,    18,    19,    20,
1012       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1013       31,    32,    33,    34,    -1,   125,    37,    15,    16,    17,
1014       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1015       28,    29,    30,    31,    32,    33,    34,    15,    16,    17,
1016       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1017       28,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
1018       -1,    -1,    -1,    15,   125,    17,    18,    19,    20,    21,
1019       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1020       32,    33,    34,    -1,   125,    20,    21,    22,    23,    24,
1021       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1022       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1023       31,    32,    33,    34,    22,    23,    24,    25,    26,    27,
1024       28,    29,    30,    31,    32,    33,    34
1025 };
1026 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
1027 #line 3 "/usr/share/bison-1.35/bison.simple"
1028 
1029 /* Skeleton output parser for bison,
1030 
1031    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
1032    Foundation, Inc.
1033 
1034    This program is free software; you can redistribute it and/or modify
1035    it under the terms of the GNU General Public License as published by
1036    the Free Software Foundation; either version 2, or (at your option)
1037    any later version.
1038 
1039    This program is distributed in the hope that it will be useful,
1040    but WITHOUT ANY WARRANTY; without even the implied warranty of
1041    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1042    GNU General Public License for more details.
1043 
1044    You should have received a copy of the GNU General Public License
1045    along with this program; if not, write to the Free Software
1046    Foundation, Inc., 59 Temple Place - Suite 330,
1047    Boston, MA 02111-1307, USA.  */
1048 
1049 /* As a special exception, when this file is copied by Bison into a
1050    Bison output file, you may use that output file without restriction.
1051    This special exception was added by the Free Software Foundation
1052    in version 1.24 of Bison.  */
1053 
1054 /* This is the parser code that is written into each bison parser when
1055    the %semantic_parser declaration is not specified in the grammar.
1056    It was written by Richard Stallman by simplifying the hairy parser
1057    used when %semantic_parser is specified.  */
1058 
1059 /* All symbols defined below should begin with yy or YY, to avoid
1060    infringing on user name space.  This should be done even for local
1061    variables, as they might otherwise be expanded by user macros.
1062    There are some unavoidable exceptions within include files to
1063    define necessary library symbols; they are noted "INFRINGES ON
1064    USER NAME SPACE" below.  */
1065 
1066 #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
1067 
1068 /* The parser invokes alloca or malloc; define the necessary symbols.  */
1069 
1070 # if YYSTACK_USE_ALLOCA
1071 #  define YYSTACK_ALLOC alloca
1072 # else
1073 #  ifndef YYSTACK_USE_ALLOCA
1074 #   if defined (alloca) || defined (_ALLOCA_H)
1075 #    define YYSTACK_ALLOC alloca
1076 #   else
1077 #    ifdef __GNUC__
1078 #     define YYSTACK_ALLOC __builtin_alloca
1079 #    endif
1080 #   endif
1081 #  endif
1082 # endif
1083 
1084 # ifdef YYSTACK_ALLOC
1085    /* Pacify GCC's `empty if-body' warning. */
1086 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1087 # else
1088 #  if defined (__STDC__) || defined (__cplusplus)
1089 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1090 #   define YYSIZE_T size_t
1091 #  endif
1092 #  define YYSTACK_ALLOC malloc
1093 #  define YYSTACK_FREE free
1094 # endif
1095 #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
1096 
1097 
1098 #if (! defined (yyoverflow) \
1099      && (! defined (__cplusplus) \
1100 	 || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1101 
1102 /* A type that is properly aligned for any stack member.  */
1103 union yyalloc
1104 {
1105   short yyss;
1106   YYSTYPE yyvs;
1107 # if YYLSP_NEEDED
1108   YYLTYPE yyls;
1109 # endif
1110 };
1111 
1112 /* The size of the maximum gap between one aligned stack and the next.  */
1113 # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
1114 
1115 /* The size of an array large to enough to hold all stacks, each with
1116    N elements.  */
1117 # if YYLSP_NEEDED
1118 #  define YYSTACK_BYTES(N) \
1119      ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))	\
1120       + 2 * YYSTACK_GAP_MAX)
1121 # else
1122 #  define YYSTACK_BYTES(N) \
1123      ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
1124       + YYSTACK_GAP_MAX)
1125 # endif
1126 
1127 /* Copy COUNT objects from FROM to TO.  The source and destination do
1128    not overlap.  */
1129 # ifndef YYCOPY
1130 #  if 1 < __GNUC__
1131 #   define YYCOPY(To, From, Count) \
1132       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1133 #  else
1134 #   define YYCOPY(To, From, Count)		\
1135       do					\
1136 	{					\
1137 	  register YYSIZE_T yyi;		\
1138 	  for (yyi = 0; yyi < (Count); yyi++)	\
1139 	    (To)[yyi] = (From)[yyi];		\
1140 	}					\
1141       while (0)
1142 #  endif
1143 # endif
1144 
1145 /* Relocate STACK from its old location to the new one.  The
1146    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1147    elements in the stack, and YYPTR gives the new location of the
1148    stack.  Advance YYPTR to a properly aligned location for the next
1149    stack.  */
1150 # define YYSTACK_RELOCATE(Stack)					\
1151     do									\
1152       {									\
1153 	YYSIZE_T yynewbytes;						\
1154 	YYCOPY (&yyptr->Stack, Stack, yysize);				\
1155 	Stack = &yyptr->Stack;						\
1156 	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;	\
1157 	yyptr += yynewbytes / sizeof (*yyptr);				\
1158       }									\
1159     while (0)
1160 
1161 #endif
1162 
1163 
1164 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
1165 # define YYSIZE_T __SIZE_TYPE__
1166 #endif
1167 #if ! defined (YYSIZE_T) && defined (size_t)
1168 # define YYSIZE_T size_t
1169 #endif
1170 #if ! defined (YYSIZE_T)
1171 # if defined (__STDC__) || defined (__cplusplus)
1172 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1173 #  define YYSIZE_T size_t
1174 # endif
1175 #endif
1176 #if ! defined (YYSIZE_T)
1177 # define YYSIZE_T unsigned int
1178 #endif
1179 
1180 #define yyerrok		(yyerrstatus = 0)
1181 #define yyclearin	(yychar = YYEMPTY)
1182 #define YYEMPTY		-2
1183 #define YYEOF		0
1184 #define YYACCEPT	goto yyacceptlab
1185 #define YYABORT 	goto yyabortlab
1186 #define YYERROR		goto yyerrlab1
1187 /* Like YYERROR except do call yyerror.  This remains here temporarily
1188    to ease the transition to the new meaning of YYERROR, for GCC.
1189    Once GCC version 2 has supplanted version 1, this can go.  */
1190 #define YYFAIL		goto yyerrlab
1191 #define YYRECOVERING()  (!!yyerrstatus)
1192 #define YYBACKUP(Token, Value)					\
1193 do								\
1194   if (yychar == YYEMPTY && yylen == 1)				\
1195     {								\
1196       yychar = (Token);						\
1197       yylval = (Value);						\
1198       yychar1 = YYTRANSLATE (yychar);				\
1199       YYPOPSTACK;						\
1200       goto yybackup;						\
1201     }								\
1202   else								\
1203     { 								\
1204       yyerror ("syntax error: cannot back up");			\
1205       YYERROR;							\
1206     }								\
1207 while (0)
1208 
1209 #define YYTERROR	1
1210 #define YYERRCODE	256
1211 
1212 
1213 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
1214    are run).
1215 
1216    When YYLLOC_DEFAULT is run, CURRENT is set the location of the
1217    first token.  By default, to implement support for ranges, extend
1218    its range to the last symbol.  */
1219 
1220 #ifndef YYLLOC_DEFAULT
1221 # define YYLLOC_DEFAULT(Current, Rhs, N)       	\
1222    Current.last_line   = Rhs[N].last_line;	\
1223    Current.last_column = Rhs[N].last_column;
1224 #endif
1225 
1226 
1227 /* YYLEX -- calling `yylex' with the right arguments.  */
1228 
1229 #if YYPURE
1230 # if YYLSP_NEEDED
1231 #  ifdef YYLEX_PARAM
1232 #   define YYLEX		yylex (&yylval, &yylloc, YYLEX_PARAM)
1233 #  else
1234 #   define YYLEX		yylex (&yylval, &yylloc)
1235 #  endif
1236 # else /* !YYLSP_NEEDED */
1237 #  ifdef YYLEX_PARAM
1238 #   define YYLEX		yylex (&yylval, YYLEX_PARAM)
1239 #  else
1240 #   define YYLEX		yylex (&yylval)
1241 #  endif
1242 # endif /* !YYLSP_NEEDED */
1243 #else /* !YYPURE */
1244 # define YYLEX			yylex ()
1245 #endif /* !YYPURE */
1246 
1247 
1248 /* Enable debugging if requested.  */
1249 #if YYDEBUG
1250 
1251 # ifndef YYFPRINTF
1252 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1253 #  define YYFPRINTF fprintf
1254 # endif
1255 
1256 # define YYDPRINTF(Args)			\
1257 do {						\
1258   if (yydebug)					\
1259     YYFPRINTF Args;				\
1260 } while (0)
1261 /* Nonzero means print parse trace.  It is left uninitialized so that
1262    multiple parsers can coexist.  */
1263 int yydebug;
1264 #else /* !YYDEBUG */
1265 # define YYDPRINTF(Args)
1266 #endif /* !YYDEBUG */
1267 
1268 /* YYINITDEPTH -- initial size of the parser's stacks.  */
1269 #ifndef	YYINITDEPTH
1270 # define YYINITDEPTH 200
1271 #endif
1272 
1273 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1274    if the built-in stack extension method is used).
1275 
1276    Do not make this value too large; the results are undefined if
1277    SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
1278    evaluated with infinite-precision integer arithmetic.  */
1279 
1280 #if YYMAXDEPTH == 0
1281 # undef YYMAXDEPTH
1282 #endif
1283 
1284 #ifndef YYMAXDEPTH
1285 # define YYMAXDEPTH 10000
1286 #endif
1287 
1288 #ifdef YYERROR_VERBOSE
1289 
1290 # ifndef yystrlen
1291 #  if defined (__GLIBC__) && defined (_STRING_H)
1292 #   define yystrlen strlen
1293 #  else
1294 /* Return the length of YYSTR.  */
1295 static YYSIZE_T
1296 #   if defined (__STDC__) || defined (__cplusplus)
yystrlen(const char * yystr)1297 yystrlen (const char *yystr)
1298 #   else
1299 yystrlen (yystr)
1300      const char *yystr;
1301 #   endif
1302 {
1303   register const char *yys = yystr;
1304 
1305   while (*yys++ != '\0')
1306     continue;
1307 
1308   return yys - yystr - 1;
1309 }
1310 #  endif
1311 # endif
1312 
1313 # ifndef yystpcpy
1314 #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
1315 #   define yystpcpy stpcpy
1316 #  else
1317 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1318    YYDEST.  */
1319 static char *
1320 #   if defined (__STDC__) || defined (__cplusplus)
yystpcpy(char * yydest,const char * yysrc)1321 yystpcpy (char *yydest, const char *yysrc)
1322 #   else
1323 yystpcpy (yydest, yysrc)
1324      char *yydest;
1325      const char *yysrc;
1326 #   endif
1327 {
1328   register char *yyd = yydest;
1329   register const char *yys = yysrc;
1330 
1331   while ((*yyd++ = *yys++) != '\0')
1332     continue;
1333 
1334   return yyd - 1;
1335 }
1336 #  endif
1337 # endif
1338 #endif
1339 
1340 #line 315 "/usr/share/bison-1.35/bison.simple"
1341 
1342 
1343 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1344    into yyparse.  The argument should have type void *.
1345    It should actually point to an object.
1346    Grammar actions can access the variable by casting it
1347    to the proper pointer type.  */
1348 
1349 #ifdef YYPARSE_PARAM
1350 # if defined (__STDC__) || defined (__cplusplus)
1351 #  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1352 #  define YYPARSE_PARAM_DECL
1353 # else
1354 #  define YYPARSE_PARAM_ARG YYPARSE_PARAM
1355 #  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1356 # endif
1357 #else /* !YYPARSE_PARAM */
1358 # define YYPARSE_PARAM_ARG
1359 # define YYPARSE_PARAM_DECL
1360 #endif /* !YYPARSE_PARAM */
1361 
1362 /* Prevent warning if -Wstrict-prototypes.  */
1363 #ifdef __GNUC__
1364 # ifdef YYPARSE_PARAM
1365 int yyparse (void *);
1366 # else
1367 int yyparse (void);
1368 # endif
1369 #endif
1370 
1371 /* YY_DECL_VARIABLES -- depending whether we use a pure parser,
1372    variables are global, or local to YYPARSE.  */
1373 
1374 #define YY_DECL_NON_LSP_VARIABLES			\
1375 /* The lookahead symbol.  */				\
1376 int yychar;						\
1377 							\
1378 /* The semantic value of the lookahead symbol. */	\
1379 YYSTYPE yylval;						\
1380 							\
1381 /* Number of parse errors so far.  */			\
1382 int yynerrs;
1383 
1384 #if YYLSP_NEEDED
1385 # define YY_DECL_VARIABLES			\
1386 YY_DECL_NON_LSP_VARIABLES			\
1387 						\
1388 /* Location data for the lookahead symbol.  */	\
1389 YYLTYPE yylloc;
1390 #else
1391 # define YY_DECL_VARIABLES			\
1392 YY_DECL_NON_LSP_VARIABLES
1393 #endif
1394 
1395 
1396 /* If nonreentrant, generate the variables here. */
1397 
1398 #if !YYPURE
1399 YY_DECL_VARIABLES
1400 #endif  /* !YYPURE */
1401 
1402 int
yyparse(YYPARSE_PARAM_ARG)1403 yyparse (YYPARSE_PARAM_ARG)
1404      YYPARSE_PARAM_DECL
1405 {
1406   /* If reentrant, generate the variables here. */
1407 #if YYPURE
1408   YY_DECL_VARIABLES
1409 #endif  /* !YYPURE */
1410 
1411   register int yystate;
1412   register int yyn;
1413   int yyresult;
1414   /* Number of tokens to shift before error messages enabled.  */
1415   int yyerrstatus;
1416   /* Lookahead token as an internal (translated) token number.  */
1417   int yychar1 = 0;
1418 
1419   /* Three stacks and their tools:
1420      `yyss': related to states,
1421      `yyvs': related to semantic values,
1422      `yyls': related to locations.
1423 
1424      Refer to the stacks thru separate pointers, to allow yyoverflow
1425      to reallocate them elsewhere.  */
1426 
1427   /* The state stack. */
1428   short	yyssa[YYINITDEPTH];
1429   short *yyss = yyssa;
1430   register short *yyssp;
1431 
1432   /* The semantic value stack.  */
1433   YYSTYPE yyvsa[YYINITDEPTH];
1434   YYSTYPE *yyvs = yyvsa;
1435   register YYSTYPE *yyvsp;
1436 
1437 #if YYLSP_NEEDED
1438   /* The location stack.  */
1439   YYLTYPE yylsa[YYINITDEPTH];
1440   YYLTYPE *yyls = yylsa;
1441   YYLTYPE *yylsp;
1442 #endif
1443 
1444 #if YYLSP_NEEDED
1445 # define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
1446 #else
1447 # define YYPOPSTACK   (yyvsp--, yyssp--)
1448 #endif
1449 
1450   YYSIZE_T yystacksize = YYINITDEPTH;
1451 
1452 
1453   /* The variables used to return semantic value and location from the
1454      action routines.  */
1455   YYSTYPE yyval;
1456 #if YYLSP_NEEDED
1457   YYLTYPE yyloc;
1458 #endif
1459 
1460   /* When reducing, the number of symbols on the RHS of the reduced
1461      rule. */
1462   int yylen;
1463 
1464   YYDPRINTF ((stderr, "Starting parse\n"));
1465 
1466   yystate = 0;
1467   yyerrstatus = 0;
1468   yynerrs = 0;
1469   yychar = YYEMPTY;		/* Cause a token to be read.  */
1470 
1471   /* Initialize stack pointers.
1472      Waste one element of value and location stack
1473      so that they stay on the same level as the state stack.
1474      The wasted elements are never initialized.  */
1475 
1476   yyssp = yyss;
1477   yyvsp = yyvs;
1478 #if YYLSP_NEEDED
1479   yylsp = yyls;
1480 #endif
1481   goto yysetstate;
1482 
1483 /*------------------------------------------------------------.
1484 | yynewstate -- Push a new state, which is found in yystate.  |
1485 `------------------------------------------------------------*/
1486  yynewstate:
1487   /* In all cases, when you get here, the value and location stacks
1488      have just been pushed. so pushing a state here evens the stacks.
1489      */
1490   yyssp++;
1491 
1492  yysetstate:
1493   *yyssp = yystate;
1494 
1495   if (yyssp >= yyss + yystacksize - 1)
1496     {
1497       /* Get the current used size of the three stacks, in elements.  */
1498       YYSIZE_T yysize = yyssp - yyss + 1;
1499 
1500 #ifdef yyoverflow
1501       {
1502 	/* Give user a chance to reallocate the stack. Use copies of
1503 	   these so that the &'s don't force the real ones into
1504 	   memory.  */
1505 	YYSTYPE *yyvs1 = yyvs;
1506 	short *yyss1 = yyss;
1507 
1508 	/* Each stack pointer address is followed by the size of the
1509 	   data in use in that stack, in bytes.  */
1510 # if YYLSP_NEEDED
1511 	YYLTYPE *yyls1 = yyls;
1512 	/* This used to be a conditional around just the two extra args,
1513 	   but that might be undefined if yyoverflow is a macro.  */
1514 	yyoverflow ("parser stack overflow",
1515 		    &yyss1, yysize * sizeof (*yyssp),
1516 		    &yyvs1, yysize * sizeof (*yyvsp),
1517 		    &yyls1, yysize * sizeof (*yylsp),
1518 		    &yystacksize);
1519 	yyls = yyls1;
1520 # else
1521 	yyoverflow ("parser stack overflow",
1522 		    &yyss1, yysize * sizeof (*yyssp),
1523 		    &yyvs1, yysize * sizeof (*yyvsp),
1524 		    &yystacksize);
1525 # endif
1526 	yyss = yyss1;
1527 	yyvs = yyvs1;
1528       }
1529 #else /* no yyoverflow */
1530 # ifndef YYSTACK_RELOCATE
1531       goto yyoverflowlab;
1532 # else
1533       /* Extend the stack our own way.  */
1534       if (yystacksize >= YYMAXDEPTH)
1535 	goto yyoverflowlab;
1536       yystacksize *= 2;
1537       if (yystacksize > YYMAXDEPTH)
1538 	yystacksize = YYMAXDEPTH;
1539 
1540       {
1541 	short *yyss1 = yyss;
1542 	union yyalloc *yyptr =
1543 	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1544 	if (! yyptr)
1545 	  goto yyoverflowlab;
1546 	YYSTACK_RELOCATE (yyss);
1547 	YYSTACK_RELOCATE (yyvs);
1548 # if YYLSP_NEEDED
1549 	YYSTACK_RELOCATE (yyls);
1550 # endif
1551 # undef YYSTACK_RELOCATE
1552 	if (yyss1 != yyssa)
1553 	  YYSTACK_FREE (yyss1);
1554       }
1555 # endif
1556 #endif /* no yyoverflow */
1557 
1558       yyssp = yyss + yysize - 1;
1559       yyvsp = yyvs + yysize - 1;
1560 #if YYLSP_NEEDED
1561       yylsp = yyls + yysize - 1;
1562 #endif
1563 
1564       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1565 		  (unsigned long int) yystacksize));
1566 
1567       if (yyssp >= yyss + yystacksize - 1)
1568 	YYABORT;
1569     }
1570 
1571   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1572 
1573   goto yybackup;
1574 
1575 
1576 /*-----------.
1577 | yybackup.  |
1578 `-----------*/
1579 yybackup:
1580 
1581 /* Do appropriate processing given the current state.  */
1582 /* Read a lookahead token if we need one and don't already have one.  */
1583 /* yyresume: */
1584 
1585   /* First try to decide what to do without reference to lookahead token.  */
1586 
1587   yyn = yypact[yystate];
1588   if (yyn == YYFLAG)
1589     goto yydefault;
1590 
1591   /* Not known => get a lookahead token if don't already have one.  */
1592 
1593   /* yychar is either YYEMPTY or YYEOF
1594      or a valid token in external form.  */
1595 
1596   if (yychar == YYEMPTY)
1597     {
1598       YYDPRINTF ((stderr, "Reading a token: "));
1599       yychar = YYLEX;
1600     }
1601 
1602   /* Convert token to internal form (in yychar1) for indexing tables with */
1603 
1604   if (yychar <= 0)		/* This means end of input. */
1605     {
1606       yychar1 = 0;
1607       yychar = YYEOF;		/* Don't call YYLEX any more */
1608 
1609       YYDPRINTF ((stderr, "Now at end of input.\n"));
1610     }
1611   else
1612     {
1613       yychar1 = YYTRANSLATE (yychar);
1614 
1615 #if YYDEBUG
1616      /* We have to keep this `#if YYDEBUG', since we use variables
1617 	which are defined only if `YYDEBUG' is set.  */
1618       if (yydebug)
1619 	{
1620 	  YYFPRINTF (stderr, "Next token is %d (%s",
1621 		     yychar, yytname[yychar1]);
1622 	  /* Give the individual parser a way to print the precise
1623 	     meaning of a token, for further debugging info.  */
1624 # ifdef YYPRINT
1625 	  YYPRINT (stderr, yychar, yylval);
1626 # endif
1627 	  YYFPRINTF (stderr, ")\n");
1628 	}
1629 #endif
1630     }
1631 
1632   yyn += yychar1;
1633   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
1634     goto yydefault;
1635 
1636   yyn = yytable[yyn];
1637 
1638   /* yyn is what to do for this token type in this state.
1639      Negative => reduce, -yyn is rule number.
1640      Positive => shift, yyn is new state.
1641        New state is final state => don't bother to shift,
1642        just return success.
1643      0, or most negative number => error.  */
1644 
1645   if (yyn < 0)
1646     {
1647       if (yyn == YYFLAG)
1648 	goto yyerrlab;
1649       yyn = -yyn;
1650       goto yyreduce;
1651     }
1652   else if (yyn == 0)
1653     goto yyerrlab;
1654 
1655   if (yyn == YYFINAL)
1656     YYACCEPT;
1657 
1658   /* Shift the lookahead token.  */
1659   YYDPRINTF ((stderr, "Shifting token %d (%s), ",
1660 	      yychar, yytname[yychar1]));
1661 
1662   /* Discard the token being shifted unless it is eof.  */
1663   if (yychar != YYEOF)
1664     yychar = YYEMPTY;
1665 
1666   *++yyvsp = yylval;
1667 #if YYLSP_NEEDED
1668   *++yylsp = yylloc;
1669 #endif
1670 
1671   /* Count tokens shifted since error; after three, turn off error
1672      status.  */
1673   if (yyerrstatus)
1674     yyerrstatus--;
1675 
1676   yystate = yyn;
1677   goto yynewstate;
1678 
1679 
1680 /*-----------------------------------------------------------.
1681 | yydefault -- do the default action for the current state.  |
1682 `-----------------------------------------------------------*/
1683 yydefault:
1684   yyn = yydefact[yystate];
1685   if (yyn == 0)
1686     goto yyerrlab;
1687   goto yyreduce;
1688 
1689 
1690 /*-----------------------------.
1691 | yyreduce -- Do a reduction.  |
1692 `-----------------------------*/
1693 yyreduce:
1694   /* yyn is the number of a rule to reduce with.  */
1695   yylen = yyr2[yyn];
1696 
1697   /* If YYLEN is nonzero, implement the default value of the action:
1698      `$$ = $1'.
1699 
1700      Otherwise, the following line sets YYVAL to the semantic value of
1701      the lookahead token.  This behavior is undocumented and Bison
1702      users should not rely upon it.  Assigning to YYVAL
1703      unconditionally makes the parser a bit smaller, and it avoids a
1704      GCC warning that YYVAL may be used uninitialized.  */
1705   yyval = yyvsp[1-yylen];
1706 
1707 #if YYLSP_NEEDED
1708   /* Similarly for the default location.  Let the user run additional
1709      commands if for instance locations are ranges.  */
1710   yyloc = yylsp[1-yylen];
1711   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
1712 #endif
1713 
1714 #if YYDEBUG
1715   /* We have to keep this `#if YYDEBUG', since we use variables which
1716      are defined only if `YYDEBUG' is set.  */
1717   if (yydebug)
1718     {
1719       int yyi;
1720 
1721       YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
1722 		 yyn, yyrline[yyn]);
1723 
1724       /* Print the symbols being reduced, and their result.  */
1725       for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
1726 	YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
1727       YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
1728     }
1729 #endif
1730 
1731   switch (yyn) {
1732 
1733 case 6:
1734 #line 173 "ldgram.y"
1735 { ldlex_defsym(); }
1736     break;
1737 case 7:
1738 #line 175 "ldgram.y"
1739 {
1740 		  ldlex_popstate();
1741 		  lang_add_assignment(exp_assop(yyvsp[-1].token,yyvsp[-2].name,yyvsp[0].etree));
1742 		}
1743     break;
1744 case 8:
1745 #line 183 "ldgram.y"
1746 {
1747 		  ldlex_mri_script ();
1748 		  PUSH_ERROR (_("MRI style script"));
1749 		}
1750     break;
1751 case 9:
1752 #line 188 "ldgram.y"
1753 {
1754 		  ldlex_popstate ();
1755 		  mri_draw_tree ();
1756 		  POP_ERROR ();
1757 		}
1758     break;
1759 case 14:
1760 #line 203 "ldgram.y"
1761 {
1762 			einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),yyvsp[0].name);
1763 			}
1764     break;
1765 case 15:
1766 #line 206 "ldgram.y"
1767 {
1768 			config.map_filename = "-";
1769 			}
1770     break;
1771 case 18:
1772 #line 212 "ldgram.y"
1773 { mri_public(yyvsp[-2].name, yyvsp[0].etree); }
1774     break;
1775 case 19:
1776 #line 214 "ldgram.y"
1777 { mri_public(yyvsp[-2].name, yyvsp[0].etree); }
1778     break;
1779 case 20:
1780 #line 216 "ldgram.y"
1781 { mri_public(yyvsp[-1].name, yyvsp[0].etree); }
1782     break;
1783 case 21:
1784 #line 218 "ldgram.y"
1785 { mri_format(yyvsp[0].name); }
1786     break;
1787 case 22:
1788 #line 220 "ldgram.y"
1789 { mri_output_section(yyvsp[-2].name, yyvsp[0].etree);}
1790     break;
1791 case 23:
1792 #line 222 "ldgram.y"
1793 { mri_output_section(yyvsp[-1].name, yyvsp[0].etree);}
1794     break;
1795 case 24:
1796 #line 224 "ldgram.y"
1797 { mri_output_section(yyvsp[-2].name, yyvsp[0].etree);}
1798     break;
1799 case 25:
1800 #line 226 "ldgram.y"
1801 { mri_align(yyvsp[-2].name,yyvsp[0].etree); }
1802     break;
1803 case 26:
1804 #line 228 "ldgram.y"
1805 { mri_align(yyvsp[-2].name,yyvsp[0].etree); }
1806     break;
1807 case 27:
1808 #line 230 "ldgram.y"
1809 { mri_alignmod(yyvsp[-2].name,yyvsp[0].etree); }
1810     break;
1811 case 28:
1812 #line 232 "ldgram.y"
1813 { mri_alignmod(yyvsp[-2].name,yyvsp[0].etree); }
1814     break;
1815 case 31:
1816 #line 236 "ldgram.y"
1817 { mri_name(yyvsp[0].name); }
1818     break;
1819 case 32:
1820 #line 238 "ldgram.y"
1821 { mri_alias(yyvsp[-2].name,yyvsp[0].name,0);}
1822     break;
1823 case 33:
1824 #line 240 "ldgram.y"
1825 { mri_alias (yyvsp[-2].name, 0, (int) yyvsp[0].bigint.integer); }
1826     break;
1827 case 34:
1828 #line 242 "ldgram.y"
1829 { mri_base(yyvsp[0].etree); }
1830     break;
1831 case 35:
1832 #line 244 "ldgram.y"
1833 { mri_truncate ((unsigned int) yyvsp[0].bigint.integer); }
1834     break;
1835 case 38:
1836 #line 248 "ldgram.y"
1837 { ldlex_script (); ldfile_open_command_file(yyvsp[0].name); }
1838     break;
1839 case 39:
1840 #line 250 "ldgram.y"
1841 { ldlex_popstate (); }
1842     break;
1843 case 40:
1844 #line 252 "ldgram.y"
1845 { lang_add_entry (yyvsp[0].name, FALSE); }
1846     break;
1847 case 42:
1848 #line 257 "ldgram.y"
1849 { mri_order(yyvsp[0].name); }
1850     break;
1851 case 43:
1852 #line 258 "ldgram.y"
1853 { mri_order(yyvsp[0].name); }
1854     break;
1855 case 45:
1856 #line 264 "ldgram.y"
1857 { mri_load(yyvsp[0].name); }
1858     break;
1859 case 46:
1860 #line 265 "ldgram.y"
1861 { mri_load(yyvsp[0].name); }
1862     break;
1863 case 47:
1864 #line 270 "ldgram.y"
1865 { mri_only_load(yyvsp[0].name); }
1866     break;
1867 case 48:
1868 #line 272 "ldgram.y"
1869 { mri_only_load(yyvsp[0].name); }
1870     break;
1871 case 49:
1872 #line 276 "ldgram.y"
1873 { yyval.name = NULL; }
1874     break;
1875 case 52:
1876 #line 283 "ldgram.y"
1877 { ldlang_add_undef (yyvsp[0].name); }
1878     break;
1879 case 53:
1880 #line 285 "ldgram.y"
1881 { ldlang_add_undef (yyvsp[0].name); }
1882     break;
1883 case 54:
1884 #line 287 "ldgram.y"
1885 { ldlang_add_undef (yyvsp[0].name); }
1886     break;
1887 case 55:
1888 #line 291 "ldgram.y"
1889 {
1890 	 ldlex_both();
1891 	}
1892     break;
1893 case 56:
1894 #line 295 "ldgram.y"
1895 {
1896 	ldlex_popstate();
1897 	}
1898     break;
1899 case 69:
1900 #line 320 "ldgram.y"
1901 { lang_add_target(yyvsp[-1].name); }
1902     break;
1903 case 70:
1904 #line 322 "ldgram.y"
1905 { ldfile_add_library_path (yyvsp[-1].name, FALSE); }
1906     break;
1907 case 71:
1908 #line 324 "ldgram.y"
1909 { lang_add_output(yyvsp[-1].name, 1); }
1910     break;
1911 case 72:
1912 #line 326 "ldgram.y"
1913 { lang_add_output_format (yyvsp[-1].name, (char *) NULL,
1914 					    (char *) NULL, 1); }
1915     break;
1916 case 73:
1917 #line 329 "ldgram.y"
1918 { lang_add_output_format (yyvsp[-5].name, yyvsp[-3].name, yyvsp[-1].name, 1); }
1919     break;
1920 case 74:
1921 #line 331 "ldgram.y"
1922 { ldfile_set_output_arch (yyvsp[-1].name, bfd_arch_unknown); }
1923     break;
1924 case 75:
1925 #line 333 "ldgram.y"
1926 { command_line.force_common_definition = TRUE ; }
1927     break;
1928 case 76:
1929 #line 335 "ldgram.y"
1930 { command_line.inhibit_common_definition = TRUE ; }
1931     break;
1932 case 78:
1933 #line 338 "ldgram.y"
1934 { lang_enter_group (); }
1935     break;
1936 case 79:
1937 #line 340 "ldgram.y"
1938 { lang_leave_group (); }
1939     break;
1940 case 80:
1941 #line 342 "ldgram.y"
1942 { lang_add_map(yyvsp[-1].name); }
1943     break;
1944 case 81:
1945 #line 344 "ldgram.y"
1946 { ldlex_script (); ldfile_open_command_file(yyvsp[0].name); }
1947     break;
1948 case 82:
1949 #line 346 "ldgram.y"
1950 { ldlex_popstate (); }
1951     break;
1952 case 83:
1953 #line 348 "ldgram.y"
1954 {
1955 		  lang_add_nocrossref (yyvsp[-1].nocrossref);
1956 		}
1957     break;
1958 case 85:
1959 #line 356 "ldgram.y"
1960 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
1961 				 (char *)NULL); }
1962     break;
1963 case 86:
1964 #line 359 "ldgram.y"
1965 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
1966 				 (char *)NULL); }
1967     break;
1968 case 87:
1969 #line 362 "ldgram.y"
1970 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
1971 				 (char *)NULL); }
1972     break;
1973 case 88:
1974 #line 365 "ldgram.y"
1975 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
1976 				 (char *)NULL); }
1977     break;
1978 case 89:
1979 #line 368 "ldgram.y"
1980 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
1981 				 (char *)NULL); }
1982     break;
1983 case 90:
1984 #line 371 "ldgram.y"
1985 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
1986 				 (char *)NULL); }
1987     break;
1988 case 95:
1989 #line 387 "ldgram.y"
1990 { lang_add_entry (yyvsp[-1].name, FALSE); }
1991     break;
1992 case 97:
1993 #line 389 "ldgram.y"
1994 {ldlex_expression ();}
1995     break;
1996 case 98:
1997 #line 390 "ldgram.y"
1998 { ldlex_popstate ();
1999 		  lang_add_assignment (exp_assert (yyvsp[-3].etree, yyvsp[-1].name)); }
2000     break;
2001 case 99:
2002 #line 398 "ldgram.y"
2003 {
2004 			  yyval.cname = yyvsp[0].name;
2005 			}
2006     break;
2007 case 100:
2008 #line 402 "ldgram.y"
2009 {
2010 			  yyval.cname = "*";
2011 			}
2012     break;
2013 case 101:
2014 #line 406 "ldgram.y"
2015 {
2016 			  yyval.cname = "?";
2017 			}
2018     break;
2019 case 102:
2020 #line 413 "ldgram.y"
2021 {
2022 			  yyval.wildcard.name = yyvsp[0].cname;
2023 			  yyval.wildcard.sorted = FALSE;
2024 			  yyval.wildcard.exclude_name_list = NULL;
2025 			}
2026     break;
2027 case 103:
2028 #line 419 "ldgram.y"
2029 {
2030 			  yyval.wildcard.name = yyvsp[0].cname;
2031 			  yyval.wildcard.sorted = FALSE;
2032 			  yyval.wildcard.exclude_name_list = yyvsp[-2].name_list;
2033 			}
2034     break;
2035 case 104:
2036 #line 425 "ldgram.y"
2037 {
2038 			  yyval.wildcard.name = yyvsp[-1].cname;
2039 			  yyval.wildcard.sorted = TRUE;
2040 			  yyval.wildcard.exclude_name_list = NULL;
2041 			}
2042     break;
2043 case 105:
2044 #line 431 "ldgram.y"
2045 {
2046 			  yyval.wildcard.name = yyvsp[-1].cname;
2047 			  yyval.wildcard.sorted = TRUE;
2048 			  yyval.wildcard.exclude_name_list = yyvsp[-3].name_list;
2049 			}
2050     break;
2051 case 106:
2052 #line 440 "ldgram.y"
2053 {
2054 			  struct name_list *tmp;
2055 			  tmp = (struct name_list *) xmalloc (sizeof *tmp);
2056 			  tmp->name = yyvsp[0].cname;
2057 			  tmp->next = yyvsp[-1].name_list;
2058 			  yyval.name_list = tmp;
2059 			}
2060     break;
2061 case 107:
2062 #line 449 "ldgram.y"
2063 {
2064 			  struct name_list *tmp;
2065 			  tmp = (struct name_list *) xmalloc (sizeof *tmp);
2066 			  tmp->name = yyvsp[0].cname;
2067 			  tmp->next = NULL;
2068 			  yyval.name_list = tmp;
2069 			}
2070     break;
2071 case 108:
2072 #line 460 "ldgram.y"
2073 {
2074 			  struct wildcard_list *tmp;
2075 			  tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
2076 			  tmp->next = yyvsp[-2].wildcard_list;
2077 			  tmp->spec = yyvsp[0].wildcard;
2078 			  yyval.wildcard_list = tmp;
2079 			}
2080     break;
2081 case 109:
2082 #line 469 "ldgram.y"
2083 {
2084 			  struct wildcard_list *tmp;
2085 			  tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
2086 			  tmp->next = NULL;
2087 			  tmp->spec = yyvsp[0].wildcard;
2088 			  yyval.wildcard_list = tmp;
2089 			}
2090     break;
2091 case 110:
2092 #line 480 "ldgram.y"
2093 {
2094 			  struct wildcard_spec tmp;
2095 			  tmp.name = yyvsp[0].name;
2096 			  tmp.exclude_name_list = NULL;
2097 			  tmp.sorted = FALSE;
2098 			  lang_add_wild (&tmp, NULL, ldgram_had_keep);
2099 			}
2100     break;
2101 case 111:
2102 #line 488 "ldgram.y"
2103 {
2104 			  lang_add_wild (NULL, yyvsp[-1].wildcard_list, ldgram_had_keep);
2105 			}
2106     break;
2107 case 112:
2108 #line 492 "ldgram.y"
2109 {
2110 			  lang_add_wild (&yyvsp[-3].wildcard, yyvsp[-1].wildcard_list, ldgram_had_keep);
2111 			}
2112     break;
2113 case 114:
2114 #line 500 "ldgram.y"
2115 { ldgram_had_keep = TRUE; }
2116     break;
2117 case 115:
2118 #line 502 "ldgram.y"
2119 { ldgram_had_keep = FALSE; }
2120     break;
2121 case 117:
2122 #line 508 "ldgram.y"
2123 {
2124  		lang_add_attribute(lang_object_symbols_statement_enum);
2125 	      	}
2126     break;
2127 case 119:
2128 #line 513 "ldgram.y"
2129 {
2130 
2131 		  lang_add_attribute(lang_constructors_statement_enum);
2132 		}
2133     break;
2134 case 120:
2135 #line 518 "ldgram.y"
2136 {
2137 		  constructors_sorted = TRUE;
2138 		  lang_add_attribute (lang_constructors_statement_enum);
2139 		}
2140     break;
2141 case 122:
2142 #line 524 "ldgram.y"
2143 {
2144 			  lang_add_data ((int) yyvsp[-3].integer, yyvsp[-1].etree);
2145 			}
2146     break;
2147 case 123:
2148 #line 529 "ldgram.y"
2149 {
2150 			  lang_add_fill (yyvsp[-1].fill);
2151 			}
2152     break;
2153 case 128:
2154 #line 546 "ldgram.y"
2155 { yyval.integer = yyvsp[0].token; }
2156     break;
2157 case 129:
2158 #line 548 "ldgram.y"
2159 { yyval.integer = yyvsp[0].token; }
2160     break;
2161 case 130:
2162 #line 550 "ldgram.y"
2163 { yyval.integer = yyvsp[0].token; }
2164     break;
2165 case 131:
2166 #line 552 "ldgram.y"
2167 { yyval.integer = yyvsp[0].token; }
2168     break;
2169 case 132:
2170 #line 554 "ldgram.y"
2171 { yyval.integer = yyvsp[0].token; }
2172     break;
2173 case 133:
2174 #line 559 "ldgram.y"
2175 {
2176 		  yyval.fill = exp_get_fill (yyvsp[0].etree,
2177 				     0,
2178 				     "fill value",
2179 				     lang_first_phase_enum);
2180 		}
2181     break;
2182 case 134:
2183 #line 569 "ldgram.y"
2184 { yyval.fill = yyvsp[0].fill; }
2185     break;
2186 case 135:
2187 #line 570 "ldgram.y"
2188 { yyval.fill = (fill_type *) 0; }
2189     break;
2190 case 136:
2191 #line 575 "ldgram.y"
2192 { yyval.token = '+'; }
2193     break;
2194 case 137:
2195 #line 577 "ldgram.y"
2196 { yyval.token = '-'; }
2197     break;
2198 case 138:
2199 #line 579 "ldgram.y"
2200 { yyval.token = '*'; }
2201     break;
2202 case 139:
2203 #line 581 "ldgram.y"
2204 { yyval.token = '/'; }
2205     break;
2206 case 140:
2207 #line 583 "ldgram.y"
2208 { yyval.token = LSHIFT; }
2209     break;
2210 case 141:
2211 #line 585 "ldgram.y"
2212 { yyval.token = RSHIFT; }
2213     break;
2214 case 142:
2215 #line 587 "ldgram.y"
2216 { yyval.token = '&'; }
2217     break;
2218 case 143:
2219 #line 589 "ldgram.y"
2220 { yyval.token = '|'; }
2221     break;
2222 case 146:
2223 #line 599 "ldgram.y"
2224 {
2225 		  lang_add_assignment (exp_assop (yyvsp[-1].token, yyvsp[-2].name, yyvsp[0].etree));
2226 		}
2227     break;
2228 case 147:
2229 #line 603 "ldgram.y"
2230 {
2231 		  lang_add_assignment (exp_assop ('=', yyvsp[-2].name,
2232 						  exp_binop (yyvsp[-1].token,
2233 							     exp_nameop (NAME,
2234 									 yyvsp[-2].name),
2235 							     yyvsp[0].etree)));
2236 		}
2237     break;
2238 case 148:
2239 #line 611 "ldgram.y"
2240 {
2241 		  lang_add_assignment (exp_provide (yyvsp[-3].name, yyvsp[-1].etree));
2242 		}
2243     break;
2244 case 155:
2245 #line 633 "ldgram.y"
2246 { region = lang_memory_region_lookup (yyvsp[0].name, TRUE); }
2247     break;
2248 case 156:
2249 #line 636 "ldgram.y"
2250 {}
2251     break;
2252 case 157:
2253 #line 641 "ldgram.y"
2254 { region->current =
2255 		 region->origin =
2256 		 exp_get_vma(yyvsp[0].etree, 0L,"origin", lang_first_phase_enum);
2257 }
2258     break;
2259 case 158:
2260 #line 649 "ldgram.y"
2261 { region->length = exp_get_vma(yyvsp[0].etree,
2262 					       ~((bfd_vma)0),
2263 					       "length",
2264 					       lang_first_phase_enum);
2265 		}
2266     break;
2267 case 159:
2268 #line 658 "ldgram.y"
2269 { /* dummy action to avoid bison 1.25 error message */ }
2270     break;
2271 case 163:
2272 #line 669 "ldgram.y"
2273 { lang_set_flags (region, yyvsp[0].name, 0); }
2274     break;
2275 case 164:
2276 #line 671 "ldgram.y"
2277 { lang_set_flags (region, yyvsp[0].name, 1); }
2278     break;
2279 case 165:
2280 #line 676 "ldgram.y"
2281 { lang_startup(yyvsp[-1].name); }
2282     break;
2283 case 167:
2284 #line 682 "ldgram.y"
2285 { ldemul_hll((char *)NULL); }
2286     break;
2287 case 168:
2288 #line 687 "ldgram.y"
2289 { ldemul_hll(yyvsp[0].name); }
2290     break;
2291 case 169:
2292 #line 689 "ldgram.y"
2293 { ldemul_hll(yyvsp[0].name); }
2294     break;
2295 case 171:
2296 #line 697 "ldgram.y"
2297 { ldemul_syslib(yyvsp[0].name); }
2298     break;
2299 case 173:
2300 #line 703 "ldgram.y"
2301 { lang_float(TRUE); }
2302     break;
2303 case 174:
2304 #line 705 "ldgram.y"
2305 { lang_float(FALSE); }
2306     break;
2307 case 175:
2308 #line 710 "ldgram.y"
2309 {
2310 		  yyval.nocrossref = NULL;
2311 		}
2312     break;
2313 case 176:
2314 #line 714 "ldgram.y"
2315 {
2316 		  struct lang_nocrossref *n;
2317 
2318 		  n = (struct lang_nocrossref *) xmalloc (sizeof *n);
2319 		  n->name = yyvsp[-1].name;
2320 		  n->next = yyvsp[0].nocrossref;
2321 		  yyval.nocrossref = n;
2322 		}
2323     break;
2324 case 177:
2325 #line 723 "ldgram.y"
2326 {
2327 		  struct lang_nocrossref *n;
2328 
2329 		  n = (struct lang_nocrossref *) xmalloc (sizeof *n);
2330 		  n->name = yyvsp[-2].name;
2331 		  n->next = yyvsp[0].nocrossref;
2332 		  yyval.nocrossref = n;
2333 		}
2334     break;
2335 case 178:
2336 #line 733 "ldgram.y"
2337 { ldlex_expression(); }
2338     break;
2339 case 179:
2340 #line 735 "ldgram.y"
2341 { ldlex_popstate(); yyval.etree=yyvsp[0].etree;}
2342     break;
2343 case 180:
2344 #line 740 "ldgram.y"
2345 { yyval.etree = exp_unop('-', yyvsp[0].etree); }
2346     break;
2347 case 181:
2348 #line 742 "ldgram.y"
2349 { yyval.etree = yyvsp[-1].etree; }
2350     break;
2351 case 182:
2352 #line 744 "ldgram.y"
2353 { yyval.etree = exp_unop((int) yyvsp[-3].integer,yyvsp[-1].etree); }
2354     break;
2355 case 183:
2356 #line 746 "ldgram.y"
2357 { yyval.etree = exp_unop('!', yyvsp[0].etree); }
2358     break;
2359 case 184:
2360 #line 748 "ldgram.y"
2361 { yyval.etree = yyvsp[0].etree; }
2362     break;
2363 case 185:
2364 #line 750 "ldgram.y"
2365 { yyval.etree = exp_unop('~', yyvsp[0].etree);}
2366     break;
2367 case 186:
2368 #line 753 "ldgram.y"
2369 { yyval.etree = exp_binop('*', yyvsp[-2].etree, yyvsp[0].etree); }
2370     break;
2371 case 187:
2372 #line 755 "ldgram.y"
2373 { yyval.etree = exp_binop('/', yyvsp[-2].etree, yyvsp[0].etree); }
2374     break;
2375 case 188:
2376 #line 757 "ldgram.y"
2377 { yyval.etree = exp_binop('%', yyvsp[-2].etree, yyvsp[0].etree); }
2378     break;
2379 case 189:
2380 #line 759 "ldgram.y"
2381 { yyval.etree = exp_binop('+', yyvsp[-2].etree, yyvsp[0].etree); }
2382     break;
2383 case 190:
2384 #line 761 "ldgram.y"
2385 { yyval.etree = exp_binop('-' , yyvsp[-2].etree, yyvsp[0].etree); }
2386     break;
2387 case 191:
2388 #line 763 "ldgram.y"
2389 { yyval.etree = exp_binop(LSHIFT , yyvsp[-2].etree, yyvsp[0].etree); }
2390     break;
2391 case 192:
2392 #line 765 "ldgram.y"
2393 { yyval.etree = exp_binop(RSHIFT , yyvsp[-2].etree, yyvsp[0].etree); }
2394     break;
2395 case 193:
2396 #line 767 "ldgram.y"
2397 { yyval.etree = exp_binop(EQ , yyvsp[-2].etree, yyvsp[0].etree); }
2398     break;
2399 case 194:
2400 #line 769 "ldgram.y"
2401 { yyval.etree = exp_binop(NE , yyvsp[-2].etree, yyvsp[0].etree); }
2402     break;
2403 case 195:
2404 #line 771 "ldgram.y"
2405 { yyval.etree = exp_binop(LE , yyvsp[-2].etree, yyvsp[0].etree); }
2406     break;
2407 case 196:
2408 #line 773 "ldgram.y"
2409 { yyval.etree = exp_binop(GE , yyvsp[-2].etree, yyvsp[0].etree); }
2410     break;
2411 case 197:
2412 #line 775 "ldgram.y"
2413 { yyval.etree = exp_binop('<' , yyvsp[-2].etree, yyvsp[0].etree); }
2414     break;
2415 case 198:
2416 #line 777 "ldgram.y"
2417 { yyval.etree = exp_binop('>' , yyvsp[-2].etree, yyvsp[0].etree); }
2418     break;
2419 case 199:
2420 #line 779 "ldgram.y"
2421 { yyval.etree = exp_binop('&' , yyvsp[-2].etree, yyvsp[0].etree); }
2422     break;
2423 case 200:
2424 #line 781 "ldgram.y"
2425 { yyval.etree = exp_binop('^' , yyvsp[-2].etree, yyvsp[0].etree); }
2426     break;
2427 case 201:
2428 #line 783 "ldgram.y"
2429 { yyval.etree = exp_binop('|' , yyvsp[-2].etree, yyvsp[0].etree); }
2430     break;
2431 case 202:
2432 #line 785 "ldgram.y"
2433 { yyval.etree = exp_trinop('?' , yyvsp[-4].etree, yyvsp[-2].etree, yyvsp[0].etree); }
2434     break;
2435 case 203:
2436 #line 787 "ldgram.y"
2437 { yyval.etree = exp_binop(ANDAND , yyvsp[-2].etree, yyvsp[0].etree); }
2438     break;
2439 case 204:
2440 #line 789 "ldgram.y"
2441 { yyval.etree = exp_binop(OROR , yyvsp[-2].etree, yyvsp[0].etree); }
2442     break;
2443 case 205:
2444 #line 791 "ldgram.y"
2445 { yyval.etree = exp_nameop(DEFINED, yyvsp[-1].name); }
2446     break;
2447 case 206:
2448 #line 793 "ldgram.y"
2449 { yyval.etree = exp_bigintop (yyvsp[0].bigint.integer, yyvsp[0].bigint.str); }
2450     break;
2451 case 207:
2452 #line 795 "ldgram.y"
2453 { yyval.etree = exp_nameop(SIZEOF_HEADERS,0); }
2454     break;
2455 case 208:
2456 #line 798 "ldgram.y"
2457 { yyval.etree = exp_nameop(SIZEOF,yyvsp[-1].name); }
2458     break;
2459 case 209:
2460 #line 800 "ldgram.y"
2461 { yyval.etree = exp_nameop(ADDR,yyvsp[-1].name); }
2462     break;
2463 case 210:
2464 #line 802 "ldgram.y"
2465 { yyval.etree = exp_nameop(LOADADDR,yyvsp[-1].name); }
2466     break;
2467 case 211:
2468 #line 804 "ldgram.y"
2469 { yyval.etree = exp_unop(ABSOLUTE, yyvsp[-1].etree); }
2470     break;
2471 case 212:
2472 #line 806 "ldgram.y"
2473 { yyval.etree = exp_unop(ALIGN_K,yyvsp[-1].etree); }
2474     break;
2475 case 213:
2476 #line 808 "ldgram.y"
2477 { yyval.etree = exp_binop(ALIGN_K,yyvsp[-3].etree,yyvsp[-1].etree); }
2478     break;
2479 case 214:
2480 #line 810 "ldgram.y"
2481 { yyval.etree = exp_binop (DATA_SEGMENT_ALIGN, yyvsp[-3].etree, yyvsp[-1].etree); }
2482     break;
2483 case 215:
2484 #line 812 "ldgram.y"
2485 { yyval.etree = exp_unop(DATA_SEGMENT_END, yyvsp[-1].etree); }
2486     break;
2487 case 216:
2488 #line 814 "ldgram.y"
2489 { yyval.etree = exp_unop(ALIGN_K,yyvsp[-1].etree); }
2490     break;
2491 case 217:
2492 #line 816 "ldgram.y"
2493 { yyval.etree = exp_nameop(NAME,yyvsp[0].name); }
2494     break;
2495 case 218:
2496 #line 818 "ldgram.y"
2497 { yyval.etree = exp_binop (MAX_K, yyvsp[-3].etree, yyvsp[-1].etree ); }
2498     break;
2499 case 219:
2500 #line 820 "ldgram.y"
2501 { yyval.etree = exp_binop (MIN_K, yyvsp[-3].etree, yyvsp[-1].etree ); }
2502     break;
2503 case 220:
2504 #line 822 "ldgram.y"
2505 { yyval.etree = exp_assert (yyvsp[-3].etree, yyvsp[-1].name); }
2506     break;
2507 case 221:
2508 #line 827 "ldgram.y"
2509 { yyval.name = yyvsp[0].name; }
2510     break;
2511 case 222:
2512 #line 828 "ldgram.y"
2513 { yyval.name = 0; }
2514     break;
2515 case 223:
2516 #line 832 "ldgram.y"
2517 { yyval.etree = yyvsp[-1].etree; }
2518     break;
2519 case 224:
2520 #line 833 "ldgram.y"
2521 { yyval.etree = 0; }
2522     break;
2523 case 225:
2524 #line 837 "ldgram.y"
2525 { yyval.etree = yyvsp[-1].etree; }
2526     break;
2527 case 226:
2528 #line 838 "ldgram.y"
2529 { yyval.etree = 0; }
2530     break;
2531 case 227:
2532 #line 841 "ldgram.y"
2533 { ldlex_expression(); }
2534     break;
2535 case 228:
2536 #line 844 "ldgram.y"
2537 { ldlex_popstate (); ldlex_script (); }
2538     break;
2539 case 229:
2540 #line 846 "ldgram.y"
2541 {
2542 			  lang_enter_output_section_statement(yyvsp[-6].name, yyvsp[-4].etree,
2543 							      sectype,
2544 							      0, yyvsp[-2].etree, yyvsp[-3].etree);
2545 			}
2546     break;
2547 case 230:
2548 #line 852 "ldgram.y"
2549 { ldlex_popstate (); ldlex_expression (); }
2550     break;
2551 case 231:
2552 #line 854 "ldgram.y"
2553 {
2554 		  ldlex_popstate ();
2555 		  lang_leave_output_section_statement (yyvsp[0].fill, yyvsp[-3].name, yyvsp[-1].section_phdr, yyvsp[-2].name);
2556 		}
2557     break;
2558 case 232:
2559 #line 859 "ldgram.y"
2560 {}
2561     break;
2562 case 233:
2563 #line 861 "ldgram.y"
2564 { ldlex_expression (); }
2565     break;
2566 case 234:
2567 #line 863 "ldgram.y"
2568 { ldlex_popstate (); ldlex_script (); }
2569     break;
2570 case 235:
2571 #line 865 "ldgram.y"
2572 {
2573 			  lang_enter_overlay (yyvsp[-5].etree, yyvsp[-2].etree);
2574 			}
2575     break;
2576 case 236:
2577 #line 870 "ldgram.y"
2578 { ldlex_popstate (); ldlex_expression (); }
2579     break;
2580 case 237:
2581 #line 872 "ldgram.y"
2582 {
2583 			  ldlex_popstate ();
2584 			  lang_leave_overlay (yyvsp[-11].etree, (int) yyvsp[-12].integer,
2585 					      yyvsp[0].fill, yyvsp[-3].name, yyvsp[-1].section_phdr, yyvsp[-2].name);
2586 			}
2587     break;
2588 case 239:
2589 #line 882 "ldgram.y"
2590 { ldlex_expression (); }
2591     break;
2592 case 240:
2593 #line 884 "ldgram.y"
2594 {
2595 		  ldlex_popstate ();
2596 		  lang_add_assignment (exp_assop ('=', ".", yyvsp[0].etree));
2597 		}
2598     break;
2599 case 242:
2600 #line 892 "ldgram.y"
2601 { sectype = noload_section; }
2602     break;
2603 case 243:
2604 #line 893 "ldgram.y"
2605 { sectype = dsect_section; }
2606     break;
2607 case 244:
2608 #line 894 "ldgram.y"
2609 { sectype = copy_section; }
2610     break;
2611 case 245:
2612 #line 895 "ldgram.y"
2613 { sectype = info_section; }
2614     break;
2615 case 246:
2616 #line 896 "ldgram.y"
2617 { sectype = overlay_section; }
2618     break;
2619 case 248:
2620 #line 901 "ldgram.y"
2621 { sectype = normal_section; }
2622     break;
2623 case 249:
2624 #line 902 "ldgram.y"
2625 { sectype = normal_section; }
2626     break;
2627 case 250:
2628 #line 906 "ldgram.y"
2629 { yyval.etree = yyvsp[-2].etree; }
2630     break;
2631 case 251:
2632 #line 907 "ldgram.y"
2633 { yyval.etree = (etree_type *)NULL;  }
2634     break;
2635 case 252:
2636 #line 912 "ldgram.y"
2637 { yyval.etree = yyvsp[-3].etree; }
2638     break;
2639 case 253:
2640 #line 914 "ldgram.y"
2641 { yyval.etree = yyvsp[-7].etree; }
2642     break;
2643 case 254:
2644 #line 918 "ldgram.y"
2645 { yyval.etree = yyvsp[-1].etree; }
2646     break;
2647 case 255:
2648 #line 919 "ldgram.y"
2649 { yyval.etree = (etree_type *) NULL;  }
2650     break;
2651 case 256:
2652 #line 924 "ldgram.y"
2653 { yyval.integer = 0; }
2654     break;
2655 case 257:
2656 #line 926 "ldgram.y"
2657 { yyval.integer = 1; }
2658     break;
2659 case 258:
2660 #line 931 "ldgram.y"
2661 { yyval.name = yyvsp[0].name; }
2662     break;
2663 case 259:
2664 #line 932 "ldgram.y"
2665 { yyval.name = DEFAULT_MEMORY_REGION; }
2666     break;
2667 case 260:
2668 #line 937 "ldgram.y"
2669 {
2670 		  yyval.section_phdr = NULL;
2671 		}
2672     break;
2673 case 261:
2674 #line 941 "ldgram.y"
2675 {
2676 		  struct lang_output_section_phdr_list *n;
2677 
2678 		  n = ((struct lang_output_section_phdr_list *)
2679 		       xmalloc (sizeof *n));
2680 		  n->name = yyvsp[0].name;
2681 		  n->used = FALSE;
2682 		  n->next = yyvsp[-2].section_phdr;
2683 		  yyval.section_phdr = n;
2684 		}
2685     break;
2686 case 263:
2687 #line 957 "ldgram.y"
2688 {
2689 			  ldlex_script ();
2690 			  lang_enter_overlay_section (yyvsp[0].name);
2691 			}
2692     break;
2693 case 264:
2694 #line 962 "ldgram.y"
2695 { ldlex_popstate (); ldlex_expression (); }
2696     break;
2697 case 265:
2698 #line 964 "ldgram.y"
2699 {
2700 			  ldlex_popstate ();
2701 			  lang_leave_overlay_section (yyvsp[0].fill, yyvsp[-1].section_phdr);
2702 			}
2703     break;
2704 case 270:
2705 #line 981 "ldgram.y"
2706 { ldlex_expression (); }
2707     break;
2708 case 271:
2709 #line 982 "ldgram.y"
2710 { ldlex_popstate (); }
2711     break;
2712 case 272:
2713 #line 984 "ldgram.y"
2714 {
2715 		  lang_new_phdr (yyvsp[-5].name, yyvsp[-3].etree, yyvsp[-2].phdr.filehdr, yyvsp[-2].phdr.phdrs, yyvsp[-2].phdr.at,
2716 				 yyvsp[-2].phdr.flags);
2717 		}
2718     break;
2719 case 273:
2720 #line 992 "ldgram.y"
2721 {
2722 		  yyval.etree = yyvsp[0].etree;
2723 
2724 		  if (yyvsp[0].etree->type.node_class == etree_name
2725 		      && yyvsp[0].etree->type.node_code == NAME)
2726 		    {
2727 		      const char *s;
2728 		      unsigned int i;
2729 		      static const char * const phdr_types[] =
2730 			{
2731 			  "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
2732 			  "PT_INTERP", "PT_NOTE", "PT_SHLIB",
2733 			  "PT_PHDR", "PT_TLS"
2734 			};
2735 
2736 		      s = yyvsp[0].etree->name.name;
2737 		      for (i = 0;
2738 			   i < sizeof phdr_types / sizeof phdr_types[0];
2739 			   i++)
2740 			if (strcmp (s, phdr_types[i]) == 0)
2741 			  {
2742 			    yyval.etree = exp_intop (i);
2743 			    break;
2744 			  }
2745 		      if (i == sizeof phdr_types / sizeof phdr_types[0])
2746 			{
2747 			  if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
2748 			    yyval.etree = exp_intop (0x6474e550);
2749 			  else if (strcmp (s, "PT_GNU_STACK") == 0)
2750 			    yyval.etree = exp_intop (0x6474e551);
2751 			  else
2752 			    {
2753 			      einfo (_("\
2754 %X%P:%S: unknown phdr type `%s' (try integer literal)\n"),
2755 				     s);
2756 			      yyval.etree = exp_intop (0);
2757 			    }
2758 			}
2759 		    }
2760 		}
2761     break;
2762 case 274:
2763 #line 1036 "ldgram.y"
2764 {
2765 		  memset (&yyval.phdr, 0, sizeof (struct phdr_info));
2766 		}
2767     break;
2768 case 275:
2769 #line 1040 "ldgram.y"
2770 {
2771 		  yyval.phdr = yyvsp[0].phdr;
2772 		  if (strcmp (yyvsp[-2].name, "FILEHDR") == 0 && yyvsp[-1].etree == NULL)
2773 		    yyval.phdr.filehdr = TRUE;
2774 		  else if (strcmp (yyvsp[-2].name, "PHDRS") == 0 && yyvsp[-1].etree == NULL)
2775 		    yyval.phdr.phdrs = TRUE;
2776 		  else if (strcmp (yyvsp[-2].name, "FLAGS") == 0 && yyvsp[-1].etree != NULL)
2777 		    yyval.phdr.flags = yyvsp[-1].etree;
2778 		  else
2779 		    einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), yyvsp[-2].name);
2780 		}
2781     break;
2782 case 276:
2783 #line 1052 "ldgram.y"
2784 {
2785 		  yyval.phdr = yyvsp[0].phdr;
2786 		  yyval.phdr.at = yyvsp[-2].etree;
2787 		}
2788     break;
2789 case 277:
2790 #line 1060 "ldgram.y"
2791 {
2792 		  yyval.etree = NULL;
2793 		}
2794     break;
2795 case 278:
2796 #line 1064 "ldgram.y"
2797 {
2798 		  yyval.etree = yyvsp[-1].etree;
2799 		}
2800     break;
2801 case 279:
2802 #line 1072 "ldgram.y"
2803 {
2804 		  ldlex_version_file ();
2805 		  PUSH_ERROR (_("VERSION script"));
2806 		}
2807     break;
2808 case 280:
2809 #line 1077 "ldgram.y"
2810 {
2811 		  ldlex_popstate ();
2812 		  POP_ERROR ();
2813 		}
2814     break;
2815 case 281:
2816 #line 1086 "ldgram.y"
2817 {
2818 		  ldlex_version_script ();
2819 		}
2820     break;
2821 case 282:
2822 #line 1090 "ldgram.y"
2823 {
2824 		  ldlex_popstate ();
2825 		}
2826     break;
2827 case 285:
2828 #line 1102 "ldgram.y"
2829 {
2830 		  lang_register_vers_node (NULL, yyvsp[-2].versnode, NULL);
2831 		}
2832     break;
2833 case 286:
2834 #line 1106 "ldgram.y"
2835 {
2836 		  lang_register_vers_node (yyvsp[-4].name, yyvsp[-2].versnode, NULL);
2837 		}
2838     break;
2839 case 287:
2840 #line 1110 "ldgram.y"
2841 {
2842 		  lang_register_vers_node (yyvsp[-5].name, yyvsp[-3].versnode, yyvsp[-1].deflist);
2843 		}
2844     break;
2845 case 288:
2846 #line 1117 "ldgram.y"
2847 {
2848 		  yyval.deflist = lang_add_vers_depend (NULL, yyvsp[0].name);
2849 		}
2850     break;
2851 case 289:
2852 #line 1121 "ldgram.y"
2853 {
2854 		  yyval.deflist = lang_add_vers_depend (yyvsp[-1].deflist, yyvsp[0].name);
2855 		}
2856     break;
2857 case 290:
2858 #line 1128 "ldgram.y"
2859 {
2860 		  yyval.versnode = lang_new_vers_node (NULL, NULL);
2861 		}
2862     break;
2863 case 291:
2864 #line 1132 "ldgram.y"
2865 {
2866 		  yyval.versnode = lang_new_vers_node (yyvsp[-1].versyms, NULL);
2867 		}
2868     break;
2869 case 292:
2870 #line 1136 "ldgram.y"
2871 {
2872 		  yyval.versnode = lang_new_vers_node (yyvsp[-1].versyms, NULL);
2873 		}
2874     break;
2875 case 293:
2876 #line 1140 "ldgram.y"
2877 {
2878 		  yyval.versnode = lang_new_vers_node (NULL, yyvsp[-1].versyms);
2879 		}
2880     break;
2881 case 294:
2882 #line 1144 "ldgram.y"
2883 {
2884 		  yyval.versnode = lang_new_vers_node (yyvsp[-5].versyms, yyvsp[-1].versyms);
2885 		}
2886     break;
2887 case 295:
2888 #line 1151 "ldgram.y"
2889 {
2890 		  yyval.versyms = lang_new_vers_pattern (NULL, yyvsp[0].name, ldgram_vers_current_lang);
2891 		}
2892     break;
2893 case 296:
2894 #line 1155 "ldgram.y"
2895 {
2896 		  yyval.versyms = lang_new_vers_pattern (yyvsp[-2].versyms, yyvsp[0].name, ldgram_vers_current_lang);
2897 		}
2898     break;
2899 case 297:
2900 #line 1159 "ldgram.y"
2901 {
2902 			  yyval.name = ldgram_vers_current_lang;
2903 			  ldgram_vers_current_lang = yyvsp[-1].name;
2904 			}
2905     break;
2906 case 298:
2907 #line 1164 "ldgram.y"
2908 {
2909 			  yyval.versyms = yyvsp[-2].versyms;
2910 			  ldgram_vers_current_lang = yyvsp[-3].name;
2911 			}
2912     break;
2913 case 299:
2914 #line 1169 "ldgram.y"
2915 {
2916 			  yyval.name = ldgram_vers_current_lang;
2917 			  ldgram_vers_current_lang = yyvsp[-1].name;
2918 			}
2919     break;
2920 case 300:
2921 #line 1174 "ldgram.y"
2922 {
2923 			  yyval.versyms = yyvsp[-2].versyms;
2924 			  ldgram_vers_current_lang = yyvsp[-3].name;
2925 			}
2926     break;
2927 }
2928 
2929 #line 705 "/usr/share/bison-1.35/bison.simple"
2930 
2931 
2932   yyvsp -= yylen;
2933   yyssp -= yylen;
2934 #if YYLSP_NEEDED
2935   yylsp -= yylen;
2936 #endif
2937 
2938 #if YYDEBUG
2939   if (yydebug)
2940     {
2941       short *yyssp1 = yyss - 1;
2942       YYFPRINTF (stderr, "state stack now");
2943       while (yyssp1 != yyssp)
2944 	YYFPRINTF (stderr, " %d", *++yyssp1);
2945       YYFPRINTF (stderr, "\n");
2946     }
2947 #endif
2948 
2949   *++yyvsp = yyval;
2950 #if YYLSP_NEEDED
2951   *++yylsp = yyloc;
2952 #endif
2953 
2954   /* Now `shift' the result of the reduction.  Determine what state
2955      that goes to, based on the state we popped back to and the rule
2956      number reduced by.  */
2957 
2958   yyn = yyr1[yyn];
2959 
2960   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
2961   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2962     yystate = yytable[yystate];
2963   else
2964     yystate = yydefgoto[yyn - YYNTBASE];
2965 
2966   goto yynewstate;
2967 
2968 
2969 /*------------------------------------.
2970 | yyerrlab -- here on detecting error |
2971 `------------------------------------*/
2972 yyerrlab:
2973   /* If not already recovering from an error, report this error.  */
2974   if (!yyerrstatus)
2975     {
2976       ++yynerrs;
2977 
2978 #ifdef YYERROR_VERBOSE
2979       yyn = yypact[yystate];
2980 
2981       if (yyn > YYFLAG && yyn < YYLAST)
2982 	{
2983 	  YYSIZE_T yysize = 0;
2984 	  char *yymsg;
2985 	  int yyx, yycount;
2986 
2987 	  yycount = 0;
2988 	  /* Start YYX at -YYN if negative to avoid negative indexes in
2989 	     YYCHECK.  */
2990 	  for (yyx = yyn < 0 ? -yyn : 0;
2991 	       yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
2992 	    if (yycheck[yyx + yyn] == yyx)
2993 	      yysize += yystrlen (yytname[yyx]) + 15, yycount++;
2994 	  yysize += yystrlen ("parse error, unexpected ") + 1;
2995 	  yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
2996 	  yymsg = (char *) YYSTACK_ALLOC (yysize);
2997 	  if (yymsg != 0)
2998 	    {
2999 	      char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
3000 	      yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
3001 
3002 	      if (yycount < 5)
3003 		{
3004 		  yycount = 0;
3005 		  for (yyx = yyn < 0 ? -yyn : 0;
3006 		       yyx < (int) (sizeof (yytname) / sizeof (char *));
3007 		       yyx++)
3008 		    if (yycheck[yyx + yyn] == yyx)
3009 		      {
3010 			const char *yyq = ! yycount ? ", expecting " : " or ";
3011 			yyp = yystpcpy (yyp, yyq);
3012 			yyp = yystpcpy (yyp, yytname[yyx]);
3013 			yycount++;
3014 		      }
3015 		}
3016 	      yyerror (yymsg);
3017 	      YYSTACK_FREE (yymsg);
3018 	    }
3019 	  else
3020 	    yyerror ("parse error; also virtual memory exhausted");
3021 	}
3022       else
3023 #endif /* defined (YYERROR_VERBOSE) */
3024 	yyerror ("parse error");
3025     }
3026   goto yyerrlab1;
3027 
3028 
3029 /*--------------------------------------------------.
3030 | yyerrlab1 -- error raised explicitly by an action |
3031 `--------------------------------------------------*/
3032 yyerrlab1:
3033   if (yyerrstatus == 3)
3034     {
3035       /* If just tried and failed to reuse lookahead token after an
3036 	 error, discard it.  */
3037 
3038       /* return failure if at end of input */
3039       if (yychar == YYEOF)
3040 	YYABORT;
3041       YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
3042 		  yychar, yytname[yychar1]));
3043       yychar = YYEMPTY;
3044     }
3045 
3046   /* Else will try to reuse lookahead token after shifting the error
3047      token.  */
3048 
3049   yyerrstatus = 3;		/* Each real token shifted decrements this */
3050 
3051   goto yyerrhandle;
3052 
3053 
3054 /*-------------------------------------------------------------------.
3055 | yyerrdefault -- current state does not do anything special for the |
3056 | error token.                                                       |
3057 `-------------------------------------------------------------------*/
3058 yyerrdefault:
3059 #if 0
3060   /* This is wrong; only states that explicitly want error tokens
3061      should shift them.  */
3062 
3063   /* If its default is to accept any token, ok.  Otherwise pop it.  */
3064   yyn = yydefact[yystate];
3065   if (yyn)
3066     goto yydefault;
3067 #endif
3068 
3069 
3070 /*---------------------------------------------------------------.
3071 | yyerrpop -- pop the current state because it cannot handle the |
3072 | error token                                                    |
3073 `---------------------------------------------------------------*/
3074 yyerrpop:
3075   if (yyssp == yyss)
3076     YYABORT;
3077   yyvsp--;
3078   yystate = *--yyssp;
3079 #if YYLSP_NEEDED
3080   yylsp--;
3081 #endif
3082 
3083 #if YYDEBUG
3084   if (yydebug)
3085     {
3086       short *yyssp1 = yyss - 1;
3087       YYFPRINTF (stderr, "Error: state stack now");
3088       while (yyssp1 != yyssp)
3089 	YYFPRINTF (stderr, " %d", *++yyssp1);
3090       YYFPRINTF (stderr, "\n");
3091     }
3092 #endif
3093 
3094 /*--------------.
3095 | yyerrhandle.  |
3096 `--------------*/
3097 yyerrhandle:
3098   yyn = yypact[yystate];
3099   if (yyn == YYFLAG)
3100     goto yyerrdefault;
3101 
3102   yyn += YYTERROR;
3103   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
3104     goto yyerrdefault;
3105 
3106   yyn = yytable[yyn];
3107   if (yyn < 0)
3108     {
3109       if (yyn == YYFLAG)
3110 	goto yyerrpop;
3111       yyn = -yyn;
3112       goto yyreduce;
3113     }
3114   else if (yyn == 0)
3115     goto yyerrpop;
3116 
3117   if (yyn == YYFINAL)
3118     YYACCEPT;
3119 
3120   YYDPRINTF ((stderr, "Shifting error token, "));
3121 
3122   *++yyvsp = yylval;
3123 #if YYLSP_NEEDED
3124   *++yylsp = yylloc;
3125 #endif
3126 
3127   yystate = yyn;
3128   goto yynewstate;
3129 
3130 
3131 /*-------------------------------------.
3132 | yyacceptlab -- YYACCEPT comes here.  |
3133 `-------------------------------------*/
3134 yyacceptlab:
3135   yyresult = 0;
3136   goto yyreturn;
3137 
3138 /*-----------------------------------.
3139 | yyabortlab -- YYABORT comes here.  |
3140 `-----------------------------------*/
3141 yyabortlab:
3142   yyresult = 1;
3143   goto yyreturn;
3144 
3145 /*---------------------------------------------.
3146 | yyoverflowab -- parser overflow comes here.  |
3147 `---------------------------------------------*/
3148 yyoverflowlab:
3149   yyerror ("parser stack overflow");
3150   yyresult = 2;
3151   /* Fall through.  */
3152 
3153 yyreturn:
3154 #ifndef yyoverflow
3155   if (yyss != yyssa)
3156     YYSTACK_FREE (yyss);
3157 #endif
3158   return yyresult;
3159 }
3160 #line 1185 "ldgram.y"
3161 
3162 void
yyerror(arg)3163 yyerror(arg)
3164      const char *arg;
3165 {
3166   if (ldfile_assumed_script)
3167     einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
3168 	   ldfile_input_filename);
3169   if (error_index > 0 && error_index < ERROR_NAME_MAX)
3170      einfo ("%P%F:%S: %s in %s\n", arg, error_names[error_index-1]);
3171   else
3172      einfo ("%P%F:%S: %s\n", arg);
3173 }
3174