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