Bug Summary

File:src/gnu/usr.bin/binutils/obj/gdb/m2-exp.c
Warning:line 1791, column 16
Dereference of null pointer

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple amd64-unknown-openbsd7.0 -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name m2-exp.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/obj/gdb -resource-dir /usr/local/lib/clang/13.0.0 -D PIE_DEFAULT=1 -I . -I /usr/src/gnu/usr.bin/binutils/gdb -I /usr/src/gnu/usr.bin/binutils/gdb/config -D LOCALEDIR="/usr/share/locale" -D HAVE_CONFIG_H -I /usr/src/gnu/usr.bin/binutils/gdb/../include/opcode -I ../bfd -I /usr/src/gnu/usr.bin/binutils/gdb/../bfd -I /usr/src/gnu/usr.bin/binutils/gdb/../include -I ../intl -I /usr/src/gnu/usr.bin/binutils/gdb/../intl -D MI_OUT=1 -D TUI=1 -internal-isystem /usr/local/lib/clang/13.0.0/include -internal-externc-isystem /usr/include -O2 -fdebug-compilation-dir=/usr/src/gnu/usr.bin/binutils/obj/gdb -ferror-limit 19 -fwrapv -D_RET_PROTECTOR -ret-protector -fgnuc-version=4.2.1 -fcommon -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 m2-exp.c
1#include <stdlib.h>
2#include <string.h>
3#define YYBYACC1 1
4#define YYMAJOR1 1
5#define YYMINOR9 9
6#define YYLEXm2_lex() yylexm2_lex()
7#define YYEMPTY-1 -1
8#define yyclearin(m2_char=(-1)) (yycharm2_char=(YYEMPTY-1))
9#define yyerrok(m2_errflag=0) (yyerrflagm2_errflag=0)
10#define YYRECOVERING()(m2_errflag!=0) (yyerrflagm2_errflag!=0)
11#define YYPREFIX"yy" "yy"
12#line 42 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
13
14#include "defs.h"
15#include "gdb_string.h"
16#include "expression.h"
17#include "language.h"
18#include "value.h"
19#include "parser-defs.h"
20#include "m2-lang.h"
21#include "bfd.h" /* Required by objfiles.h. */
22#include "symfile.h" /* Required by objfiles.h. */
23#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
24#include "block.h"
25
26/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
27 as well as gratuitiously global symbol names, so we can have multiple
28 yacc generated parsers in gdb. Note that these are only the variables
29 produced by yacc. If other parser generators (bison, byacc, etc) produce
30 additional global names that conflict at link time, then those parser
31 generators need to be fixed instead of adding those names to this list. */
32
33#define yymaxdepthm2_maxdepth m2_maxdepth
34#define yyparsem2_parse m2_parse
35#define yylexm2_lex m2_lex
36#define yyerrorm2_error m2_error
37#define yylvalm2_lval m2_lval
38#define yycharm2_char m2_char
39#define yydebugm2_debug m2_debug
40#define yypactm2_pact m2_pact
41#define yyr1m2_r1 m2_r1
42#define yyr2m2_r2 m2_r2
43#define yydefm2_def m2_def
44#define yychkm2_chk m2_chk
45#define yypgom2_pgo m2_pgo
46#define yyactm2_act m2_act
47#define yyexcam2_exca m2_exca
48#define yyerrflagm2_errflag m2_errflag
49#define yynerrsm2_nerrs m2_nerrs
50#define yypsm2_ps m2_ps
51#define yypvm2_pv m2_pv
52#define yysm2_s m2_s
53#define yy_yysm2_yys m2_yys
54#define yystatem2_state m2_state
55#define yytmpm2_tmp m2_tmp
56#define yyvm2_v m2_v
57#define yy_yyvm2_yyv m2_yyv
58#define yyvalm2_val m2_val
59#define yyllocm2_lloc m2_lloc
60#define yyredsm2_reds m2_reds /* With YYDEBUG defined */
61#define yytoksm2_toks m2_toks /* With YYDEBUG defined */
62#define yynamem2_name m2_name /* With YYDEBUG defined */
63#define yyrulem2_rule m2_rule /* With YYDEBUG defined */
64#define yylhsm2_yylhs m2_yylhs
65#define yylenm2_yylen m2_yylen
66#define yydefredm2_yydefred m2_yydefred
67#define yydgotom2_yydgoto m2_yydgoto
68#define yysindexm2_yysindex m2_yysindex
69#define yyrindexm2_yyrindex m2_yyrindex
70#define yygindexm2_yygindex m2_yygindex
71#define yytablem2_yytable m2_yytable
72#define yycheckm2_yycheck m2_yycheck
73
74#ifndef YYDEBUG1
75#define YYDEBUG1 1 /* Default to yydebug support */
76#endif
77
78#define YYFPRINTFparser_fprintf parser_fprintf
79
80int yyparsem2_parse (void);
81
82static int yylexm2_lex (void);
83
84void yyerrorm2_error (char *);
85
86#if 0
87static char *make_qualname (char *, char *);
88#endif
89
90static int parse_number (int);
91
92/* The sign of the number being parsed. */
93static int number_sign = 1;
94
95/* The block that the module specified by the qualifer on an identifer is
96 contained in, */
97#if 0
98static struct block *modblock=0;
99#endif
100
101#line 136 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
102#ifndef YYSTYPE_DEFINED
103#define YYSTYPE_DEFINED
104typedef union
105 {
106 LONGESTlong lval;
107 ULONGESTunsigned long ulval;
108 DOUBLEST dval;
109 struct symbol *sym;
110 struct type *tval;
111 struct stoken sval;
112 int voidval;
113 struct block *bval;
114 enum exp_opcode opcode;
115 struct internalvar *ivar;
116
117 struct type **tvec;
118 int *ivec;
119 } YYSTYPE;
120#endif /* YYSTYPE_DEFINED */
121#define INT257 257
122#define HEX258 258
123#define ERROR259 259
124#define UINT260 260
125#define M2_TRUE261 261
126#define M2_FALSE262 262
127#define CHAR263 263
128#define FLOAT264 264
129#define STRING265 265
130#define NAME266 266
131#define BLOCKNAME267 267
132#define IDENT268 268
133#define VARNAME269 269
134#define TYPENAME270 270
135#define SIZE271 271
136#define CAP272 272
137#define ORD273 273
138#define HIGH274 274
139#define ABS275 275
140#define MIN_FUNC276 276
141#define MAX_FUNC277 277
142#define FLOAT_FUNC278 278
143#define VAL279 279
144#define CHR280 280
145#define ODD281 281
146#define TRUNC282 282
147#define INC283 283
148#define DEC284 284
149#define INCL285 285
150#define EXCL286 286
151#define COLONCOLON287 287
152#define INTERNAL_VAR288 288
153#define ABOVE_COMMA289 289
154#define ASSIGN290 290
155#define LEQ291 291
156#define GEQ292 292
157#define NOTEQUAL293 293
158#define IN294 294
159#define OROR295 295
160#define LOGICAL_AND296 296
161#define DIV297 297
162#define MOD298 298
163#define UNARY299 299
164#define DOT300 300
165#define NOT301 301
166#define QID302 302
167#define YYERRCODE256 256
168const short yylhsm2_yylhs[] =
169 { -1,
170 0, 0, 2, 1, 8, 1, 1, 1, 9, 9,
171 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
172 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
173 1, 3, 3, 12, 1, 13, 1, 10, 10, 10,
174 11, 11, 1, 1, 1, 1, 1, 1, 1, 1,
175 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
176 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
177 1, 6, 7, 7, 4, 4, 4, 4, 5,
178};
179const short yylenm2_yylen[] =
180 { 2,
181 1, 1, 1, 2, 0, 3, 2, 2, 1, 1,
182 4, 4, 4, 4, 4, 4, 4, 6, 4, 4,
183 4, 2, 4, 6, 4, 6, 3, 1, 3, 6,
184 6, 3, 4, 0, 5, 0, 5, 0, 1, 3,
185 1, 3, 4, 4, 3, 3, 3, 3, 3, 3,
186 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
187 3, 3, 1, 1, 1, 1, 1, 1, 1, 4,
188 1, 1, 1, 3, 1, 1, 3, 1, 1,
189};
190const short yydefredm2_yydefred[] =
191 { 0,
192 65, 66, 63, 64, 67, 68, 71, 78, 73, 79,
193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 76, 0, 5, 0,
195 9, 10, 0, 0, 0, 2, 28, 69, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
200 0, 0, 0, 0, 4, 0, 34, 36, 0, 0,
201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
203 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 29, 0, 0, 0, 0, 0, 0, 0,
205 0, 0, 0, 27, 0, 0, 0, 0, 77, 74,
206 70, 11, 12, 14, 13, 15, 16, 17, 0, 19,
207 20, 21, 0, 23, 0, 25, 0, 0, 0, 0,
208 0, 0, 0, 44, 33, 0, 0, 0, 0, 0,
209 0, 35, 37, 18, 24, 26, 30, 31, 0,
210};
211const short yydgotom2_yydgoto[] =
212 { 34,
213 64, 36, 37, 38, 45, 40, 41, 62, 42, 66,
214 162, 135, 136,
215};
216const short yysindexm2_yysindex[] =
217 { 1587,
218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219 1711, -40, -21, -8, -6, -3, -2, 24, 31, 37,
220 38, 39, 57, 58, 59, 77, 0, 1587, 0, 1587,
221 0, 0, 1587, 0, 1658, 0, 0, 0, -15, -281,
222 0, 1587, 1587, -24, -15, 1587, 1587, 1587, 1587, -239,
223 -239, 1587, -239, 1587, 1587, 1587, 1587, 1587, 1587, 1587,
224 -24, 1587, 886, 1658, -37, -36, 1587, 1587, 1587, 1587,
225 1587, 1587, 1587, 1587, -118, 1587, 1587, 1587, 1587, 1587,
226 1587, 1587, 1587, 1587, 0, -214, 0, 0, 1587, 1587,
227 -238, -24, -27, 897, 952, 963, 1018, 78, 79, 1046,
228 36, 1107, 1171, 1229, 739, 831, 1240, 1315, -24, 0,
229 1587, 1587, 0, 1669, 860, 860, 860, 860, 860, 860,
230 860, 1587, 0, -5, -25, 507, 117, 366, 366, -24,
231 -24, -24, -24, 0, 1587, 1587, 1326, -11, 0, 0,
232 0, 0, 0, 0, 0, 0, 0, 0, 1587, 0,
233 0, 0, 1587, 0, 1587, 0, 1587, 1587, -24, 1658,
234 1658, -42, -20, 0, 0, 1381, 1392, 1450, 1507, 1600,
235 1587, 0, 0, 0, 0, 0, 0, 0, 1658,};
236const short yyrindexm2_yyrindex[] =
237 { 0,
238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 0, 0, -9, 0, 121, 0, 0, 0, 122, 0,
242 1, 0, 0, 12, 0, 0, 0, 0, 0, 0,
243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
244 40, 0, 0, -34, 0, 0, 0, 0, 0, 0,
245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
246 0, 0, 0, 0, 0, 0, 0, 0, 0, -9,
247 0, 68, 0, 0, 0, 0, 0, 0, 0, 0,
248 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
249 0, 0, 0, 49, 529, 551, 559, 596, 618, 626,
250 673, -9, 0, 0, 522, 500, 285, 191, 463, 134,
251 145, 219, 409, 0, 0, -14, 0, 0, 0, 0,
252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
253 0, 0, 0, 0, 0, 0, 0, 0, 433, -18,
254 -35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 0, 0, 0, 0, -33,};
256const short yygindexm2_yygindex[] =
257 { 0,
258 1998, 0, 48, 0, 171, 0, 0, 0, 0, -86,
259 0, 0, 0,
260};
261#define YYTABLESIZE2169 2169
262const short yytablem2_yytable[] =
263 { 46,
264 75, 171, 89, 138, 122, 91, 39, 112, 41, 39,
265 42, 22, 89, 141, 88, 88, 81, 79, 47, 80,
266 173, 82, 40, 112, 89, 40, 38, 139, 140, 38,
267 10, 48, 112, 49, 38, 75, 50, 51, 78, 7,
268 75, 75, 75, 75, 75, 75, 22, 75, 62, 163,
269 172, 134, 22, 22, 22, 22, 22, 41, 22, 42,
270 75, 75, 75, 52, 75, 87, 87, 8, 85, 85,
271 53, 22, 22, 22, 7, 22, 54, 55, 56, 149,
272 7, 7, 7, 7, 7, 90, 7, 111, 113, 62,
273 39, 75, 62, 75, 75, 90, 57, 58, 59, 7,
274 7, 7, 8, 7, 22, 6, 40, 90, 8, 8,
275 8, 8, 8, 165, 8, 38, 60, 90, 146, 147,
276 1, 3, 123, 0, 0, 75, 0, 8, 8, 8,
277 0, 8, 7, 47, 0, 0, 22, 0, 0, 0,
278 6, 62, 0, 0, 48, 0, 6, 6, 6, 6,
279 6, 10, 6, 0, 0, 0, 88, 0, 81, 79,
280 8, 80, 0, 82, 7, 6, 6, 6, 47, 6,
281 39, 0, 0, 62, 47, 47, 47, 47, 47, 48,
282 47, 0, 0, 0, 0, 48, 48, 48, 48, 48,
283 51, 48, 8, 47, 47, 47, 0, 47, 6, 0,
284 0, 0, 0, 65, 48, 48, 48, 87, 48, 0,
285 85, 0, 0, 93, 0, 0, 0, 0, 49, 0,
286 98, 99, 0, 101, 0, 51, 47, 0, 0, 0,
287 6, 51, 0, 51, 51, 51, 0, 48, 0, 0,
288 0, 0, 0, 0, 0, 124, 0, 0, 0, 0,
289 51, 51, 51, 49, 51, 0, 0, 0, 47, 49,
290 49, 49, 49, 49, 0, 49, 0, 0, 0, 48,
291 77, 83, 84, 0, 86, 86, 0, 0, 49, 49,
292 49, 0, 49, 51, 46, 0, 0, 72, 0, 0,
293 75, 75, 75, 75, 75, 75, 75, 75, 75, 0,
294 75, 22, 22, 22, 22, 22, 22, 22, 22, 22,
295 0, 49, 0, 0, 0, 51, 0, 0, 0, 46,
296 0, 0, 0, 0, 0, 46, 0, 0, 46, 7,
297 7, 7, 7, 7, 7, 7, 7, 7, 0, 0,
298 0, 0, 0, 49, 46, 46, 46, 0, 46, 0,
299 0, 0, 0, 0, 0, 0, 0, 8, 8, 8,
300 8, 8, 8, 8, 8, 8, 0, 0, 0, 0,
301 0, 0, 0, 0, 0, 0, 0, 46, 0, 0,
302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
303 0, 0, 0, 0, 0, 6, 6, 6, 6, 6,
304 6, 6, 6, 6, 0, 88, 0, 81, 50, 46,
305 0, 0, 82, 83, 84, 0, 86, 0, 0, 0,
306 0, 0, 0, 47, 47, 47, 47, 47, 47, 47,
307 47, 47, 43, 0, 48, 48, 48, 48, 48, 48,
308 48, 48, 48, 50, 0, 0, 0, 0, 0, 50,
309 50, 50, 50, 50, 0, 50, 87, 0, 0, 85,
310 0, 0, 52, 0, 0, 0, 0, 43, 50, 50,
311 50, 0, 50, 43, 43, 43, 43, 43, 0, 43,
312 51, 51, 51, 51, 51, 51, 51, 0, 0, 0,
313 0, 0, 43, 43, 43, 0, 43, 52, 0, 60,
314 0, 50, 0, 52, 0, 52, 52, 52, 49, 49,
315 49, 49, 49, 49, 49, 49, 49, 0, 0, 0,
316 0, 61, 52, 52, 52, 43, 52, 0, 58, 0,
317 0, 0, 0, 50, 60, 0, 0, 0, 0, 0,
318 60, 0, 0, 60, 0, 0, 88, 0, 81, 79,
319 59, 80, 0, 82, 0, 52, 61, 43, 56, 60,
320 60, 60, 61, 58, 0, 61, 0, 0, 0, 58,
321 78, 0, 58, 0, 46, 46, 46, 46, 46, 46,
322 46, 61, 61, 61, 0, 59, 0, 52, 58, 58,
323 58, 59, 60, 56, 59, 57, 0, 87, 0, 56,
324 85, 0, 56, 0, 0, 0, 0, 0, 0, 0,
325 59, 59, 59, 0, 61, 0, 0, 53, 56, 56,
326 56, 58, 0, 0, 60, 54, 0, 0, 0, 0,
327 57, 0, 0, 0, 0, 0, 57, 0, 0, 57,
328 0, 0, 0, 59, 0, 0, 61, 0, 0, 0,
329 0, 56, 53, 58, 0, 57, 57, 57, 53, 0,
330 54, 53, 83, 84, 0, 86, 54, 0, 0, 54,
331 0, 0, 55, 0, 0, 59, 0, 53, 53, 53,
332 0, 0, 0, 56, 0, 54, 54, 54, 57, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 50, 50,
334 50, 50, 50, 50, 50, 50, 50, 55, 0, 0,
335 53, 0, 0, 55, 0, 0, 55, 0, 54, 0,
336 57, 0, 43, 43, 43, 43, 43, 43, 43, 43,
337 43, 0, 55, 55, 55, 0, 0, 0, 0, 0,
338 0, 0, 53, 0, 0, 0, 0, 0, 0, 0,
339 54, 0, 52, 52, 52, 52, 52, 52, 52, 0,
340 0, 0, 0, 0, 0, 55, 0, 0, 0, 0,
341 0, 0, 0, 74, 0, 0, 0, 0, 88, 154,
342 81, 79, 153, 80, 0, 82, 0, 0, 0, 60,
343 60, 60, 60, 60, 60, 60, 0, 55, 68, 72,
344 69, 0, 78, 83, 84, 0, 86, 0, 0, 0,
345 0, 61, 61, 61, 61, 61, 61, 0, 58, 58,
346 58, 58, 58, 0, 0, 0, 0, 0, 0, 87,
347 0, 0, 85, 0, 0, 0, 0, 0, 0, 0,
348 59, 59, 59, 59, 59, 0, 0, 0, 56, 56,
349 56, 56, 56, 0, 0, 0, 0, 0, 0, 0,
350 0, 0, 0, 0, 0, 74, 0, 0, 0, 0,
351 88, 156, 81, 79, 155, 80, 0, 82, 0, 0,
352 0, 0, 0, 0, 0, 57, 57, 57, 57, 57,
353 68, 72, 69, 0, 78, 0, 0, 0, 0, 88,
354 0, 81, 79, 0, 80, 0, 82, 53, 53, 53,
355 53, 53, 0, 0, 0, 54, 54, 54, 54, 54,
356 74, 87, 0, 78, 85, 88, 110, 81, 79, 0,
357 80, 74, 82, 0, 0, 0, 88, 142, 81, 79,
358 0, 80, 0, 82, 0, 68, 72, 69, 0, 78,
359 87, 0, 0, 85, 0, 0, 68, 72, 69, 0,
360 78, 0, 55, 55, 55, 55, 55, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 87, 0, 0, 85,
362 0, 0, 0, 0, 0, 0, 74, 87, 0, 0,
363 85, 88, 143, 81, 79, 0, 80, 74, 82, 0,
364 0, 0, 88, 144, 81, 79, 0, 80, 0, 82,
365 0, 68, 72, 69, 0, 78, 0, 0, 0, 0,
366 0, 0, 68, 72, 69, 0, 78, 0, 67, 70,
367 71, 73, 75, 76, 77, 83, 84, 0, 86, 0,
368 0, 0, 87, 0, 0, 85, 0, 0, 0, 0,
369 0, 0, 74, 87, 0, 0, 85, 88, 145, 81,
370 79, 0, 80, 0, 82, 0, 0, 0, 0, 0,
371 0, 0, 0, 0, 0, 0, 0, 68, 72, 69,
372 74, 78, 0, 0, 0, 88, 148, 81, 79, 0,
373 80, 0, 82, 0, 0, 0, 0, 0, 0, 0,
374 0, 0, 0, 0, 0, 68, 72, 69, 87, 78,
375 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
376 67, 70, 71, 73, 75, 76, 77, 83, 84, 0,
377 86, 0, 0, 0, 0, 0, 87, 0, 0, 85,
378 0, 74, 0, 0, 0, 0, 88, 150, 81, 79,
379 0, 80, 0, 82, 76, 77, 83, 84, 0, 86,
380 0, 0, 0, 0, 0, 0, 68, 72, 69, 0,
381 78, 0, 0, 0, 0, 67, 70, 71, 73, 75,
382 76, 77, 83, 84, 0, 86, 67, 70, 71, 73,
383 75, 76, 77, 83, 84, 0, 86, 87, 0, 0,
384 85, 0, 0, 0, 0, 74, 0, 0, 0, 0,
385 88, 151, 81, 79, 0, 80, 0, 82, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 68, 72, 69, 0, 78, 0, 0, 0, 0, 0,
388 0, 67, 70, 71, 73, 75, 76, 77, 83, 84,
389 0, 86, 67, 70, 71, 73, 75, 76, 77, 83,
390 84, 87, 86, 74, 85, 0, 0, 0, 88, 152,
391 81, 79, 0, 80, 74, 82, 0, 0, 0, 88,
392 0, 81, 79, 157, 80, 0, 82, 0, 68, 72,
393 69, 0, 78, 0, 0, 0, 0, 0, 0, 68,
394 72, 69, 0, 78, 0, 0, 0, 67, 70, 71,
395 73, 75, 76, 77, 83, 84, 0, 86, 0, 87,
396 0, 0, 85, 0, 0, 0, 0, 0, 0, 0,
397 87, 0, 0, 85, 0, 67, 70, 71, 73, 75,
398 76, 77, 83, 84, 0, 86, 0, 0, 0, 74,
399 0, 0, 0, 0, 88, 0, 81, 79, 158, 80,
400 74, 82, 0, 0, 0, 88, 164, 81, 79, 0,
401 80, 0, 82, 0, 68, 72, 69, 0, 78, 0,
402 0, 0, 0, 0, 0, 68, 72, 69, 0, 78,
403 0, 0, 0, 0, 0, 0, 67, 70, 71, 73,
404 75, 76, 77, 83, 84, 87, 86, 0, 85, 0,
405 0, 0, 0, 0, 0, 74, 87, 0, 0, 85,
406 88, 174, 81, 79, 0, 80, 74, 82, 0, 0,
407 0, 88, 175, 81, 79, 0, 80, 0, 82, 0,
408 68, 72, 69, 0, 78, 0, 0, 0, 0, 0,
409 0, 68, 72, 69, 0, 78, 0, 0, 0, 0,
410 67, 70, 71, 73, 75, 76, 77, 83, 84, 0,
411 86, 87, 0, 0, 85, 0, 0, 0, 0, 0,
412 0, 0, 87, 0, 74, 85, 0, 0, 0, 88,
413 176, 81, 79, 0, 80, 0, 82, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
415 72, 69, 0, 78, 0, 0, 0, 0, 67, 70,
416 71, 73, 75, 76, 77, 83, 84, 0, 86, 67,
417 70, 71, 73, 75, 76, 77, 83, 84, 0, 86,
418 87, 74, 0, 85, 0, 0, 88, 177, 81, 79,
419 0, 80, 0, 82, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 68, 72, 69, 0,
421 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
424 85, 0, 0, 0, 67, 70, 71, 73, 75, 76,
425 77, 83, 84, 0, 86, 67, 70, 71, 73, 75,
426 76, 77, 83, 84, 0, 86, 30, 0, 0, 28,
427 0, 29, 0, 0, 74, 0, 0, 0, 0, 88,
428 178, 81, 79, 0, 80, 0, 82, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
430 72, 69, 0, 78, 0, 0, 0, 0, 0, 0,
431 67, 70, 71, 73, 75, 76, 77, 83, 84, 0,
432 86, 67, 70, 71, 73, 75, 76, 77, 83, 84,
433 87, 86, 74, 85, 0, 0, 0, 88, 0, 81,
434 79, 0, 80, 74, 82, 0, 0, 0, 88, 33,
435 81, 79, 32, 80, 0, 82, 0, 68, 72, 69,
436 0, 78, 0, 0, 0, 0, 0, 0, 68, 72,
437 69, 0, 78, 0, 0, 0, 0, 0, 0, 67,
438 70, 71, 73, 75, 76, 77, 83, 84, 87, 86,
439 43, 85, 0, 28, 0, 29, 0, 0, 0, 87,
440 0, 0, 85, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
443 0, 0, 0, 0, 0, 0, 67, 70, 71, 73,
444 75, 76, 77, 83, 84, 0, 86, 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, 33, 0, 0, 32, 0, 0, 0,
448 0, 0, 0, 1, 0, 0, 2, 3, 4, 5,
449 6, 7, 8, 9, 0, 0, 10, 11, 12, 13,
450 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
451 24, 25, 26, 0, 27, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 31, 0, 67,
453 70, 71, 73, 75, 76, 77, 83, 84, 0, 86,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
458 0, 0, 0, 0, 0, 0, 0, 67, 70, 71,
459 73, 75, 76, 77, 83, 84, 0, 86, 0, 70,
460 71, 73, 75, 76, 77, 83, 84, 1, 86, 0,
461 2, 3, 4, 5, 6, 7, 8, 9, 0, 0,
462 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
463 20, 21, 22, 23, 24, 25, 26, 35, 27, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
465 0, 31, 0, 0, 0, 0, 0, 0, 0, 0,
466 0, 0, 0, 0, 0, 61, 0, 63, 0, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 0, 92,
468 63, 0, 0, 94, 95, 96, 97, 0, 0, 100,
469 0, 102, 103, 104, 105, 106, 107, 108, 0, 109,
470 0, 0, 0, 0, 114, 115, 116, 117, 118, 119,
471 120, 121, 0, 125, 126, 127, 128, 129, 130, 131,
472 132, 133, 0, 0, 0, 0, 137, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 159, 160,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
477 0, 0, 161, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 166, 0, 0, 0,
479 167, 0, 168, 0, 169, 170, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 179,
481};
482const short yycheckm2_yycheck[] =
483 { 40,
484 0, 44, 40, 90, 123, 287, 41, 44, 44, 44,
485 44, 0, 40, 41, 40, 40, 42, 43, 40, 45,
486 41, 47, 41, 44, 40, 44, 41, 266, 267, 44,
487 270, 40, 44, 40, 44, 35, 40, 40, 64, 0,
488 40, 41, 42, 43, 44, 45, 35, 47, 0, 136,
489 93, 266, 41, 42, 43, 44, 45, 93, 47, 93,
490 60, 61, 62, 40, 64, 91, 91, 0, 94, 94,
491 40, 60, 61, 62, 35, 64, 40, 40, 40, 44,
492 41, 42, 43, 44, 45, 123, 47, 125, 125, 41,
493 125, 91, 44, 93, 94, 123, 40, 40, 40, 60,
494 61, 62, 35, 64, 93, 0, 125, 123, 41, 42,
495 43, 44, 45, 125, 47, 125, 40, 123, 41, 41,
496 0, 0, 75, -1, -1, 125, -1, 60, 61, 62,
497 -1, 64, 93, 0, -1, -1, 125, -1, -1, -1,
498 35, 93, -1, -1, 0, -1, 41, 42, 43, 44,
499 45, 270, 47, -1, -1, -1, 40, -1, 42, 43,
500 93, 45, -1, 47, 125, 60, 61, 62, 35, 64,
501 0, -1, -1, 125, 41, 42, 43, 44, 45, 35,
502 47, -1, -1, -1, -1, 41, 42, 43, 44, 45,
503 0, 47, 125, 60, 61, 62, -1, 64, 93, -1,
504 -1, -1, -1, 33, 60, 61, 62, 91, 64, -1,
505 94, -1, -1, 43, -1, -1, -1, -1, 0, -1,
506 50, 51, -1, 53, -1, 35, 93, -1, -1, -1,
507 125, 41, -1, 43, 44, 45, -1, 93, -1, -1,
508 -1, -1, -1, -1, -1, 75, -1, -1, -1, -1,
509 60, 61, 62, 35, 64, -1, -1, -1, 125, 41,
510 42, 43, 44, 45, -1, 47, -1, -1, -1, 125,
511 296, 297, 298, -1, 300, 300, -1, -1, 60, 61,
512 62, -1, 64, 93, 0, -1, -1, 287, -1, -1,
513 290, 291, 292, 293, 294, 295, 296, 297, 298, -1,
514 300, 290, 291, 292, 293, 294, 295, 296, 297, 298,
515 -1, 93, -1, -1, -1, 125, -1, -1, -1, 35,
516 -1, -1, -1, -1, -1, 41, -1, -1, 44, 290,
517 291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
518 -1, -1, -1, 125, 60, 61, 62, -1, 64, -1,
519 -1, -1, -1, -1, -1, -1, -1, 290, 291, 292,
520 293, 294, 295, 296, 297, 298, -1, -1, -1, -1,
521 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
522 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
523 -1, -1, -1, -1, -1, 290, 291, 292, 293, 294,
524 295, 296, 297, 298, -1, 40, -1, 42, 0, 125,
525 -1, -1, 47, 297, 298, -1, 300, -1, -1, -1,
526 -1, -1, -1, 290, 291, 292, 293, 294, 295, 296,
527 297, 298, 0, -1, 290, 291, 292, 293, 294, 295,
528 296, 297, 298, 35, -1, -1, -1, -1, -1, 41,
529 42, 43, 44, 45, -1, 47, 91, -1, -1, 94,
530 -1, -1, 0, -1, -1, -1, -1, 35, 60, 61,
531 62, -1, 64, 41, 42, 43, 44, 45, -1, 47,
532 290, 291, 292, 293, 294, 295, 296, -1, -1, -1,
533 -1, -1, 60, 61, 62, -1, 64, 35, -1, 0,
534 -1, 93, -1, 41, -1, 43, 44, 45, 290, 291,
535 292, 293, 294, 295, 296, 297, 298, -1, -1, -1,
536 -1, 0, 60, 61, 62, 93, 64, -1, 0, -1,
537 -1, -1, -1, 125, 35, -1, -1, -1, -1, -1,
538 41, -1, -1, 44, -1, -1, 40, -1, 42, 43,
539 0, 45, -1, 47, -1, 93, 35, 125, 0, 60,
540 61, 62, 41, 35, -1, 44, -1, -1, -1, 41,
541 64, -1, 44, -1, 290, 291, 292, 293, 294, 295,
542 296, 60, 61, 62, -1, 35, -1, 125, 60, 61,
543 62, 41, 93, 35, 44, 0, -1, 91, -1, 41,
544 94, -1, 44, -1, -1, -1, -1, -1, -1, -1,
545 60, 61, 62, -1, 93, -1, -1, 0, 60, 61,
546 62, 93, -1, -1, 125, 0, -1, -1, -1, -1,
547 35, -1, -1, -1, -1, -1, 41, -1, -1, 44,
548 -1, -1, -1, 93, -1, -1, 125, -1, -1, -1,
549 -1, 93, 35, 125, -1, 60, 61, 62, 41, -1,
550 35, 44, 297, 298, -1, 300, 41, -1, -1, 44,
551 -1, -1, 0, -1, -1, 125, -1, 60, 61, 62,
552 -1, -1, -1, 125, -1, 60, 61, 62, 93, -1,
553 -1, -1, -1, -1, -1, -1, -1, -1, 290, 291,
554 292, 293, 294, 295, 296, 297, 298, 35, -1, -1,
555 93, -1, -1, 41, -1, -1, 44, -1, 93, -1,
556 125, -1, 290, 291, 292, 293, 294, 295, 296, 297,
557 298, -1, 60, 61, 62, -1, -1, -1, -1, -1,
558 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
559 125, -1, 290, 291, 292, 293, 294, 295, 296, -1,
560 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
561 -1, -1, -1, 35, -1, -1, -1, -1, 40, 41,
562 42, 43, 44, 45, -1, 47, -1, -1, -1, 290,
563 291, 292, 293, 294, 295, 296, -1, 125, 60, 61,
564 62, -1, 64, 297, 298, -1, 300, -1, -1, -1,
565 -1, 290, 291, 292, 293, 294, 295, -1, 290, 291,
566 292, 293, 294, -1, -1, -1, -1, -1, -1, 91,
567 -1, -1, 94, -1, -1, -1, -1, -1, -1, -1,
568 290, 291, 292, 293, 294, -1, -1, -1, 290, 291,
569 292, 293, 294, -1, -1, -1, -1, -1, -1, -1,
570 -1, -1, -1, -1, -1, 35, -1, -1, -1, -1,
571 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
572 -1, -1, -1, -1, -1, 290, 291, 292, 293, 294,
573 60, 61, 62, -1, 64, -1, -1, -1, -1, 40,
574 -1, 42, 43, -1, 45, -1, 47, 290, 291, 292,
575 293, 294, -1, -1, -1, 290, 291, 292, 293, 294,
576 35, 91, -1, 64, 94, 40, 41, 42, 43, -1,
577 45, 35, 47, -1, -1, -1, 40, 41, 42, 43,
578 -1, 45, -1, 47, -1, 60, 61, 62, -1, 64,
579 91, -1, -1, 94, -1, -1, 60, 61, 62, -1,
580 64, -1, 290, 291, 292, 293, 294, -1, -1, -1,
581 -1, -1, -1, -1, -1, -1, 91, -1, -1, 94,
582 -1, -1, -1, -1, -1, -1, 35, 91, -1, -1,
583 94, 40, 41, 42, 43, -1, 45, 35, 47, -1,
584 -1, -1, 40, 41, 42, 43, -1, 45, -1, 47,
585 -1, 60, 61, 62, -1, 64, -1, -1, -1, -1,
586 -1, -1, 60, 61, 62, -1, 64, -1, 290, 291,
587 292, 293, 294, 295, 296, 297, 298, -1, 300, -1,
588 -1, -1, 91, -1, -1, 94, -1, -1, -1, -1,
589 -1, -1, 35, 91, -1, -1, 94, 40, 41, 42,
590 43, -1, 45, -1, 47, -1, -1, -1, -1, -1,
591 -1, -1, -1, -1, -1, -1, -1, 60, 61, 62,
592 35, 64, -1, -1, -1, 40, 41, 42, 43, -1,
593 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
594 -1, -1, -1, -1, -1, 60, 61, 62, 91, 64,
595 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
596 290, 291, 292, 293, 294, 295, 296, 297, 298, -1,
597 300, -1, -1, -1, -1, -1, 91, -1, -1, 94,
598 -1, 35, -1, -1, -1, -1, 40, 41, 42, 43,
599 -1, 45, -1, 47, 295, 296, 297, 298, -1, 300,
600 -1, -1, -1, -1, -1, -1, 60, 61, 62, -1,
601 64, -1, -1, -1, -1, 290, 291, 292, 293, 294,
602 295, 296, 297, 298, -1, 300, 290, 291, 292, 293,
603 294, 295, 296, 297, 298, -1, 300, 91, -1, -1,
604 94, -1, -1, -1, -1, 35, -1, -1, -1, -1,
605 40, 41, 42, 43, -1, 45, -1, 47, -1, -1,
606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
607 60, 61, 62, -1, 64, -1, -1, -1, -1, -1,
608 -1, 290, 291, 292, 293, 294, 295, 296, 297, 298,
609 -1, 300, 290, 291, 292, 293, 294, 295, 296, 297,
610 298, 91, 300, 35, 94, -1, -1, -1, 40, 41,
611 42, 43, -1, 45, 35, 47, -1, -1, -1, 40,
612 -1, 42, 43, 44, 45, -1, 47, -1, 60, 61,
613 62, -1, 64, -1, -1, -1, -1, -1, -1, 60,
614 61, 62, -1, 64, -1, -1, -1, 290, 291, 292,
615 293, 294, 295, 296, 297, 298, -1, 300, -1, 91,
616 -1, -1, 94, -1, -1, -1, -1, -1, -1, -1,
617 91, -1, -1, 94, -1, 290, 291, 292, 293, 294,
618 295, 296, 297, 298, -1, 300, -1, -1, -1, 35,
619 -1, -1, -1, -1, 40, -1, 42, 43, 44, 45,
620 35, 47, -1, -1, -1, 40, 41, 42, 43, -1,
621 45, -1, 47, -1, 60, 61, 62, -1, 64, -1,
622 -1, -1, -1, -1, -1, 60, 61, 62, -1, 64,
623 -1, -1, -1, -1, -1, -1, 290, 291, 292, 293,
624 294, 295, 296, 297, 298, 91, 300, -1, 94, -1,
625 -1, -1, -1, -1, -1, 35, 91, -1, -1, 94,
626 40, 41, 42, 43, -1, 45, 35, 47, -1, -1,
627 -1, 40, 41, 42, 43, -1, 45, -1, 47, -1,
628 60, 61, 62, -1, 64, -1, -1, -1, -1, -1,
629 -1, 60, 61, 62, -1, 64, -1, -1, -1, -1,
630 290, 291, 292, 293, 294, 295, 296, 297, 298, -1,
631 300, 91, -1, -1, 94, -1, -1, -1, -1, -1,
632 -1, -1, 91, -1, 35, 94, -1, -1, -1, 40,
633 41, 42, 43, -1, 45, -1, 47, -1, -1, -1,
634 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
635 61, 62, -1, 64, -1, -1, -1, -1, 290, 291,
636 292, 293, 294, 295, 296, 297, 298, -1, 300, 290,
637 291, 292, 293, 294, 295, 296, 297, 298, -1, 300,
638 91, 35, -1, 94, -1, -1, 40, 41, 42, 43,
639 -1, 45, -1, 47, -1, -1, -1, -1, -1, -1,
640 -1, -1, -1, -1, -1, -1, 60, 61, 62, -1,
641 64, -1, -1, -1, -1, -1, -1, -1, -1, -1,
642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
643 -1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
644 94, -1, -1, -1, 290, 291, 292, 293, 294, 295,
645 296, 297, 298, -1, 300, 290, 291, 292, 293, 294,
646 295, 296, 297, 298, -1, 300, 40, -1, -1, 43,
647 -1, 45, -1, -1, 35, -1, -1, -1, -1, 40,
648 41, 42, 43, -1, 45, -1, 47, -1, -1, -1,
649 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
650 61, 62, -1, 64, -1, -1, -1, -1, -1, -1,
651 290, 291, 292, 293, 294, 295, 296, 297, 298, -1,
652 300, 290, 291, 292, 293, 294, 295, 296, 297, 298,
653 91, 300, 35, 94, -1, -1, -1, 40, -1, 42,
654 43, -1, 45, 35, 47, -1, -1, -1, 40, 123,
655 42, 43, 126, 45, -1, 47, -1, 60, 61, 62,
656 -1, 64, -1, -1, -1, -1, -1, -1, 60, 61,
657 62, -1, 64, -1, -1, -1, -1, -1, -1, 290,
658 291, 292, 293, 294, 295, 296, 297, 298, 91, 300,
659 40, 94, -1, 43, -1, 45, -1, -1, -1, 91,
660 -1, -1, 94, -1, -1, -1, -1, -1, -1, -1,
661 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
663 -1, -1, -1, -1, -1, -1, 290, 291, 292, 293,
664 294, 295, 296, 297, 298, -1, 300, -1, -1, -1,
665 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
666 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
667 -1, -1, -1, 123, -1, -1, 126, -1, -1, -1,
668 -1, -1, -1, 257, -1, -1, 260, 261, 262, 263,
669 264, 265, 266, 267, -1, -1, 270, 271, 272, 273,
670 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
671 284, 285, 286, -1, 288, -1, -1, -1, -1, -1,
672 -1, -1, -1, -1, -1, -1, -1, 301, -1, 290,
673 291, 292, 293, 294, 295, 296, 297, 298, -1, 300,
674 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
676 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
677 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
678 -1, -1, -1, -1, -1, -1, -1, 290, 291, 292,
679 293, 294, 295, 296, 297, 298, -1, 300, -1, 291,
680 292, 293, 294, 295, 296, 297, 298, 257, 300, -1,
681 260, 261, 262, 263, 264, 265, 266, 267, -1, -1,
682 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
683 280, 281, 282, 283, 284, 285, 286, 0, 288, -1,
684 -1, -1, -1, -1, -1, -1, -1, -1, 11, -1,
685 -1, 301, -1, -1, -1, -1, -1, -1, -1, -1,
686 -1, -1, -1, -1, -1, 28, -1, 30, -1, -1,
687 -1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
688 43, -1, -1, 46, 47, 48, 49, -1, -1, 52,
689 -1, 54, 55, 56, 57, 58, 59, 60, -1, 62,
690 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
691 73, 74, -1, 76, 77, 78, 79, 80, 81, 82,
692 83, 84, -1, -1, -1, -1, 89, -1, -1, -1,
693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
694 -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
695 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
697 -1, -1, 135, -1, -1, -1, -1, -1, -1, -1,
698 -1, -1, -1, -1, -1, -1, 149, -1, -1, -1,
699 153, -1, 155, -1, 157, 158, -1, -1, -1, -1,
700 -1, -1, -1, -1, -1, -1, -1, -1, 171,
701};
702#define YYFINAL34 34
703#ifndef YYDEBUG1
704#define YYDEBUG1 0
705#endif
706#define YYMAXTOKEN302 302
707#if YYDEBUG1
708const char * const yynamem2_name[] =
709 {
710"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,0,
7110,"'#'",0,0,"'&'",0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,
7120,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,
7130,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,
7140,"'{'",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,
7150,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,
7160,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,
7170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"INT","HEX","ERROR","UINT","M2_TRUE",
718"M2_FALSE","CHAR","FLOAT","STRING","NAME","BLOCKNAME","IDENT","VARNAME",
719"TYPENAME","SIZE","CAP","ORD","HIGH","ABS","MIN_FUNC","MAX_FUNC","FLOAT_FUNC",
720"VAL","CHR","ODD","TRUNC","INC","DEC","INCL","EXCL","COLONCOLON","INTERNAL_VAR",
721"ABOVE_COMMA","ASSIGN","LEQ","GEQ","NOTEQUAL","IN","OROR","LOGICAL_AND","DIV",
722"MOD","UNARY","DOT","NOT","QID",
723};
724const char * const yyrulem2_rule[] =
725 {"$accept : start",
726"start : exp",
727"start : type_exp",
728"type_exp : type",
729"exp : exp '^'",
730"$$1 :",
731"exp : '-' $$1 exp",
732"exp : '+' exp",
733"exp : not_exp exp",
734"not_exp : NOT",
735"not_exp : '~'",
736"exp : CAP '(' exp ')'",
737"exp : ORD '(' exp ')'",
738"exp : ABS '(' exp ')'",
739"exp : HIGH '(' exp ')'",
740"exp : MIN_FUNC '(' type ')'",
741"exp : MAX_FUNC '(' type ')'",
742"exp : FLOAT_FUNC '(' exp ')'",
743"exp : VAL '(' type ',' exp ')'",
744"exp : CHR '(' exp ')'",
745"exp : ODD '(' exp ')'",
746"exp : TRUNC '(' exp ')'",
747"exp : SIZE exp",
748"exp : INC '(' exp ')'",
749"exp : INC '(' exp ',' exp ')'",
750"exp : DEC '(' exp ')'",
751"exp : DEC '(' exp ',' exp ')'",
752"exp : exp DOT NAME",
753"exp : set",
754"exp : exp IN set",
755"exp : INCL '(' exp ',' exp ')'",
756"exp : EXCL '(' exp ',' exp ')'",
757"set : '{' arglist '}'",
758"set : type '{' arglist '}'",
759"$$2 :",
760"exp : exp '[' $$2 non_empty_arglist ']'",
761"$$3 :",
762"exp : exp '(' $$3 arglist ')'",
763"arglist :",
764"arglist : exp",
765"arglist : arglist ',' exp",
766"non_empty_arglist : exp",
767"non_empty_arglist : non_empty_arglist ',' exp",
768"exp : '{' type '}' exp",
769"exp : type '(' exp ')'",
770"exp : '(' exp ')'",
771"exp : exp '@' exp",
772"exp : exp '*' exp",
773"exp : exp '/' exp",
774"exp : exp DIV exp",
775"exp : exp MOD exp",
776"exp : exp '+' exp",
777"exp : exp '-' exp",
778"exp : exp '=' exp",
779"exp : exp NOTEQUAL exp",
780"exp : exp '#' exp",
781"exp : exp LEQ exp",
782"exp : exp GEQ exp",
783"exp : exp '<' exp",
784"exp : exp '>' exp",
785"exp : exp LOGICAL_AND exp",
786"exp : exp OROR exp",
787"exp : exp ASSIGN exp",
788"exp : M2_TRUE",
789"exp : M2_FALSE",
790"exp : INT",
791"exp : UINT",
792"exp : CHAR",
793"exp : FLOAT",
794"exp : variable",
795"exp : SIZE '(' type ')'",
796"exp : STRING",
797"block : fblock",
798"fblock : BLOCKNAME",
799"fblock : block COLONCOLON BLOCKNAME",
800"variable : fblock",
801"variable : INTERNAL_VAR",
802"variable : block COLONCOLON NAME",
803"variable : NAME",
804"type : TYPENAME",
805};
806#endif
807#ifdef YYSTACKSIZE10000
808#undef YYMAXDEPTH10000
809#define YYMAXDEPTH10000 YYSTACKSIZE10000
810#else
811#ifdef YYMAXDEPTH10000
812#define YYSTACKSIZE10000 YYMAXDEPTH10000
813#else
814#define YYSTACKSIZE10000 10000
815#define YYMAXDEPTH10000 10000
816#endif
817#endif
818#define YYINITSTACKSIZE200 200
819/* LINTUSED */
820int yydebugm2_debug;
821int yynerrsm2_nerrs;
822int yyerrflagm2_errflag;
823int yycharm2_char;
824short *yyssp;
825YYSTYPE *yyvsp;
826YYSTYPE yyvalm2_val;
827YYSTYPE yylvalm2_lval;
828short *yyss;
829short *yysslim;
830YYSTYPE *yyvs;
831unsigned int yystacksize;
832int yyparsem2_parse(void);
833#line 648 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
834
835#if 0 /* FIXME! */
836int
837overflow(a,b)
838 long a,b;
839{
840 return (MAX_OF_TYPE(builtin_type_m2_int)(((builtin_type_m2_int)->main_type->flags & (1 <<
0)) ? UMAX_OF_SIZE((builtin_type_m2_int)->length) : MAX_OF_SIZE
((builtin_type_m2_int)->length))
- b) < a;
841}
842
843int
844uoverflow(a,b)
845 unsigned long a,b;
846{
847 return (MAX_OF_TYPE(builtin_type_m2_card)(((builtin_type_m2_card)->main_type->flags & (1 <<
0)) ? UMAX_OF_SIZE((builtin_type_m2_card)->length) : MAX_OF_SIZE
((builtin_type_m2_card)->length))
- b) < a;
848}
849#endif /* FIXME */
850
851/* Take care of parsing a number (anything that starts with a digit).
852 Set yylval and return the token type; update lexptr.
853 LEN is the number of characters in it. */
854
855/*** Needs some error checking for the float case ***/
856
857static int
858parse_number (olen)
859 int olen;
860{
861 char *p = lexptr;
862 LONGESTlong n = 0;
863 LONGESTlong prevn = 0;
864 int c,i,ischar=0;
865 int base = input_radix;
866 int len = olen;
867 int unsigned_p = number_sign == 1 ? 1 : 0;
868
869 if(p[len-1] == 'H')
870 {
871 base = 16;
872 len--;
873 }
874 else if(p[len-1] == 'C' || p[len-1] == 'B')
875 {
876 base = 8;
877 ischar = p[len-1] == 'C';
878 len--;
879 }
880
881 /* Scan the number */
882 for (c = 0; c < len; c++)
883 {
884 if (p[c] == '.' && base == 10)
885 {
886 /* It's a float since it contains a point. */
887 yylvalm2_lval.dval = atof (p);
888 lexptr += len;
889 return FLOAT264;
890 }
891 if (p[c] == '.' && base != 10)
892 error("Floating point numbers must be base 10.");
893 if (base == 10 && (p[c] < '0' || p[c] > '9'))
894 error("Invalid digit \'%c\' in number.",p[c]);
895 }
896
897 while (len-- > 0)
898 {
899 c = *p++;
900 n *= base;
901 if( base == 8 && (c == '8' || c == '9'))
902 error("Invalid digit \'%c\' in octal number.",c);
903 if (c >= '0' && c <= '9')
904 i = c - '0';
905 else
906 {
907 if (base == 16 && c >= 'A' && c <= 'F')
908 i = c - 'A' + 10;
909 else
910 return ERROR259;
911 }
912 n+=i;
913 if(i >= base)
914 return ERROR259;
915 if(!unsigned_p && number_sign == 1 && (prevn >= n))
916 unsigned_p=1; /* Try something unsigned */
917 /* Don't do the range check if n==i and i==0, since that special
918 case will give an overflow error. */
919 if(RANGE_CHECK(range_check != range_check_off) && n!=i && i)
920 {
921 if((unsigned_p && (unsigned)prevn >= (unsigned)n) ||
922 ((!unsigned_p && number_sign==-1) && -prevn <= -n))
923 range_error("Overflow on numeric constant.");
924 }
925 prevn=n;
926 }
927
928 lexptr = p;
929 if(*p == 'B' || *p == 'C' || *p == 'H')
930 lexptr++; /* Advance past B,C or H */
931
932 if (ischar)
933 {
934 yylvalm2_lval.ulval = n;
935 return CHAR263;
936 }
937 else if ( unsigned_p && number_sign == 1)
938 {
939 yylvalm2_lval.ulval = n;
940 return UINT260;
941 }
942 else if((unsigned_p && (n<0))) {
943 range_error("Overflow on numeric constant -- number too large.");
944 /* But, this can return if range_check == range_warn. */
945 }
946 yylvalm2_lval.lval = n;
947 return INT257;
948}
949
950
951/* Some tokens */
952
953static struct
954{
955 char name[2];
956 int token;
957} tokentab2[] =
958{
959 { {'<', '>'}, NOTEQUAL293 },
960 { {':', '='}, ASSIGN290 },
961 { {'<', '='}, LEQ291 },
962 { {'>', '='}, GEQ292 },
963 { {':', ':'}, COLONCOLON287 },
964
965};
966
967/* Some specific keywords */
968
969struct keyword {
970 char keyw[10];
971 int token;
972};
973
974static struct keyword keytab[] =
975{
976 {"OR" , OROR295 },
977 {"IN", IN294 },/* Note space after IN */
978 {"AND", LOGICAL_AND296},
979 {"ABS", ABS275 },
980 {"CHR", CHR280 },
981 {"DEC", DEC284 },
982 {"NOT", NOT301 },
983 {"DIV", DIV297 },
984 {"INC", INC283 },
985 {"MAX", MAX_FUNC277 },
986 {"MIN", MIN_FUNC276 },
987 {"MOD", MOD298 },
988 {"ODD", ODD281 },
989 {"CAP", CAP272 },
990 {"ORD", ORD273 },
991 {"VAL", VAL279 },
992 {"EXCL", EXCL286 },
993 {"HIGH", HIGH274 },
994 {"INCL", INCL285 },
995 {"SIZE", SIZE271 },
996 {"FLOAT", FLOAT_FUNC278 },
997 {"TRUNC", TRUNC282 },
998};
999
1000
1001/* Read one token, getting characters through lexptr. */
1002
1003/* This is where we will check to make sure that the language and the operators used are
1004 compatible */
1005
1006static int
1007yylexm2_lex ()
1008{
1009 int c;
1010 int namelen;
1011 int i;
1012 char *tokstart;
1013 char quote;
1014
1015 retry:
1016
1017 prev_lexptr = lexptr;
1018
1019 tokstart = lexptr;
1020
1021
1022 /* See if it is a special token of length 2 */
1023 for( i = 0 ; i < (int) (sizeof tokentab2 / sizeof tokentab2[0]) ; i++)
1024 if(DEPRECATED_STREQN(tokentab2[i].name, tokstart, 2)(strncmp ((tokentab2[i].name), (tokstart), (2)) == 0))
1025 {
1026 lexptr += 2;
1027 return tokentab2[i].token;
1028 }
1029
1030 switch (c = *tokstart)
1031 {
1032 case 0:
1033 return 0;
1034
1035 case ' ':
1036 case '\t':
1037 case '\n':
1038 lexptr++;
1039 goto retry;
1040
1041 case '(':
1042 paren_depth++;
1043 lexptr++;
1044 return c;
1045
1046 case ')':
1047 if (paren_depth == 0)
1048 return 0;
1049 paren_depth--;
1050 lexptr++;
1051 return c;
1052
1053 case ',':
1054 if (comma_terminates && paren_depth == 0)
1055 return 0;
1056 lexptr++;
1057 return c;
1058
1059 case '.':
1060 /* Might be a floating point number. */
1061 if (lexptr[1] >= '0' && lexptr[1] <= '9')
1062 break; /* Falls into number code. */
1063 else
1064 {
1065 lexptr++;
1066 return DOT300;
1067 }
1068
1069/* These are character tokens that appear as-is in the YACC grammar */
1070 case '+':
1071 case '-':
1072 case '*':
1073 case '/':
1074 case '^':
1075 case '<':
1076 case '>':
1077 case '[':
1078 case ']':
1079 case '=':
1080 case '{':
1081 case '}':
1082 case '#':
1083 case '@':
1084 case '~':
1085 case '&':
1086 lexptr++;
1087 return c;
1088
1089 case '\'' :
1090 case '"':
1091 quote = c;
1092 for (namelen = 1; (c = tokstart[namelen]) != quote && c != '\0'; namelen++)
1093 if (c == '\\')
1094 {
1095 c = tokstart[++namelen];
1096 if (c >= '0' && c <= '9')
1097 {
1098 c = tokstart[++namelen];
1099 if (c >= '0' && c <= '9')
1100 c = tokstart[++namelen];
1101 }
1102 }
1103 if(c != quote)
1104 error("Unterminated string or character constant.");
1105 yylvalm2_lval.sval.ptr = tokstart + 1;
1106 yylvalm2_lval.sval.length = namelen - 1;
1107 lexptr += namelen + 1;
1108
1109 if(namelen == 2) /* Single character */
1110 {
1111 yylvalm2_lval.ulval = tokstart[1];
1112 return CHAR263;
1113 }
1114 else
1115 return STRING265;
1116 }
1117
1118 /* Is it a number? */
1119 /* Note: We have already dealt with the case of the token '.'.
1120 See case '.' above. */
1121 if ((c >= '0' && c <= '9'))
1122 {
1123 /* It's a number. */
1124 int got_dot = 0, got_e = 0;
1125 char *p = tokstart;
1126 int toktype;
1127
1128 for (++p ;; ++p)
1129 {
1130 if (!got_e && (*p == 'e' || *p == 'E'))
1131 got_dot = got_e = 1;
1132 else if (!got_dot && *p == '.')
1133 got_dot = 1;
1134 else if (got_e && (p[-1] == 'e' || p[-1] == 'E')
1135 && (*p == '-' || *p == '+'))
1136 /* This is the sign of the exponent, not the end of the
1137 number. */
1138 continue;
1139 else if ((*p < '0' || *p > '9') &&
1140 (*p < 'A' || *p > 'F') &&
1141 (*p != 'H')) /* Modula-2 hexadecimal number */
1142 break;
1143 }
1144 toktype = parse_number (p - tokstart);
1145 if (toktype == ERROR259)
1146 {
1147 char *err_copy = (char *) alloca (p - tokstart + 1)__builtin_alloca(p - tokstart + 1);
1148
1149 memcpy (err_copy, tokstart, p - tokstart);
1150 err_copy[p - tokstart] = 0;
1151 error ("Invalid number \"%s\".", err_copy);
1152 }
1153 lexptr = p;
1154 return toktype;
1155 }
1156
1157 if (!(c == '_' || c == '$'
1158 || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')))
1159 /* We must have come across a bad character (e.g. ';'). */
1160 error ("Invalid character '%c' in expression.", c);
1161
1162 /* It's a name. See how long it is. */
1163 namelen = 0;
1164 for (c = tokstart[namelen];
1165 (c == '_' || c == '$' || (c >= '0' && c <= '9')
1166 || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
1167 c = tokstart[++namelen])
1168 ;
1169
1170 /* The token "if" terminates the expression and is NOT
1171 removed from the input stream. */
1172 if (namelen == 2 && tokstart[0] == 'i' && tokstart[1] == 'f')
1173 {
1174 return 0;
1175 }
1176
1177 lexptr += namelen;
1178
1179 /* Lookup special keywords */
1180 for(i = 0 ; i < (int) (sizeof(keytab) / sizeof(keytab[0])) ; i++)
1181 if(namelen == strlen(keytab[i].keyw) && DEPRECATED_STREQN(tokstart,keytab[i].keyw,namelen)(strncmp ((tokstart), (keytab[i].keyw), (namelen)) == 0))
1182 return keytab[i].token;
1183
1184 yylvalm2_lval.sval.ptr = tokstart;
1185 yylvalm2_lval.sval.length = namelen;
1186
1187 if (*tokstart == '$')
1188 {
1189 write_dollar_variable (yylvalm2_lval.sval);
1190 return INTERNAL_VAR288;
1191 }
1192
1193 /* Use token-type BLOCKNAME for symbols that happen to be defined as
1194 functions. If this is not so, then ...
1195 Use token-type TYPENAME for symbols that happen to be defined
1196 currently as names of types; NAME for other symbols.
1197 The caller is not constrained to care about the distinction. */
1198 {
1199
1200
1201 char *tmp = copy_name (yylvalm2_lval.sval);
1202 struct symbol *sym;
1203
1204 if (lookup_partial_symtab (tmp))
1205 return BLOCKNAME267;
1206 sym = lookup_symbol (tmp, expression_context_block,
1207 VAR_DOMAIN, 0, NULL((void*)0));
1208 if (sym && SYMBOL_CLASS (sym)(sym)->aclass == LOC_BLOCK)
1209 return BLOCKNAME267;
1210 if (lookup_typename (copy_name (yylvalm2_lval.sval), expression_context_block, 1))
1211 return TYPENAME270;
1212
1213 if(sym)
1214 {
1215 switch(sym->aclass)
1216 {
1217 case LOC_STATIC:
1218 case LOC_REGISTER:
1219 case LOC_ARG:
1220 case LOC_REF_ARG:
1221 case LOC_REGPARM:
1222 case LOC_REGPARM_ADDR:
1223 case LOC_LOCAL:
1224 case LOC_LOCAL_ARG:
1225 case LOC_BASEREG:
1226 case LOC_BASEREG_ARG:
1227 case LOC_CONST:
1228 case LOC_CONST_BYTES:
1229 case LOC_OPTIMIZED_OUT:
1230 case LOC_COMPUTED:
1231 case LOC_COMPUTED_ARG:
1232 return NAME266;
1233
1234 case LOC_TYPEDEF:
1235 return TYPENAME270;
1236
1237 case LOC_BLOCK:
1238 return BLOCKNAME267;
1239
1240 case LOC_UNDEF:
1241 error("internal: Undefined class in m2lex()");
1242
1243 case LOC_LABEL:
1244 case LOC_UNRESOLVED:
1245 error("internal: Unforseen case in m2lex()");
1246
1247 default:
1248 error ("unhandled token in m2lex()");
1249 break;
1250 }
1251 }
1252 else
1253 {
1254 /* Built-in BOOLEAN type. This is sort of a hack. */
1255 if(DEPRECATED_STREQN(tokstart,"TRUE",4)(strncmp ((tokstart), ("TRUE"), (4)) == 0))
1256 {
1257 yylvalm2_lval.ulval = 1;
1258 return M2_TRUE261;
1259 }
1260 else if(DEPRECATED_STREQN(tokstart,"FALSE",5)(strncmp ((tokstart), ("FALSE"), (5)) == 0))
1261 {
1262 yylvalm2_lval.ulval = 0;
1263 return M2_FALSE262;
1264 }
1265 }
1266
1267 /* Must be another type of name... */
1268 return NAME266;
1269 }
1270}
1271
1272#if 0 /* Unused */
1273static char *
1274make_qualname(mod,ident)
1275 char *mod, *ident;
1276{
1277 char *new = xmalloc(strlen(mod)+strlen(ident)+2);
1278
1279 strcpy(new,mod);
1280 strcat(new,".");
1281 strcat(new,ident);
1282 return new;
1283}
1284#endif /* 0 */
1285
1286void
1287yyerrorm2_error (msg)
1288 char *msg;
1289{
1290 if (prev_lexptr)
1291 lexptr = prev_lexptr;
1292
1293 error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr);
1294}
1295/* allocate initial stack or double stack size, up to YYMAXDEPTH */
1296static int yygrowstack(void)
1297{
1298 unsigned int newsize;
1299 long sslen;
1300 short *newss;
1301 YYSTYPE *newvs;
1302
1303 if ((newsize = yystacksize) == 0)
1304 newsize = YYINITSTACKSIZE200;
1305 else if (newsize >= YYMAXDEPTH10000)
1306 return -1;
1307 else if ((newsize *= 2) > YYMAXDEPTH10000)
1308 newsize = YYMAXDEPTH10000;
1309 sslen = yyssp - yyss;
1310#ifdef SIZE_MAX
1311#define YY_SIZE_MAX0xffffffffU SIZE_MAX
1312#else
1313#define YY_SIZE_MAX0xffffffffU 0xffffffffU
1314#endif
1315 if (newsize && YY_SIZE_MAX0xffffffffU / newsize < sizeof *newss)
1316 goto bail;
1317 newss = (short *)xrealloc(yyss, newsize * sizeof *newss);
1318 if (newss == NULL((void*)0))
1319 goto bail;
1320 yyss = newss;
1321 yyssp = newss + sslen;
1322 if (newsize && YY_SIZE_MAX0xffffffffU / newsize < sizeof *newvs)
1323 goto bail;
1324 newvs = (YYSTYPE *)xrealloc(yyvs, newsize * sizeof *newvs);
1325 if (newvs == NULL((void*)0))
1326 goto bail;
1327 yyvs = newvs;
1328 yyvsp = newvs + sslen;
1329 yystacksize = newsize;
1330 yysslim = yyss + newsize - 1;
1331 return 0;
1332bail:
1333 if (yyss)
1334 free(yyss);
1335 if (yyvs)
1336 free(yyvs);
1337 yyss = yyssp = NULL((void*)0);
1338 yyvs = yyvsp = NULL((void*)0);
1339 yystacksize = 0;
1340 return -1;
1341}
1342
1343#define YYABORTgoto yyabort goto yyabort
1344#define YYREJECTgoto yyabort goto yyabort
1345#define YYACCEPTgoto yyaccept goto yyaccept
1346#define YYERRORgoto yyerrlab goto yyerrlab
1347int
1348yyparsem2_parse(void)
1349{
1350 int yym, yyn, yystatem2_state;
1351#if YYDEBUG1
1352 const char *yysm2_s;
1353
1354 if ((yysm2_s = getenv("YYDEBUG")))
1
Assuming 'm2_s' is null
2
Taking false branch
1355 {
1356 yyn = *yysm2_s;
1357 if (yyn >= '0' && yyn <= '9')
1358 yydebugm2_debug = yyn - '0';
1359 }
1360#endif /* YYDEBUG */
1361
1362 yynerrsm2_nerrs = 0;
1363 yyerrflagm2_errflag = 0;
1364 yycharm2_char = (-1);
1365
1366 if (yyss == NULL((void*)0) && yygrowstack()) goto yyoverflow;
3
Assuming 'yyss' is not equal to NULL
1367 yyssp = yyss;
1368 yyvsp = yyvs;
1369 *yyssp = yystatem2_state = 0;
1370
1371yyloop:
1372 if ((yyn = yydefredm2_yydefred[yystatem2_state]) != 0) goto yyreduce;
4
Taking false branch
27
Assuming the condition is true
28
Taking true branch
29
Control jumps to line 1475
40
Assuming the condition is true
41
Taking true branch
42
Control jumps to line 1475
1373 if (yycharm2_char < 0)
5
Taking true branch
1374 {
1375 if ((yycharm2_char = yylexm2_lex()) < 0) yycharm2_char = 0;
6
Assuming the condition is false
7
Taking false branch
1376#if YYDEBUG1
1377 if (yydebugm2_debug)
8
Assuming 'm2_debug' is 0
9
Taking false branch
1378 {
1379 yysm2_s = 0;
1380 if (yycharm2_char <= YYMAXTOKEN302) yysm2_s = yynamem2_name[yycharm2_char];
1381 if (!yysm2_s) yysm2_s = "illegal-symbol";
1382 printf("%sdebug: state %d, reading %d (%s)\n",
1383 YYPREFIX"yy", yystatem2_state, yycharm2_char, yysm2_s);
1384 }
1385#endif
1386 }
1387 if ((yyn = yysindexm2_yysindex[yystatem2_state]) && (yyn += yycharm2_char) >= 0 &&
10
Assuming 'yyn' is not equal to 0
11
Assuming the condition is false
1388 yyn <= YYTABLESIZE2169 && yycheckm2_yycheck[yyn] == yycharm2_char)
1389 {
1390#if YYDEBUG1
1391 if (yydebugm2_debug)
1392 printf("%sdebug: state %d, shifting to state %d\n",
1393 YYPREFIX"yy", yystatem2_state, yytablem2_yytable[yyn]);
1394#endif
1395 if (yyssp >= yysslim && yygrowstack())
1396 {
1397 goto yyoverflow;
1398 }
1399 *++yyssp = yystatem2_state = yytablem2_yytable[yyn];
1400 *++yyvsp = yylvalm2_lval;
1401 yycharm2_char = (-1);
1402 if (yyerrflagm2_errflag > 0) --yyerrflagm2_errflag;
1403 goto yyloop;
1404 }
1405 if ((yyn = yyrindexm2_yyrindex[yystatem2_state]) && (yyn += yycharm2_char) >= 0 &&
12
Assuming 'yyn' is 0
1406 yyn <= YYTABLESIZE2169 && yycheckm2_yycheck[yyn] == yycharm2_char)
1407 {
1408 yyn = yytablem2_yytable[yyn];
1409 goto yyreduce;
1410 }
1411 if (yyerrflagm2_errflag) goto yyinrecovery;
13
Assuming 'm2_errflag' is not equal to 0
14
Taking true branch
15
Control jumps to line 1423
1412#if defined(__GNUC__4)
1413 goto yynewerror;
1414#endif
1415yynewerror:
1416 yyerrorm2_error("syntax error");
1417#if defined(__GNUC__4)
1418 goto yyerrlab;
1419#endif
1420yyerrlab:
1421 ++yynerrsm2_nerrs;
1422yyinrecovery:
1423 if (yyerrflagm2_errflag < 3)
16
Assuming 'm2_errflag' is < 3
17
Taking true branch
1424 {
1425 yyerrflagm2_errflag = 3;
1426 for (;;)
18
Loop condition is true. Entering loop body
1427 {
1428 if ((yyn = yysindexm2_yysindex[*yyssp]) && (yyn += YYERRCODE256) >= 0 &&
19
Assuming 'yyn' is not equal to 0
20
Assuming the condition is true
23
Taking true branch
1429 yyn <= YYTABLESIZE2169 && yycheckm2_yycheck[yyn] == YYERRCODE256)
21
Assuming 'yyn' is <= YYTABLESIZE
22
Assuming the condition is true
1430 {
1431#if YYDEBUG1
1432 if (yydebugm2_debug)
24
Taking false branch
1433 printf("%sdebug: state %d, error recovery shifting\
1434 to state %d\n", YYPREFIX"yy", *yyssp, yytablem2_yytable[yyn]);
1435#endif
1436 if (yyssp >= yysslim && yygrowstack())
25
Assuming 'yyssp' is < 'yysslim'
1437 {
1438 goto yyoverflow;
1439 }
1440 *++yyssp = yystatem2_state = yytablem2_yytable[yyn];
1441 *++yyvsp = yylvalm2_lval;
1442 goto yyloop;
26
Control jumps to line 1372
1443 }
1444 else
1445 {
1446#if YYDEBUG1
1447 if (yydebugm2_debug)
1448 printf("%sdebug: error recovery discarding state %d\n",
1449 YYPREFIX"yy", *yyssp);
1450#endif
1451 if (yyssp <= yyss) goto yyabort;
1452 --yyssp;
1453 --yyvsp;
1454 }
1455 }
1456 }
1457 else
1458 {
1459 if (yycharm2_char == 0) goto yyabort;
1460#if YYDEBUG1
1461 if (yydebugm2_debug)
1462 {
1463 yysm2_s = 0;
1464 if (yycharm2_char <= YYMAXTOKEN302) yysm2_s = yynamem2_name[yycharm2_char];
1465 if (!yysm2_s) yysm2_s = "illegal-symbol";
1466 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
1467 YYPREFIX"yy", yystatem2_state, yycharm2_char, yysm2_s);
1468 }
1469#endif
1470 yycharm2_char = (-1);
1471 goto yyloop;
1472 }
1473yyreduce:
1474#if YYDEBUG1
1475 if (yydebugm2_debug)
30
Taking false branch
43
Taking false branch
1476 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
1477 YYPREFIX"yy", yystatem2_state, yyn, yyrulem2_rule[yyn]);
1478#endif
1479 yym = yylenm2_yylen[yyn];
1480 if (yym)
31
Assuming 'yym' is 0
32
Taking false branch
44
Assuming 'yym' is 0
45
Taking false branch
1481 yyvalm2_val = yyvsp[1-yym];
1482 else
1483 memset(&yyvalm2_val, 0, sizeof yyvalm2_val);
1484 switch (yyn)
33
'Default' branch taken. Execution continues on line 1889
46
Control jumps to 'case 72:' at line 1789
1485 {
1486case 3:
1487#line 210 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1488{ write_exp_elt_opcode(OP_TYPE);
1489 write_exp_elt_type(yyvsp[0].tval);
1490 write_exp_elt_opcode(OP_TYPE);
1491 }
1492break;
1493case 4:
1494#line 219 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1495{ write_exp_elt_opcode (UNOP_IND); }
1496break;
1497case 5:
1498#line 223 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1499{ number_sign = -1; }
1500break;
1501case 6:
1502#line 225 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1503{ number_sign = 1;
1504 write_exp_elt_opcode (UNOP_NEG); }
1505break;
1506case 7:
1507#line 230 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1508{ write_exp_elt_opcode(UNOP_PLUS); }
1509break;
1510case 8:
1511#line 234 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1512{ write_exp_elt_opcode (UNOP_LOGICAL_NOT); }
1513break;
1514case 11:
1515#line 242 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1516{ write_exp_elt_opcode (UNOP_CAP); }
1517break;
1518case 12:
1519#line 246 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1520{ write_exp_elt_opcode (UNOP_ORD); }
1521break;
1522case 13:
1523#line 250 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1524{ write_exp_elt_opcode (UNOP_ABS); }
1525break;
1526case 14:
1527#line 254 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1528{ write_exp_elt_opcode (UNOP_HIGH); }
1529break;
1530case 15:
1531#line 258 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1532{ write_exp_elt_opcode (UNOP_MIN);
1533 write_exp_elt_type (yyvsp[-1].tval);
1534 write_exp_elt_opcode (UNOP_MIN); }
1535break;
1536case 16:
1537#line 264 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1538{ write_exp_elt_opcode (UNOP_MAX);
1539 write_exp_elt_type (yyvsp[-1].tval);
1540 write_exp_elt_opcode (UNOP_MIN); }
1541break;
1542case 17:
1543#line 270 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1544{ write_exp_elt_opcode (UNOP_FLOAT); }
1545break;
1546case 18:
1547#line 274 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1548{ write_exp_elt_opcode (BINOP_VAL);
1549 write_exp_elt_type (yyvsp[-3].tval);
1550 write_exp_elt_opcode (BINOP_VAL); }
1551break;
1552case 19:
1553#line 280 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1554{ write_exp_elt_opcode (UNOP_CHR); }
1555break;
1556case 20:
1557#line 284 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1558{ write_exp_elt_opcode (UNOP_ODD); }
1559break;
1560case 21:
1561#line 288 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1562{ write_exp_elt_opcode (UNOP_TRUNC); }
1563break;
1564case 22:
1565#line 292 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1566{ write_exp_elt_opcode (UNOP_SIZEOF); }
1567break;
1568case 23:
1569#line 297 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1570{ write_exp_elt_opcode(UNOP_PREINCREMENT); }
1571break;
1572case 24:
1573#line 301 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1574{ write_exp_elt_opcode(BINOP_ASSIGN_MODIFY);
1575 write_exp_elt_opcode(BINOP_ADD);
1576 write_exp_elt_opcode(BINOP_ASSIGN_MODIFY); }
1577break;
1578case 25:
1579#line 307 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1580{ write_exp_elt_opcode(UNOP_PREDECREMENT);}
1581break;
1582case 26:
1583#line 311 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1584{ write_exp_elt_opcode(BINOP_ASSIGN_MODIFY);
1585 write_exp_elt_opcode(BINOP_SUB);
1586 write_exp_elt_opcode(BINOP_ASSIGN_MODIFY); }
1587break;
1588case 27:
1589#line 317 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1590{ write_exp_elt_opcode (STRUCTOP_STRUCT);
1591 write_exp_string (yyvsp[0].sval);
1592 write_exp_elt_opcode (STRUCTOP_STRUCT); }
1593break;
1594case 29:
1595#line 326 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1596{ error("Sets are not implemented.");}
1597break;
1598case 30:
1599#line 330 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1600{ error("Sets are not implemented.");}
1601break;
1602case 31:
1603#line 334 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1604{ error("Sets are not implemented.");}
1605break;
1606case 32:
1607#line 338 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1608{ error("Sets are not implemented.");}
1609break;
1610case 33:
1611#line 340 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1612{ error("Sets are not implemented.");}
1613break;
1614case 34:
1615#line 349 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1616{ start_arglist(); }
1617break;
1618case 35:
1619#line 351 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1620{ write_exp_elt_opcode (MULTI_SUBSCRIPT);
1621 write_exp_elt_longcst ((LONGESTlong) end_arglist());
1622 write_exp_elt_opcode (MULTI_SUBSCRIPT); }
1623break;
1624case 36:
1625#line 359 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1626{ start_arglist (); }
1627break;
1628case 37:
1629#line 361 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1630{ write_exp_elt_opcode (OP_FUNCALL);
1631 write_exp_elt_longcst ((LONGESTlong) end_arglist ());
1632 write_exp_elt_opcode (OP_FUNCALL); }
1633break;
1634case 39:
1635#line 370 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1636{ arglist_len = 1; }
1637break;
1638case 40:
1639#line 374 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1640{ arglist_len++; }
1641break;
1642case 41:
1643#line 379 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1644{ arglist_len = 1; }
1645break;
1646case 42:
1647#line 384 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1648{ arglist_len++; }
1649break;
1650case 43:
1651#line 389 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1652{ write_exp_elt_opcode (UNOP_MEMVAL);
1653 write_exp_elt_type (yyvsp[-2].tval);
1654 write_exp_elt_opcode (UNOP_MEMVAL); }
1655break;
1656case 44:
1657#line 395 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1658{ write_exp_elt_opcode (UNOP_CAST);
1659 write_exp_elt_type (yyvsp[-3].tval);
1660 write_exp_elt_opcode (UNOP_CAST); }
1661break;
1662case 45:
1663#line 401 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1664{ }
1665break;
1666case 46:
1667#line 409 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1668{ write_exp_elt_opcode (BINOP_REPEAT); }
1669break;
1670case 47:
1671#line 413 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1672{ write_exp_elt_opcode (BINOP_MUL); }
1673break;
1674case 48:
1675#line 417 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1676{ write_exp_elt_opcode (BINOP_DIV); }
1677break;
1678case 49:
1679#line 421 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1680{ write_exp_elt_opcode (BINOP_INTDIV); }
1681break;
1682case 50:
1683#line 425 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1684{ write_exp_elt_opcode (BINOP_REM); }
1685break;
1686case 51:
1687#line 429 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1688{ write_exp_elt_opcode (BINOP_ADD); }
1689break;
1690case 52:
1691#line 433 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1692{ write_exp_elt_opcode (BINOP_SUB); }
1693break;
1694case 53:
1695#line 437 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1696{ write_exp_elt_opcode (BINOP_EQUAL); }
1697break;
1698case 54:
1699#line 441 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1700{ write_exp_elt_opcode (BINOP_NOTEQUAL); }
1701break;
1702case 55:
1703#line 443 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1704{ write_exp_elt_opcode (BINOP_NOTEQUAL); }
1705break;
1706case 56:
1707#line 447 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1708{ write_exp_elt_opcode (BINOP_LEQ); }
1709break;
1710case 57:
1711#line 451 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1712{ write_exp_elt_opcode (BINOP_GEQ); }
1713break;
1714case 58:
1715#line 455 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1716{ write_exp_elt_opcode (BINOP_LESS); }
1717break;
1718case 59:
1719#line 459 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1720{ write_exp_elt_opcode (BINOP_GTR); }
1721break;
1722case 60:
1723#line 463 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1724{ write_exp_elt_opcode (BINOP_LOGICAL_AND); }
1725break;
1726case 61:
1727#line 467 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1728{ write_exp_elt_opcode (BINOP_LOGICAL_OR); }
1729break;
1730case 62:
1731#line 471 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1732{ write_exp_elt_opcode (BINOP_ASSIGN); }
1733break;
1734case 63:
1735#line 478 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1736{ write_exp_elt_opcode (OP_BOOL);
1737 write_exp_elt_longcst ((LONGESTlong) yyvsp[0].ulval);
1738 write_exp_elt_opcode (OP_BOOL); }
1739break;
1740case 64:
1741#line 484 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1742{ write_exp_elt_opcode (OP_BOOL);
1743 write_exp_elt_longcst ((LONGESTlong) yyvsp[0].ulval);
1744 write_exp_elt_opcode (OP_BOOL); }
1745break;
1746case 65:
1747#line 490 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1748{ write_exp_elt_opcode (OP_LONG);
1749 write_exp_elt_type (builtin_type_m2_int);
1750 write_exp_elt_longcst ((LONGESTlong) yyvsp[0].lval);
1751 write_exp_elt_opcode (OP_LONG); }
1752break;
1753case 66:
1754#line 497 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1755{
1756 write_exp_elt_opcode (OP_LONG);
1757 write_exp_elt_type (builtin_type_m2_card);
1758 write_exp_elt_longcst ((LONGESTlong) yyvsp[0].ulval);
1759 write_exp_elt_opcode (OP_LONG);
1760 }
1761break;
1762case 67:
1763#line 506 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1764{ write_exp_elt_opcode (OP_LONG);
1765 write_exp_elt_type (builtin_type_m2_char);
1766 write_exp_elt_longcst ((LONGESTlong) yyvsp[0].ulval);
1767 write_exp_elt_opcode (OP_LONG); }
1768break;
1769case 68:
1770#line 514 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1771{ write_exp_elt_opcode (OP_DOUBLE);
1772 write_exp_elt_type (builtin_type_m2_real);
1773 write_exp_elt_dblcst (yyvsp[0].dval);
1774 write_exp_elt_opcode (OP_DOUBLE); }
1775break;
1776case 70:
1777#line 524 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1778{ write_exp_elt_opcode (OP_LONG);
1779 write_exp_elt_type (builtin_type_int);
1780 write_exp_elt_longcst ((LONGESTlong) TYPE_LENGTH (yyvsp[-1].tval)(yyvsp[-1].tval)->length);
1781 write_exp_elt_opcode (OP_LONG); }
1782break;
1783case 71:
1784#line 531 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1785{ write_exp_elt_opcode (OP_M2_STRING);
1786 write_exp_string (yyvsp[0].sval);
1787 write_exp_elt_opcode (OP_M2_STRING); }
1788break;
1789case 72:
1790#line 538 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1791{ yyvalm2_val.bval = SYMBOL_BLOCK_VALUE(yyvsp[0].sym)(yyvsp[0].sym)->ginfo.value.block; }
47
Dereference of null pointer
1792break;
1793case 73:
1794#line 542 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1795{ struct symbol *sym
1796 = lookup_symbol (copy_name (yyvsp[0].sval), expression_context_block,
1797 VAR_DOMAIN, 0, NULL((void*)0));
1798 yyvalm2_val.sym = sym;}
1799break;
1800case 74:
1801#line 551 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1802{ struct symbol *tem
1803 = lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval,
1804 VAR_DOMAIN, 0, NULL((void*)0));
1805 if (!tem || SYMBOL_CLASS (tem)(tem)->aclass != LOC_BLOCK)
1806 error ("No function \"%s\" in specified context.",
1807 copy_name (yyvsp[0].sval));
1808 yyvalm2_val.sym = tem;
1809 }
1810break;
1811case 75:
1812#line 563 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1813{ write_exp_elt_opcode(OP_VAR_VALUE);
1814 write_exp_elt_block (NULL((void*)0));
1815 write_exp_elt_sym (yyvsp[0].sym);
1816 write_exp_elt_opcode (OP_VAR_VALUE); }
1817break;
1818case 77:
1819#line 575 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1820{ struct symbol *sym;
1821 sym = lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval,
1822 VAR_DOMAIN, 0, NULL((void*)0));
1823 if (sym == 0)
1824 error ("No symbol \"%s\" in specified context.",
1825 copy_name (yyvsp[0].sval));
1826
1827 write_exp_elt_opcode (OP_VAR_VALUE);
1828 /* block_found is set by lookup_symbol. */
1829 write_exp_elt_block (block_found);
1830 write_exp_elt_sym (sym);
1831 write_exp_elt_opcode (OP_VAR_VALUE); }
1832break;
1833case 78:
1834#line 591 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1835{ struct symbol *sym;
1836 int is_a_field_of_this;
1837
1838 sym = lookup_symbol (copy_name (yyvsp[0].sval),
1839 expression_context_block,
1840 VAR_DOMAIN,
1841 &is_a_field_of_this,
1842 NULL((void*)0));
1843 if (sym)
1844 {
1845 if (symbol_read_needs_frame (sym))
1846 {
1847 if (innermost_block == 0 ||
1848 contained_in (block_found,
1849 innermost_block))
1850 innermost_block = block_found;
1851 }
1852
1853 write_exp_elt_opcode (OP_VAR_VALUE);
1854 /* We want to use the selected frame, not
1855 another more inner frame which happens to
1856 be in the same block. */
1857 write_exp_elt_block (NULL((void*)0));
1858 write_exp_elt_sym (sym);
1859 write_exp_elt_opcode (OP_VAR_VALUE);
1860 }
1861 else
1862 {
1863 struct minimal_symbol *msymbol;
1864 char *arg = copy_name (yyvsp[0].sval);
1865
1866 msymbol =
1867 lookup_minimal_symbol (arg, NULL((void*)0), NULL((void*)0));
1868 if (msymbol != NULL((void*)0))
1869 {
1870 write_exp_msymbol
1871 (msymbol,
1872 lookup_function_type (builtin_type_int),
1873 builtin_type_int);
1874 }
1875 else if (!have_full_symbols () && !have_partial_symbols ())
1876 error ("No symbol table is loaded. Use the \"symbol-file\" command.");
1877 else
1878 error ("No symbol \"%s\" in current context.",
1879 copy_name (yyvsp[0].sval));
1880 }
1881 }
1882break;
1883case 79:
1884#line 642 "/usr/src/gnu/usr.bin/binutils/gdb/m2-exp.y"
1885{ yyvalm2_val.tval = lookup_typename (copy_name (yyvsp[0].sval),
1886 expression_context_block, 0); }
1887break;
1888 }
1889 yyssp -= yym;
1890 yystatem2_state = *yyssp;
1891 yyvsp -= yym;
1892 yym = yylhsm2_yylhs[yyn];
1893 if (yystatem2_state == 0 && yym == 0)
34
Assuming 'm2_state' is not equal to 0
1894 {
1895#if YYDEBUG1
1896 if (yydebugm2_debug)
1897 printf("%sdebug: after reduction, shifting from state 0 to\
1898 state %d\n", YYPREFIX"yy", YYFINAL34);
1899#endif
1900 yystatem2_state = YYFINAL34;
1901 *++yyssp = YYFINAL34;
1902 *++yyvsp = yyvalm2_val;
1903 if (yycharm2_char < 0)
1904 {
1905 if ((yycharm2_char = yylexm2_lex()) < 0) yycharm2_char = 0;
1906#if YYDEBUG1
1907 if (yydebugm2_debug)
1908 {
1909 yysm2_s = 0;
1910 if (yycharm2_char <= YYMAXTOKEN302) yysm2_s = yynamem2_name[yycharm2_char];
1911 if (!yysm2_s) yysm2_s = "illegal-symbol";
1912 printf("%sdebug: state %d, reading %d (%s)\n",
1913 YYPREFIX"yy", YYFINAL34, yycharm2_char, yysm2_s);
1914 }
1915#endif
1916 }
1917 if (yycharm2_char == 0) goto yyaccept;
1918 goto yyloop;
1919 }
1920 if ((yyn = yygindexm2_yygindex[yym]) && (yyn += yystatem2_state) >= 0 &&
35
Assuming 'yyn' is 0
1921 yyn <= YYTABLESIZE2169 && yycheckm2_yycheck[yyn] == yystatem2_state)
1922 yystatem2_state = yytablem2_yytable[yyn];
1923 else
1924 yystatem2_state = yydgotom2_yydgoto[yym];
1925#if YYDEBUG1
1926 if (yydebugm2_debug)
36
Taking false branch
1927 printf("%sdebug: after reduction, shifting from state %d \
1928to state %d\n", YYPREFIX"yy", *yyssp, yystatem2_state);
1929#endif
1930 if (yyssp >= yysslim && yygrowstack())
37
Assuming 'yyssp' is < 'yysslim'
1931 {
1932 goto yyoverflow;
1933 }
1934 *++yyssp = yystatem2_state;
1935 *++yyvsp = yyvalm2_val;
38
Null pointer value stored to field 'sym'
1936 goto yyloop;
39
Control jumps to line 1372
1937yyoverflow:
1938 yyerrorm2_error("yacc stack overflow");
1939yyabort:
1940 if (yyss)
1941 free(yyss);
1942 if (yyvs)
1943 free(yyvs);
1944 yyss = yyssp = NULL((void*)0);
1945 yyvs = yyvsp = NULL((void*)0);
1946 yystacksize = 0;
1947 return (1);
1948yyaccept:
1949 if (yyss)
1950 free(yyss);
1951 if (yyvs)
1952 free(yyvs);
1953 yyss = yyssp = NULL((void*)0);
1954 yyvs = yyvsp = NULL((void*)0);
1955 yystacksize = 0;
1956 return (0);
1957}