File Coverage

lib/SPVM/Builder/src/spvm_yacc.c
Criterion Covered Total %
statement 305 373 81.7
branch 56 114 49.1
condition n/a
subroutine n/a
pod n/a
total 361 487 74.1


line stmt bran cond sub pod time code
1             /* A Bison parser, made by GNU Bison 3.0.4. */
2              
3             /* Bison implementation for Yacc-like parsers in C
4              
5             Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6              
7             This program is free software: you can redistribute it and/or modify
8             it under the terms of the GNU General Public License as published by
9             the Free Software Foundation, either version 3 of the License, or
10             (at your option) any later version.
11              
12             This program is distributed in the hope that it will be useful,
13             but WITHOUT ANY WARRANTY; without even the implied warranty of
14             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15             GNU General Public License for more details.
16              
17             You should have received a copy of the GNU General Public License
18             along with this program. If not, see . */
19              
20             /* As a special exception, you may create a larger work that contains
21             part or all of the Bison parser skeleton and distribute that work
22             under terms of your choice, so long as that work isn't itself a
23             parser generator using the skeleton or a modified version thereof
24             as a parser skeleton. Alternatively, if you modify or redistribute
25             the parser skeleton itself, you may (at your option) remove this
26             special exception, which will cause the skeleton and the resulting
27             Bison output files to be licensed under the GNU General Public
28             License without this special exception.
29              
30             This special exception was added by the Free Software Foundation in
31             version 2.2 of Bison. */
32              
33             /* C LALR(1) parser skeleton written by Richard Stallman, by
34             simplifying the original so-called "semantic" parser. */
35              
36             /* All symbols defined below should begin with yy or YY, to avoid
37             infringing on user name space. This should be done even for local
38             variables, as they might otherwise be expanded by user macros.
39             There are some unavoidable exceptions within include files to
40             define necessary library symbols; they are noted "INFRINGES ON
41             USER NAME SPACE" below. */
42              
43             /* Identify Bison output. */
44             #define YYBISON 1
45              
46             /* Bison version. */
47             #define YYBISON_VERSION "3.0.4"
48              
49             /* Skeleton name. */
50             #define YYSKELETON_NAME "yacc.c"
51              
52             /* Pure parsers. */
53             #define YYPURE 1
54              
55             /* Push parsers. */
56             #define YYPUSH 0
57              
58             /* Pull parsers. */
59             #define YYPULL 1
60              
61              
62             /* Substitute the variable and function names. */
63             #define yyparse SPVM_yyparse
64             #define yylex SPVM_yylex
65             #define yyerror SPVM_yyerror
66             #define yydebug SPVM_yydebug
67             #define yynerrs SPVM_yynerrs
68              
69              
70             /* Copy the first part of user declarations. */
71             #line 8 "yacc/spvm_yacc.y" /* yacc.c:339 */
72              
73             #include
74            
75             #include "spvm_compiler.h"
76             #include "spvm_yacc_util.h"
77             #include "spvm_toke.h"
78             #include "spvm_op.h"
79             #include "spvm_dumper.h"
80             #include "spvm_constant.h"
81             #include "spvm_type.h"
82             #include "spvm_block.h"
83             #include "spvm_list.h"
84             #include "spvm_attribute.h"
85             #include "spvm_string.h"
86              
87             #line 88 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:339 */
88              
89             # ifndef YY_NULLPTR
90             # if defined __cplusplus && 201103L <= __cplusplus
91             # define YY_NULLPTR nullptr
92             # else
93             # define YY_NULLPTR 0
94             # endif
95             # endif
96              
97             /* Enabling verbose error messages. */
98             #ifdef YYERROR_VERBOSE
99             # undef YYERROR_VERBOSE
100             # define YYERROR_VERBOSE 1
101             #else
102             # define YYERROR_VERBOSE 0
103             #endif
104              
105             /* In a future release of Bison, this section will be replaced
106             by #include "spvm_yacc.h". */
107             #ifndef YY_SPVM_YY_LIB_SPVM_BUILDER_INCLUDE_SPVM_YACC_H_INCLUDED
108             # define YY_SPVM_YY_LIB_SPVM_BUILDER_INCLUDE_SPVM_YACC_H_INCLUDED
109             /* Debug traces. */
110             #ifndef YYDEBUG
111             # define YYDEBUG 1
112             #endif
113             #if YYDEBUG
114             extern int SPVM_yydebug;
115             #endif
116              
117             /* Token type. */
118             #ifndef YYTOKENTYPE
119             # define YYTOKENTYPE
120             enum yytokentype
121             {
122             CLASS = 258,
123             HAS = 259,
124             METHOD = 260,
125             OUR = 261,
126             ENUM = 262,
127             MY = 263,
128             USE = 264,
129             AS = 265,
130             REQUIRE = 266,
131             ALIAS = 267,
132             ALLOW = 268,
133             CURRENT_CLASS = 269,
134             MUTABLE = 270,
135             ATTRIBUTE = 271,
136             MAKE_READ_ONLY = 272,
137             INTERFACE = 273,
138             EVAL_ERROR_ID = 274,
139             ARGS_WIDTH = 275,
140             VERSION_DECL = 276,
141             IF = 277,
142             UNLESS = 278,
143             ELSIF = 279,
144             ELSE = 280,
145             FOR = 281,
146             WHILE = 282,
147             LAST = 283,
148             NEXT = 284,
149             SWITCH = 285,
150             CASE = 286,
151             DEFAULT = 287,
152             BREAK = 288,
153             EVAL = 289,
154             SYMBOL_NAME = 290,
155             VAR_NAME = 291,
156             CONSTANT = 292,
157             EXCEPTION_VAR = 293,
158             UNDEF = 294,
159             VOID = 295,
160             BYTE = 296,
161             SHORT = 297,
162             INT = 298,
163             LONG = 299,
164             FLOAT = 300,
165             DOUBLE = 301,
166             STRING = 302,
167             OBJECT = 303,
168             TRUE = 304,
169             FALSE = 305,
170             END_OF_FILE = 306,
171             FATCAMMA = 307,
172             RW = 308,
173             RO = 309,
174             WO = 310,
175             INIT = 311,
176             NEW = 312,
177             OF = 313,
178             BASIC_TYPE_ID = 314,
179             EXTENDS = 315,
180             SUPER = 316,
181             RETURN = 317,
182             WEAKEN = 318,
183             DIE = 319,
184             WARN = 320,
185             PRINT = 321,
186             SAY = 322,
187             CURRENT_CLASS_NAME = 323,
188             UNWEAKEN = 324,
189             ASSIGN = 325,
190             SPECIAL_ASSIGN = 326,
191             LOGICAL_OR = 327,
192             LOGICAL_AND = 328,
193             BIT_OR = 329,
194             BIT_XOR = 330,
195             BIT_AND = 331,
196             NUMEQ = 332,
197             NUMNE = 333,
198             STREQ = 334,
199             STRNE = 335,
200             NUMGT = 336,
201             NUMGE = 337,
202             NUMLT = 338,
203             NUMLE = 339,
204             STRGT = 340,
205             STRGE = 341,
206             STRLT = 342,
207             STRLE = 343,
208             ISA = 344,
209             ISA_ERROR = 345,
210             IS_TYPE = 346,
211             IS_ERROR = 347,
212             IS_COMPILE_TYPE = 348,
213             NUMERIC_CMP = 349,
214             STRING_CMP = 350,
215             CAN = 351,
216             SHIFT = 352,
217             DIVIDE = 353,
218             DIVIDE_UNSIGNED_INT = 354,
219             DIVIDE_UNSIGNED_LONG = 355,
220             REMAINDER = 356,
221             REMAINDER_UNSIGNED_INT = 357,
222             REMAINDER_UNSIGNED_LONG = 358,
223             LOGICAL_NOT = 359,
224             BIT_NOT = 360,
225             CREATE_REF = 361,
226             DEREF = 362,
227             PLUS = 363,
228             MINUS = 364,
229             CONVERT = 365,
230             SCALAR = 366,
231             STRING_LENGTH = 367,
232             ISWEAK = 368,
233             REFCNT = 369,
234             TYPE_NAME = 370,
235             COMPILE_TYPE_NAME = 371,
236             DUMP = 372,
237             NEW_STRING_LEN = 373,
238             IS_READ_ONLY = 374,
239             COPY = 375,
240             INC = 376,
241             DEC = 377,
242             ARROW = 378
243             };
244             #endif
245              
246             /* Value type. */
247              
248              
249              
250             int SPVM_yyparse (SPVM_COMPILER* compiler);
251              
252             #endif /* !YY_SPVM_YY_LIB_SPVM_BUILDER_INCLUDE_SPVM_YACC_H_INCLUDED */
253              
254             /* Copy the second part of user declarations. */
255              
256             #line 257 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:358 */
257              
258             #ifdef short
259             # undef short
260             #endif
261              
262             #ifdef YYTYPE_UINT8
263             typedef YYTYPE_UINT8 yytype_uint8;
264             #else
265             typedef unsigned char yytype_uint8;
266             #endif
267              
268             #ifdef YYTYPE_INT8
269             typedef YYTYPE_INT8 yytype_int8;
270             #else
271             typedef signed char yytype_int8;
272             #endif
273              
274             #ifdef YYTYPE_UINT16
275             typedef YYTYPE_UINT16 yytype_uint16;
276             #else
277             typedef unsigned short int yytype_uint16;
278             #endif
279              
280             #ifdef YYTYPE_INT16
281             typedef YYTYPE_INT16 yytype_int16;
282             #else
283             typedef short int yytype_int16;
284             #endif
285              
286             #ifndef YYSIZE_T
287             # ifdef __SIZE_TYPE__
288             # define YYSIZE_T __SIZE_TYPE__
289             # elif defined size_t
290             # define YYSIZE_T size_t
291             # elif ! defined YYSIZE_T
292             # include /* INFRINGES ON USER NAME SPACE */
293             # define YYSIZE_T size_t
294             # else
295             # define YYSIZE_T unsigned int
296             # endif
297             #endif
298              
299             #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
300              
301             #ifndef YY_
302             # if defined YYENABLE_NLS && YYENABLE_NLS
303             # if ENABLE_NLS
304             # include /* INFRINGES ON USER NAME SPACE */
305             # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
306             # endif
307             # endif
308             # ifndef YY_
309             # define YY_(Msgid) Msgid
310             # endif
311             #endif
312              
313             #ifndef YY_ATTRIBUTE
314             # if (defined __GNUC__ \
315             && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
316             || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
317             # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
318             # else
319             # define YY_ATTRIBUTE(Spec) /* empty */
320             # endif
321             #endif
322              
323             #ifndef YY_ATTRIBUTE_PURE
324             # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
325             #endif
326              
327             #ifndef YY_ATTRIBUTE_UNUSED
328             # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
329             #endif
330              
331             #if !defined _Noreturn \
332             && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
333             # if defined _MSC_VER && 1200 <= _MSC_VER
334             # define _Noreturn __declspec (noreturn)
335             # else
336             # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
337             # endif
338             #endif
339              
340             /* Suppress unused-variable warnings by "using" E. */
341             #if ! defined lint || defined __GNUC__
342             # define YYUSE(E) ((void) (E))
343             #else
344             # define YYUSE(E) /* empty */
345             #endif
346              
347             #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
348             /* Suppress an incorrect diagnostic about yylval being uninitialized. */
349             # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
350             _Pragma ("GCC diagnostic push") \
351             _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
352             _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
353             # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
354             _Pragma ("GCC diagnostic pop")
355             #else
356             # define YY_INITIAL_VALUE(Value) Value
357             #endif
358             #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
359             # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
360             # define YY_IGNORE_MAYBE_UNINITIALIZED_END
361             #endif
362             #ifndef YY_INITIAL_VALUE
363             # define YY_INITIAL_VALUE(Value) /* Nothing. */
364             #endif
365              
366              
367             #if ! defined yyoverflow || YYERROR_VERBOSE
368              
369             /* The parser invokes alloca or malloc; define the necessary symbols. */
370              
371             # ifdef YYSTACK_USE_ALLOCA
372             # if YYSTACK_USE_ALLOCA
373             # ifdef __GNUC__
374             # define YYSTACK_ALLOC __builtin_alloca
375             # elif defined __BUILTIN_VA_ARG_INCR
376             # include /* INFRINGES ON USER NAME SPACE */
377             # elif defined _AIX
378             # define YYSTACK_ALLOC __alloca
379             # elif defined _MSC_VER
380             # include /* INFRINGES ON USER NAME SPACE */
381             # define alloca _alloca
382             # else
383             # define YYSTACK_ALLOC alloca
384             # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
385             # include /* INFRINGES ON USER NAME SPACE */
386             /* Use EXIT_SUCCESS as a witness for stdlib.h. */
387             # ifndef EXIT_SUCCESS
388             # define EXIT_SUCCESS 0
389             # endif
390             # endif
391             # endif
392             # endif
393             # endif
394              
395             # ifdef YYSTACK_ALLOC
396             /* Pacify GCC's 'empty if-body' warning. */
397             # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
398             # ifndef YYSTACK_ALLOC_MAXIMUM
399             /* The OS might guarantee only one guard page at the bottom of the stack,
400             and a page size can be as small as 4096 bytes. So we cannot safely
401             invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
402             to allow for a few compiler-allocated temporary stack slots. */
403             # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
404             # endif
405             # else
406             # define YYSTACK_ALLOC YYMALLOC
407             # define YYSTACK_FREE YYFREE
408             # ifndef YYSTACK_ALLOC_MAXIMUM
409             # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
410             # endif
411             # if (defined __cplusplus && ! defined EXIT_SUCCESS \
412             && ! ((defined YYMALLOC || defined malloc) \
413             && (defined YYFREE || defined free)))
414             # include /* INFRINGES ON USER NAME SPACE */
415             # ifndef EXIT_SUCCESS
416             # define EXIT_SUCCESS 0
417             # endif
418             # endif
419             # ifndef YYMALLOC
420             # define YYMALLOC malloc
421             # if ! defined malloc && ! defined EXIT_SUCCESS
422             void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
423             # endif
424             # endif
425             # ifndef YYFREE
426             # define YYFREE free
427             # if ! defined free && ! defined EXIT_SUCCESS
428             void free (void *); /* INFRINGES ON USER NAME SPACE */
429             # endif
430             # endif
431             # endif
432             #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
433              
434              
435             #if (! defined yyoverflow \
436             && (! defined __cplusplus \
437             || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
438              
439             /* A type that is properly aligned for any stack member. */
440             union yyalloc
441             {
442             yytype_int16 yyss_alloc;
443             YYSTYPE yyvs_alloc;
444             };
445              
446             /* The size of the maximum gap between one aligned stack and the next. */
447             # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
448              
449             /* The size of an array large to enough to hold all stacks, each with
450             N elements. */
451             # define YYSTACK_BYTES(N) \
452             ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
453             + YYSTACK_GAP_MAXIMUM)
454              
455             # define YYCOPY_NEEDED 1
456              
457             /* Relocate STACK from its old location to the new one. The
458             local variables YYSIZE and YYSTACKSIZE give the old and new number of
459             elements in the stack, and YYPTR gives the new location of the
460             stack. Advance YYPTR to a properly aligned location for the next
461             stack. */
462             # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
463             do \
464             { \
465             YYSIZE_T yynewbytes; \
466             YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
467             Stack = &yyptr->Stack_alloc; \
468             yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
469             yyptr += yynewbytes / sizeof (*yyptr); \
470             } \
471             while (0)
472              
473             #endif
474              
475             #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
476             /* Copy COUNT objects from SRC to DST. The source and destination do
477             not overlap. */
478             # ifndef YYCOPY
479             # if defined __GNUC__ && 1 < __GNUC__
480             # define YYCOPY(Dst, Src, Count) \
481             __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
482             # else
483             # define YYCOPY(Dst, Src, Count) \
484             do \
485             { \
486             YYSIZE_T yyi; \
487             for (yyi = 0; yyi < (Count); yyi++) \
488             (Dst)[yyi] = (Src)[yyi]; \
489             } \
490             while (0)
491             # endif
492             # endif
493             #endif /* !YYCOPY_NEEDED */
494              
495             /* YYFINAL -- State number of the termination state. */
496             #define YYFINAL 17
497             /* YYLAST -- Last index in YYTABLE. */
498             #define YYLAST 4764
499              
500             /* YYNTOKENS -- Number of terminals. */
501             #define YYNTOKENS 138
502             /* YYNNTS -- Number of nonterminals. */
503             #define YYNNTS 97
504             /* YYNRULES -- Number of rules. */
505             #define YYNRULES 286
506             /* YYNSTATES -- Number of states. */
507             #define YYNSTATES 546
508              
509             /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
510             by yylex, with out-of-bounds checking. */
511             #define YYUNDEFTOK 2
512             #define YYMAXUTOK 378
513              
514             #define YYTRANSLATE(YYX) \
515             ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
516              
517             /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
518             as returned by yylex, without out-of-bounds checking. */
519             static const yytype_uint8 yytranslate[] =
520             {
521             0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
522             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
523             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
524             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
525             72, 136, 104, 101, 135, 102, 103, 2, 2, 2,
526             2, 2, 2, 2, 2, 2, 2, 2, 132, 133,
527             2, 2, 2, 2, 113, 2, 2, 2, 2, 2,
528             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
529             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
530             2, 70, 2, 137, 2, 2, 2, 2, 2, 2,
531             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
532             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
533             2, 2, 2, 71, 2, 134, 2, 2, 2, 2,
534             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
535             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
536             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
537             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
538             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
539             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
540             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
541             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
542             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
543             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
544             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
545             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
546             2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
547             5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
548             15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
549             25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
550             35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
551             45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
552             55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
553             65, 66, 67, 68, 69, 73, 74, 75, 76, 77,
554             78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
555             88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
556             98, 99, 100, 105, 106, 107, 108, 109, 110, 111,
557             112, 114, 115, 116, 117, 118, 119, 120, 121, 122,
558             123, 124, 125, 126, 127, 128, 129, 130, 131
559             };
560              
561             #if YYDEBUG
562             /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
563             static const yytype_uint16 yyrline[] =
564             {
565             0, 70, 70, 74, 77, 90, 104, 107, 111, 115,
566             119, 126, 129, 135, 144, 147, 159, 173, 176, 177,
567             178, 179, 180, 181, 182, 183, 184, 185, 188, 194,
568             200, 206, 213, 221, 228, 234, 240, 246, 255, 258,
569             271, 285, 286, 289, 293, 299, 305, 311, 315, 319,
570             323, 329, 335, 353, 356, 369, 383, 384, 387, 391,
571             397, 411, 412, 415, 419, 426, 429, 442, 456, 460,
572             463, 476, 490, 493, 494, 495, 496, 497, 498, 499,
573             500, 501, 502, 503, 504, 505, 506, 510, 514, 518,
574             519, 523, 526, 530, 534, 538, 544, 545, 549, 553,
575             554, 555, 561, 565, 571, 577, 581, 587, 593, 599,
576             605, 614, 617, 630, 644, 650, 654, 660, 664, 670,
577             676, 683, 694, 708, 711, 715, 721, 729, 736, 739,
578             753, 756, 759, 760, 761, 762, 763, 764, 765, 766,
579             767, 768, 769, 770, 771, 772, 773, 774, 775, 776,
580             792, 793, 794, 795, 796, 797, 798, 799, 800, 804,
581             808, 809, 810, 811, 815, 816, 819, 833, 837, 843,
582             848, 853, 857, 861, 865, 869, 873, 877, 881, 885,
583             889, 895, 901, 906, 913, 918, 925, 930, 935, 940,
584             944, 948, 952, 956, 960, 964, 968, 972, 976, 980,
585             986, 990, 994, 998, 1002, 1006, 1010, 1014, 1018, 1022,
586             1026, 1030, 1034, 1038, 1044, 1050, 1056, 1062, 1068, 1074,
587             1078, 1082, 1088, 1092, 1098, 1102, 1108, 1114, 1120, 1126,
588             1135, 1140, 1147, 1152, 1158, 1163, 1169, 1174, 1180, 1188,
589             1193, 1198, 1205, 1210, 1215, 1223, 1231, 1239, 1247, 1251,
590             1257, 1262, 1267, 1272, 1279, 1283, 1289, 1295, 1296, 1301,
591             1302, 1303, 1306, 1309, 1313, 1319, 1325, 1331, 1337, 1343,
592             1349, 1354, 1362, 1368, 1372, 1378, 1382, 1388, 1389, 1396,
593             1399, 1402, 1408, 1422, 1428, 1431, 1434
594             };
595             #endif
596              
597             #if YYDEBUG || YYERROR_VERBOSE || 0
598             /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
599             First, the terminals, then, starting at YYNTOKENS, nonterminals. */
600             static const char *const yytname[] =
601             {
602             "$end", "error", "$undefined", "CLASS", "HAS", "METHOD", "OUR", "ENUM",
603             "MY", "USE", "AS", "REQUIRE", "ALIAS", "ALLOW", "CURRENT_CLASS",
604             "MUTABLE", "ATTRIBUTE", "MAKE_READ_ONLY", "INTERFACE", "EVAL_ERROR_ID",
605             "ARGS_WIDTH", "VERSION_DECL", "IF", "UNLESS", "ELSIF", "ELSE", "FOR",
606             "WHILE", "LAST", "NEXT", "SWITCH", "CASE", "DEFAULT", "BREAK", "EVAL",
607             "SYMBOL_NAME", "VAR_NAME", "CONSTANT", "EXCEPTION_VAR", "UNDEF", "VOID",
608             "BYTE", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE", "STRING", "OBJECT",
609             "TRUE", "FALSE", "END_OF_FILE", "FATCAMMA", "RW", "RO", "WO", "INIT",
610             "NEW", "OF", "BASIC_TYPE_ID", "EXTENDS", "SUPER", "RETURN", "WEAKEN",
611             "DIE", "WARN", "PRINT", "SAY", "CURRENT_CLASS_NAME", "UNWEAKEN", "'['",
612             "'{'", "'('", "ASSIGN", "SPECIAL_ASSIGN", "LOGICAL_OR", "LOGICAL_AND",
613             "BIT_OR", "BIT_XOR", "BIT_AND", "NUMEQ", "NUMNE", "STREQ", "STRNE",
614             "NUMGT", "NUMGE", "NUMLT", "NUMLE", "STRGT", "STRGE", "STRLT", "STRLE",
615             "ISA", "ISA_ERROR", "IS_TYPE", "IS_ERROR", "IS_COMPILE_TYPE",
616             "NUMERIC_CMP", "STRING_CMP", "CAN", "SHIFT", "'+'", "'-'", "'.'", "'*'",
617             "DIVIDE", "DIVIDE_UNSIGNED_INT", "DIVIDE_UNSIGNED_LONG", "REMAINDER",
618             "REMAINDER_UNSIGNED_INT", "REMAINDER_UNSIGNED_LONG", "LOGICAL_NOT",
619             "BIT_NOT", "'@'", "CREATE_REF", "DEREF", "PLUS", "MINUS", "CONVERT",
620             "SCALAR", "STRING_LENGTH", "ISWEAK", "REFCNT", "TYPE_NAME",
621             "COMPILE_TYPE_NAME", "DUMP", "NEW_STRING_LEN", "IS_READ_ONLY", "COPY",
622             "INC", "DEC", "ARROW", "':'", "';'", "'}'", "','", "')'", "']'",
623             "$accept", "grammar", "opt_classes", "classes", "class", "opt_extends",
624             "class_block", "opt_definitions", "definitions", "definition",
625             "init_block", "version_decl", "use", "require", "alias", "allow",
626             "interface", "enumeration", "enumeration_block",
627             "opt_enumeration_values", "enumeration_values", "enumeration_value",
628             "our", "has", "method", "anon_method", "opt_args", "args", "arg",
629             "anon_method_has_list", "anon_method_has", "opt_attributes",
630             "attributes", "opt_statements", "statements", "statement", "die",
631             "void_return_operator", "warn", "for_statement", "foreach_statement",
632             "while_statement", "switch_statement", "switch_block",
633             "opt_case_statements", "case_statements", "case_statement",
634             "default_statement", "if_require_statement", "if_statement",
635             "else_statement", "block", "eval_block", "opt_operators", "opt_operator",
636             "operator", "operators", "unary_operator", "is_read_only", "inc", "dec",
637             "binary_operator", "comparison_operator", "isa", "isa_error", "is_type",
638             "is_error", "is_compile_type", "logical_operator", "assign", "new",
639             "array_init", "convert", "call_method", "array_access", "field_access",
640             "weaken_field", "unweaken_field", "isweak_field", "can", "array_length",
641             "var_decl", "var", "qualified_type", "type", "class_type", "basic_type",
642             "ref_type", "array_type", "array_type_with_length", "return_type",
643             "opt_type_comment", "type_comment", "union_type", "field_name",
644             "method_name", "alias_name", YY_NULLPTR
645             };
646             #endif
647              
648             # ifdef YYPRINT
649             /* YYTOKNUM[NUM] -- (External) token number corresponding to the
650             (internal) symbol number NUM (which must be that of a token). */
651             static const yytype_uint16 yytoknum[] =
652             {
653             0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
654             265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
655             275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
656             285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
657             295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
658             305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
659             315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
660             91, 123, 40, 325, 326, 327, 328, 329, 330, 331,
661             332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
662             342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
663             352, 43, 45, 46, 42, 353, 354, 355, 356, 357,
664             358, 359, 360, 64, 361, 362, 363, 364, 365, 366,
665             367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
666             377, 378, 58, 59, 125, 44, 41, 93
667             };
668             # endif
669              
670             #define YYPACT_NINF -446
671              
672             #define yypact_value_is_default(Yystate) \
673             (!!((Yystate) == (-446)))
674              
675             #define YYTABLE_NINF -131
676              
677             #define yytable_value_is_error(Yytable_value) \
678             (!!((Yytable_value) == (-131)))
679              
680             /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
681             STATE-NUM. */
682             static const yytype_int16 yypact[] =
683             {
684             48, 182, 57, -446, 48, -446, -446, -446, -446, -446,
685             -446, -446, -446, -446, -446, 20, -446, -446, -446, 182,
686             -40, -446, 32, 50, 34, 49, 68, 70, 182, 182,
687             182, -446, 182, 73, 41, -1, 55, -446, -446, -446,
688             -446, -446, -446, -446, -446, -446, -18, -446, 58, 119,
689             -37, -446, -446, -446, 11, 12, 6, 136, 18, 31,
690             36, 1321, -446, -446, -446, -446, -11, 77, -446, 101,
691             102, 50, 50, 130, -446, 130, -446, -446, -446, 134,
692             133, 2800, -446, -446, 100, 113, 15, 114, 69, 71,
693             131, 2800, 76, 72, 41, -446, -446, -446, -446, -446,
694             -446, 182, 182, 1813, 134, 1936, 2059, 2800, 2800, -446,
695             134, 570, 1444, 2554, 2800, 2800, 2800, 2800, 2923, 2800,
696             134, 96, 2800, 134, 2800, 2800, 2800, 2800, 2800, 2800,
697             2800, 2800, 2800, -446, -446, 205, 79, 1567, -446, 78,
698             81, -446, -446, -446, -446, -446, -446, -446, -446, -446,
699             -446, -446, 4122, -446, -446, -446, -446, -446, -446, -446,
700             -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
701             -45, 4, -446, -446, -446, -446, -446, -446, -446, 85,
702             -446, 84, 83, 183, -446, -446, -446, 132, 132, -446,
703             86, 99, 103, 161, 1690, 4365, 2677, 2800, 2182, 164,
704             2800, -446, -446, 2800, 4305, 41, -446, -446, 167, 168,
705             -446, -446, -35, -446, 169, -446, 4183, 109, 4365, 2305,
706             -23, 4365, 4365, 4365, 110, 174, -98, -446, 105, 4365,
707             115, -446, 4122, -17, 182, -41, 108, -446, -47, -47,
708             -47, -47, 1690, -47, -47, -446, 3046, -47, 117, -47,
709             -47, -47, -47, -47, -47, -47, 7, 7, 120, -446,
710             -446, -446, -446, 2800, 2800, 2800, 2800, 2800, 2800, 2800,
711             2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800,
712             2800, 2800, 182, 182, 182, 182, 182, 2800, 2800, 35,
713             2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800,
714             2800, -446, -446, 19, -446, 2800, 68, 2800, 68, 183,
715             -446, 191, 181, 84, 153, 155, -446, 215, 191, 191,
716             -446, -446, 132, 1075, 182, 118, 3552, 3616, 158, 4365,
717             179, 3680, 3744, 41, -446, 704, 828, 156, -446, 157,
718             -446, 224, 4365, 225, 2800, 293, 50, -446, 2431, -446,
719             -446, -446, 2800, 3936, 1690, -47, 227, 84, 4365, 4365,
720             4421, 4476, 4529, 4529, 4581, 4633, 4633, 4633, 4633, 171,
721             171, 171, 171, 171, 171, 171, 171, -446, -446, -446,
722             -446, -446, 171, 171, -446, -446, 53, 91, 91, 91,
723             -47, -47, -47, -47, -47, -47, -47, 2800, 68, 952,
724             231, 3227, 170, 3292, 172, 233, 182, -446, -446, 134,
725             235, -446, 183, 272, -446, 177, 191, 175, -446, 41,
726             41, 41, 2800, 3169, 41, 241, -446, -446, 3357, -446,
727             3422, 68, 68, 4365, -446, 310, 4365, -47, -446, 3998,
728             68, 244, 3487, 184, 185, 187, 1075, -446, -446, -446,
729             -446, 1075, -446, 240, 189, 192, -446, 188, 134, -446,
730             -446, -446, -446, -446, 294, 98, 98, 4244, 1690, 3808,
731             -446, 295, -446, -446, -446, 195, 197, 201, -446, 200,
732             134, -446, -446, -446, -446, 199, 203, 182, -29, 134,
733             132, 204, 41, 264, 41, -446, -446, 1198, 4060, 41,
734             -14, 295, -446, -446, -446, 84, -446, 206, -446, -446,
735             -446, -446, -446, -446, 191, -19, -446, 2800, -446, 207,
736             208, -446, -446, 211, -446, 265, 41, 268, -446, -446,
737             3872, 41, 41, -446, 134, -446, 2800, 41, -446, -446,
738             210, 4365, 98, 41, -446, -446
739             };
740              
741             /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
742             Performed when YYTABLE does not specify something else to do. Zero
743             means the default is an error. */
744             static const yytype_uint16 yydefact[] =
745             {
746             3, 0, 0, 2, 4, 6, 263, 264, 265, 266,
747             267, 268, 269, 271, 270, 11, 262, 1, 5, 0,
748             0, 12, 65, 65, 0, 0, 0, 0, 0, 0,
749             0, 68, 0, 0, 0, 0, 65, 17, 23, 18,
750             19, 20, 21, 22, 24, 25, 0, 27, 0, 66,
751             0, 9, 7, 284, 0, 0, 0, 0, 0, 0,
752             0, 65, 28, 13, 16, 26, 0, 0, 67, 0,
753             0, 65, 65, 0, 30, 0, 34, 35, 29, 0,
754             0, 65, 164, 165, 0, 0, 0, 0, 0, 0,
755             0, 65, 0, 0, 0, 256, 134, 133, 135, 158,
756             159, 0, 0, 65, 0, 65, 65, 65, 65, 150,
757             0, 65, 65, 65, 65, 65, 65, 65, 65, 65,
758             0, 0, 65, 0, 65, 65, 65, 65, 65, 65,
759             65, 65, 65, 90, 226, 0, 0, 65, 72, 0,
760             0, 96, 74, 75, 76, 78, 79, 80, 82, 73,
761             77, 81, 0, 144, 160, 147, 148, 145, 152, 153,
762             154, 155, 156, 157, 162, 146, 140, 141, 139, 136,
763             138, 137, 99, 100, 151, 161, 142, 143, 132, 0,
764             285, 0, 0, 38, 36, 10, 8, 0, 0, 286,
765             0, 0, 255, 233, 65, 101, 65, 65, 65, 0,
766             65, 83, 84, 65, 0, 118, 85, 127, 224, 0,
767             225, 163, 259, 261, 260, 86, 0, 0, 92, 65,
768             259, 102, 97, 98, 0, 64, 0, 62, 0, 168,
769             129, 229, 168, 0, 0, 0, 0, 257, 169, 170,
770             221, 171, 65, 250, 178, 177, 65, 175, 0, 172,
771             173, 174, 176, 179, 181, 180, 182, 184, 0, 126,
772             71, 91, 89, 65, 65, 65, 65, 65, 65, 65,
773             65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
774             65, 65, 0, 0, 0, 0, 0, 65, 65, 0,
775             65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
776             65, 183, 185, 0, 88, 65, 0, 65, 0, 0,
777             278, 279, 0, 0, 0, 39, 42, 43, 279, 279,
778             31, 33, 0, 65, 0, 0, 0, 0, 0, 131,
779             0, 0, 0, 116, 117, 65, 65, 0, 272, 0,
780             87, 0, 94, 0, 65, 61, 65, 227, 167, 228,
781             258, 149, 65, 168, 65, 252, 0, 0, 222, 223,
782             219, 220, 197, 195, 196, 200, 201, 207, 208, 202,
783             203, 204, 205, 209, 210, 211, 212, 214, 215, 216,
784             217, 218, 206, 213, 249, 248, 198, 186, 187, 199,
785             188, 189, 190, 191, 192, 193, 194, 65, 0, 65,
786             237, 0, 0, 0, 0, 235, 0, 277, 280, 53,
787             0, 37, 41, 0, 46, 0, 279, 0, 32, 0,
788             0, 0, 65, 65, 0, 0, 115, 273, 0, 274,
789             0, 0, 0, 63, 60, 0, 166, 230, 251, 168,
790             0, 0, 0, 0, 0, 0, 65, 240, 244, 241,
791             243, 65, 283, 281, 0, 54, 57, 0, 53, 40,
792             44, 45, 254, 232, 119, 123, 123, 0, 65, 0,
793             107, 111, 108, 275, 276, 0, 0, 0, 253, 0,
794             53, 239, 242, 238, 231, 0, 0, 0, 0, 56,
795             0, 0, 0, 0, 0, 121, 122, 65, 168, 0,
796             0, 112, 114, 245, 246, 0, 247, 0, 236, 234,
797             282, 50, 49, 55, 279, 0, 120, 65, 124, 0,
798             0, 105, 109, 0, 113, 0, 0, 58, 48, 47,
799             0, 0, 0, 110, 53, 51, 65, 0, 104, 106,
800             0, 59, 123, 0, 125, 52
801             };
802              
803             /* YYPGOTO[NTERM-NUM]. */
804             static const yytype_int16 yypgoto[] =
805             {
806             -446, -446, -446, -446, 343, -446, 298, -446, -446, 313,
807             -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
808             -446, -61, -446, -102, -446, -446, -418, -446, -133, -446,
809             13, -16, -446, -446, -446, 230, -446, -446, -446, -446,
810             -446, -446, -446, -446, -446, -446, -422, -132, -446, -446,
811             -445, -34, -446, -301, -127, 247, -108, -446, -446, -446,
812             -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
813             -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
814             -446, 296, -77, -110, -92, -446, 0, -446, 282, -446,
815             -299, -307, -446, -446, -291, -58, 314
816             };
817              
818             /* YYDEFGOTO[NTERM-NUM]. */
819             static const yytype_int16 yydefgoto[] =
820             {
821             -1, 2, 3, 4, 5, 20, 25, 35, 36, 37,
822             38, 39, 40, 325, 41, 42, 43, 44, 184, 314,
823             315, 316, 45, 46, 47, 134, 454, 455, 456, 226,
824             227, 135, 49, 136, 137, 138, 139, 140, 141, 142,
825             143, 144, 145, 472, 500, 501, 146, 147, 148, 149,
826             495, 150, 151, 228, 328, 229, 230, 153, 154, 155,
827             156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
828             166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
829             176, 177, 178, 311, 237, 15, 179, 213, 214, 210,
830             312, 407, 408, 453, 54, 317, 190
831             };
832              
833             /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
834             positive, shift that token. If negative, reduce the rule whose
835             number is the opposite. If YYTABLE_NINF, syntax error. */
836             static const yytype_int16 yytable[] =
837             {
838             62, 16, 192, 236, 233, 235, 48, 50, 182, 225,
839             211, 414, 415, 219, 410, 402, 73, 404, 92, 21,
840             48, 496, 417, 79, 180, 305, 306, 217, 56, 57,
841             58, 22, 59, 224, 22, 337, 26, 345, 27, 346,
842             491, 28, 61, 245, 29, 30, 248, 337, 31, 502,
843             32, 1, 61, 33, 180, 187, 188, 17, 441, 26,
844             207, 27, 507, 66, 28, 67, 31, 29, 30, 338,
845             180, 31, 384, 32, 307, 308, 33, 318, 319, 524,
846             19, 338, 301, 302, 303, 51, 233, 198, 34, 397,
847             398, 399, 23, 24, 348, 351, 69, 544, 444, 234,
848             52, 208, 212, 53, 511, 220, 55, 443, 309, 462,
849             60, 34, 61, 220, 528, 65, 540, 349, 348, 6,
850             522, 181, 493, 494, 310, 7, 8, 9, 10, 11,
851             12, 13, 14, 63, 233, 68, -131, -131, 303, 74,
852             475, 476, 350, 71, 72, 485, 75, 234, 183, 479,
853             486, 76, 185, 186, 291, 292, 293, 294, 295, 296,
854             297, 298, 299, 300, 77, 189, -14, 6, 193, 78,
855             95, 334, 196, 7, 8, 9, 10, 11, 12, 13,
856             14, 212, 301, 302, 303, 197, 200, 212, 212, -15,
857             377, 378, 379, 380, 381, 294, 295, 296, 297, 298,
858             299, 300, 201, 203, 202, 206, 525, 527, 205, 246,
859             258, 261, 416, 259, 262, 313, 309, 6, 180, 320,
860             301, 302, 303, 7, 8, 9, 10, 11, 12, 13,
861             14, 385, 321, 323, 212, 322, 330, 335, 336, 339,
862             341, 343, 347, 225, 352, 400, 233, 344, 356, 406,
863             348, 405, 357, 409, 419, -131, -131, -131, -131, -131,
864             -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
865             -131, 290, 291, 292, 293, 294, 295, 296, 297, 298,
866             299, 300, 212, 212, 212, 212, 212, 411, 413, 445,
867             412, 422, 423, 427, 429, 431, 432, 26, 440, 426,
868             301, 302, 303, 446, 448, 451, 450, 458, 152, 460,
869             461, 463, 471, 212, 452, 477, 480, 487, 482, 492,
870             490, 483, 212, 484, 418, 488, 91, 489, 195, 503,
871             435, 504, 457, 505, 506, 508, 517, 534, 204, 509,
872             515, 536, 526, 531, 532, 533, 543, 18, 70, 64,
873             216, 459, 218, 221, 222, 223, 513, 212, 434, 232,
874             233, 238, 239, 240, 241, 243, 244, 260, 523, 247,
875             519, 249, 250, 251, 252, 253, 254, 255, 256, 257,
876             514, 457, 199, 209, 152, 464, 465, 466, 0, 191,
877             470, 0, 0, 0, 0, 510, 0, 0, 0, 220,
878             0, 0, 0, 457, 0, 0, 212, 0, 0, 0,
879             0, 0, 457, 0, 0, 0, 0, 0, 0, 0,
880             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
881             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
882             0, 0, 0, 326, 327, 329, 0, 331, 0, 0,
883             332, 0, 0, 0, 512, 0, 0, 457, 516, 0,
884             518, 0, 0, 0, 0, 521, 342, 0, 0, 0,
885             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886             0, 529, 0, 0, 0, 0, 0, 212, 0, 353,
887             212, 0, 535, 355, 0, 0, 0, 538, 539, 0,
888             0, 0, 0, 542, 0, 212, 0, 0, 0, 545,
889             358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
890             368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
891             0, 0, 0, 0, 382, 383, 0, 386, 387, 388,
892             389, 390, 391, 392, 393, 394, 395, 396, 0, 0,
893             0, 0, 401, 0, 403, 0, 0, 0, 0, 0,
894             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895             0, 0, 0, 0, 26, 0, 0, 0, 79, 0,
896             0, 0, 428, 430, 80, 0, 31, 0, 0, 82,
897             83, 433, 0, 0, 0, 436, 0, 0, 0, 437,
898             0, 439, 0, 0, 0, 6, 95, 96, 97, 98,
899             0, 7, 8, 9, 10, 11, 12, 13, 14, 99,
900             100, 0, 0, 0, 0, 0, 0, 101, 0, 102,
901             0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
902             111, 194, 113, 0, 442, 0, 0, 0, 0, 0,
903             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
904             0, 0, 0, 0, 0, 0, 0, 0, 0, 467,
905             469, 114, 115, 0, 0, 0, 0, 0, 0, 0,
906             0, 116, 117, 118, 119, 120, 0, 0, 0, 121,
907             122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
908             132, 0, 0, 0, 0, 0, 0, -128, 0, 0,
909             0, 0, 79, 0, 0, 498, 0, 0, 80, 0,
910             31, 0, 0, 82, 83, 0, 0, 0, 0, 0,
911             0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
912             95, 96, 97, 98, 329, 7, 8, 9, 10, 11,
913             12, 13, 14, 99, 100, 0, 0, 0, 0, 0,
914             0, 101, 0, 102, 530, 0, 0, 0, 0, 0,
915             0, 0, 109, 0, 111, 194, 113, 0, 0, 0,
916             0, 0, 0, 541, 0, 0, 0, 0, 0, 0,
917             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918             0, 0, 0, 0, 0, 114, 115, 0, 0, 0,
919             0, 0, 0, 0, 0, 116, 117, 118, 119, 120,
920             0, 0, 0, 121, 122, 123, 124, 125, 126, 127,
921             128, 129, 130, 131, 132, 0, 79, 0, 0, 0,
922             0, 427, 80, 0, 31, 0, 0, 82, 83, 0,
923             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
924             0, 0, 0, 6, 95, 96, 97, 98, 0, 7,
925             8, 9, 10, 11, 12, 13, 14, 99, 100, 0,
926             0, 0, 0, 0, 0, 101, 0, 102, 0, 0,
927             0, 0, 0, 0, 0, 0, 109, 0, 111, 194,
928             113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
929             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930             0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
931             115, 0, 0, 0, 0, 0, 0, 0, 0, 116,
932             117, 118, 119, 120, 0, 0, 0, 121, 122, 123,
933             124, 125, 126, 127, 128, 129, 130, 131, 132, 0,
934             79, 0, 0, 0, 0, 429, 80, 234, 31, 0,
935             0, 82, 83, 0, 0, 0, 0, 0, 0, 0,
936             0, 0, 0, 0, 0, 0, 0, 6, 95, 96,
937             97, 98, 0, 7, 8, 9, 10, 11, 12, 13,
938             14, 99, 100, 0, 0, 0, 0, 0, 0, 101,
939             0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
940             109, 0, 111, 194, 113, 0, 0, 0, 0, 0,
941             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
942             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
943             0, 0, 0, 114, 115, 0, 0, 0, 0, 0,
944             0, 0, 0, 116, 117, 118, 119, 120, 0, 0,
945             0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
946             130, 131, 132, 79, 0, 0, 0, 0, -128, 80,
947             0, 31, 0, 0, 82, 83, 0, 0, 0, 0,
948             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949             6, 95, 96, 97, 98, 0, 7, 8, 9, 10,
950             11, 12, 13, 14, 99, 100, 0, 0, 0, 0,
951             0, 0, 101, 0, 102, 0, 0, 0, 0, 0,
952             0, 0, 0, 109, 0, 111, 194, 113, 0, 0,
953             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
954             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955             0, 0, 0, 0, 0, 0, 114, 115, 0, 0,
956             0, 0, 0, 0, 0, 0, 116, 117, 118, 119,
957             120, 0, 0, 0, 121, 122, 123, 124, 125, 126,
958             127, 128, 129, 130, 131, 132, 79, 0, 0, 0,
959             0, -128, 80, 0, 31, 0, 0, 82, 83, 0,
960             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
961             0, 0, 0, 6, 95, 96, 97, 98, 0, 7,
962             8, 9, 10, 11, 12, 13, 14, 99, 100, 0,
963             0, 0, 0, 0, 0, 101, 0, 102, 0, 0,
964             0, 0, 0, 0, 0, 0, 109, 0, 111, 194,
965             113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
966             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967             0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
968             115, 0, 0, 0, 0, 0, 0, 0, 0, 116,
969             117, 118, 119, 120, 0, 0, 0, 121, 122, 123,
970             124, 125, 126, 127, 128, 129, 130, 131, 132, 79,
971             0, 0, 0, 0, -130, 80, 0, 31, 81, 0,
972             82, 83, 0, 84, 85, 0, 0, 86, 87, 88,
973             89, 90, 91, 92, 93, 94, 6, 95, 96, 97,
974             98, 0, 7, 8, 9, 10, 11, 12, 13, 14,
975             99, 100, 0, 0, 0, 0, 0, 0, 101, 0,
976             102, 0, 0, 103, 104, 105, 106, 107, 108, 109,
977             110, 111, 112, 113, 0, 0, 0, 0, 0, 0,
978             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
979             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
980             0, 0, 114, 115, 0, 0, 0, 0, 0, 0,
981             0, 0, 116, 117, 118, 119, 120, 0, 0, 0,
982             121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
983             131, 132, 79, 0, 133, -69, 0, 0, 80, 0,
984             31, 81, 0, 82, 83, 0, 84, 85, 0, 0,
985             86, 87, 88, 89, 90, 91, 92, 93, 94, 6,
986             95, 96, 97, 98, 0, 7, 8, 9, 10, 11,
987             12, 13, 14, 99, 100, 0, 0, 0, 0, 0,
988             0, 101, 0, 102, 0, 0, 103, 104, 105, 106,
989             107, 108, 109, 110, 111, 112, 113, 0, 0, 0,
990             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
991             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
992             0, 0, 0, 0, 0, 114, 115, 0, 0, 0,
993             0, 0, 0, 0, 0, 116, 117, 118, 119, 120,
994             0, 0, 0, 121, 122, 123, 124, 125, 126, 127,
995             128, 129, 130, 131, 132, 79, 0, 133, 231, 0,
996             0, 80, 0, 31, 81, 0, 82, 83, 0, 84,
997             85, 0, 0, 86, 87, 88, 89, 90, 91, 92,
998             93, 94, 6, 95, 96, 97, 98, 0, 7, 8,
999             9, 10, 11, 12, 13, 14, 99, 100, 0, 0,
1000             0, 0, 0, 0, 101, 0, 102, 0, 0, 103,
1001             104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1002             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1003             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004             0, 0, 0, 0, 0, 0, 0, 0, 114, 115,
1005             0, 0, 0, 0, 0, 0, 0, 0, 116, 117,
1006             118, 119, 120, 0, 0, 0, 121, 122, 123, 124,
1007             125, 126, 127, 128, 129, 130, 131, 132, 79, 0,
1008             133, -70, 0, 0, 80, 0, 31, 0, 0, 82,
1009             83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010             0, 0, 0, 0, 0, 6, 95, 96, 97, 98,
1011             0, 7, 8, 9, 10, 11, 12, 13, 14, 99,
1012             100, 0, 0, 0, 0, 0, 0, 101, 0, 102,
1013             0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
1014             111, 194, 113, 0, 0, 0, 0, 0, 0, 0,
1015             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017             0, 114, 115, 0, 0, 0, 0, 0, 0, 0,
1018             0, 116, 117, 118, 119, 120, 0, 0, 0, 121,
1019             122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1020             132, 79, 0, 0, 231, 0, 0, 80, 0, 31,
1021             0, 0, 82, 83, 0, 0, 0, 0, 0, 0,
1022             0, 0, 0, 0, 0, 0, 0, 0, 6, 95,
1023             96, 97, 98, 0, 7, 8, 9, 10, 11, 12,
1024             13, 14, 99, 100, 0, 0, 0, 0, 0, 0,
1025             101, 0, 102, 0, 0, 0, 0, 0, 0, 0,
1026             0, 109, 0, 111, 194, 113, 0, 0, 0, 0,
1027             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1028             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1029             0, 0, 0, 0, 114, 115, 0, 0, 0, 0,
1030             0, 0, 0, 0, 116, 117, 118, 119, 120, 0,
1031             0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1032             129, 130, 131, 132, 79, 0, 215, 0, 0, 0,
1033             80, 0, 31, 0, 0, 82, 83, 0, 0, 0,
1034             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035             0, 6, 95, 96, 97, 98, 0, 7, 8, 9,
1036             10, 11, 12, 13, 14, 99, 100, 0, 0, 0,
1037             0, 0, 0, 101, 0, 102, 0, 0, 0, 0,
1038             0, 0, 0, 0, 109, 0, 111, 194, 113, 0,
1039             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1041             0, 0, 0, 0, 0, 0, 0, 114, 115, 0,
1042             0, 0, 0, 0, 0, 0, 0, 116, 117, 118,
1043             119, 120, 0, 0, 0, 121, 122, 123, 124, 125,
1044             126, 127, 128, 129, 130, 131, 132, 79, 0, -93,
1045             0, 0, 0, 80, 0, 31, 0, 0, 82, 83,
1046             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1047             0, 0, 0, 0, 6, 95, 96, 97, 98, 0,
1048             7, 8, 9, 10, 11, 12, 13, 14, 99, 100,
1049             0, 0, 0, 0, 0, 0, 101, 0, 102, 0,
1050             0, 0, 0, 0, 0, 0, 0, 109, 0, 111,
1051             194, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1052             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1053             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1054             114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
1055             116, 117, 118, 119, 120, 0, 0, 0, 121, 122,
1056             123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1057             79, 0, -103, 0, 0, 0, 80, 0, 31, 0,
1058             0, 82, 83, 0, 0, 0, 0, 0, 0, 0,
1059             0, 0, 0, 0, 0, 0, 0, 6, 95, 96,
1060             97, 98, 0, 7, 8, 9, 10, 11, 12, 13,
1061             14, 99, 100, 0, 0, 0, 0, 0, 0, 101,
1062             0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
1063             109, 0, 111, 194, 113, 0, 0, 0, 0, 0,
1064             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1066             0, 0, 0, 114, 115, 0, 0, 0, 0, 0,
1067             0, 0, 0, 116, 117, 118, 119, 120, 0, 0,
1068             0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1069             130, 131, 132, 79, 0, -130, 0, 0, 0, 80,
1070             0, 31, 0, 0, 82, 83, 0, 0, 0, 0,
1071             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1072             6, 95, 96, 97, 98, 0, 7, 8, 9, 10,
1073             11, 12, 13, 14, 99, 100, 0, 0, 0, 0,
1074             0, 0, 101, 0, 102, 0, 0, 0, 0, 0,
1075             0, 0, 0, 109, 0, 111, 194, 113, 0, 0,
1076             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1078             0, 0, 0, 0, 0, 0, 114, 115, 0, 0,
1079             0, 0, 0, 0, 0, 0, 116, 117, 118, 119,
1080             120, 0, 0, 0, 121, 122, 123, 124, 125, 126,
1081             127, 128, 129, 130, 131, 132, -65, 0, -95, 79,
1082             0, 0, 0, 0, 0, 80, 0, 31, 0, 0,
1083             82, 83, 0, 0, 0, 0, 0, 0, 0, 0,
1084             0, 0, 0, 0, 0, 0, 6, 95, 96, 97,
1085             98, 0, 7, 8, 9, 10, 11, 12, 13, 14,
1086             99, 100, 0, 0, 0, 0, 0, 0, 101, 0,
1087             102, 0, 0, 0, 0, 0, 0, 0, 0, 109,
1088             0, 111, 194, 113, 0, 0, 0, 0, 0, 0,
1089             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1090             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091             0, 0, 114, 115, 0, 0, 0, 0, 0, 0,
1092             0, 0, 116, 117, 118, 119, 120, 0, 0, 0,
1093             121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1094             131, 132, 79, 0, 0, 0, 0, 0, 80, 234,
1095             31, 0, 0, 82, 83, 0, 0, 0, 0, 0,
1096             0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
1097             95, 96, 97, 98, 0, 7, 8, 9, 10, 11,
1098             12, 13, 14, 99, 100, 0, 0, 0, 0, 0,
1099             0, 101, 0, 102, 0, 0, 0, 0, 0, 0,
1100             0, 0, 109, 0, 111, 194, 113, 0, 0, 0,
1101             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1102             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103             0, 0, 0, 0, 0, 114, 115, 0, 0, 0,
1104             0, 0, 0, 0, 0, 116, 117, 118, 119, 120,
1105             0, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1106             128, 129, 130, 131, 132, 79, 0, 0, 324, 0,
1107             0, 80, 0, 31, 0, 0, 82, 83, 0, 0,
1108             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1109             0, 0, 6, 95, 96, 97, 98, 0, 7, 8,
1110             9, 10, 11, 12, 13, 14, 99, 100, 0, 0,
1111             0, 0, 0, 0, 101, 0, 102, 0, 0, 0,
1112             0, 0, 0, 0, 0, 109, 0, 111, 194, 113,
1113             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1114             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115             0, 0, 0, 0, 0, 0, 0, 0, 114, 115,
1116             0, 0, 0, 0, 0, 0, 0, 0, 116, 117,
1117             118, 119, 120, 0, 0, 0, 121, 122, 123, 124,
1118             125, 126, 127, 128, 129, 130, 131, 132, 79, 0,
1119             0, 0, 0, 0, 80, 0, 31, 0, 0, 82,
1120             83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1121             0, 0, 0, 0, 0, 6, 95, 96, 97, 98,
1122             0, 7, 8, 9, 10, 11, 12, 13, 14, 99,
1123             100, 0, 0, 0, 0, 0, 0, 101, 0, 102,
1124             0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
1125             111, 194, 113, 0, 0, 0, 0, 0, 0, 0,
1126             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1127             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1128             0, 114, 115, 0, 0, 0, 0, 0, 0, 0,
1129             0, 116, 117, 118, 119, 120, 0, 0, 0, 121,
1130             122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1131             132, 79, 0, 0, 0, 0, 0, 80, 0, 31,
1132             0, 0, 82, 83, 0, 0, 0, 0, 0, 0,
1133             0, 0, 0, 0, 0, 0, 0, 0, 6, 95,
1134             96, 97, 98, 0, 7, 8, 9, 10, 11, 12,
1135             13, 14, 99, 100, 0, 0, 0, 0, 0, 0,
1136             101, 0, 102, 0, 0, 0, 0, 0, 0, 0,
1137             0, 109, 0, 111, 242, 113, 0, 0, 0, 0,
1138             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1139             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1140             0, 0, 0, 0, 114, 115, 0, 0, 0, 0,
1141             0, 0, 0, 0, 116, 117, 118, 119, 120, 0,
1142             0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1143             129, 130, 131, 132, 79, 0, 0, 0, 0, 0,
1144             80, 0, 31, 0, 0, 82, 83, 0, 0, 0,
1145             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1146             0, 6, 95, 96, 97, 98, 0, 7, 8, 9,
1147             10, 11, 12, 13, 14, 99, 100, 0, 0, 0,
1148             0, 0, 0, 101, 0, 102, 0, 0, 0, 0,
1149             0, 0, 0, 0, 109, 0, 111, 354, 113, 0,
1150             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1151             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1152             0, 0, 0, 0, 0, 0, 0, 114, 115, 0,
1153             0, 0, 0, 0, 0, 0, 0, 116, 117, 118,
1154             119, 120, 0, 0, 0, 121, 122, 123, 124, 125,
1155             126, 127, 128, 129, 130, 131, 132, 79, 0, 0,
1156             0, 0, 0, 80, 0, 31, 0, 0, 82, 83,
1157             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1158             0, 0, 0, 0, 6, 95, 96, 97, 98, 0,
1159             7, 8, 9, 10, 11, 12, 13, 14, 99, 100,
1160             0, 0, 0, 0, 0, 0, 101, 0, 102, 0,
1161             0, 0, 0, 0, 0, 0, 0, 109, 0, 111,
1162             468, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1163             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1164             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1165             114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
1166             116, 117, 118, 119, 120, 0, 0, 0, 121, 122,
1167             123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1168             263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1169             273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1170             283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1171             293, 294, 295, 296, 297, 298, 299, 300, 0, 0,
1172             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1173             0, 0, 0, 0, 0, 0, 301, 302, 303, 0,
1174             0, 0, 0, 0, 447, 263, 264, 265, 266, 267,
1175             268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1176             278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1177             288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1178             298, 299, 300, 0, 0, 0, 0, 0, 0, 0,
1179             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1180             0, 301, 302, 303, 0, 0, 0, 0, 0, 449,
1181             263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1182             273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1183             283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1184             293, 294, 295, 296, 297, 298, 299, 300, 0, 0,
1185             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1186             0, 0, 0, 0, 0, 0, 301, 302, 303, 0,
1187             0, 0, 0, 0, 473, 263, 264, 265, 266, 267,
1188             268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1189             278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1190             288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1191             298, 299, 300, 0, 0, 0, 0, 0, 0, 0,
1192             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1193             0, 301, 302, 303, 0, 0, 0, 0, 0, 474,
1194             263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1195             273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1196             283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1197             293, 294, 295, 296, 297, 298, 299, 300, 0, 0,
1198             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1199             0, 0, 0, 0, 0, 0, 301, 302, 303, 0,
1200             0, 0, 0, 0, 481, 263, 264, 265, 266, 267,
1201             268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1202             278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1203             288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1204             298, 299, 300, 0, 0, 0, 0, 0, 0, 0,
1205             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1206             0, 301, 302, 303, 0, 0, 0, 0, 420, 263,
1207             264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1208             274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1209             284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1210             294, 295, 296, 297, 298, 299, 300, 0, 0, 0,
1211             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1212             0, 0, 0, 0, 0, 301, 302, 303, 0, 0,
1213             0, 0, 421, 263, 264, 265, 266, 267, 268, 269,
1214             270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1215             280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1216             290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1217             300, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218             0, 0, 0, 0, 0, 0, 0, 0, 0, 301,
1219             302, 303, 0, 0, 0, 0, 424, 263, 264, 265,
1220             266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1221             276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1222             286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1223             296, 297, 298, 299, 300, 0, 0, 0, 0, 0,
1224             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225             0, 0, 0, 301, 302, 303, 0, 0, 0, 0,
1226             425, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1227             272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1228             282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1229             292, 293, 294, 295, 296, 297, 298, 299, 300, 0,
1230             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1231             0, 0, 0, 0, 0, 0, 0, 301, 302, 303,
1232             0, 0, 0, 0, 499, 263, 264, 265, 266, 267,
1233             268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1234             278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1235             288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1236             298, 299, 300, 0, 0, 0, 0, 0, 0, 0,
1237             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238             0, 301, 302, 303, 0, 0, 0, 0, 537, 263,
1239             264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1240             274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1241             284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1242             294, 295, 296, 297, 298, 299, 300, 0, 0, 0,
1243             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1244             0, 0, 0, 0, 0, 301, 302, 303, 0, 0,
1245             438, 263, 264, 265, 266, 267, 268, 269, 270, 271,
1246             272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
1247             282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1248             292, 293, 294, 295, 296, 297, 298, 299, 300, 0,
1249             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250             0, 0, 0, 0, 0, 0, 0, 301, 302, 303,
1251             0, 0, 478, 263, 264, 265, 266, 267, 268, 269,
1252             270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1253             280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1254             290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1255             300, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1256             0, 0, 0, 0, 0, 0, 0, 0, 0, 301,
1257             302, 303, 0, 0, 520, 263, 264, 265, 266, 267,
1258             268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
1259             278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1260             288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1261             298, 299, 300, 0, 0, 0, 0, 0, 0, 0,
1262             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1263             0, 301, 302, 303, 0, 304, 263, 264, 265, 266,
1264             267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
1265             277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
1266             287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1267             297, 298, 299, 300, 0, 0, 0, 0, 0, 0,
1268             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1269             0, 0, 301, 302, 303, 0, 340, 263, 264, 265,
1270             266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
1271             276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1272             286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1273             296, 297, 298, 299, 300, 0, 0, 0, 0, 0,
1274             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1275             0, 0, 0, 301, 302, 303, 0, 497, 263, 264,
1276             265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1277             275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1278             285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1279             295, 296, 297, 298, 299, 300, 0, 0, 0, 0,
1280             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1281             0, 0, 0, 0, 301, 302, 303, 333, 263, 264,
1282             265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1283             275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1284             285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1285             295, 296, 297, 298, 299, 300, 0, 0, 0, 0,
1286             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287             0, 0, 0, 0, 301, 302, 303, 266, 267, 268,
1288             269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1289             279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1290             289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1291             299, 300, 0, 0, 0, 0, 0, 0, 0, 0,
1292             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293             301, 302, 303, 267, 268, 269, 270, 271, 272, 273,
1294             274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1295             284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1296             294, 295, 296, 297, 298, 299, 300, 0, 0, 0,
1297             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1298             0, 0, 0, 0, 0, 301, 302, 303, 269, 270,
1299             271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
1300             281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1301             291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
1302             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303             0, 0, 0, 0, 0, 0, 0, 0, 301, 302,
1304             303, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1305             279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1306             289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1307             299, 300, 0, 0, 0, 0, 0, 0, 0, 0,
1308             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1309             301, 302, 303, -131, -131, -131, -131, 274, 275, 276,
1310             277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
1311             287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1312             297, 298, 299, 300, 0, 0, 0, 0, 0, 0,
1313             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1314             0, 0, 301, 302, 303
1315             };
1316              
1317             static const yytype_int16 yycheck[] =
1318             {
1319             34, 1, 79, 113, 112, 113, 22, 23, 66, 111,
1320             102, 318, 319, 105, 313, 306, 10, 308, 32, 19,
1321             36, 466, 323, 8, 35, 70, 71, 104, 28, 29,
1322             30, 71, 32, 110, 71, 70, 4, 135, 6, 137,
1323             458, 9, 71, 120, 12, 13, 123, 70, 16, 471,
1324             18, 3, 71, 21, 35, 71, 72, 0, 357, 4,
1325             94, 6, 480, 5, 9, 7, 16, 12, 13, 104,
1326             35, 16, 37, 18, 70, 71, 21, 187, 188, 501,
1327             60, 104, 129, 130, 131, 51, 194, 72, 56, 70,
1328             71, 72, 132, 133, 135, 136, 133, 542, 399, 15,
1329             51, 101, 102, 35, 133, 105, 36, 398, 131, 416,
1330             37, 56, 71, 113, 133, 133, 534, 134, 135, 35,
1331             134, 132, 24, 25, 40, 41, 42, 43, 44, 45,
1332             46, 47, 48, 134, 242, 16, 129, 130, 131, 133,
1333             431, 432, 234, 132, 132, 446, 10, 15, 71, 440,
1334             451, 133, 51, 51, 101, 102, 103, 104, 105, 106,
1335             107, 108, 109, 110, 133, 35, 134, 35, 35, 133,
1336             36, 205, 72, 41, 42, 43, 44, 45, 46, 47,
1337             48, 181, 129, 130, 131, 72, 72, 187, 188, 134,
1338             282, 283, 284, 285, 286, 104, 105, 106, 107, 108,
1339             109, 110, 133, 72, 133, 133, 505, 514, 132, 113,
1340             5, 133, 322, 134, 133, 132, 131, 35, 35, 133,
1341             129, 130, 131, 41, 42, 43, 44, 45, 46, 47,
1342             48, 289, 133, 72, 234, 132, 72, 70, 70, 70,
1343             131, 131, 137, 345, 136, 303, 354, 73, 131, 58,
1344             135, 309, 132, 72, 136, 84, 85, 86, 87, 88,
1345             89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1346             99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1347             109, 110, 282, 283, 284, 285, 286, 134, 73, 399,
1348             135, 133, 113, 137, 137, 71, 71, 4, 71, 333,
1349             129, 130, 131, 72, 134, 72, 134, 72, 61, 37,
1350             133, 136, 71, 313, 406, 5, 72, 77, 134, 25,
1351             132, 136, 322, 136, 324, 136, 31, 135, 81, 134,
1352             346, 134, 409, 132, 134, 136, 72, 72, 91, 136,
1353             136, 73, 136, 136, 136, 134, 136, 4, 50, 36,
1354             103, 412, 105, 106, 107, 108, 489, 357, 345, 112,
1355             468, 114, 115, 116, 117, 118, 119, 137, 500, 122,
1356             497, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1357             490, 458, 86, 101, 137, 419, 420, 421, -1, 75,
1358             424, -1, -1, -1, -1, 487, -1, -1, -1, 399,
1359             -1, -1, -1, 480, -1, -1, 406, -1, -1, -1,
1360             -1, -1, 489, -1, -1, -1, -1, -1, -1, -1,
1361             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1362             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1363             -1, -1, -1, 196, 197, 198, -1, 200, -1, -1,
1364             203, -1, -1, -1, 488, -1, -1, 534, 492, -1,
1365             494, -1, -1, -1, -1, 499, 219, -1, -1, -1,
1366             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1367             -1, 515, -1, -1, -1, -1, -1, 487, -1, 242,
1368             490, -1, 526, 246, -1, -1, -1, 531, 532, -1,
1369             -1, -1, -1, 537, -1, 505, -1, -1, -1, 543,
1370             263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1371             273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
1372             -1, -1, -1, -1, 287, 288, -1, 290, 291, 292,
1373             293, 294, 295, 296, 297, 298, 299, 300, -1, -1,
1374             -1, -1, 305, -1, 307, -1, -1, -1, -1, -1,
1375             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1376             -1, -1, -1, -1, 4, -1, -1, -1, 8, -1,
1377             -1, -1, 335, 336, 14, -1, 16, -1, -1, 19,
1378             20, 344, -1, -1, -1, 348, -1, -1, -1, 352,
1379             -1, 354, -1, -1, -1, 35, 36, 37, 38, 39,
1380             -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1381             50, -1, -1, -1, -1, -1, -1, 57, -1, 59,
1382             -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
1383             70, 71, 72, -1, 397, -1, -1, -1, -1, -1,
1384             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1385             -1, -1, -1, -1, -1, -1, -1, -1, -1, 422,
1386             423, 101, 102, -1, -1, -1, -1, -1, -1, -1,
1387             -1, 111, 112, 113, 114, 115, -1, -1, -1, 119,
1388             120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1389             130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
1390             -1, -1, 8, -1, -1, 468, -1, -1, 14, -1,
1391             16, -1, -1, 19, 20, -1, -1, -1, -1, -1,
1392             -1, -1, -1, -1, -1, -1, -1, -1, -1, 35,
1393             36, 37, 38, 39, 497, 41, 42, 43, 44, 45,
1394             46, 47, 48, 49, 50, -1, -1, -1, -1, -1,
1395             -1, 57, -1, 59, 517, -1, -1, -1, -1, -1,
1396             -1, -1, 68, -1, 70, 71, 72, -1, -1, -1,
1397             -1, -1, -1, 536, -1, -1, -1, -1, -1, -1,
1398             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1399             -1, -1, -1, -1, -1, 101, 102, -1, -1, -1,
1400             -1, -1, -1, -1, -1, 111, 112, 113, 114, 115,
1401             -1, -1, -1, 119, 120, 121, 122, 123, 124, 125,
1402             126, 127, 128, 129, 130, -1, 8, -1, -1, -1,
1403             -1, 137, 14, -1, 16, -1, -1, 19, 20, -1,
1404             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1405             -1, -1, -1, 35, 36, 37, 38, 39, -1, 41,
1406             42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
1407             -1, -1, -1, -1, -1, 57, -1, 59, -1, -1,
1408             -1, -1, -1, -1, -1, -1, 68, -1, 70, 71,
1409             72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1410             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1411             -1, -1, -1, -1, -1, -1, -1, -1, -1, 101,
1412             102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
1413             112, 113, 114, 115, -1, -1, -1, 119, 120, 121,
1414             122, 123, 124, 125, 126, 127, 128, 129, 130, -1,
1415             8, -1, -1, -1, -1, 137, 14, 15, 16, -1,
1416             -1, 19, 20, -1, -1, -1, -1, -1, -1, -1,
1417             -1, -1, -1, -1, -1, -1, -1, 35, 36, 37,
1418             38, 39, -1, 41, 42, 43, 44, 45, 46, 47,
1419             48, 49, 50, -1, -1, -1, -1, -1, -1, 57,
1420             -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
1421             68, -1, 70, 71, 72, -1, -1, -1, -1, -1,
1422             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1423             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1424             -1, -1, -1, 101, 102, -1, -1, -1, -1, -1,
1425             -1, -1, -1, 111, 112, 113, 114, 115, -1, -1,
1426             -1, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1427             128, 129, 130, 8, -1, -1, -1, -1, 136, 14,
1428             -1, 16, -1, -1, 19, 20, -1, -1, -1, -1,
1429             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1430             35, 36, 37, 38, 39, -1, 41, 42, 43, 44,
1431             45, 46, 47, 48, 49, 50, -1, -1, -1, -1,
1432             -1, -1, 57, -1, 59, -1, -1, -1, -1, -1,
1433             -1, -1, -1, 68, -1, 70, 71, 72, -1, -1,
1434             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1435             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1436             -1, -1, -1, -1, -1, -1, 101, 102, -1, -1,
1437             -1, -1, -1, -1, -1, -1, 111, 112, 113, 114,
1438             115, -1, -1, -1, 119, 120, 121, 122, 123, 124,
1439             125, 126, 127, 128, 129, 130, 8, -1, -1, -1,
1440             -1, 136, 14, -1, 16, -1, -1, 19, 20, -1,
1441             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1442             -1, -1, -1, 35, 36, 37, 38, 39, -1, 41,
1443             42, 43, 44, 45, 46, 47, 48, 49, 50, -1,
1444             -1, -1, -1, -1, -1, 57, -1, 59, -1, -1,
1445             -1, -1, -1, -1, -1, -1, 68, -1, 70, 71,
1446             72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1447             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1448             -1, -1, -1, -1, -1, -1, -1, -1, -1, 101,
1449             102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
1450             112, 113, 114, 115, -1, -1, -1, 119, 120, 121,
1451             122, 123, 124, 125, 126, 127, 128, 129, 130, 8,
1452             -1, -1, -1, -1, 136, 14, -1, 16, 17, -1,
1453             19, 20, -1, 22, 23, -1, -1, 26, 27, 28,
1454             29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1455             39, -1, 41, 42, 43, 44, 45, 46, 47, 48,
1456             49, 50, -1, -1, -1, -1, -1, -1, 57, -1,
1457             59, -1, -1, 62, 63, 64, 65, 66, 67, 68,
1458             69, 70, 71, 72, -1, -1, -1, -1, -1, -1,
1459             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1460             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1461             -1, -1, 101, 102, -1, -1, -1, -1, -1, -1,
1462             -1, -1, 111, 112, 113, 114, 115, -1, -1, -1,
1463             119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1464             129, 130, 8, -1, 133, 134, -1, -1, 14, -1,
1465             16, 17, -1, 19, 20, -1, 22, 23, -1, -1,
1466             26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1467             36, 37, 38, 39, -1, 41, 42, 43, 44, 45,
1468             46, 47, 48, 49, 50, -1, -1, -1, -1, -1,
1469             -1, 57, -1, 59, -1, -1, 62, 63, 64, 65,
1470             66, 67, 68, 69, 70, 71, 72, -1, -1, -1,
1471             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1472             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1473             -1, -1, -1, -1, -1, 101, 102, -1, -1, -1,
1474             -1, -1, -1, -1, -1, 111, 112, 113, 114, 115,
1475             -1, -1, -1, 119, 120, 121, 122, 123, 124, 125,
1476             126, 127, 128, 129, 130, 8, -1, 133, 134, -1,
1477             -1, 14, -1, 16, 17, -1, 19, 20, -1, 22,
1478             23, -1, -1, 26, 27, 28, 29, 30, 31, 32,
1479             33, 34, 35, 36, 37, 38, 39, -1, 41, 42,
1480             43, 44, 45, 46, 47, 48, 49, 50, -1, -1,
1481             -1, -1, -1, -1, 57, -1, 59, -1, -1, 62,
1482             63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1483             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1484             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1485             -1, -1, -1, -1, -1, -1, -1, -1, 101, 102,
1486             -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
1487             113, 114, 115, -1, -1, -1, 119, 120, 121, 122,
1488             123, 124, 125, 126, 127, 128, 129, 130, 8, -1,
1489             133, 134, -1, -1, 14, -1, 16, -1, -1, 19,
1490             20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1491             -1, -1, -1, -1, -1, 35, 36, 37, 38, 39,
1492             -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1493             50, -1, -1, -1, -1, -1, -1, 57, -1, 59,
1494             -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
1495             70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
1496             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1497             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1498             -1, 101, 102, -1, -1, -1, -1, -1, -1, -1,
1499             -1, 111, 112, 113, 114, 115, -1, -1, -1, 119,
1500             120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1501             130, 8, -1, -1, 134, -1, -1, 14, -1, 16,
1502             -1, -1, 19, 20, -1, -1, -1, -1, -1, -1,
1503             -1, -1, -1, -1, -1, -1, -1, -1, 35, 36,
1504             37, 38, 39, -1, 41, 42, 43, 44, 45, 46,
1505             47, 48, 49, 50, -1, -1, -1, -1, -1, -1,
1506             57, -1, 59, -1, -1, -1, -1, -1, -1, -1,
1507             -1, 68, -1, 70, 71, 72, -1, -1, -1, -1,
1508             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1509             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1510             -1, -1, -1, -1, 101, 102, -1, -1, -1, -1,
1511             -1, -1, -1, -1, 111, 112, 113, 114, 115, -1,
1512             -1, -1, 119, 120, 121, 122, 123, 124, 125, 126,
1513             127, 128, 129, 130, 8, -1, 133, -1, -1, -1,
1514             14, -1, 16, -1, -1, 19, 20, -1, -1, -1,
1515             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1516             -1, 35, 36, 37, 38, 39, -1, 41, 42, 43,
1517             44, 45, 46, 47, 48, 49, 50, -1, -1, -1,
1518             -1, -1, -1, 57, -1, 59, -1, -1, -1, -1,
1519             -1, -1, -1, -1, 68, -1, 70, 71, 72, -1,
1520             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1521             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1522             -1, -1, -1, -1, -1, -1, -1, 101, 102, -1,
1523             -1, -1, -1, -1, -1, -1, -1, 111, 112, 113,
1524             114, 115, -1, -1, -1, 119, 120, 121, 122, 123,
1525             124, 125, 126, 127, 128, 129, 130, 8, -1, 133,
1526             -1, -1, -1, 14, -1, 16, -1, -1, 19, 20,
1527             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1528             -1, -1, -1, -1, 35, 36, 37, 38, 39, -1,
1529             41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1530             -1, -1, -1, -1, -1, -1, 57, -1, 59, -1,
1531             -1, -1, -1, -1, -1, -1, -1, 68, -1, 70,
1532             71, 72, -1, -1, -1, -1, -1, -1, -1, -1,
1533             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1534             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1535             101, 102, -1, -1, -1, -1, -1, -1, -1, -1,
1536             111, 112, 113, 114, 115, -1, -1, -1, 119, 120,
1537             121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1538             8, -1, 133, -1, -1, -1, 14, -1, 16, -1,
1539             -1, 19, 20, -1, -1, -1, -1, -1, -1, -1,
1540             -1, -1, -1, -1, -1, -1, -1, 35, 36, 37,
1541             38, 39, -1, 41, 42, 43, 44, 45, 46, 47,
1542             48, 49, 50, -1, -1, -1, -1, -1, -1, 57,
1543             -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
1544             68, -1, 70, 71, 72, -1, -1, -1, -1, -1,
1545             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1546             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1547             -1, -1, -1, 101, 102, -1, -1, -1, -1, -1,
1548             -1, -1, -1, 111, 112, 113, 114, 115, -1, -1,
1549             -1, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1550             128, 129, 130, 8, -1, 133, -1, -1, -1, 14,
1551             -1, 16, -1, -1, 19, 20, -1, -1, -1, -1,
1552             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1553             35, 36, 37, 38, 39, -1, 41, 42, 43, 44,
1554             45, 46, 47, 48, 49, 50, -1, -1, -1, -1,
1555             -1, -1, 57, -1, 59, -1, -1, -1, -1, -1,
1556             -1, -1, -1, 68, -1, 70, 71, 72, -1, -1,
1557             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1558             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1559             -1, -1, -1, -1, -1, -1, 101, 102, -1, -1,
1560             -1, -1, -1, -1, -1, -1, 111, 112, 113, 114,
1561             115, -1, -1, -1, 119, 120, 121, 122, 123, 124,
1562             125, 126, 127, 128, 129, 130, 5, -1, 133, 8,
1563             -1, -1, -1, -1, -1, 14, -1, 16, -1, -1,
1564             19, 20, -1, -1, -1, -1, -1, -1, -1, -1,
1565             -1, -1, -1, -1, -1, -1, 35, 36, 37, 38,
1566             39, -1, 41, 42, 43, 44, 45, 46, 47, 48,
1567             49, 50, -1, -1, -1, -1, -1, -1, 57, -1,
1568             59, -1, -1, -1, -1, -1, -1, -1, -1, 68,
1569             -1, 70, 71, 72, -1, -1, -1, -1, -1, -1,
1570             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1571             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1572             -1, -1, 101, 102, -1, -1, -1, -1, -1, -1,
1573             -1, -1, 111, 112, 113, 114, 115, -1, -1, -1,
1574             119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1575             129, 130, 8, -1, -1, -1, -1, -1, 14, 15,
1576             16, -1, -1, 19, 20, -1, -1, -1, -1, -1,
1577             -1, -1, -1, -1, -1, -1, -1, -1, -1, 35,
1578             36, 37, 38, 39, -1, 41, 42, 43, 44, 45,
1579             46, 47, 48, 49, 50, -1, -1, -1, -1, -1,
1580             -1, 57, -1, 59, -1, -1, -1, -1, -1, -1,
1581             -1, -1, 68, -1, 70, 71, 72, -1, -1, -1,
1582             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1583             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1584             -1, -1, -1, -1, -1, 101, 102, -1, -1, -1,
1585             -1, -1, -1, -1, -1, 111, 112, 113, 114, 115,
1586             -1, -1, -1, 119, 120, 121, 122, 123, 124, 125,
1587             126, 127, 128, 129, 130, 8, -1, -1, 11, -1,
1588             -1, 14, -1, 16, -1, -1, 19, 20, -1, -1,
1589             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1590             -1, -1, 35, 36, 37, 38, 39, -1, 41, 42,
1591             43, 44, 45, 46, 47, 48, 49, 50, -1, -1,
1592             -1, -1, -1, -1, 57, -1, 59, -1, -1, -1,
1593             -1, -1, -1, -1, -1, 68, -1, 70, 71, 72,
1594             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1595             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1596             -1, -1, -1, -1, -1, -1, -1, -1, 101, 102,
1597             -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
1598             113, 114, 115, -1, -1, -1, 119, 120, 121, 122,
1599             123, 124, 125, 126, 127, 128, 129, 130, 8, -1,
1600             -1, -1, -1, -1, 14, -1, 16, -1, -1, 19,
1601             20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1602             -1, -1, -1, -1, -1, 35, 36, 37, 38, 39,
1603             -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1604             50, -1, -1, -1, -1, -1, -1, 57, -1, 59,
1605             -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
1606             70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
1607             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1608             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1609             -1, 101, 102, -1, -1, -1, -1, -1, -1, -1,
1610             -1, 111, 112, 113, 114, 115, -1, -1, -1, 119,
1611             120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1612             130, 8, -1, -1, -1, -1, -1, 14, -1, 16,
1613             -1, -1, 19, 20, -1, -1, -1, -1, -1, -1,
1614             -1, -1, -1, -1, -1, -1, -1, -1, 35, 36,
1615             37, 38, 39, -1, 41, 42, 43, 44, 45, 46,
1616             47, 48, 49, 50, -1, -1, -1, -1, -1, -1,
1617             57, -1, 59, -1, -1, -1, -1, -1, -1, -1,
1618             -1, 68, -1, 70, 71, 72, -1, -1, -1, -1,
1619             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1620             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1621             -1, -1, -1, -1, 101, 102, -1, -1, -1, -1,
1622             -1, -1, -1, -1, 111, 112, 113, 114, 115, -1,
1623             -1, -1, 119, 120, 121, 122, 123, 124, 125, 126,
1624             127, 128, 129, 130, 8, -1, -1, -1, -1, -1,
1625             14, -1, 16, -1, -1, 19, 20, -1, -1, -1,
1626             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1627             -1, 35, 36, 37, 38, 39, -1, 41, 42, 43,
1628             44, 45, 46, 47, 48, 49, 50, -1, -1, -1,
1629             -1, -1, -1, 57, -1, 59, -1, -1, -1, -1,
1630             -1, -1, -1, -1, 68, -1, 70, 71, 72, -1,
1631             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1632             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1633             -1, -1, -1, -1, -1, -1, -1, 101, 102, -1,
1634             -1, -1, -1, -1, -1, -1, -1, 111, 112, 113,
1635             114, 115, -1, -1, -1, 119, 120, 121, 122, 123,
1636             124, 125, 126, 127, 128, 129, 130, 8, -1, -1,
1637             -1, -1, -1, 14, -1, 16, -1, -1, 19, 20,
1638             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1639             -1, -1, -1, -1, 35, 36, 37, 38, 39, -1,
1640             41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1641             -1, -1, -1, -1, -1, -1, 57, -1, 59, -1,
1642             -1, -1, -1, -1, -1, -1, -1, 68, -1, 70,
1643             71, 72, -1, -1, -1, -1, -1, -1, -1, -1,
1644             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1645             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1646             101, 102, -1, -1, -1, -1, -1, -1, -1, -1,
1647             111, 112, 113, 114, 115, -1, -1, -1, 119, 120,
1648             121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1649             73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1650             83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1651             93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1652             103, 104, 105, 106, 107, 108, 109, 110, -1, -1,
1653             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1654             -1, -1, -1, -1, -1, -1, 129, 130, 131, -1,
1655             -1, -1, -1, -1, 137, 73, 74, 75, 76, 77,
1656             78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1657             88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1658             98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1659             108, 109, 110, -1, -1, -1, -1, -1, -1, -1,
1660             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1661             -1, 129, 130, 131, -1, -1, -1, -1, -1, 137,
1662             73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1663             83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1664             93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1665             103, 104, 105, 106, 107, 108, 109, 110, -1, -1,
1666             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1667             -1, -1, -1, -1, -1, -1, 129, 130, 131, -1,
1668             -1, -1, -1, -1, 137, 73, 74, 75, 76, 77,
1669             78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1670             88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1671             98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1672             108, 109, 110, -1, -1, -1, -1, -1, -1, -1,
1673             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1674             -1, 129, 130, 131, -1, -1, -1, -1, -1, 137,
1675             73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1676             83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1677             93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1678             103, 104, 105, 106, 107, 108, 109, 110, -1, -1,
1679             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1680             -1, -1, -1, -1, -1, -1, 129, 130, 131, -1,
1681             -1, -1, -1, -1, 137, 73, 74, 75, 76, 77,
1682             78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1683             88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1684             98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1685             108, 109, 110, -1, -1, -1, -1, -1, -1, -1,
1686             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1687             -1, 129, 130, 131, -1, -1, -1, -1, 136, 73,
1688             74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1689             84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1690             94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1691             104, 105, 106, 107, 108, 109, 110, -1, -1, -1,
1692             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1693             -1, -1, -1, -1, -1, 129, 130, 131, -1, -1,
1694             -1, -1, 136, 73, 74, 75, 76, 77, 78, 79,
1695             80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1696             90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1697             100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1698             110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1699             -1, -1, -1, -1, -1, -1, -1, -1, -1, 129,
1700             130, 131, -1, -1, -1, -1, 136, 73, 74, 75,
1701             76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1702             86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1703             96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1704             106, 107, 108, 109, 110, -1, -1, -1, -1, -1,
1705             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1706             -1, -1, -1, 129, 130, 131, -1, -1, -1, -1,
1707             136, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1708             82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1709             92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1710             102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
1711             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1712             -1, -1, -1, -1, -1, -1, -1, 129, 130, 131,
1713             -1, -1, -1, -1, 136, 73, 74, 75, 76, 77,
1714             78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1715             88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1716             98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1717             108, 109, 110, -1, -1, -1, -1, -1, -1, -1,
1718             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1719             -1, 129, 130, 131, -1, -1, -1, -1, 136, 73,
1720             74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1721             84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1722             94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1723             104, 105, 106, 107, 108, 109, 110, -1, -1, -1,
1724             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1725             -1, -1, -1, -1, -1, 129, 130, 131, -1, -1,
1726             134, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1727             82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1728             92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1729             102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
1730             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1731             -1, -1, -1, -1, -1, -1, -1, 129, 130, 131,
1732             -1, -1, 134, 73, 74, 75, 76, 77, 78, 79,
1733             80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1734             90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1735             100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1736             110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1737             -1, -1, -1, -1, -1, -1, -1, -1, -1, 129,
1738             130, 131, -1, -1, 134, 73, 74, 75, 76, 77,
1739             78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1740             88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1741             98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1742             108, 109, 110, -1, -1, -1, -1, -1, -1, -1,
1743             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1744             -1, 129, 130, 131, -1, 133, 73, 74, 75, 76,
1745             77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1746             87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1747             97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1748             107, 108, 109, 110, -1, -1, -1, -1, -1, -1,
1749             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1750             -1, -1, 129, 130, 131, -1, 133, 73, 74, 75,
1751             76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1752             86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1753             96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1754             106, 107, 108, 109, 110, -1, -1, -1, -1, -1,
1755             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1756             -1, -1, -1, 129, 130, 131, -1, 133, 73, 74,
1757             75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1758             85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1759             95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1760             105, 106, 107, 108, 109, 110, -1, -1, -1, -1,
1761             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1762             -1, -1, -1, -1, 129, 130, 131, 132, 73, 74,
1763             75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1764             85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1765             95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1766             105, 106, 107, 108, 109, 110, -1, -1, -1, -1,
1767             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1768             -1, -1, -1, -1, 129, 130, 131, 76, 77, 78,
1769             79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1770             89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1771             99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1772             109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
1773             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1774             129, 130, 131, 77, 78, 79, 80, 81, 82, 83,
1775             84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1776             94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1777             104, 105, 106, 107, 108, 109, 110, -1, -1, -1,
1778             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1779             -1, -1, -1, -1, -1, 129, 130, 131, 79, 80,
1780             81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1781             91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1782             101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1783             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1784             -1, -1, -1, -1, -1, -1, -1, -1, 129, 130,
1785             131, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1786             89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1787             99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1788             109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
1789             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1790             129, 130, 131, 80, 81, 82, 83, 84, 85, 86,
1791             87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1792             97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1793             107, 108, 109, 110, -1, -1, -1, -1, -1, -1,
1794             -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1795             -1, -1, 129, 130, 131
1796             };
1797              
1798             /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1799             symbol of state STATE-NUM. */
1800             static const yytype_uint8 yystos[] =
1801             {
1802             0, 3, 139, 140, 141, 142, 35, 41, 42, 43,
1803             44, 45, 46, 47, 48, 223, 224, 0, 142, 60,
1804             143, 224, 71, 132, 133, 144, 4, 6, 9, 12,
1805             13, 16, 18, 21, 56, 145, 146, 147, 148, 149,
1806             150, 152, 153, 154, 155, 160, 161, 162, 169, 170,
1807             169, 51, 51, 35, 232, 36, 224, 224, 224, 224,
1808             37, 71, 189, 134, 147, 133, 5, 7, 16, 133,
1809             144, 132, 132, 10, 133, 10, 133, 133, 133, 8,
1810             14, 17, 19, 20, 22, 23, 26, 27, 28, 29,
1811             30, 31, 32, 33, 34, 36, 37, 38, 39, 49,
1812             50, 57, 59, 62, 63, 64, 65, 66, 67, 68,
1813             69, 70, 71, 72, 101, 102, 111, 112, 113, 114,
1814             115, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1815             128, 129, 130, 133, 163, 169, 171, 172, 173, 174,
1816             175, 176, 177, 178, 179, 180, 184, 185, 186, 187,
1817             189, 190, 193, 195, 196, 197, 198, 199, 200, 201,
1818             202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1819             212, 213, 214, 215, 216, 217, 218, 219, 220, 224,
1820             35, 132, 233, 71, 156, 51, 51, 169, 169, 35,
1821             234, 234, 220, 35, 71, 193, 72, 72, 72, 219,
1822             72, 133, 133, 72, 193, 132, 133, 189, 224, 226,
1823             227, 222, 224, 225, 226, 133, 193, 220, 193, 222,
1824             224, 193, 193, 193, 220, 161, 167, 168, 191, 193,
1825             194, 134, 193, 194, 15, 194, 221, 222, 193, 193,
1826             193, 193, 71, 193, 193, 220, 113, 193, 220, 193,
1827             193, 193, 193, 193, 193, 193, 193, 193, 5, 134,
1828             173, 133, 133, 73, 74, 75, 76, 77, 78, 79,
1829             80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1830             90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1831             100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1832             110, 129, 130, 131, 133, 70, 71, 70, 71, 131,
1833             40, 221, 228, 132, 157, 158, 159, 233, 221, 221,
1834             133, 133, 132, 72, 11, 151, 193, 193, 192, 193,
1835             72, 193, 193, 132, 189, 70, 70, 70, 104, 70,
1836             133, 131, 193, 131, 73, 135, 137, 137, 135, 134,
1837             222, 136, 136, 193, 71, 193, 131, 132, 193, 193,
1838             193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
1839             193, 193, 193, 193, 193, 193, 193, 222, 222, 222,
1840             222, 222, 193, 193, 37, 233, 193, 193, 193, 193,
1841             193, 193, 193, 193, 193, 193, 193, 70, 71, 72,
1842             233, 193, 232, 193, 232, 233, 58, 229, 230, 72,
1843             228, 134, 135, 73, 229, 229, 221, 191, 224, 136,
1844             136, 136, 133, 113, 136, 136, 189, 137, 193, 137,
1845             193, 71, 71, 193, 168, 169, 193, 193, 134, 193,
1846             71, 228, 193, 232, 191, 221, 72, 137, 134, 137,
1847             134, 72, 222, 231, 164, 165, 166, 220, 72, 159,
1848             37, 133, 229, 136, 189, 189, 189, 193, 71, 193,
1849             189, 71, 181, 137, 137, 232, 232, 5, 134, 232,
1850             72, 137, 134, 136, 136, 191, 191, 77, 136, 135,
1851             132, 164, 25, 24, 25, 188, 188, 133, 193, 136,
1852             182, 183, 184, 134, 134, 132, 134, 164, 136, 136,
1853             222, 133, 189, 166, 221, 136, 189, 72, 189, 192,
1854             134, 189, 134, 185, 184, 228, 136, 229, 133, 189,
1855             193, 136, 136, 134, 72, 189, 73, 136, 189, 189,
1856             164, 193, 189, 136, 188, 189
1857             };
1858              
1859             /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1860             static const yytype_uint8 yyr1[] =
1861             {
1862             0, 138, 139, 140, 140, 141, 141, 142, 142, 142,
1863             142, 143, 143, 144, 145, 145, 146, 146, 147, 147,
1864             147, 147, 147, 147, 147, 147, 147, 147, 148, 149,
1865             150, 150, 151, 152, 153, 154, 155, 156, 157, 157,
1866             158, 158, 158, 159, 159, 160, 161, 162, 162, 162,
1867             162, 163, 163, 164, 164, 165, 165, 165, 166, 166,
1868             167, 167, 167, 168, 168, 169, 169, 170, 170, 171,
1869             171, 172, 172, 173, 173, 173, 173, 173, 173, 173,
1870             173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
1871             173, 173, 174, 174, 174, 174, 175, 175, 175, 175,
1872             175, 175, 176, 176, 177, 178, 178, 179, 180, 181,
1873             181, 182, 182, 183, 183, 184, 184, 185, 185, 186,
1874             186, 187, 187, 188, 188, 188, 189, 190, 191, 191,
1875             192, 192, 193, 193, 193, 193, 193, 193, 193, 193,
1876             193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
1877             193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
1878             193, 193, 193, 193, 193, 193, 194, 194, 194, 195,
1879             195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
1880             195, 196, 197, 197, 198, 198, 199, 199, 199, 199,
1881             199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
1882             200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
1883             200, 200, 200, 200, 201, 202, 203, 204, 205, 206,
1884             206, 206, 207, 207, 208, 208, 208, 209, 209, 209,
1885             210, 210, 211, 211, 211, 211, 211, 211, 211, 212,
1886             212, 212, 213, 213, 213, 214, 215, 216, 217, 217,
1887             218, 218, 218, 218, 219, 219, 220, 221, 221, 222,
1888             222, 222, 223, 224, 224, 224, 224, 224, 224, 224,
1889             224, 224, 225, 226, 226, 227, 227, 228, 228, 229,
1890             229, 230, 231, 231, 232, 233, 234
1891             };
1892              
1893             /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1894             static const yytype_uint8 yyr2[] =
1895             {
1896             0, 2, 1, 0, 1, 2, 1, 5, 7, 5,
1897             7, 0, 2, 3, 0, 1, 2, 1, 1, 1,
1898             1, 1, 1, 1, 1, 1, 2, 1, 2, 3,
1899             3, 5, 2, 5, 3, 3, 3, 3, 0, 1,
1900             3, 2, 1, 1, 3, 7, 6, 9, 9, 8,
1901             8, 8, 11, 0, 1, 3, 2, 1, 4, 6,
1902             3, 2, 1, 3, 1, 0, 1, 2, 1, 0,
1903             1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1904             1, 1, 1, 2, 2, 2, 2, 3, 2, 2,
1905             1, 2, 2, 1, 3, 2, 1, 2, 2, 1,
1906             1, 2, 2, 1, 9, 7, 9, 5, 5, 3,
1907             4, 0, 1, 2, 1, 4, 3, 3, 2, 5,
1908             7, 6, 6, 0, 2, 6, 3, 2, 0, 1,
1909             0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1910             1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1911             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1912             1, 1, 1, 2, 1, 1, 3, 2, 1, 2,
1913             2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1914             2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
1915             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1916             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1917             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1918             3, 2, 3, 3, 2, 2, 1, 3, 3, 2,
1919             4, 5, 5, 2, 6, 3, 6, 3, 5, 5,
1920             4, 4, 5, 4, 4, 6, 6, 6, 3, 3,
1921             2, 4, 3, 5, 5, 2, 1, 1, 2, 1,
1922             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1923             1, 1, 2, 3, 3, 4, 4, 2, 1, 0,
1924             1, 2, 3, 1, 1, 1, 1
1925             };
1926              
1927              
1928             #define yyerrok (yyerrstatus = 0)
1929             #define yyclearin (yychar = YYEMPTY)
1930             #define YYEMPTY (-2)
1931             #define YYEOF 0
1932              
1933             #define YYACCEPT goto yyacceptlab
1934             #define YYABORT goto yyabortlab
1935             #define YYERROR goto yyerrorlab
1936              
1937              
1938             #define YYRECOVERING() (!!yyerrstatus)
1939              
1940             #define YYBACKUP(Token, Value) \
1941             do \
1942             if (yychar == YYEMPTY) \
1943             { \
1944             yychar = (Token); \
1945             yylval = (Value); \
1946             YYPOPSTACK (yylen); \
1947             yystate = *yyssp; \
1948             goto yybackup; \
1949             } \
1950             else \
1951             { \
1952             yyerror (compiler, YY_("syntax error: cannot back up")); \
1953             YYERROR; \
1954             } \
1955             while (0)
1956              
1957             /* Error token number */
1958             #define YYTERROR 1
1959             #define YYERRCODE 256
1960              
1961              
1962              
1963             /* Enable debugging if requested. */
1964             #if YYDEBUG
1965              
1966             # ifndef YYFPRINTF
1967             # include /* INFRINGES ON USER NAME SPACE */
1968             # define YYFPRINTF fprintf
1969             # endif
1970              
1971             # define YYDPRINTF(Args) \
1972             do { \
1973             if (yydebug) \
1974             YYFPRINTF Args; \
1975             } while (0)
1976              
1977             /* This macro is provided for backward compatibility. */
1978             #ifndef YY_LOCATION_PRINT
1979             # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1980             #endif
1981              
1982              
1983             # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1984             do { \
1985             if (yydebug) \
1986             { \
1987             YYFPRINTF (stderr, "%s ", Title); \
1988             yy_symbol_print (stderr, \
1989             Type, Value, compiler); \
1990             YYFPRINTF (stderr, "\n"); \
1991             } \
1992             } while (0)
1993              
1994              
1995             /*----------------------------------------.
1996             | Print this symbol's value on YYOUTPUT. |
1997             `----------------------------------------*/
1998              
1999             static void
2000 0           yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, SPVM_COMPILER* compiler)
2001             {
2002 0           FILE *yyo = yyoutput;
2003             YYUSE (yyo);
2004             YYUSE (compiler);
2005 0 0         if (!yyvaluep)
2006 0           return;
2007             # ifdef YYPRINT
2008 0 0         if (yytype < YYNTOKENS)
2009 0           YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2010             # endif
2011             YYUSE (yytype);
2012             }
2013              
2014              
2015             /*--------------------------------.
2016             | Print this symbol on YYOUTPUT. |
2017             `--------------------------------*/
2018              
2019             static void
2020 0           yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, SPVM_COMPILER* compiler)
2021             {
2022 0 0         YYFPRINTF (yyoutput, "%s %s (",
2023             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2024              
2025 0           yy_symbol_value_print (yyoutput, yytype, yyvaluep, compiler);
2026 0           YYFPRINTF (yyoutput, ")");
2027 0           }
2028              
2029             /*------------------------------------------------------------------.
2030             | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2031             | TOP (included). |
2032             `------------------------------------------------------------------*/
2033              
2034             static void
2035 0           yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2036             {
2037 0           YYFPRINTF (stderr, "Stack now");
2038 0 0         for (; yybottom <= yytop; yybottom++)
2039             {
2040 0           int yybot = *yybottom;
2041 0           YYFPRINTF (stderr, " %d", yybot);
2042             }
2043 0           YYFPRINTF (stderr, "\n");
2044 0           }
2045              
2046             # define YY_STACK_PRINT(Bottom, Top) \
2047             do { \
2048             if (yydebug) \
2049             yy_stack_print ((Bottom), (Top)); \
2050             } while (0)
2051              
2052              
2053             /*------------------------------------------------.
2054             | Report that the YYRULE is going to be reduced. |
2055             `------------------------------------------------*/
2056              
2057             static void
2058 0           yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, SPVM_COMPILER* compiler)
2059             {
2060 0           unsigned long int yylno = yyrline[yyrule];
2061 0           int yynrhs = yyr2[yyrule];
2062             int yyi;
2063 0           YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2064             yyrule - 1, yylno);
2065             /* The symbols being reduced. */
2066 0 0         for (yyi = 0; yyi < yynrhs; yyi++)
2067             {
2068 0           YYFPRINTF (stderr, " $%d = ", yyi + 1);
2069 0           yy_symbol_print (stderr,
2070 0           yystos[yyssp[yyi + 1 - yynrhs]],
2071 0           &(yyvsp[(yyi + 1) - (yynrhs)])
2072             , compiler);
2073 0           YYFPRINTF (stderr, "\n");
2074             }
2075 0           }
2076              
2077             # define YY_REDUCE_PRINT(Rule) \
2078             do { \
2079             if (yydebug) \
2080             yy_reduce_print (yyssp, yyvsp, Rule, compiler); \
2081             } while (0)
2082              
2083             /* Nonzero means print parse trace. It is left uninitialized so that
2084             multiple parsers can coexist. */
2085             int yydebug;
2086             #else /* !YYDEBUG */
2087             # define YYDPRINTF(Args)
2088             # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2089             # define YY_STACK_PRINT(Bottom, Top)
2090             # define YY_REDUCE_PRINT(Rule)
2091             #endif /* !YYDEBUG */
2092              
2093              
2094             /* YYINITDEPTH -- initial size of the parser's stacks. */
2095             #ifndef YYINITDEPTH
2096             # define YYINITDEPTH 200
2097             #endif
2098              
2099             /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2100             if the built-in stack extension method is used).
2101              
2102             Do not make this value too large; the results are undefined if
2103             YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2104             evaluated with infinite-precision integer arithmetic. */
2105              
2106             #ifndef YYMAXDEPTH
2107             # define YYMAXDEPTH 10000
2108             #endif
2109              
2110              
2111             #if YYERROR_VERBOSE
2112              
2113             # ifndef yystrlen
2114             # if defined __GLIBC__ && defined _STRING_H
2115             # define yystrlen strlen
2116             # else
2117             /* Return the length of YYSTR. */
2118             static YYSIZE_T
2119             yystrlen (const char *yystr)
2120             {
2121             YYSIZE_T yylen;
2122             for (yylen = 0; yystr[yylen]; yylen++)
2123             continue;
2124             return yylen;
2125             }
2126             # endif
2127             # endif
2128              
2129             # ifndef yystpcpy
2130             # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2131             # define yystpcpy stpcpy
2132             # else
2133             /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2134             YYDEST. */
2135             static char *
2136             yystpcpy (char *yydest, const char *yysrc)
2137             {
2138             char *yyd = yydest;
2139             const char *yys = yysrc;
2140              
2141             while ((*yyd++ = *yys++) != '\0')
2142             continue;
2143              
2144             return yyd - 1;
2145             }
2146             # endif
2147             # endif
2148              
2149             # ifndef yytnamerr
2150             /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2151             quotes and backslashes, so that it's suitable for yyerror. The
2152             heuristic is that double-quoting is unnecessary unless the string
2153             contains an apostrophe, a comma, or backslash (other than
2154             backslash-backslash). YYSTR is taken from yytname. If YYRES is
2155             null, do not copy; instead, return the length of what the result
2156             would have been. */
2157             static YYSIZE_T
2158             yytnamerr (char *yyres, const char *yystr)
2159             {
2160             if (*yystr == '"')
2161             {
2162             YYSIZE_T yyn = 0;
2163             char const *yyp = yystr;
2164              
2165             for (;;)
2166             switch (*++yyp)
2167             {
2168             case '\'':
2169             case ',':
2170             goto do_not_strip_quotes;
2171              
2172             case '\\':
2173             if (*++yyp != '\\')
2174             goto do_not_strip_quotes;
2175             /* Fall through. */
2176             default:
2177             if (yyres)
2178             yyres[yyn] = *yyp;
2179             yyn++;
2180             break;
2181              
2182             case '"':
2183             if (yyres)
2184             yyres[yyn] = '\0';
2185             return yyn;
2186             }
2187             do_not_strip_quotes: ;
2188             }
2189              
2190             if (! yyres)
2191             return yystrlen (yystr);
2192              
2193             return yystpcpy (yyres, yystr) - yyres;
2194             }
2195             # endif
2196              
2197             /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2198             about the unexpected token YYTOKEN for the state stack whose top is
2199             YYSSP.
2200              
2201             Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
2202             not large enough to hold the message. In that case, also set
2203             *YYMSG_ALLOC to the required number of bytes. Return 2 if the
2204             required number of bytes is too large to store. */
2205             static int
2206             yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2207             yytype_int16 *yyssp, int yytoken)
2208             {
2209             YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2210             YYSIZE_T yysize = yysize0;
2211             enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2212             /* Internationalized format string. */
2213             const char *yyformat = YY_NULLPTR;
2214             /* Arguments of yyformat. */
2215             char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2216             /* Number of reported tokens (one for the "unexpected", one per
2217             "expected"). */
2218             int yycount = 0;
2219              
2220             /* There are many possibilities here to consider:
2221             - If this state is a consistent state with a default action, then
2222             the only way this function was invoked is if the default action
2223             is an error action. In that case, don't check for expected
2224             tokens because there are none.
2225             - The only way there can be no lookahead present (in yychar) is if
2226             this state is a consistent state with a default action. Thus,
2227             detecting the absence of a lookahead is sufficient to determine
2228             that there is no unexpected or expected token to report. In that
2229             case, just report a simple "syntax error".
2230             - Don't assume there isn't a lookahead just because this state is a
2231             consistent state with a default action. There might have been a
2232             previous inconsistent state, consistent state with a non-default
2233             action, or user semantic action that manipulated yychar.
2234             - Of course, the expected token list depends on states to have
2235             correct lookahead information, and it depends on the parser not
2236             to perform extra reductions after fetching a lookahead from the
2237             scanner and before detecting a syntax error. Thus, state merging
2238             (from LALR or IELR) and default reductions corrupt the expected
2239             token list. However, the list is correct for canonical LR with
2240             one exception: it will still contain any token that will not be
2241             accepted due to an error action in a later state.
2242             */
2243             if (yytoken != YYEMPTY)
2244             {
2245             int yyn = yypact[*yyssp];
2246             yyarg[yycount++] = yytname[yytoken];
2247             if (!yypact_value_is_default (yyn))
2248             {
2249             /* Start YYX at -YYN if negative to avoid negative indexes in
2250             YYCHECK. In other words, skip the first -YYN actions for
2251             this state because they are default actions. */
2252             int yyxbegin = yyn < 0 ? -yyn : 0;
2253             /* Stay within bounds of both yycheck and yytname. */
2254             int yychecklim = YYLAST - yyn + 1;
2255             int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2256             int yyx;
2257              
2258             for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2259             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2260             && !yytable_value_is_error (yytable[yyx + yyn]))
2261             {
2262             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2263             {
2264             yycount = 1;
2265             yysize = yysize0;
2266             break;
2267             }
2268             yyarg[yycount++] = yytname[yyx];
2269             {
2270             YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2271             if (! (yysize <= yysize1
2272             && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2273             return 2;
2274             yysize = yysize1;
2275             }
2276             }
2277             }
2278             }
2279              
2280             switch (yycount)
2281             {
2282             # define YYCASE_(N, S) \
2283             case N: \
2284             yyformat = S; \
2285             break
2286             YYCASE_(0, YY_("syntax error"));
2287             YYCASE_(1, YY_("syntax error, unexpected %s"));
2288             YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2289             YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2290             YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2291             YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2292             # undef YYCASE_
2293             }
2294              
2295             {
2296             YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
2297             if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2298             return 2;
2299             yysize = yysize1;
2300             }
2301              
2302             if (*yymsg_alloc < yysize)
2303             {
2304             *yymsg_alloc = 2 * yysize;
2305             if (! (yysize <= *yymsg_alloc
2306             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2307             *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2308             return 1;
2309             }
2310              
2311             /* Avoid sprintf, as that infringes on the user's name space.
2312             Don't have undefined behavior even if the translation
2313             produced a string with the wrong number of "%s"s. */
2314             {
2315             char *yyp = *yymsg;
2316             int yyi = 0;
2317             while ((*yyp = *yyformat) != '\0')
2318             if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2319             {
2320             yyp += yytnamerr (yyp, yyarg[yyi++]);
2321             yyformat += 2;
2322             }
2323             else
2324             {
2325             yyp++;
2326             yyformat++;
2327             }
2328             }
2329             return 0;
2330             }
2331             #endif /* YYERROR_VERBOSE */
2332              
2333             /*-----------------------------------------------.
2334             | Release the memory associated to this symbol. |
2335             `-----------------------------------------------*/
2336              
2337             static void
2338 7971           yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, SPVM_COMPILER* compiler)
2339             {
2340             YYUSE (yyvaluep);
2341             YYUSE (compiler);
2342 7971 50         if (!yymsg)
2343 0           yymsg = "Deleting";
2344 7971 50         YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2345              
2346             YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2347             YYUSE (yytype);
2348             YY_IGNORE_MAYBE_UNINITIALIZED_END
2349 7971           }
2350              
2351              
2352              
2353              
2354             /*----------.
2355             | yyparse. |
2356             `----------*/
2357              
2358             int
2359 3592           yyparse (SPVM_COMPILER* compiler)
2360             {
2361             /* The lookahead symbol. */
2362             int yychar;
2363              
2364              
2365             /* The semantic value of the lookahead symbol. */
2366             /* Default value used for initialization, for pacifying older GCCs
2367             or non-GCC compilers. */
2368             YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
2369             YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
2370              
2371             /* Number of syntax errors so far. */
2372             int yynerrs;
2373              
2374             int yystate;
2375             /* Number of tokens to shift before error messages enabled. */
2376             int yyerrstatus;
2377              
2378             /* The stacks and their tools:
2379             'yyss': related to states.
2380             'yyvs': related to semantic values.
2381              
2382             Refer to the stacks through separate pointers, to allow yyoverflow
2383             to reallocate them elsewhere. */
2384              
2385             /* The state stack. */
2386             yytype_int16 yyssa[YYINITDEPTH];
2387             yytype_int16 *yyss;
2388             yytype_int16 *yyssp;
2389              
2390             /* The semantic value stack. */
2391             YYSTYPE yyvsa[YYINITDEPTH];
2392             YYSTYPE *yyvs;
2393             YYSTYPE *yyvsp;
2394              
2395             YYSIZE_T yystacksize;
2396              
2397             int yyn;
2398             int yyresult;
2399             /* Lookahead token as an internal (translated) token number. */
2400 3592           int yytoken = 0;
2401             /* The variables used to return semantic value and location from the
2402             action routines. */
2403             YYSTYPE yyval;
2404              
2405             #if YYERROR_VERBOSE
2406             /* Buffer for error messages, and its allocated size. */
2407             char yymsgbuf[128];
2408             char *yymsg = yymsgbuf;
2409             YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2410             #endif
2411              
2412             #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2413              
2414             /* The number of symbols on the RHS of the reduced rule.
2415             Keep to zero when no symbol should be popped. */
2416 3592           int yylen = 0;
2417              
2418 3592           yyssp = yyss = yyssa;
2419 3592           yyvsp = yyvs = yyvsa;
2420 3592           yystacksize = YYINITDEPTH;
2421              
2422 3592 50         YYDPRINTF ((stderr, "Starting parse\n"));
2423              
2424 3592           yystate = 0;
2425 3592           yyerrstatus = 0;
2426 3592           yynerrs = 0;
2427 3592           yychar = YYEMPTY; /* Cause a token to be read. */
2428 3592           goto yysetstate;
2429              
2430             /*------------------------------------------------------------.
2431             | yynewstate -- Push a new state, which is found in yystate. |
2432             `------------------------------------------------------------*/
2433             yynewstate:
2434             /* In all cases, when you get here, the value and location stacks
2435             have just been pushed. So pushing a state here evens the stacks. */
2436 38362201           yyssp++;
2437              
2438             yysetstate:
2439 38365793           *yyssp = yystate;
2440              
2441 38365793 50         if (yyss + yystacksize - 1 <= yyssp)
2442             {
2443             /* Get the current used size of the three stacks, in elements. */
2444 0           YYSIZE_T yysize = yyssp - yyss + 1;
2445              
2446             #ifdef yyoverflow
2447             {
2448             /* Give user a chance to reallocate the stack. Use copies of
2449             these so that the &'s don't force the real ones into
2450             memory. */
2451             YYSTYPE *yyvs1 = yyvs;
2452             yytype_int16 *yyss1 = yyss;
2453              
2454             /* Each stack pointer address is followed by the size of the
2455             data in use in that stack, in bytes. This used to be a
2456             conditional around just the two extra args, but that might
2457             be undefined if yyoverflow is a macro. */
2458             yyoverflow (YY_("memory exhausted"),
2459             &yyss1, yysize * sizeof (*yyssp),
2460             &yyvs1, yysize * sizeof (*yyvsp),
2461             &yystacksize);
2462              
2463             yyss = yyss1;
2464             yyvs = yyvs1;
2465             }
2466             #else /* no yyoverflow */
2467             # ifndef YYSTACK_RELOCATE
2468             goto yyexhaustedlab;
2469             # else
2470             /* Extend the stack our own way. */
2471 0 0         if (YYMAXDEPTH <= yystacksize)
2472 0           goto yyexhaustedlab;
2473 0           yystacksize *= 2;
2474 0 0         if (YYMAXDEPTH < yystacksize)
2475 0           yystacksize = YYMAXDEPTH;
2476              
2477             {
2478 0           yytype_int16 *yyss1 = yyss;
2479 0           union yyalloc *yyptr =
2480 0           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2481 0 0         if (! yyptr)
2482 0           goto yyexhaustedlab;
2483 0           YYSTACK_RELOCATE (yyss_alloc, yyss);
2484 0           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2485             # undef YYSTACK_RELOCATE
2486 0 0         if (yyss1 != yyssa)
2487 0           YYSTACK_FREE (yyss1);
2488             }
2489             # endif
2490             #endif /* no yyoverflow */
2491              
2492 0           yyssp = yyss + yysize - 1;
2493 0           yyvsp = yyvs + yysize - 1;
2494              
2495 0 0         YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2496             (unsigned long int) yystacksize));
2497              
2498 0 0         if (yyss + yystacksize - 1 <= yyssp)
2499 0           YYABORT;
2500             }
2501              
2502 38365793 50         YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2503              
2504 38365793 100         if (yystate == YYFINAL)
2505 3529           YYACCEPT;
2506              
2507 38362264           goto yybackup;
2508              
2509             /*-----------.
2510             | yybackup. |
2511             `-----------*/
2512             yybackup:
2513              
2514             /* Do appropriate processing given the current state. Read a
2515             lookahead token if we need one and don't already have one. */
2516              
2517             /* First try to decide what to do without reference to lookahead token. */
2518 38362264           yyn = yypact[yystate];
2519 38362264 100         if (yypact_value_is_default (yyn))
2520 16610971           goto yydefault;
2521              
2522             /* Not known => get a lookahead token if don't already have one. */
2523              
2524             /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
2525 21751293 100         if (yychar == YYEMPTY)
2526             {
2527 15607212 50         YYDPRINTF ((stderr, "Reading a token: "));
2528 15607212           yychar = yylex (&yylval, compiler);
2529             }
2530              
2531 21751293 100         if (yychar <= YYEOF)
2532             {
2533 7074           yychar = yytoken = YYEOF;
2534 7074 50         YYDPRINTF ((stderr, "Now at end of input.\n"));
2535             }
2536             else
2537             {
2538 21744219 50         yytoken = YYTRANSLATE (yychar);
2539 21744219 50         YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2540             }
2541              
2542             /* If the proper action on seeing token YYTOKEN is to reduce or to
2543             detect an error, take that action. */
2544 21751293           yyn += yytoken;
2545 21751293 50         if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
    100          
    100          
2546             goto yydefault;
2547 16274492           yyn = yytable[yyn];
2548 16274492 100         if (yyn <= 0)
2549             {
2550 667343 50         if (yytable_value_is_error (yyn))
2551 0           goto yyerrlab;
2552 667343           yyn = -yyn;
2553 667343           goto yyreduce;
2554             }
2555              
2556             /* Count tokens shifted since error; after three, turn off error
2557             status. */
2558 15607149 50         if (yyerrstatus)
2559 0           yyerrstatus--;
2560              
2561             /* Shift the lookahead token. */
2562 15607149 50         YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2563              
2564             /* Discard the shifted token. */
2565 15607149           yychar = YYEMPTY;
2566              
2567 15607149           yystate = yyn;
2568             YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2569 15607149           *++yyvsp = yylval;
2570             YY_IGNORE_MAYBE_UNINITIALIZED_END
2571              
2572 15607149           goto yynewstate;
2573              
2574              
2575             /*-----------------------------------------------------------.
2576             | yydefault -- do the default action for the current state. |
2577             `-----------------------------------------------------------*/
2578             yydefault:
2579 22087772           yyn = yydefact[yystate];
2580 22087772 100         if (yyn == 0)
2581 63           goto yyerrlab;
2582 22087709           goto yyreduce;
2583              
2584              
2585             /*-----------------------------.
2586             | yyreduce -- Do a reduction. |
2587             `-----------------------------*/
2588             yyreduce:
2589             /* yyn is the number of a rule to reduce with. */
2590 22755052           yylen = yyr2[yyn];
2591              
2592             /* If YYLEN is nonzero, implement the default value of the action:
2593             '$$ = $1'.
2594              
2595             Otherwise, the following line sets YYVAL to garbage.
2596             This behavior is undocumented and Bison
2597             users should not rely upon it. Assigning to YYVAL
2598             unconditionally makes the parser a bit smaller, and it avoids a
2599             GCC warning that YYVAL may be used uninitialized. */
2600 22755052           yyval = yyvsp[1-yylen];
2601              
2602              
2603 22755052 50         YY_REDUCE_PRINT (yyn);
2604 22755052           switch (yyn)
2605             {
2606             case 3:
2607             #line 74 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2608             {
2609             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
2610             }
2611             #line 2612 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2612 1715           break;
2613              
2614             case 4:
2615             #line 78 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2616             {
2617             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
2618             (yyval.opval) = (yyvsp[0].opval);
2619             }
2620             else {
2621             SPVM_OP* op_list = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
2622             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
2623             (yyval.opval) = op_list;
2624             }
2625             }
2626             #line 2627 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2627 1814           break;
2628              
2629             case 5:
2630             #line 91 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2631             {
2632             SPVM_OP* op_list;
2633             if ((yyvsp[-1].opval)->id == SPVM_OP_C_ID_LIST) {
2634             op_list = (yyvsp[-1].opval);
2635             }
2636             else {
2637             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
2638             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-1].opval));
2639             }
2640             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
2641            
2642             (yyval.opval) = op_list;
2643             }
2644             #line 2645 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2645 32516           break;
2646              
2647             case 7:
2648             #line 108 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2649             {
2650             (yyval.opval) = SPVM_OP_build_class(compiler, (yyvsp[-4].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), NULL, (yyvsp[-2].opval));
2651             }
2652             #line 2653 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2653 20430           break;
2654              
2655             case 8:
2656             #line 112 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2657             {
2658             (yyval.opval) = SPVM_OP_build_class(compiler, (yyvsp[-6].opval), (yyvsp[-5].opval), (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[-4].opval));
2659             }
2660             #line 2661 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2661 9458           break;
2662              
2663             case 9:
2664             #line 116 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2665             {
2666             (yyval.opval) = SPVM_OP_build_class(compiler, (yyvsp[-4].opval), (yyvsp[-3].opval), NULL, NULL, (yyvsp[-2].opval));
2667             }
2668             #line 2669 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2669 4446           break;
2670              
2671             case 10:
2672             #line 120 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2673             {
2674             (yyval.opval) = SPVM_OP_build_class(compiler, (yyvsp[-6].opval), (yyvsp[-5].opval), NULL, (yyvsp[-2].opval), (yyvsp[-4].opval));
2675             }
2676             #line 2677 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2677 59           break;
2678              
2679             case 11:
2680             #line 126 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2681             {
2682             (yyval.opval) = NULL;
2683             }
2684             #line 2685 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2685 31363           break;
2686              
2687             case 12:
2688             #line 130 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2689             {
2690             (yyval.opval) = SPVM_OP_build_extends(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
2691             }
2692             #line 2693 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2693 3093           break;
2694              
2695             case 13:
2696             #line 136 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2697             {
2698             SPVM_OP* op_class_block = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_CLASS_BLOCK, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
2699             SPVM_OP_insert_child(compiler, op_class_block, op_class_block->last, (yyvsp[-1].opval));
2700             (yyval.opval) = op_class_block;
2701             }
2702             #line 2703 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2703 29890           break;
2704              
2705             case 14:
2706             #line 144 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2707             {
2708             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
2709             }
2710             #line 2711 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2711 33           break;
2712              
2713             case 15:
2714             #line 148 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2715             {
2716             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
2717             (yyval.opval) = (yyvsp[0].opval);
2718             }
2719             else {
2720             (yyval.opval) = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
2721             SPVM_OP_insert_child(compiler, (yyval.opval), (yyval.opval)->last, (yyvsp[0].opval));
2722             }
2723             }
2724             #line 2725 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2725 29857           break;
2726              
2727             case 16:
2728             #line 160 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2729             {
2730             SPVM_OP* op_list;
2731             if ((yyvsp[-1].opval)->id == SPVM_OP_C_ID_LIST) {
2732             op_list = (yyvsp[-1].opval);
2733             }
2734             else {
2735             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
2736             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-1].opval));
2737             }
2738             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
2739            
2740             (yyval.opval) = op_list;
2741             }
2742             #line 2743 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2743 273643           break;
2744              
2745             case 28:
2746             #line 189 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2747             {
2748             (yyval.opval) = SPVM_OP_build_init_block(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
2749             }
2750             #line 2751 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2751 1530           break;
2752              
2753             case 29:
2754             #line 195 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2755             {
2756             (yyval.opval) = SPVM_OP_build_version_decl(compiler, (yyvsp[-2].opval), (yyvsp[-1].opval));
2757             }
2758             #line 2759 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2759 210           break;
2760              
2761             case 30:
2762             #line 201 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2763             {
2764             int32_t is_require = 0;
2765             SPVM_OP* op_name_alias = NULL;
2766             (yyval.opval) = SPVM_OP_build_use(compiler, (yyvsp[-2].opval), (yyvsp[-1].opval), op_name_alias, is_require);
2767             }
2768             #line 2769 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2769 28899           break;
2770              
2771             case 31:
2772             #line 207 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2773             {
2774             int32_t is_require = 0;
2775             (yyval.opval) = SPVM_OP_build_use(compiler, (yyvsp[-4].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), is_require);
2776             }
2777             #line 2778 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2778 14           break;
2779              
2780             case 32:
2781             #line 214 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2782             {
2783             SPVM_OP* op_use = SPVM_OP_new_op_use(compiler, compiler->current_file, compiler->current_line);
2784             int32_t is_require = 1;
2785             (yyval.opval) = SPVM_OP_build_use(compiler, op_use, (yyvsp[0].opval), NULL, is_require);
2786             }
2787             #line 2788 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2788 12           break;
2789              
2790             case 33:
2791             #line 222 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2792             {
2793             SPVM_OP* op_use = SPVM_OP_new_op_use(compiler, compiler->current_file, compiler->current_line);
2794             (yyval.opval) = SPVM_OP_build_alias(compiler, op_use, (yyvsp[-3].opval), (yyvsp[-1].opval));
2795             }
2796             #line 2797 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2797 2           break;
2798              
2799             case 34:
2800             #line 229 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2801             {
2802             (yyval.opval) = SPVM_OP_build_allow(compiler, (yyvsp[-2].opval), (yyvsp[-1].opval));
2803             }
2804             #line 2805 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2805 525           break;
2806              
2807             case 35:
2808             #line 235 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2809             {
2810             (yyval.opval) = SPVM_OP_build_implement(compiler, (yyvsp[-2].opval), (yyvsp[-1].opval));
2811             }
2812             #line 2813 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2813 1394           break;
2814              
2815             case 36:
2816             #line 241 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2817             {
2818             (yyval.opval) = SPVM_OP_build_enumeration_definition(compiler, (yyvsp[-1].opval), (yyvsp[0].opval), (yyvsp[-2].opval));
2819             }
2820             #line 2821 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2821 3203           break;
2822              
2823             case 37:
2824             #line 247 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2825             {
2826             SPVM_OP* op_enum_block = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ENUM_BLOCK, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
2827             SPVM_OP_insert_child(compiler, op_enum_block, op_enum_block->last, (yyvsp[-1].opval));
2828             (yyval.opval) = op_enum_block;
2829             }
2830             #line 2831 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2831 3203           break;
2832              
2833             case 38:
2834             #line 255 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2835             {
2836             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
2837             }
2838             #line 2839 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2839 1           break;
2840              
2841             case 39:
2842             #line 259 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2843             {
2844             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
2845             (yyval.opval) = (yyvsp[0].opval);
2846             }
2847             else {
2848             SPVM_OP* op_list = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
2849             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
2850             (yyval.opval) = op_list;
2851             }
2852             }
2853             #line 2854 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2854 3202           break;
2855              
2856             case 40:
2857             #line 272 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2858             {
2859             SPVM_OP* op_list;
2860             if ((yyvsp[-2].opval)->id == SPVM_OP_C_ID_LIST) {
2861             op_list = (yyvsp[-2].opval);
2862             }
2863             else {
2864             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
2865             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-2].opval));
2866             }
2867             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
2868            
2869             (yyval.opval) = op_list;
2870             }
2871             #line 2872 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2872 549           break;
2873              
2874             case 43:
2875             #line 290 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2876             {
2877             (yyval.opval) = SPVM_OP_build_enumeration_value(compiler, (yyvsp[0].opval), NULL);
2878             }
2879             #line 2880 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2880 53           break;
2881              
2882             case 44:
2883             #line 294 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2884             {
2885             (yyval.opval) = SPVM_OP_build_enumeration_value(compiler, (yyvsp[-2].opval), (yyvsp[0].opval));
2886             }
2887             #line 2888 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2888 3698           break;
2889              
2890             case 45:
2891             #line 300 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2892             {
2893             (yyval.opval) = SPVM_OP_build_class_var_definition(compiler, (yyvsp[-6].opval), (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-2].opval));
2894             }
2895             #line 2896 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2896 8115           break;
2897              
2898             case 46:
2899             #line 306 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2900             {
2901             (yyval.opval) = SPVM_OP_build_field_definition(compiler, (yyvsp[-5].opval), (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[-1].opval));
2902             }
2903             #line 2904 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2904 27459           break;
2905              
2906             case 47:
2907             #line 312 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2908             {
2909             (yyval.opval) = SPVM_OP_build_method_definition(compiler, (yyvsp[-7].opval), (yyvsp[-6].opval), (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[-8].opval), (yyvsp[0].opval), NULL, 0, 0);
2910             }
2911             #line 2912 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2912 161219           break;
2913              
2914             case 48:
2915             #line 316 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2916             {
2917             (yyval.opval) = SPVM_OP_build_method_definition(compiler, (yyvsp[-7].opval), (yyvsp[-6].opval), (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[-8].opval), NULL, NULL, 0, 0);
2918             }
2919             #line 2920 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2920 66165           break;
2921              
2922             case 49:
2923             #line 320 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2924             {
2925             (yyval.opval) = SPVM_OP_build_method_definition(compiler, (yyvsp[-6].opval), NULL, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[-7].opval), (yyvsp[0].opval), NULL, 0, 0);
2926             }
2927             #line 2928 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2928 59           break;
2929              
2930             case 50:
2931             #line 324 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2932             {
2933             (yyval.opval) = SPVM_OP_build_method_definition(compiler, (yyvsp[-6].opval), NULL, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[-7].opval), NULL, NULL, 0, 0);
2934             }
2935             #line 2936 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2936 4750           break;
2937              
2938             case 51:
2939             #line 330 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2940             {
2941             int32_t is_init = 0;
2942             int32_t is_anon = 1;
2943             (yyval.opval) = SPVM_OP_build_method_definition(compiler, (yyvsp[-6].opval), NULL, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[-7].opval), (yyvsp[0].opval), NULL, is_init, is_anon);
2944             }
2945             #line 2946 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2946 8071           break;
2947              
2948             case 52:
2949             #line 336 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2950             {
2951             SPVM_OP* op_list_args;
2952             if ((yyvsp[-9].opval)->id == SPVM_OP_C_ID_LIST) {
2953             op_list_args = (yyvsp[-9].opval);
2954             }
2955             else {
2956             op_list_args = SPVM_OP_new_op_list(compiler, (yyvsp[-9].opval)->file, (yyvsp[-9].opval)->line);
2957             SPVM_OP_insert_child(compiler, op_list_args, op_list_args->last, (yyvsp[-9].opval));
2958             }
2959            
2960             int32_t is_init = 0;
2961             int32_t is_anon = 1;
2962             (yyval.opval) = SPVM_OP_build_method_definition(compiler, (yyvsp[-6].opval), NULL, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[-7].opval), (yyvsp[0].opval), op_list_args, is_init, is_anon);
2963             }
2964             #line 2965 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2965 22           break;
2966              
2967             case 53:
2968             #line 353 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2969             {
2970             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
2971             }
2972             #line 2973 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2973 66875           break;
2974              
2975             case 54:
2976             #line 357 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2977             {
2978             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
2979             (yyval.opval) = (yyvsp[0].opval);
2980             }
2981             else {
2982             SPVM_OP* op_list = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
2983             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
2984             (yyval.opval) = op_list;
2985             }
2986             }
2987             #line 2988 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
2988 173460           break;
2989              
2990             case 55:
2991             #line 370 "yacc/spvm_yacc.y" /* yacc.c:1646 */
2992             {
2993             SPVM_OP* op_list;
2994             if ((yyvsp[-2].opval)->id == SPVM_OP_C_ID_LIST) {
2995             op_list = (yyvsp[-2].opval);
2996             }
2997             else {
2998             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
2999             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-2].opval));
3000             }
3001             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3002            
3003             (yyval.opval) = op_list;
3004             }
3005             #line 3006 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3006 214063           break;
3007              
3008             case 58:
3009             #line 388 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3010             {
3011             (yyval.opval) = SPVM_OP_build_arg(compiler, (yyvsp[-3].opval), (yyvsp[-1].opval), NULL, NULL);
3012             }
3013             #line 3014 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3014 327607           break;
3015              
3016             case 59:
3017             #line 392 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3018             {
3019             (yyval.opval) = SPVM_OP_build_arg(compiler, (yyvsp[-5].opval), (yyvsp[-3].opval), NULL, (yyvsp[0].opval));
3020             }
3021             #line 3022 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3022 59916           break;
3023              
3024             case 60:
3025             #line 398 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3026             {
3027             SPVM_OP* op_list;
3028             if ((yyvsp[-2].opval)->id == SPVM_OP_C_ID_LIST) {
3029             op_list = (yyvsp[-2].opval);
3030             }
3031             else {
3032             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
3033             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-2].opval));
3034             }
3035             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3036            
3037             (yyval.opval) = op_list;
3038             }
3039             #line 3040 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3040 13           break;
3041              
3042             case 63:
3043             #line 416 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3044             {
3045             (yyval.opval) = SPVM_OP_build_anon_method_field_definition(compiler, (yyvsp[-2].opval), (yyvsp[0].opval));
3046             }
3047             #line 3048 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3048 27           break;
3049              
3050             case 64:
3051             #line 420 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3052             {
3053             (yyval.opval) = SPVM_OP_build_anon_method_field_definition(compiler, (yyvsp[0].opval), NULL);
3054             }
3055             #line 3056 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3056 8           break;
3057              
3058             case 65:
3059             #line 426 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3060             {
3061             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
3062             }
3063             #line 3064 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3064 63226           break;
3065              
3066             case 66:
3067             #line 430 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3068             {
3069             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
3070             (yyval.opval) = (yyvsp[0].opval);
3071             }
3072             else {
3073             SPVM_OP* op_list = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
3074             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3075             (yyval.opval) = op_list;
3076             }
3077             }
3078             #line 3079 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3079 225421           break;
3080              
3081             case 67:
3082             #line 443 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3083             {
3084             SPVM_OP* op_list;
3085             if ((yyvsp[-1].opval)->id == SPVM_OP_C_ID_LIST) {
3086             op_list = (yyvsp[-1].opval);
3087             }
3088             else {
3089             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3090             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-1].opval));
3091             }
3092             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3093            
3094             (yyval.opval) = op_list;
3095             }
3096             #line 3097 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3097 80396           break;
3098              
3099             case 69:
3100             #line 460 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3101             {
3102             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
3103             }
3104             #line 3105 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3105 1449           break;
3106              
3107             case 70:
3108             #line 464 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3109             {
3110             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
3111             (yyval.opval) = (yyvsp[0].opval);
3112             }
3113             else {
3114             SPVM_OP* op_list = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
3115             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3116             (yyval.opval) = op_list;
3117             }
3118             }
3119             #line 3120 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3120 622208           break;
3121              
3122             case 71:
3123             #line 477 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3124             {
3125             SPVM_OP* op_list;
3126             if ((yyvsp[-1].opval)->id == SPVM_OP_C_ID_LIST) {
3127             op_list = (yyvsp[-1].opval);
3128             }
3129             else {
3130             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3131             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-1].opval));
3132             }
3133             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3134            
3135             (yyval.opval) = op_list;
3136             }
3137             #line 3138 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3138 786744           break;
3139              
3140             case 86:
3141             #line 507 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3142             {
3143             (yyval.opval) = SPVM_OP_build_return(compiler, (yyvsp[-1].opval), NULL);
3144             }
3145             #line 3146 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3146 12054           break;
3147              
3148             case 87:
3149             #line 511 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3150             {
3151             (yyval.opval) = SPVM_OP_build_return(compiler, (yyvsp[-2].opval), (yyvsp[-1].opval));
3152             }
3153             #line 3154 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3154 158100           break;
3155              
3156             case 88:
3157             #line 515 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3158             {
3159             (yyval.opval) = SPVM_OP_build_operator_statement(compiler, (yyvsp[-1].opval));
3160             }
3161             #line 3162 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3162 700486           break;
3163              
3164             case 90:
3165             #line 520 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3166             {
3167             (yyval.opval) = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_DO_NOTHING, compiler->current_file, compiler->current_line);
3168             }
3169             #line 3170 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3170 2148           break;
3171              
3172             case 92:
3173             #line 527 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3174             {
3175             (yyval.opval) = SPVM_OP_build_die(compiler, (yyvsp[-1].opval), (yyvsp[0].opval), NULL);
3176             }
3177             #line 3178 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3178 140545           break;
3179              
3180             case 93:
3181             #line 531 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3182             {
3183             (yyval.opval) = SPVM_OP_build_die(compiler, (yyvsp[0].opval), NULL, NULL);
3184             }
3185             #line 3186 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3186 7           break;
3187              
3188             case 94:
3189             #line 535 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3190             {
3191             (yyval.opval) = SPVM_OP_build_die(compiler, (yyvsp[-2].opval), (yyvsp[0].opval), (yyvsp[-1].opval));
3192             }
3193             #line 3194 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3194 6           break;
3195              
3196             case 95:
3197             #line 539 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3198             {
3199             (yyval.opval) = SPVM_OP_build_die(compiler, (yyvsp[-1].opval), NULL, (yyvsp[0].opval));
3200             }
3201             #line 3202 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3202 3           break;
3203              
3204             case 97:
3205             #line 546 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3206             {
3207             (yyval.opval) = SPVM_OP_build_print(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3208             }
3209             #line 3210 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3210 203           break;
3211              
3212             case 98:
3213             #line 550 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3214             {
3215             (yyval.opval) = SPVM_OP_build_print(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3216             }
3217             #line 3218 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3218 60           break;
3219              
3220             case 101:
3221             #line 556 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3222             {
3223             (yyval.opval) = SPVM_OP_build_make_read_only(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3224             }
3225             #line 3226 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3226 1052           break;
3227              
3228             case 102:
3229             #line 562 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3230             {
3231             (yyval.opval) = SPVM_OP_build_warn(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3232             }
3233             #line 3234 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3234 247           break;
3235              
3236             case 103:
3237             #line 566 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3238             {
3239             (yyval.opval) = SPVM_OP_build_warn(compiler, (yyvsp[0].opval), NULL);
3240             }
3241             #line 3242 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3242 17           break;
3243              
3244             case 104:
3245             #line 572 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3246             {
3247             (yyval.opval) = SPVM_OP_build_for_statement(compiler, (yyvsp[-8].opval), (yyvsp[-6].opval), (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3248             }
3249             #line 3250 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3250 42073           break;
3251              
3252             case 105:
3253             #line 578 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3254             {
3255             (yyval.opval) = SPVM_OP_build_foreach_statement(compiler, (yyvsp[-6].opval), (yyvsp[-5].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3256             }
3257             #line 3258 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3258 531           break;
3259              
3260             case 106:
3261             #line 582 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3262             {
3263             (yyval.opval) = SPVM_OP_build_foreach_statement(compiler, (yyvsp[-8].opval), (yyvsp[-7].opval), (yyvsp[-3].opval), (yyvsp[0].opval));
3264             }
3265             #line 3266 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3266 5           break;
3267              
3268             case 107:
3269             #line 588 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3270             {
3271             (yyval.opval) = SPVM_OP_build_while_statement(compiler, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3272             }
3273             #line 3274 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3274 26172           break;
3275              
3276             case 108:
3277             #line 594 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3278             {
3279             (yyval.opval) = SPVM_OP_build_switch_statement(compiler, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3280             }
3281             #line 3282 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3282 1651           break;
3283              
3284             case 109:
3285             #line 600 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3286             {
3287             SPVM_OP* op_block = SPVM_OP_new_op_block(compiler, compiler->current_file, compiler->current_line);
3288             op_block->uv.block->id = SPVM_BLOCK_C_ID_SWITCH;
3289             (yyval.opval) = SPVM_OP_build_switch_block(compiler, op_block, (yyvsp[-1].opval), NULL);
3290             }
3291             #line 3292 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3292 1083           break;
3293              
3294             case 110:
3295             #line 606 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3296             {
3297             SPVM_OP* op_block = SPVM_OP_new_op_block(compiler, compiler->current_file, compiler->current_line);
3298             op_block->uv.block->id = SPVM_BLOCK_C_ID_SWITCH;
3299             (yyval.opval) = SPVM_OP_build_switch_block(compiler, op_block, (yyvsp[-2].opval), (yyvsp[-1].opval));
3300             }
3301             #line 3302 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3302 568           break;
3303              
3304             case 111:
3305             #line 614 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3306             {
3307             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
3308             }
3309             #line 3310 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3310 8           break;
3311              
3312             case 112:
3313             #line 618 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3314             {
3315             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
3316             (yyval.opval) = (yyvsp[0].opval);
3317             }
3318             else {
3319             SPVM_OP* op_list = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
3320             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3321             (yyval.opval) = op_list;
3322             }
3323             }
3324             #line 3325 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3325 1644           break;
3326              
3327             case 113:
3328             #line 631 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3329             {
3330             SPVM_OP* op_list;
3331             if ((yyvsp[-1].opval)->id == SPVM_OP_C_ID_LIST) {
3332             op_list = (yyvsp[-1].opval);
3333             }
3334             else {
3335             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3336             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-1].opval));
3337             }
3338             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3339            
3340             (yyval.opval) = op_list;
3341             }
3342             #line 3343 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3343 7931           break;
3344              
3345             case 114:
3346             #line 645 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3347             {
3348             (yyval.opval) = (yyvsp[0].opval);
3349             }
3350             #line 3351 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3351 1644           break;
3352              
3353             case 115:
3354             #line 651 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3355             {
3356             (yyval.opval) = SPVM_OP_build_case_statement(compiler, (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3357             }
3358             #line 3359 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3359 7481           break;
3360              
3361             case 116:
3362             #line 655 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3363             {
3364             (yyval.opval) = SPVM_OP_build_case_statement(compiler, (yyvsp[-2].opval), (yyvsp[-1].opval), NULL);
3365             }
3366             #line 3367 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3367 2094           break;
3368              
3369             case 117:
3370             #line 661 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3371             {
3372             (yyval.opval) = SPVM_OP_build_default_statement(compiler, (yyvsp[-2].opval), (yyvsp[0].opval));
3373             }
3374             #line 3375 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3375 549           break;
3376              
3377             case 118:
3378             #line 665 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3379             {
3380             (yyval.opval) = SPVM_OP_build_default_statement(compiler, (yyvsp[-1].opval), NULL);
3381             }
3382             #line 3383 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3383 20           break;
3384              
3385             case 119:
3386             #line 671 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3387             {
3388             SPVM_OP* op_if_require = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_IF_REQUIRE, compiler->current_file, compiler->current_line);
3389            
3390             (yyval.opval) = SPVM_OP_build_if_require_statement(compiler, op_if_require, (yyvsp[-2].opval), (yyvsp[0].opval), NULL);
3391             }
3392             #line 3393 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3393 8           break;
3394              
3395             case 120:
3396             #line 677 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3397             {
3398             SPVM_OP* op_if_require = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_IF_REQUIRE, compiler->current_file, compiler->current_line);
3399            
3400             (yyval.opval) = SPVM_OP_build_if_require_statement(compiler, op_if_require, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3401             }
3402             #line 3403 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3403 4           break;
3404              
3405             case 121:
3406             #line 684 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3407             {
3408             SPVM_OP* op_if = SPVM_OP_build_if_statement(compiler, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval), 0);
3409            
3410             // if is wraped with block to allow the following syntax
3411             // if (var_decl $var = 3) { ... }
3412             SPVM_OP* op_block = SPVM_OP_new_op_block(compiler, (yyvsp[-5].opval)->file, (yyvsp[-5].opval)->line);
3413             SPVM_OP_insert_child(compiler, op_block, op_block->last, op_if);
3414            
3415             (yyval.opval) = op_block;
3416             }
3417             #line 3418 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3418 138828           break;
3419              
3420             case 122:
3421             #line 695 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3422             {
3423             SPVM_OP* op_if = SPVM_OP_build_if_statement(compiler, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval), 0);
3424            
3425             // if is wraped with block to allow the following syntax
3426             // if (var_decl $var = 3) { ... }
3427             SPVM_OP* op_block = SPVM_OP_new_op_block(compiler, (yyvsp[-5].opval)->file, (yyvsp[-5].opval)->line);
3428             SPVM_OP_insert_child(compiler, op_block, op_block->last, op_if);
3429            
3430             (yyval.opval) = op_block;
3431             }
3432             #line 3433 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3433 156994           break;
3434              
3435             case 123:
3436             #line 708 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3437             {
3438             (yyval.opval) = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_DO_NOTHING, compiler->current_file, compiler->current_line);
3439             }
3440             #line 3441 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3441 248590           break;
3442              
3443             case 124:
3444             #line 712 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3445             {
3446             (yyval.opval) = (yyvsp[0].opval);
3447             }
3448             #line 3449 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3449 47232           break;
3450              
3451             case 125:
3452             #line 716 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3453             {
3454             (yyval.opval) = SPVM_OP_build_if_statement(compiler, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), (yyvsp[0].opval), 0);
3455             }
3456             #line 3457 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3457 25232           break;
3458              
3459             case 126:
3460             #line 722 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3461             {
3462             SPVM_OP* op_block = SPVM_OP_new_op_block(compiler, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
3463             SPVM_OP_insert_child(compiler, op_block, op_block->last, (yyvsp[-1].opval));
3464             (yyval.opval) = op_block;
3465             }
3466             #line 3467 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3467 623657           break;
3468              
3469             case 127:
3470             #line 730 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3471             {
3472             (yyval.opval) = SPVM_OP_build_eval(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3473             }
3474             #line 3475 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3475 2153           break;
3476              
3477             case 128:
3478             #line 736 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3479             {
3480             (yyval.opval) = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
3481             }
3482             #line 3483 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3483 4697           break;
3484              
3485             case 129:
3486             #line 740 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3487             {
3488             if ((yyvsp[0].opval)->id == SPVM_OP_C_ID_LIST) {
3489             (yyval.opval) = (yyvsp[0].opval);
3490             }
3491             else {
3492             SPVM_OP* op_list = SPVM_OP_new_op_list(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
3493             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3494             (yyval.opval) = op_list;
3495             }
3496             }
3497             #line 3498 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3498 184257           break;
3499              
3500             case 130:
3501             #line 753 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3502             {
3503             (yyval.opval) = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_DO_NOTHING, compiler->current_file, compiler->current_line);
3504             }
3505             #line 3506 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3506 1054           break;
3507              
3508             case 149:
3509             #line 777 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3510             {
3511             if ((yyvsp[-1].opval)->id == SPVM_OP_C_ID_LIST) {
3512             SPVM_OP* op_operator = (yyvsp[-1].opval)->first;
3513             SPVM_OP* op_sequence = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_SEQUENCE, compiler->current_file, compiler->current_line);
3514             while ((op_operator = SPVM_OP_sibling(compiler, op_operator))) {
3515             SPVM_OP* op_stab = SPVM_OP_cut_op(compiler, op_operator);
3516             SPVM_OP_insert_child(compiler, op_sequence, op_sequence->last, op_operator);
3517             op_operator = op_stab;
3518             }
3519             (yyval.opval) = op_sequence;
3520             }
3521             else {
3522             (yyval.opval) = (yyvsp[-1].opval);
3523             }
3524             }
3525             #line 3526 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3526 22931           break;
3527              
3528             case 158:
3529             #line 801 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3530             {
3531             (yyval.opval) = SPVM_OP_new_op_true(compiler, (yyvsp[0].opval));
3532             }
3533             #line 3534 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3534 32           break;
3535              
3536             case 159:
3537             #line 805 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3538             {
3539             (yyval.opval) = SPVM_OP_new_op_false(compiler, (yyvsp[0].opval));
3540             }
3541             #line 3542 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3542 30           break;
3543              
3544             case 163:
3545             #line 812 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3546             {
3547             (yyval.opval) = SPVM_OP_build_basic_type_id(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3548             }
3549             #line 3550 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3550 64           break;
3551              
3552             case 166:
3553             #line 820 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3554             {
3555             SPVM_OP* op_list;
3556             if ((yyvsp[-2].opval)->id == SPVM_OP_C_ID_LIST) {
3557             op_list = (yyvsp[-2].opval);
3558             }
3559             else {
3560             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
3561             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-2].opval));
3562             }
3563             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
3564            
3565             (yyval.opval) = op_list;
3566             }
3567             #line 3568 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3568 334666           break;
3569              
3570             case 167:
3571             #line 834 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3572             {
3573             (yyval.opval) = (yyvsp[-1].opval);
3574             }
3575             #line 3576 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3576 10           break;
3577              
3578             case 168:
3579             #line 838 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3580             {
3581             (yyval.opval) = (yyvsp[0].opval);
3582             }
3583             #line 3584 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3584 207745           break;
3585              
3586             case 169:
3587             #line 844 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3588             {
3589             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_PLUS, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3590             (yyval.opval) = SPVM_OP_build_unary_op(compiler, operator, (yyvsp[0].opval));
3591             }
3592             #line 3593 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3593 40           break;
3594              
3595             case 170:
3596             #line 849 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3597             {
3598             SPVM_OP* op_negate = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_MINUS, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3599             (yyval.opval) = SPVM_OP_build_unary_op(compiler, op_negate, (yyvsp[0].opval));
3600             }
3601             #line 3602 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3602 1088           break;
3603              
3604             case 171:
3605             #line 854 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3606             {
3607             (yyval.opval) = SPVM_OP_build_unary_op(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3608             }
3609             #line 3610 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3610 38           break;
3611              
3612             case 172:
3613             #line 858 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3614             {
3615             (yyval.opval) = SPVM_OP_build_unary_op_var(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3616             }
3617             #line 3618 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3618 0           break;
3619              
3620             case 173:
3621             #line 862 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3622             {
3623             (yyval.opval) = SPVM_OP_build_unary_op(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3624             }
3625             #line 3626 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3626 2105           break;
3627              
3628             case 174:
3629             #line 866 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3630             {
3631             (yyval.opval) = SPVM_OP_build_unary_op(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3632             }
3633             #line 3634 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3634 14           break;
3635              
3636             case 175:
3637             #line 870 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3638             {
3639             (yyval.opval) = SPVM_OP_build_unary_op(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3640             }
3641             #line 3642 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3642 20434           break;
3643              
3644             case 176:
3645             #line 874 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3646             {
3647             (yyval.opval) = SPVM_OP_build_unary_op(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3648             }
3649             #line 3650 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3650 58           break;
3651              
3652             case 177:
3653             #line 878 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3654             {
3655             (yyval.opval) = SPVM_OP_build_unary_op_var(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3656             }
3657             #line 3658 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3658 2496           break;
3659              
3660             case 178:
3661             #line 882 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3662             {
3663             (yyval.opval) = SPVM_OP_build_unary_op_var(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3664             }
3665             #line 3666 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3666 5054           break;
3667              
3668             case 179:
3669             #line 886 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3670             {
3671             (yyval.opval) = SPVM_OP_build_unary_op(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3672             }
3673             #line 3674 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3674 4725           break;
3675              
3676             case 180:
3677             #line 890 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3678             {
3679             (yyval.opval) = SPVM_OP_build_unary_op(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3680             }
3681             #line 3682 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3682 1633           break;
3683              
3684             case 181:
3685             #line 896 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3686             {
3687             (yyval.opval) = SPVM_OP_build_is_read_only(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
3688             }
3689             #line 3690 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3690 1057           break;
3691              
3692             case 182:
3693             #line 902 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3694             {
3695             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_PRE_INC, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3696             (yyval.opval) = SPVM_OP_build_inc(compiler, operator, (yyvsp[0].opval));
3697             }
3698             #line 3699 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3699 9540           break;
3700              
3701             case 183:
3702             #line 907 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3703             {
3704             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_POST_INC, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
3705             (yyval.opval) = SPVM_OP_build_inc(compiler, operator, (yyvsp[-1].opval));
3706             }
3707             #line 3708 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3708 71454           break;
3709              
3710             case 184:
3711             #line 914 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3712             {
3713             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_PRE_DEC, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3714             (yyval.opval) = SPVM_OP_build_dec(compiler, operator, (yyvsp[0].opval));
3715             }
3716             #line 3717 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3717 2187           break;
3718              
3719             case 185:
3720             #line 919 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3721             {
3722             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_POST_DEC, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
3723             (yyval.opval) = SPVM_OP_build_dec(compiler, operator, (yyvsp[-1].opval));
3724             }
3725             #line 3726 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3726 8014           break;
3727              
3728             case 186:
3729             #line 926 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3730             {
3731             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ADD, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3732             (yyval.opval) = SPVM_OP_build_binary_op(compiler, operator, (yyvsp[-2].opval), (yyvsp[0].opval));
3733             }
3734             #line 3735 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3735 99897           break;
3736              
3737             case 187:
3738             #line 931 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3739             {
3740             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_SUBTRACT, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3741             (yyval.opval) = SPVM_OP_build_binary_op(compiler, operator, (yyvsp[-2].opval), (yyvsp[0].opval));
3742             }
3743             #line 3744 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3744 60325           break;
3745              
3746             case 188:
3747             #line 936 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3748             {
3749             SPVM_OP* operator = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_MULTIPLY, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
3750             (yyval.opval) = SPVM_OP_build_binary_op(compiler, operator, (yyvsp[-2].opval), (yyvsp[0].opval));
3751             }
3752             #line 3753 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3753 7067           break;
3754              
3755             case 189:
3756             #line 941 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3757             {
3758             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3759             }
3760             #line 3761 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3761 5398           break;
3762              
3763             case 190:
3764             #line 945 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3765             {
3766             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3767             }
3768             #line 3769 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3769 7           break;
3770              
3771             case 191:
3772             #line 949 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3773             {
3774             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3775             }
3776             #line 3777 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3777 7           break;
3778              
3779             case 192:
3780             #line 953 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3781             {
3782             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3783             }
3784             #line 3785 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3785 2172           break;
3786              
3787             case 193:
3788             #line 957 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3789             {
3790             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3791             }
3792             #line 3793 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3793 7           break;
3794              
3795             case 194:
3796             #line 961 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3797             {
3798             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3799             }
3800             #line 3801 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3801 530           break;
3802              
3803             case 195:
3804             #line 965 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3805             {
3806             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3807             }
3808             #line 3809 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3809 36           break;
3810              
3811             case 196:
3812             #line 969 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3813             {
3814             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3815             }
3816             #line 3817 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3817 1104           break;
3818              
3819             case 197:
3820             #line 973 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3821             {
3822             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3823             }
3824             #line 3825 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3825 36           break;
3826              
3827             case 198:
3828             #line 977 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3829             {
3830             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3831             }
3832             #line 3833 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3833 100           break;
3834              
3835             case 199:
3836             #line 981 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3837             {
3838             (yyval.opval) = SPVM_OP_build_binary_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3839             }
3840             #line 3841 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3841 28424           break;
3842              
3843             case 200:
3844             #line 987 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3845             {
3846             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3847             }
3848             #line 3849 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3849 68531           break;
3850              
3851             case 201:
3852             #line 991 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3853             {
3854             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3855             }
3856             #line 3857 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3857 18050           break;
3858              
3859             case 202:
3860             #line 995 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3861             {
3862             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3863             }
3864             #line 3865 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3865 21140           break;
3866              
3867             case 203:
3868             #line 999 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3869             {
3870             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3871             }
3872             #line 3873 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3873 69734           break;
3874              
3875             case 204:
3876             #line 1003 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3877             {
3878             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3879             }
3880             #line 3881 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3881 80464           break;
3882              
3883             case 205:
3884             #line 1007 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3885             {
3886             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3887             }
3888             #line 3889 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3889 74796           break;
3890              
3891             case 206:
3892             #line 1011 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3893             {
3894             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3895             }
3896             #line 3897 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3897 6488           break;
3898              
3899             case 207:
3900             #line 1015 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3901             {
3902             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3903             }
3904             #line 3905 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3905 10455           break;
3906              
3907             case 208:
3908             #line 1019 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3909             {
3910             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3911             }
3912             #line 3913 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3913 568           break;
3914              
3915             case 209:
3916             #line 1023 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3917             {
3918             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3919             }
3920             #line 3921 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3921 46           break;
3922              
3923             case 210:
3924             #line 1027 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3925             {
3926             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3927             }
3928             #line 3929 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3929 46           break;
3930              
3931             case 211:
3932             #line 1031 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3933             {
3934             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3935             }
3936             #line 3937 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3937 46           break;
3938              
3939             case 212:
3940             #line 1035 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3941             {
3942             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3943             }
3944             #line 3945 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3945 46           break;
3946              
3947             case 213:
3948             #line 1039 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3949             {
3950             (yyval.opval) = SPVM_OP_build_comparison_op(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3951             }
3952             #line 3953 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3953 1633           break;
3954              
3955             case 214:
3956             #line 1045 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3957             {
3958             (yyval.opval) = SPVM_OP_build_isa(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3959             }
3960             #line 3961 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3961 4599           break;
3962              
3963             case 215:
3964             #line 1051 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3965             {
3966             (yyval.opval) = SPVM_OP_build_isa_error(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3967             }
3968             #line 3969 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3969 20           break;
3970              
3971             case 216:
3972             #line 1057 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3973             {
3974             (yyval.opval) = SPVM_OP_build_is_type(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3975             }
3976             #line 3977 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3977 3753           break;
3978              
3979             case 217:
3980             #line 1063 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3981             {
3982             (yyval.opval) = SPVM_OP_build_is_error(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3983             }
3984             #line 3985 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3985 18           break;
3986              
3987             case 218:
3988             #line 1069 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3989             {
3990             (yyval.opval) = SPVM_OP_build_is_compile_type(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3991             }
3992             #line 3993 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
3993 16           break;
3994              
3995             case 219:
3996             #line 1075 "yacc/spvm_yacc.y" /* yacc.c:1646 */
3997             {
3998             (yyval.opval) = SPVM_OP_build_logical_or(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
3999             }
4000             #line 4001 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4001 8092           break;
4002              
4003             case 220:
4004             #line 1079 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4005             {
4006             (yyval.opval) = SPVM_OP_build_logical_and(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
4007             }
4008             #line 4009 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4009 48421           break;
4010              
4011             case 221:
4012             #line 1083 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4013             {
4014             (yyval.opval) = SPVM_OP_build_logical_not(compiler, (yyvsp[-1].opval), (yyvsp[0].opval));
4015             }
4016             #line 4017 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4017 3157           break;
4018              
4019             case 222:
4020             #line 1089 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4021             {
4022             (yyval.opval) = SPVM_OP_build_assign(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
4023             }
4024             #line 4025 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4025 566523           break;
4026              
4027             case 223:
4028             #line 1093 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4029             {
4030             (yyval.opval) = SPVM_OP_build_special_assign(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
4031             }
4032             #line 4033 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4033 14881           break;
4034              
4035             case 224:
4036             #line 1099 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4037             {
4038             (yyval.opval) = SPVM_OP_build_new(compiler, (yyvsp[-1].opval), (yyvsp[0].opval), NULL);
4039             }
4040             #line 4041 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4041 18074           break;
4042              
4043             case 225:
4044             #line 1103 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4045             {
4046             SPVM_OP* op_length = (yyvsp[0].opval)->last;
4047             SPVM_OP_cut_op(compiler, (yyvsp[0].opval)->last);
4048             (yyval.opval) = SPVM_OP_build_new(compiler, (yyvsp[-1].opval), (yyvsp[0].opval), op_length);
4049             }
4050             #line 4051 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4051 21330           break;
4052              
4053             case 226:
4054             #line 1109 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4055             {
4056             (yyval.opval) = SPVM_OP_build_anon_method(compiler, (yyvsp[0].opval));
4057             }
4058             #line 4059 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4059 8093           break;
4060              
4061             case 227:
4062             #line 1115 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4063             {
4064             SPVM_OP* op_array_init = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_INIT, compiler->current_file, compiler->current_line);
4065             int32_t is_key_values = 0;
4066             (yyval.opval) = SPVM_OP_build_array_init(compiler, op_array_init, (yyvsp[-1].opval), is_key_values);
4067             }
4068             #line 4069 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4069 8008           break;
4070              
4071             case 228:
4072             #line 1121 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4073             {
4074             SPVM_OP* op_array_init = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_INIT, compiler->current_file, compiler->current_line);
4075             int32_t is_key_values = 1;
4076             (yyval.opval) = SPVM_OP_build_array_init(compiler, op_array_init, (yyvsp[-1].opval), is_key_values);
4077             }
4078             #line 4079 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4079 556           break;
4080              
4081             case 229:
4082             #line 1127 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4083             {
4084             SPVM_OP* op_array_init = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_INIT, compiler->current_file, compiler->current_line);
4085             int32_t is_key_values = 1;
4086             SPVM_OP* op_list_elements = SPVM_OP_new_op_list(compiler, compiler->current_file, compiler->current_line);
4087             (yyval.opval) = SPVM_OP_build_array_init(compiler, op_array_init, op_list_elements, is_key_values);
4088             }
4089             #line 4090 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4090 28           break;
4091              
4092             case 230:
4093             #line 1136 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4094             {
4095             SPVM_OP* op_convert = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_TYPE_CAST, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
4096             (yyval.opval) = SPVM_OP_build_type_cast(compiler, op_convert, (yyvsp[-2].opval), (yyvsp[0].opval), NULL);
4097             }
4098             #line 4099 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4099 45727           break;
4100              
4101             case 231:
4102             #line 1141 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4103             {
4104             SPVM_OP* op_convert = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_TYPE_CAST, (yyvsp[-1].opval)->file, (yyvsp[-1].opval)->line);
4105             (yyval.opval) = SPVM_OP_build_type_cast(compiler, op_convert, (yyvsp[-1].opval), (yyvsp[-4].opval), NULL);
4106             }
4107             #line 4108 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4108 6460           break;
4109              
4110             case 232:
4111             #line 1148 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4112             {
4113             SPVM_OP* op_call_method = SPVM_OP_new_op_call_method(compiler, compiler->current_file, compiler->current_line);
4114             (yyval.opval) = SPVM_OP_build_call_method(compiler, op_call_method, (yyvsp[-4].opval), (yyvsp[-3].opval), (yyvsp[-1].opval));
4115             }
4116             #line 4117 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4117 45077           break;
4118              
4119             case 233:
4120             #line 1153 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4121             {
4122             SPVM_OP* op_call_method = SPVM_OP_new_op_call_method(compiler, compiler->current_file, compiler->current_line);
4123             SPVM_OP* op_operators = SPVM_OP_new_op_list(compiler, (yyvsp[-1].opval)->file, (yyvsp[0].opval)->line);
4124             (yyval.opval) = SPVM_OP_build_call_method(compiler, op_call_method, (yyvsp[-1].opval), (yyvsp[0].opval), op_operators);
4125             }
4126             #line 4127 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4127 5360           break;
4128              
4129             case 234:
4130             #line 1159 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4131             {
4132             SPVM_OP* op_call_method = SPVM_OP_new_op_call_method(compiler, compiler->current_file, compiler->current_line);
4133             (yyval.opval) = SPVM_OP_build_call_method(compiler, op_call_method, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval));
4134             }
4135             #line 4136 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4136 76805           break;
4137              
4138             case 235:
4139             #line 1164 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4140             {
4141             SPVM_OP* op_call_method = SPVM_OP_new_op_call_method(compiler, compiler->current_file, compiler->current_line);
4142             SPVM_OP* op_operators = SPVM_OP_new_op_list(compiler, (yyvsp[-2].opval)->file, (yyvsp[-1].opval)->line);
4143             (yyval.opval) = SPVM_OP_build_call_method(compiler, op_call_method, (yyvsp[-2].opval), (yyvsp[0].opval), op_operators);
4144             }
4145             #line 4146 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4146 11953           break;
4147              
4148             case 236:
4149             #line 1170 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4150             {
4151             SPVM_OP* op_call_method = SPVM_OP_new_op_call_method(compiler, compiler->current_file, compiler->current_line);
4152             (yyval.opval) = SPVM_OP_build_call_method(compiler, op_call_method, (yyvsp[-5].opval), (yyvsp[-3].opval), (yyvsp[-1].opval));
4153             }
4154             #line 4155 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4155 53772           break;
4156              
4157             case 237:
4158             #line 1175 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4159             {
4160             SPVM_OP* op_call_method = SPVM_OP_new_op_call_method(compiler, compiler->current_file, compiler->current_line);
4161             SPVM_OP* op_operators = SPVM_OP_new_op_list(compiler, (yyvsp[-2].opval)->file, (yyvsp[-1].opval)->line);
4162             (yyval.opval) = SPVM_OP_build_call_method(compiler, op_call_method, (yyvsp[-2].opval), (yyvsp[0].opval), op_operators);
4163             }
4164             #line 4165 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4165 28006           break;
4166              
4167             case 238:
4168             #line 1181 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4169             {
4170             SPVM_OP* op_call_method = SPVM_OP_new_op_call_method(compiler, compiler->current_file, compiler->current_line);
4171             SPVM_OP* op_method_name = SPVM_OP_new_op_name(compiler, "", (yyvsp[-3].opval)->file, (yyvsp[-3].opval)->line);
4172             (yyval.opval) = SPVM_OP_build_call_method(compiler, op_call_method, (yyvsp[-4].opval), op_method_name, (yyvsp[-1].opval));
4173             }
4174             #line 4175 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4175 5292           break;
4176              
4177             case 239:
4178             #line 1189 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4179             {
4180             SPVM_OP* op_array_access = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_ACCESS, compiler->current_file, compiler->current_line);
4181             (yyval.opval) = SPVM_OP_build_array_access(compiler, op_array_access, (yyvsp[-4].opval), (yyvsp[-1].opval));
4182             }
4183             #line 4184 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4184 154402           break;
4185              
4186             case 240:
4187             #line 1194 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4188             {
4189             SPVM_OP* op_array_access = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_ACCESS, compiler->current_file, compiler->current_line);
4190             (yyval.opval) = SPVM_OP_build_array_access(compiler, op_array_access, (yyvsp[-3].opval), (yyvsp[-1].opval));
4191             }
4192             #line 4193 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4193 200           break;
4194              
4195             case 241:
4196             #line 1199 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4197             {
4198             SPVM_OP* op_array_access = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_ACCESS, compiler->current_file, compiler->current_line);
4199             (yyval.opval) = SPVM_OP_build_array_access(compiler, op_array_access, (yyvsp[-3].opval), (yyvsp[-1].opval));
4200             }
4201             #line 4202 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4202 8486           break;
4203              
4204             case 242:
4205             #line 1206 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4206             {
4207             SPVM_OP* op_field_access = SPVM_OP_new_op_field_access(compiler, compiler->current_file, compiler->current_line);
4208             (yyval.opval) = SPVM_OP_build_field_access(compiler, op_field_access, (yyvsp[-4].opval), (yyvsp[-1].opval));
4209             }
4210             #line 4211 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4211 149457           break;
4212              
4213             case 243:
4214             #line 1211 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4215             {
4216             SPVM_OP* op_field_access = SPVM_OP_new_op_field_access(compiler, compiler->current_file, compiler->current_line);
4217             (yyval.opval) = SPVM_OP_build_field_access(compiler, op_field_access, (yyvsp[-3].opval), (yyvsp[-1].opval));
4218             }
4219             #line 4220 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4220 72           break;
4221              
4222             case 244:
4223             #line 1216 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4224             {
4225             SPVM_OP* op_array_access = (yyvsp[-3].opval);
4226             SPVM_OP* op_field_access = SPVM_OP_new_op_field_access(compiler, compiler->current_file, compiler->current_line);
4227             (yyval.opval) = SPVM_OP_build_field_access(compiler, op_field_access, op_array_access, (yyvsp[-1].opval));
4228             }
4229             #line 4230 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4230 2289           break;
4231              
4232             case 245:
4233             #line 1224 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4234             {
4235             SPVM_OP* op_field_access = SPVM_OP_new_op_field_access(compiler, compiler->current_file, compiler->current_line);
4236             SPVM_OP_build_field_access(compiler, op_field_access, (yyvsp[-4].opval), (yyvsp[-1].opval));
4237             (yyval.opval) = SPVM_OP_build_weaken_field(compiler, (yyvsp[-5].opval), op_field_access);
4238             }
4239             #line 4240 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4240 45           break;
4241              
4242             case 246:
4243             #line 1232 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4244             {
4245             SPVM_OP* op_field_access = SPVM_OP_new_op_field_access(compiler, compiler->current_file, compiler->current_line);
4246             SPVM_OP_build_field_access(compiler, op_field_access, (yyvsp[-4].opval), (yyvsp[-1].opval));
4247             (yyval.opval) = SPVM_OP_build_unweaken_field(compiler, (yyvsp[-5].opval), op_field_access);
4248             }
4249             #line 4250 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4250 4           break;
4251              
4252             case 247:
4253             #line 1240 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4254             {
4255             SPVM_OP* op_field_access = SPVM_OP_new_op_field_access(compiler, compiler->current_file, compiler->current_line);
4256             SPVM_OP_build_field_access(compiler, op_field_access, (yyvsp[-4].opval), (yyvsp[-1].opval));
4257             (yyval.opval) = SPVM_OP_build_isweak_field(compiler, (yyvsp[-5].opval), op_field_access);
4258             }
4259             #line 4260 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4260 8           break;
4261              
4262             case 248:
4263             #line 1248 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4264             {
4265             (yyval.opval) = SPVM_OP_build_can(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
4266             }
4267             #line 4268 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4268 15           break;
4269              
4270             case 249:
4271             #line 1252 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4272             {
4273             (yyval.opval) = SPVM_OP_build_can(compiler, (yyvsp[-1].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
4274             }
4275             #line 4276 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4276 4           break;
4277              
4278             case 250:
4279             #line 1258 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4280             {
4281             SPVM_OP* op_array_length = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_LENGTH, compiler->current_file, compiler->current_line);
4282             (yyval.opval) = SPVM_OP_build_array_length(compiler, op_array_length, (yyvsp[0].opval));
4283             }
4284             #line 4285 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4285 50586           break;
4286              
4287             case 251:
4288             #line 1263 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4289             {
4290             SPVM_OP* op_array_length = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_LENGTH, compiler->current_file, compiler->current_line);
4291             (yyval.opval) = SPVM_OP_build_array_length(compiler, op_array_length, (yyvsp[-1].opval));
4292             }
4293             #line 4294 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4294 4714           break;
4295              
4296             case 252:
4297             #line 1268 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4298             {
4299             SPVM_OP* op_array_length = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_LENGTH, compiler->current_file, compiler->current_line);
4300             (yyval.opval) = SPVM_OP_build_array_length(compiler, op_array_length, (yyvsp[0].opval));
4301             }
4302             #line 4303 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4303 5           break;
4304              
4305             case 253:
4306             #line 1273 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4307             {
4308             SPVM_OP* op_array_length = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_ARRAY_LENGTH, compiler->current_file, compiler->current_line);
4309             (yyval.opval) = SPVM_OP_build_array_length(compiler, op_array_length, (yyvsp[-1].opval));
4310             }
4311             #line 4312 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4312 5           break;
4313              
4314             case 254:
4315             #line 1280 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4316             {
4317             (yyval.opval) = SPVM_OP_build_var_decl(compiler, (yyvsp[-4].opval), (yyvsp[-3].opval), (yyvsp[-1].opval), NULL);
4318             }
4319             #line 4320 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4320 8826           break;
4321              
4322             case 255:
4323             #line 1284 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4324             {
4325             (yyval.opval) = SPVM_OP_build_var_decl(compiler, (yyvsp[-1].opval), (yyvsp[0].opval), NULL, NULL);
4326             }
4327             #line 4328 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4328 347019           break;
4329              
4330             case 256:
4331             #line 1290 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4332             {
4333             (yyval.opval) = SPVM_OP_build_var(compiler, (yyvsp[0].opval));
4334             }
4335             #line 4336 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4336 2829252           break;
4337              
4338             case 258:
4339             #line 1296 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4340             {
4341             (yyval.opval) = SPVM_OP_build_mutable_type(compiler, (yyvsp[0].opval));
4342             }
4343             #line 4344 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4344 9517           break;
4345              
4346             case 263:
4347             #line 1310 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4348             {
4349             (yyval.opval) = SPVM_OP_build_basic_type(compiler, (yyvsp[0].opval));
4350             }
4351             #line 4352 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4352 246339           break;
4353              
4354             case 264:
4355             #line 1314 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4356             {
4357             SPVM_OP* op_type = SPVM_OP_new_op_byte_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4358            
4359             (yyval.opval) = op_type;
4360             }
4361             #line 4362 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4362 25240           break;
4363              
4364             case 265:
4365             #line 1320 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4366             {
4367             SPVM_OP* op_type = SPVM_OP_new_op_short_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4368            
4369             (yyval.opval) = op_type;
4370             }
4371             #line 4372 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4372 19552           break;
4373              
4374             case 266:
4375             #line 1326 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4376             {
4377             SPVM_OP* op_type = SPVM_OP_new_op_int_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4378            
4379             (yyval.opval) = op_type;
4380             }
4381             #line 4382 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4382 297836           break;
4383              
4384             case 267:
4385             #line 1332 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4386             {
4387             SPVM_OP* op_type = SPVM_OP_new_op_long_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4388            
4389             (yyval.opval) = op_type;
4390             }
4391             #line 4392 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4392 35735           break;
4393              
4394             case 268:
4395             #line 1338 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4396             {
4397             SPVM_OP* op_type = SPVM_OP_new_op_float_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4398            
4399             (yyval.opval) = op_type;
4400             }
4401             #line 4402 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4402 25295           break;
4403              
4404             case 269:
4405             #line 1344 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4406             {
4407             SPVM_OP* op_type = SPVM_OP_new_op_double_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4408            
4409             (yyval.opval) = op_type;
4410             }
4411             #line 4412 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4412 31278           break;
4413              
4414             case 270:
4415             #line 1350 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4416             {
4417             SPVM_OP* op_type = SPVM_OP_new_op_any_object_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4418             (yyval.opval) = op_type;
4419             }
4420             #line 4421 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4421 50937           break;
4422              
4423             case 271:
4424             #line 1355 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4425             {
4426             SPVM_OP* op_type = SPVM_OP_new_op_string_type(compiler, (yyvsp[0].opval)->file, (yyvsp[0].opval)->line);
4427            
4428             (yyval.opval) = op_type;
4429             }
4430             #line 4431 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4431 129056           break;
4432              
4433             case 272:
4434             #line 1363 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4435             {
4436             (yyval.opval) = SPVM_OP_build_ref_type(compiler, (yyvsp[-1].opval));
4437             }
4438             #line 4439 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4439 2912           break;
4440              
4441             case 273:
4442             #line 1369 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4443             {
4444             (yyval.opval) = SPVM_OP_build_array_type(compiler, (yyvsp[-2].opval), NULL);
4445             }
4446             #line 4447 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4447 111370           break;
4448              
4449             case 274:
4450             #line 1373 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4451             {
4452             (yyval.opval) = SPVM_OP_build_array_type(compiler, (yyvsp[-2].opval), NULL);
4453             }
4454             #line 4455 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4455 101           break;
4456              
4457             case 275:
4458             #line 1379 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4459             {
4460             (yyval.opval) = SPVM_OP_build_array_type(compiler, (yyvsp[-3].opval), (yyvsp[-1].opval));
4461             }
4462             #line 4463 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4463 21283           break;
4464              
4465             case 276:
4466             #line 1383 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4467             {
4468             (yyval.opval) = SPVM_OP_build_array_type(compiler, (yyvsp[-3].opval), (yyvsp[-1].opval));
4469             }
4470             #line 4471 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4471 47           break;
4472              
4473             case 278:
4474             #line 1390 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4475             {
4476             (yyval.opval) = SPVM_OP_new_op_void_type(compiler, compiler->current_file, compiler->current_line);
4477             }
4478             #line 4479 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4479 68250           break;
4480              
4481             case 279:
4482             #line 1396 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4483             {
4484             (yyval.opval) = SPVM_OP_new_op(compiler, SPVM_OP_C_ID_DO_NOTHING, compiler->current_file, compiler->current_line);
4485             }
4486             #line 4487 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4487 603988           break;
4488              
4489             case 281:
4490             #line 1403 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4491             {
4492             (yyval.opval) = (yyvsp[0].opval);
4493             }
4494             #line 4495 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4495 20           break;
4496              
4497             case 282:
4498             #line 1409 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4499             {
4500             SPVM_OP* op_list;
4501             if ((yyvsp[-2].opval)->id == SPVM_OP_C_ID_LIST) {
4502             op_list = (yyvsp[-2].opval);
4503             }
4504             else {
4505             op_list = SPVM_OP_new_op_list(compiler, (yyvsp[-2].opval)->file, (yyvsp[-2].opval)->line);
4506             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[-2].opval));
4507             }
4508             SPVM_OP_insert_child(compiler, op_list, op_list->last, (yyvsp[0].opval));
4509            
4510             (yyval.opval) = op_list;
4511             }
4512             #line 4513 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4513 6           break;
4514              
4515             case 283:
4516             #line 1423 "yacc/spvm_yacc.y" /* yacc.c:1646 */
4517             {
4518             (yyval.opval) = (yyvsp[0].opval);
4519             }
4520             #line 4521 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4521 20           break;
4522              
4523              
4524             #line 4525 "lib/SPVM/Builder/src/spvm_yacc.c" /* yacc.c:1646 */
4525 9361119           default: break;
4526             }
4527             /* User semantic actions sometimes alter yychar, and that requires
4528             that yytoken be updated with the new translation. We take the
4529             approach of translating immediately before every use of yytoken.
4530             One alternative is translating here after every semantic action,
4531             but that translation would be missed if the semantic action invokes
4532             YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
4533             if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
4534             incorrect destructor might then be invoked immediately. In the
4535             case of YYERROR or YYBACKUP, subsequent parser actions might lead
4536             to an incorrect destructor call or verbose syntax error message
4537             before the lookahead is translated. */
4538 22755052 50         YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4539              
4540 22755052           YYPOPSTACK (yylen);
4541 22755052           yylen = 0;
4542 22755052 50         YY_STACK_PRINT (yyss, yyssp);
4543              
4544 22755052           *++yyvsp = yyval;
4545              
4546             /* Now 'shift' the result of the reduction. Determine what state
4547             that goes to, based on the state we popped back to and the rule
4548             number reduced by. */
4549              
4550 22755052           yyn = yyr1[yyn];
4551              
4552 22755052           yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
4553 22755052 100         if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    50          
    100          
