"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "q-7.11/src/qmparse.c" of archive q-7.11.tar.gz:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 /* A Bison parser, made by GNU Bison 2.1. */
2
3 /* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA. */
20
21 /* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
25
26 /* Written by Richard Stallman by simplifying the original so called
27 ``semantic'' parser. */
28
29 /* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local
31 variables, as they might otherwise be expanded by user macros.
32 There are some unavoidable exceptions within include files to
33 define necessary library symbols; they are noted "INFRINGES ON
34 USER NAME SPACE" below. */
35
36 /* Identify Bison output. */
37 #define YYBISON 1
38
39 /* Bison version. */
40 #define YYBISON_VERSION "2.1"
41
42 /* Skeleton name. */
43 #define YYSKELETON_NAME "yacc.c"
44
45 /* Pure parsers. */
46 #define YYPURE 0
47
48 /* Using locations. */
49 #define YYLSP_NEEDED 0
50
51
52
53 /* Tokens. */
54 #ifndef YYTOKENTYPE
55 # define YYTOKENTYPE
56 /* Put the tokens into the symbol table, so that GDB and other debuggers
57 know about them. */
58 enum yytokentype {
59 STRING = 258,
60 LINE = 259,
61 INTERACT = 260,
62 SOURCE = 261,
63 AS = 262,
64 CONST = 263,
65 DEF = 264,
66 ELSE = 265,
67 EXTERN = 266,
68 FROM = 267,
69 IF = 268,
70 IMPORT = 269,
71 INCLUDE = 270,
72 OTHERWISE = 271,
73 PRIVATE = 272,
74 PUBLIC = 273,
75 SPECIAL = 274,
76 THEN = 275,
77 TYPE = 276,
78 UNDEF = 277,
79 VAR = 278,
80 VIRTUAL = 279,
81 WHERE = 280,
82 DOTDOT = 281,
83 EQUIV = 282,
84 OP0 = 283,
85 OP1 = 284,
86 OP2 = 285,
87 OP3 = 286,
88 OP4 = 287,
89 OP5 = 288,
90 OP6 = 289,
91 OP7 = 290,
92 OP8 = 291,
93 OP9 = 292,
94 _DEF_ = 293,
95 _UNDEF_ = 294,
96 _VAR_ = 295,
97 _IMPORT_ = 296,
98 _COPYING_ = 297,
99 _HELP_ = 298,
100 _EDIT_ = 299,
101 _PATH_ = 300,
102 _PROMPT_ = 301,
103 _HISTFILE_ = 302,
104 _HISTSIZE_ = 303,
105 _CSTACKSIZE_ = 304,
106 _STACKSIZE_ = 305,
107 _MEMSIZE_ = 306,
108 _STATS_ = 307,
109 _RUN_ = 308,
110 _SAVE_ = 309,
111 _LOAD_ = 310,
112 _CLEAR_ = 311,
113 _PROFILE_ = 312,
114 _BREAK_ = 313,
115 _TBREAK_ = 314,
116 _DEBUG_ = 315,
117 _UNPARSE_ = 316,
118 _ECHO_ = 317,
119 _CHDIR_ = 318,
120 _PWD_ = 319,
121 _LS_ = 320,
122 _WHICH_ = 321,
123 _SOURCE_ = 322,
124 _WHO_ = 323,
125 _WHOS_ = 324,
126 _WHOIS_ = 325,
127 _IMPORTS_ = 326,
128 _MODULES_ = 327,
129 _COMPLETION_MATCHES_ = 328,
130 _DEC_ = 329,
131 _HEX_ = 330,
132 _OCT_ = 331,
133 _STD_ = 332,
134 _SCI_ = 333,
135 _FIX_ = 334,
136 _FORMAT_ = 335,
137 XID = 336,
138 QID = 337,
139 NID = 338,
140 STR = 339,
141 INT = 340,
142 FLOAT = 341,
143 ARG = 342,
144 ERRTOK = 343,
145 ARGERR = 344,
146 STRERR = 345
147 };
148 #endif
149 /* Tokens. */
150 #define STRING 258
151 #define LINE 259
152 #define INTERACT 260
153 #define SOURCE 261
154 #define AS 262
155 #define CONST 263
156 #define DEF 264
157 #define ELSE 265
158 #define EXTERN 266
159 #define FROM 267
160 #define IF 268
161 #define IMPORT 269
162 #define INCLUDE 270
163 #define OTHERWISE 271
164 #define PRIVATE 272
165 #define PUBLIC 273
166 #define SPECIAL 274
167 #define THEN 275
168 #define TYPE 276
169 #define UNDEF 277
170 #define VAR 278
171 #define VIRTUAL 279
172 #define WHERE 280
173 #define DOTDOT 281
174 #define EQUIV 282
175 #define OP0 283
176 #define OP1 284
177 #define OP2 285
178 #define OP3 286
179 #define OP4 287
180 #define OP5 288
181 #define OP6 289
182 #define OP7 290
183 #define OP8 291
184 #define OP9 292
185 #define _DEF_ 293
186 #define _UNDEF_ 294
187 #define _VAR_ 295
188 #define _IMPORT_ 296
189 #define _COPYING_ 297
190 #define _HELP_ 298
191 #define _EDIT_ 299
192 #define _PATH_ 300
193 #define _PROMPT_ 301
194 #define _HISTFILE_ 302
195 #define _HISTSIZE_ 303
196 #define _CSTACKSIZE_ 304
197 #define _STACKSIZE_ 305
198 #define _MEMSIZE_ 306
199 #define _STATS_ 307
200 #define _RUN_ 308
201 #define _SAVE_ 309
202 #define _LOAD_ 310
203 #define _CLEAR_ 311
204 #define _PROFILE_ 312
205 #define _BREAK_ 313
206 #define _TBREAK_ 314
207 #define _DEBUG_ 315
208 #define _UNPARSE_ 316
209 #define _ECHO_ 317
210 #define _CHDIR_ 318
211 #define _PWD_ 319
212 #define _LS_ 320
213 #define _WHICH_ 321
214 #define _SOURCE_ 322
215 #define _WHO_ 323
216 #define _WHOS_ 324
217 #define _WHOIS_ 325
218 #define _IMPORTS_ 326
219 #define _MODULES_ 327
220 #define _COMPLETION_MATCHES_ 328
221 #define _DEC_ 329
222 #define _HEX_ 330
223 #define _OCT_ 331
224 #define _STD_ 332
225 #define _SCI_ 333
226 #define _FIX_ 334
227 #define _FORMAT_ 335
228 #define XID 336
229 #define QID 337
230 #define NID 338
231 #define STR 339
232 #define INT 340
233 #define FLOAT 341
234 #define ARG 342
235 #define ERRTOK 343
236 #define ARGERR 344
237 #define STRERR 345
238
239
240
241
242 /* Copy the first part of user declarations. */
243 #line 4 "qmparse.y"
244
245
246 /* qmparse.y: Q machine expression parser */
247
248 /* Special case constructs (unary minus) and dangling else cause a number of
249 parsing conflicts which are resolved correctly. */
250
251 /* Q eQuational Programming System
252 Copyright (c) 1991-2002 by Albert Graef
253 <ag@muwiinfa.geschichte.uni-mainz.de>
254
255 This program is free software; you can redistribute it and/or modify
256 it under the terms of the GNU General Public License as published by
257 the Free Software Foundation; either version 1, or (at your option)
258 any later version.
259
260 This program is distributed in the hope that it will be useful,
261 but WITHOUT ANY WARRANTY; without even the implied warranty of
262 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
263 GNU General Public License for more details.
264
265 You should have received a copy of the GNU General Public License
266 along with this program; if not, write to the Free Software
267 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
268
269 */
270
271 /* make sure we have bison */
272
273 #ifndef YYBISON
274 #error "Sorry, this program requires bison."
275 #endif
276
277 #include "qdefs.h"
278
279 extern char *prompt, *prompt2, *prompt3;
280 extern int pmode;
281
282 static char signon[] = Q_SIGNON;
283 static char copying[] = COPYING;
284
285 static char *psource = "";
286
287 static char *save_file = NULL;
288 static char *base;
289
290 static THREAD *thr;
291
292 /*
293
294 This module implements a parser for Q expressions and the special
295 constructs (def, undef, etc.) permitted in the interactive evaluation
296 loop. The parser can be run in four different modes signalled by special
297 leading tokens:
298
299 - STRING: read a single expression from a null-terminated string.
300
301 - LINE: read an expression terminated with newline from a file.
302
303 - INTERACT: read and evaluate a command (including def's,
304 undef's and shell escapes) from a null-terminated string.
305
306 - SOURCE: read and evaluate commands from a file
307
308 */
309
310 static swap(), pushtern(), pushbin(), pushun(),
311 pushlist(int n, int m), pushstream(int n, int m), pushtuple(int n, int m),
312 pushgroup(int *n, int *m),
313 savepos(), clean();
314 static init_stats(), fini_stats(), print_stats();
315 static copyright(), shell(), expression(),
316 vardecl(), initializer(), assignment(), unassignment(),
317 sethistfile(), sethistsize(), help(), edit(), save_vars(), clear_vars(),
318 add_import(), del_import(), clear_imports(), breakpoints(), profile(),
319 who(), whos(), whois(), ambiguous(), import_list(), modules();
320 static strparam(), intparam(), boolparam(), boolstrparam(), allparam(),
321 strlist(), printstr();
322
323 /* The following is set to compile for the libqint target. */
324 #ifdef QINT_LIBRARY
325 #undef USE_READLINE
326 #endif
327
328 #ifndef USE_READLINE
329 static histwarn();
330 #endif
331
332 #define MAXARGC 1000
333
334
335 /* Enabling traces. */
336 #ifndef YYDEBUG
337 # define YYDEBUG 0
338 #endif
339
340 /* Enabling verbose error messages. */
341 #ifdef YYERROR_VERBOSE
342 # undef YYERROR_VERBOSE
343 # define YYERROR_VERBOSE 1
344 #else
345 # define YYERROR_VERBOSE 0
346 #endif
347
348 /* Enabling the token table. */
349 #ifndef YYTOKEN_TABLE
350 # define YYTOKEN_TABLE 0
351 #endif
352
353 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
354 #line 95 "qmparse.y"
355 typedef union YYSTYPE {
356 int ival;
357 mpz_t zval;
358 double fval;
359 char *sval;
360 EXPR *xval;
361 struct {
362 int n, m;
363 } lval;
364 struct {
365 char **v;
366 int c;
367 } aval;
368 } YYSTYPE;
369 /* Line 196 of yacc.c. */
370 #line 371 "qmparse.c"
371 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
372 # define YYSTYPE_IS_DECLARED 1
373 # define YYSTYPE_IS_TRIVIAL 1
374 #endif
375
376
377
378 /* Copy the second part of user declarations. */
379
380
381 /* Line 219 of yacc.c. */
382 #line 383 "qmparse.c"
383
384 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
385 # define YYSIZE_T __SIZE_TYPE__
386 #endif
387 #if ! defined (YYSIZE_T) && defined (size_t)
388 # define YYSIZE_T size_t
389 #endif
390 #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
391 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
392 # define YYSIZE_T size_t
393 #endif
394 #if ! defined (YYSIZE_T)
395 # define YYSIZE_T unsigned int
396 #endif
397
398 #ifndef YY_
399 # if YYENABLE_NLS
400 # if ENABLE_NLS
401 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
402 # define YY_(msgid) dgettext ("bison-runtime", msgid)
403 # endif
404 # endif
405 # ifndef YY_
406 # define YY_(msgid) msgid
407 # endif
408 #endif
409
410 #if ! defined (yyoverflow) || YYERROR_VERBOSE
411
412 /* The parser invokes alloca or malloc; define the necessary symbols. */
413
414 # ifdef YYSTACK_USE_ALLOCA
415 # if YYSTACK_USE_ALLOCA
416 # ifdef __GNUC__
417 # define YYSTACK_ALLOC __builtin_alloca
418 # else
419 # define YYSTACK_ALLOC alloca
420 # if defined (__STDC__) || defined (__cplusplus)
421 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
422 # define YYINCLUDED_STDLIB_H
423 # endif
424 # endif
425 # endif
426 # endif
427
428 # ifdef YYSTACK_ALLOC
429 /* Pacify GCC's `empty if-body' warning. */
430 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
431 # ifndef YYSTACK_ALLOC_MAXIMUM
432 /* The OS might guarantee only one guard page at the bottom of the stack,
433 and a page size can be as small as 4096 bytes. So we cannot safely
434 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
435 to allow for a few compiler-allocated temporary stack slots. */
436 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
437 # endif
438 # else
439 # define YYSTACK_ALLOC YYMALLOC
440 # define YYSTACK_FREE YYFREE
441 # ifndef YYSTACK_ALLOC_MAXIMUM
442 # define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
443 # endif
444 # ifdef __cplusplus
445 extern "C" {
446 # endif
447 # ifndef YYMALLOC
448 # define YYMALLOC malloc
449 # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
450 && (defined (__STDC__) || defined (__cplusplus)))
451 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
452 # endif
453 # endif
454 # ifndef YYFREE
455 # define YYFREE free
456 # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
457 && (defined (__STDC__) || defined (__cplusplus)))
458 void free (void *); /* INFRINGES ON USER NAME SPACE */
459 # endif
460 # endif
461 # ifdef __cplusplus
462 }
463 # endif
464 # endif
465 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
466
467
468 #if (! defined (yyoverflow) \
469 && (! defined (__cplusplus) \
470 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
471
472 /* A type that is properly aligned for any stack member. */
473 union yyalloc
474 {
475 short int yyss;
476 YYSTYPE yyvs;
477 };
478
479 /* The size of the maximum gap between one aligned stack and the next. */
480 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
481
482 /* The size of an array large to enough to hold all stacks, each with
483 N elements. */
484 # define YYSTACK_BYTES(N) \
485 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
486 + YYSTACK_GAP_MAXIMUM)
487
488 /* Copy COUNT objects from FROM to TO. The source and destination do
489 not overlap. */
490 # ifndef YYCOPY
491 # if defined (__GNUC__) && 1 < __GNUC__
492 # define YYCOPY(To, From, Count) \
493 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
494 # else
495 # define YYCOPY(To, From, Count) \
496 do \
497 { \
498 YYSIZE_T yyi; \
499 for (yyi = 0; yyi < (Count); yyi++) \
500 (To)[yyi] = (From)[yyi]; \
501 } \
502 while (0)
503 # endif
504 # endif
505
506 /* Relocate STACK from its old location to the new one. The
507 local variables YYSIZE and YYSTACKSIZE give the old and new number of
508 elements in the stack, and YYPTR gives the new location of the
509 stack. Advance YYPTR to a properly aligned location for the next
510 stack. */
511 # define YYSTACK_RELOCATE(Stack) \
512 do \
513 { \
514 YYSIZE_T yynewbytes; \
515 YYCOPY (&yyptr->Stack, Stack, yysize); \
516 Stack = &yyptr->Stack; \
517 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
518 yyptr += yynewbytes / sizeof (*yyptr); \
519 } \
520 while (0)
521
522 #endif
523
524 #if defined (__STDC__) || defined (__cplusplus)
525 typedef signed char yysigned_char;
526 #else
527 typedef short int yysigned_char;
528 #endif
529
530 /* YYFINAL -- State number of the termination state. */
531 #define YYFINAL 88
532 /* YYLAST -- Last index in YYTABLE. */
533 #define YYLAST 1795
534
535 /* YYNTOKENS -- Number of terminals. */
536 #define YYNTOKENS 108
537 /* YYNNTS -- Number of nonterminals. */
538 #define YYNNTS 77
539 /* YYNRULES -- Number of rules. */
540 #define YYNRULES 282
541 /* YYNRULES -- Number of states. */
542 #define YYNSTATES 424
543
544 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
545 #define YYUNDEFTOK 2
546 #define YYMAXUTOK 345
547
548 #define YYTRANSLATE(YYX) \
549 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
550
551 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
552 static const unsigned char yytranslate[] =
553 {
554 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
555 91, 2, 2, 2, 2, 2, 2, 2, 2, 2,
556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
557 2, 2, 2, 92, 2, 2, 2, 2, 2, 2,
558 94, 95, 2, 2, 96, 100, 99, 2, 2, 2,
559 2, 2, 2, 2, 2, 2, 2, 2, 103, 93,
560 2, 97, 2, 2, 2, 2, 2, 2, 2, 2,
561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
562 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
563 2, 104, 98, 105, 2, 2, 2, 2, 2, 2,
564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
566 2, 2, 2, 106, 102, 107, 101, 2, 2, 2,
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
580 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
581 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
582 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
583 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
584 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
585 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
586 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
587 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
588 85, 86, 87, 88, 89, 90
589 };
590
591 #if YYDEBUG
592 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
593 YYRHS. */
594 static const unsigned short int yyprhs[] =
595 {
596 0, 0, 3, 6, 9, 13, 16, 19, 20, 21,
597 23, 25, 28, 30, 34, 36, 39, 42, 45, 47,
598 50, 52, 55, 57, 60, 63, 65, 67, 69, 71,
599 73, 76, 78, 81, 83, 86, 88, 91, 93, 96,
600 98, 101, 103, 106, 108, 111, 113, 116, 118, 120,
601 123, 126, 129, 131, 134, 137, 140, 142, 145, 147,
602 150, 153, 156, 160, 164, 166, 169, 171, 174, 176,
603 179, 181, 184, 187, 189, 192, 194, 197, 200, 202,
604 204, 206, 209, 212, 215, 217, 218, 223, 225, 228,
605 230, 232, 235, 237, 239, 242, 244, 246, 249, 251,
606 253, 256, 258, 260, 263, 265, 267, 270, 272, 274,
607 277, 279, 281, 285, 287, 291, 293, 295, 297, 298,
608 301, 302, 305, 307, 309, 311, 315, 316, 320, 321,
609 324, 326, 330, 334, 336, 340, 342, 344, 347, 351,
610 354, 356, 360, 362, 369, 374, 376, 380, 382, 386,
611 388, 390, 392, 395, 399, 402, 404, 408, 410, 412,
612 419, 424, 426, 430, 432, 434, 438, 440, 442, 444,
613 446, 450, 454, 457, 459, 461, 465, 468, 470, 472,
614 475, 478, 481, 484, 486, 488, 492, 494, 496, 500,
615 502, 504, 506, 509, 511, 513, 515, 517, 519, 521,
616 523, 527, 529, 532, 537, 542, 547, 552, 557, 562,
617 567, 572, 577, 582, 587, 592, 597, 602, 607, 610,
618 614, 619, 624, 630, 631, 638, 644, 651, 658, 666,
619 667, 676, 677, 684, 690, 697, 704, 712, 715, 719,
620 724, 729, 735, 736, 743, 744, 751, 754, 758, 763,
621 768, 774, 775, 782, 783, 790, 792, 793, 795, 797,
622 801, 805, 807, 811, 815, 817, 821, 825, 827, 829,
623 831, 834, 837, 839, 841, 843, 845, 847, 849, 851,
624 853, 855, 857
625 };
626
627 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
628 static const short int yyrhs[] =
629 {
630 109, 0, -1, 3, 151, -1, 4, 151, -1, 4,
631 151, 91, -1, 5, 110, -1, 6, 110, -1, -1,
632 -1, 92, -1, 111, -1, 111, 93, -1, 112, -1,
633 111, 93, 112, -1, 151, -1, 40, 136, -1, 38,
634 140, -1, 39, 142, -1, 42, -1, 73, 135, -1,
635 43, -1, 43, 135, -1, 45, -1, 45, 135, -1,
636 46, 134, -1, 80, -1, 74, -1, 75, -1, 76,
637 -1, 77, -1, 77, 135, -1, 78, -1, 78, 135,
638 -1, 79, -1, 79, 135, -1, 47, -1, 47, 135,
639 -1, 48, -1, 48, 135, -1, 49, -1, 49, 135,
640 -1, 50, -1, 50, 135, -1, 51, -1, 51, 135,
641 -1, 52, -1, 52, 135, -1, 64, -1, 63, -1,
642 63, 135, -1, 65, 134, -1, 60, 134, -1, 58,
643 -1, 58, 135, -1, 58, 114, -1, 59, 116, -1,
644 57, -1, 57, 118, -1, 56, -1, 56, 58, -1,
645 56, 57, -1, 56, 120, -1, 56, 58, 122, -1,
646 56, 57, 124, -1, 61, -1, 61, 135, -1, 62,
647 -1, 62, 135, -1, 66, -1, 66, 135, -1, 44,
648 -1, 44, 135, -1, 67, 135, -1, 55, -1, 55,
649 135, -1, 54, -1, 54, 135, -1, 41, 134, -1,
650 71, -1, 72, -1, 68, -1, 68, 135, -1, 69,
651 126, -1, 70, 128, -1, 53, -1, -1, 53, 135,
652 113, 133, -1, 115, -1, 114, 115, -1, 130, -1,
653 117, -1, 116, 117, -1, 130, -1, 119, -1, 118,
654 119, -1, 130, -1, 121, -1, 120, 121, -1, 130,
655 -1, 123, -1, 122, 123, -1, 130, -1, 125, -1,
656 124, 125, -1, 130, -1, 127, -1, 126, 127, -1,
657 131, -1, 129, -1, 128, 129, -1, 131, -1, 132,
658 -1, 94, 184, 95, -1, 132, -1, 94, 184, 95,
659 -1, 88, -1, 83, -1, 82, -1, -1, 133, 135,
660 -1, -1, 134, 135, -1, 87, -1, 89, -1, 137,
661 -1, 136, 96, 137, -1, -1, 83, 138, 139, -1,
662 -1, 97, 144, -1, 141, -1, 140, 96, 141, -1,
663 144, 97, 144, -1, 143, -1, 142, 96, 143, -1,
664 132, -1, 146, -1, 98, 145, -1, 172, 99, 144,
665 -1, 172, 145, -1, 147, -1, 146, 154, 147, -1,
666 148, -1, 13, 156, 20, 147, 10, 147, -1, 13,
667 156, 20, 147, -1, 149, -1, 149, 157, 148, -1,
668 160, -1, 160, 150, 160, -1, 27, -1, 30, -1,
669 153, -1, 98, 152, -1, 172, 99, 151, -1, 172,
670 152, -1, 155, -1, 153, 154, 155, -1, 28, -1,
671 156, -1, 13, 156, 20, 155, 10, 155, -1, 13,
672 156, 20, 155, -1, 158, -1, 158, 157, 156, -1,
673