4554 11167021           yystate = yytable[yystate];
4555             else
4556 11588031           yystate = yydefgoto[yyn - YYNTOKENS];
4557              
4558 22755052           goto yynewstate;
4559              
4560              
4561             /*--------------------------------------.
4562             | yyerrlab -- here on detecting error. |
4563             `--------------------------------------*/
4564             yyerrlab:
4565             /* Make sure we have latest lookahead translation. See comments at
4566             user semantic actions for why this is necessary. */
4567 63 50         yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
    50          
4568              
4569             /* If not already recovering from an error, report this error. */
4570 63 50         if (!yyerrstatus)
4571             {
4572 63           ++yynerrs;
4573             #if ! YYERROR_VERBOSE
4574 63           yyerror (compiler, YY_("syntax error"));
4575             #else
4576             # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
4577             yyssp, yytoken)
4578             {
4579             char const *yymsgp = YY_("syntax error");
4580             int yysyntax_error_status;
4581             yysyntax_error_status = YYSYNTAX_ERROR;
4582             if (yysyntax_error_status == 0)
4583             yymsgp = yymsg;
4584             else if (yysyntax_error_status == 1)
4585             {
4586             if (yymsg != yymsgbuf)
4587             YYSTACK_FREE (yymsg);
4588             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
4589             if (!yymsg)
4590             {
4591             yymsg = yymsgbuf;
4592             yymsg_alloc = sizeof yymsgbuf;
4593             yysyntax_error_status = 2;
4594             }
4595             else
4596             {
4597             yysyntax_error_status = YYSYNTAX_ERROR;
4598             yymsgp = yymsg;
4599             }
4600             }
4601             yyerror (compiler, yymsgp);
4602             if (yysyntax_error_status == 2)
4603             goto yyexhaustedlab;
4604             }
4605             # undef YYSYNTAX_ERROR
4606             #endif
4607             }
4608              
4609              
4610              
4611 63 50         if (yyerrstatus == 3)
4612             {
4613             /* If just tried and failed to reuse lookahead token after an
4614             error, discard it. */
4615              
4616 0 0         if (yychar <= YYEOF)
4617             {
4618             /* Return failure if at end of input. */
4619 0 0         if (yychar == YYEOF)
4620 0           YYABORT;
4621             }
4622             else
4623             {
4624 0           yydestruct ("Error: discarding",
4625             yytoken, &yylval, compiler);
4626 0           yychar = YYEMPTY;
4627             }
4628             }
4629              
4630             /* Else will try to reuse lookahead token after shifting the error
4631             token. */
4632 63           goto yyerrlab1;
4633              
4634              
4635             /*---------------------------------------------------.
4636             | yyerrorlab -- error raised explicitly by YYERROR. |
4637             `---------------------------------------------------*/
4638             yyerrorlab:
4639              
4640             /* Pacify compilers like GCC when the user code never invokes
4641             YYERROR and the label yyerrorlab therefore never appears in user
4642             code. */
4643             if (/*CONSTCOND*/ 0)
4644             goto yyerrorlab;
4645              
4646             /* Do not reclaim the symbols of the rule whose action triggered
4647             this YYERROR. */
4648             YYPOPSTACK (yylen);
4649             yylen = 0;
4650             YY_STACK_PRINT (yyss, yyssp);
4651             yystate = *yyssp;
4652             goto yyerrlab1;
4653              
4654              
4655             /*-------------------------------------------------------------.
4656             | yyerrlab1 -- common code for both syntax error and YYERROR. |
4657             `-------------------------------------------------------------*/
4658             yyerrlab1:
4659 63           yyerrstatus = 3; /* Each real token shifted decrements this. */
4660              
4661             for (;;)
4662             {
4663 913           yyn = yypact[yystate];
4664 913 50         if (!yypact_value_is_default (yyn))
4665             {
4666 913           yyn += YYTERROR;
4667 913 100         if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
    50          
    50          
4668             {
4669 0           yyn = yytable[yyn];
4670 0 0         if (0 < yyn)
4671 0           break;
4672             }
4673             }
4674              
4675             /* Pop the current state because it cannot handle the error token. */
4676 913 100         if (yyssp == yyss)
4677 63           YYABORT;
4678              
4679              
4680 850           yydestruct ("Error: popping",
4681 850           yystos[yystate], yyvsp, compiler);
4682 850           YYPOPSTACK (1);
4683 850           yystate = *yyssp;
4684 850 50         YY_STACK_PRINT (yyss, yyssp);
4685 850           }
4686              
4687             YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4688 0           *++yyvsp = yylval;
4689             YY_IGNORE_MAYBE_UNINITIALIZED_END
4690              
4691              
4692             /* Shift the error token. */
4693 0 0         YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
4694              
4695 0           yystate = yyn;
4696 0           goto yynewstate;
4697              
4698              
4699             /*-------------------------------------.
4700             | yyacceptlab -- YYACCEPT comes here. |
4701             `-------------------------------------*/
4702             yyacceptlab:
4703 3529           yyresult = 0;
4704 3529           goto yyreturn;
4705              
4706             /*-----------------------------------.
4707             | yyabortlab -- YYABORT comes here. |
4708             `-----------------------------------*/
4709             yyabortlab:
4710 63           yyresult = 1;
4711 63           goto yyreturn;
4712              
4713             #if !defined yyoverflow || YYERROR_VERBOSE
4714             /*-------------------------------------------------.
4715             | yyexhaustedlab -- memory exhaustion comes here. |
4716             `-------------------------------------------------*/
4717             yyexhaustedlab:
4718 0           yyerror (compiler, YY_("memory exhausted"));
4719 0           yyresult = 2;
4720             /* Fall through. */
4721             #endif
4722              
4723             yyreturn:
4724 3592 100         if (yychar != YYEMPTY)
4725             {
4726             /* Make sure we have latest lookahead translation. See comments at
4727             user semantic actions for why this is necessary. */
4728 63 50         yytoken = YYTRANSLATE (yychar);
4729 63           yydestruct ("Cleanup: discarding lookahead",
4730             yytoken, &yylval, compiler);
4731             }
4732             /* Do not reclaim the symbols of the rule whose action triggered
4733             this YYABORT or YYACCEPT. */
4734 3592           YYPOPSTACK (yylen);
4735 3592 50         YY_STACK_PRINT (yyss, yyssp);
4736 10650 100         while (yyssp != yyss)
4737             {
4738 7058           yydestruct ("Cleanup: popping",
4739 7058           yystos[*yyssp], yyvsp, compiler);
4740 7058           YYPOPSTACK (1);
4741             }
4742             #ifndef yyoverflow
4743 3592 50         if (yyss != yyssa)
4744 0           YYSTACK_FREE (yyss);
4745             #endif
4746             #if YYERROR_VERBOSE
4747             if (yymsg != yymsgbuf)
4748             YYSTACK_FREE (yymsg);
4749             #endif
4750 3592           return yyresult;
4751             }
4752             #line 1436 "yacc/spvm_yacc.y" /* yacc.c:1906 */
4753