#include "registry.h"
#include "code.h"
#include "opcodes.h"
+#include "compiler.h"
+
+extern int a3_lex();
/* Line 198 of skeleton.m4 */
-#line 96 "parser.tab.c"
+#line 99 "parser.tab.c"
/* Enabling traces. */
#ifndef YYDEBUG
minusminus_prefix = 355,
plusplus_prefix = 356,
below_curly = 357,
- above_identifier = 358,
- below_else = 359,
- above_function = 360
+ new2 = 358,
+ above_identifier = 359,
+ below_else = 360,
+ above_function = 361
};
#endif
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union
/* Line 223 of skeleton.m4 */
-#line 41 "parser.y"
+#line 44 "parser.y"
tokenunion
{
/* Line 223 of skeleton.m4 */
-#line 41 "parser.y"
+#line 44 "parser.y"
enum yytokentype token;
int flags;
/* Line 223 of skeleton.m4 */
-#line 268 "parser.tab.c"
+#line 272 "parser.tab.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
/* Copy the second part of user declarations. */
/* Line 273 of skeleton.m4 */
-#line 251 "parser.y"
+#line 257 "parser.y"
static int a3_error(char*s)
char has_constructor;
} classstate_t;
+DECLARE_LIST(methodstate);
+
typedef struct _methodstate {
/* method data */
memberinfo_t*info;
char is_constructor;
char has_super;
char is_global;
- char inner;
int variable_count;
+
+ char inner;
+ abc_method_t*abc;
+ int var_index; // for inner methods
+
abc_exception_list_t*exceptions;
+
+ methodstate_list_t*innerfunctions;
} methodstate_t;
typedef struct _state {
import_list_t*wildcard_imports;
dict_t*imports;
char has_own_imports;
+ char new_vars; // e.g. transition between two functions
classstate_t*cls;
methodstate_t*method;
typedef struct _global {
abc_file_t*file;
abc_script_t*init;
+ dict_t*token2info;
} global_t;
static global_t*global = 0;
state = state->old;
- if(leaving->method && leaving->method != state->method) {
+ if(as3_pass>1 && leaving->method && leaving->method != state->method && !leaving->method->inner) {
free(leaving->method);
leaving->method=0;
}
state_destroy(leaving);
}
-void initialize_parser()
-{
- global = rfx_calloc(sizeof(global_t));
- global->file = abc_file_new();
- global->file->flags &= ~ABCFILE_LAZY;
-
- global->init = abc_initscript(global->file);
- code_t*c = global->init->method->body->code;
- c = abc_getlocal_0(c);
- c = abc_pushscope(c);
- global->init->method->body->code = c;
-}
-
void initialize_file(char*filename)
{
+ if(state) {
+ syntaxerror("invalid call to initialize_file during parsing of another file");
+ }
new_state();
- state->package = filename;
+ state->package = strdup(filename);
state->method = rfx_calloc(sizeof(methodstate_t));
state->method->variable_count = 1;
void finish_file()
{
if(!state || state->level!=1) {
- syntaxerror("unexpected end of file");
+ syntaxerror("unexpected end of file in pass %d", as3_pass);
}
+ free(state->method);state->method=0;
+
+ //free(state->package);state->package=0; // used in registry
+
state_destroy(state);state=0;
}
+void initialize_parser()
+{
+ global = rfx_calloc(sizeof(global_t));
+ global->file = abc_file_new();
+ global->file->flags &= ~ABCFILE_LAZY;
+ global->token2info = dict_new2(&ptr_type);
+
+ global->init = abc_initscript(global->file);
+ code_t*c = global->init->method->body->code;
+ c = abc_getlocal_0(c);
+ c = abc_pushscope(c);
+ global->init->method->body->code = c;
+}
+
void* finish_parser()
{
code_t*c = global->init->method->body->code;
c = abc_callpropvoid(c, "[package]::trace", 1);*/
c = abc_returnvoid(c);
global->init->method->body->code = c;
+ dict_destroy(global->token2info);global->token2info=0;
return global->file;
}
if(v) {
return v;
}
+ if(s->new_vars)
+ break;
s = s->old;
}
return 0;
return dict_lookup(state->vars, name)!=0;
}
code_t*defaultvalue(code_t*c, classinfo_t*type);
-static int new_variable(char*name, classinfo_t*type, char init)
+static int new_variable(const char*name, classinfo_t*type, char init)
{
NEW(variable_t, v);
v->index = state->method->variable_count;
return c;
}
+#define parserassert(b) {if(!(b)) parsererror(__FILE__, __LINE__,__func__);}
+
+static void parsererror(const char*file, int line, const char*f)
+{
+ syntaxerror("internal error in %s, %s:%d", f, file, line);
+}
+
+
+code_t* method_header()
+{
+ code_t*c = 0;
+ if(state->method->late_binding && !state->method->inner) {
+ c = abc_getlocal_0(c);
+ c = abc_pushscope(c);
+ }
+ /*if(state->method->innerfunctions) {
+ c = abc_newactivation(c);
+ c = abc_pushscope(c);
+ }*/
+ if(state->method->is_constructor && !state->method->has_super) {
+ // call default constructor
+ c = abc_getlocal_0(c);
+ c = abc_constructsuper(c, 0);
+ }
+ methodstate_list_t*l = state->method->innerfunctions;
+ while(l) {
+ parserassert(l->methodstate->abc);
+ c = abc_newfunction(c, l->methodstate->abc);
+ c = abc_setlocal(c, l->methodstate->var_index);
+ free(l->methodstate);l->methodstate=0;
+ l = l->next;
+ }
+ list_free(state->method->innerfunctions);
+ state->method->innerfunctions = 0;
+ return c;
+}
+
+
static code_t* wrap_function(code_t*c,code_t*header, code_t*body)
{
c = code_append(c, header);
old_state();
}
-void parserassert(int b)
-{
- if(!b) syntaxerror("internal error: assertion failed");
-}
-
char*as3_globalclass=0;
static void startclass(int flags, char*classname, classinfo_t*extends, classinfo_list_t*implements, char interface)
}
new_state();
state->cls = rfx_calloc(sizeof(classstate_t));
- state->method = rfx_calloc(sizeof(methodstate_t)); // method state, for static constructor
- state->method->variable_count = 1;
token_list_t*t=0;
classinfo_list_t*mlist=0;
char*package=0;
if(!(flags&FLAG_PUBLIC) && !state->package) {
- access = ACCESS_PRIVATE; package = current_filename;
+ access = ACCESS_PRIVATE; package = strdup(current_filename_short);
} else if(!(flags&FLAG_PUBLIC) && state->package) {
access = ACCESS_PACKAGEINTERNAL; package = state->package;
} else if(state->package) {
}
if(as3_pass==1) {
+ state->method = rfx_calloc(sizeof(methodstate_t)); // method state, for static constructor
+ state->method->variable_count = 1;
+ dict_put(global->token2info, (void*)(ptroff_t)as3_tokencount, state->method);
+
if(registry_findclass(package, classname)) {
syntaxerror("Package \"%s\" already contains a class called \"%s\"", package, classname);
}
}
if(as3_pass == 2) {
+ state->method = dict_lookup(global->token2info, (void*)(ptroff_t)as3_tokencount);
+
state->cls->info = registry_findclass(package, classname);
parserassert((int)state->cls->info);
classinfo_t*type=0;
if(getset == KW_GET)
type = return_type;
- else if(params->list)
+ else if(params->list && params->list->param)
type = params->list->param->type;
// not sure wether to look into superclasses here, too
if((minfo=registry_findmember(state->cls->info, name, 0))) {
return minfo;
}
+static void function_initvars(params_t*params, int flags)
+{
+ if(state->method->inner)
+ new_variable("this", 0, 0);
+ else if(!state->method->is_global)
+ new_variable((flags&FLAG_STATIC)?"class":"this", state->cls->info, 0);
+ else
+ new_variable("globalscope", 0, 0);
+
+ param_list_t*p=0;
+ for(p=params->list;p;p=p->next) {
+ new_variable(p->param->name, p->param->type, 0);
+ }
+
+ methodstate_list_t*l = state->method->innerfunctions;
+ while(l) {
+ methodstate_t*m = l->methodstate;
+ m->var_index = new_variable(m->info->name, TYPE_FUNCTION(m->info), 0);
+ l = l->next;
+ }
+}
+
static void innerfunction(char*name, params_t*params, classinfo_t*return_type)
{
parserassert(state->method && state->method->info);
- memberinfo_t*parent_method = state->method->info;
+
+ methodstate_t*parent_method = state->method;
if(as3_pass==1) {
// not valid yet
}
new_state();
- state->method = rfx_calloc(sizeof(methodstate_t));
- state->method->inner = 1;
- state->method->variable_count = 0;
+ state->new_vars = 1;
- memberinfo_t*minfo = 0;
-
- /* TODO: we need some better way to pass things from pass1 to pass2 */
- char myname[200];
- sprintf(myname, "as3-innerfunction-%d-%d", current_line, current_column);
-
if(as3_pass == 1) {
- minfo = rfx_calloc(sizeof(memberinfo_t));
+ state->method = rfx_calloc(sizeof(methodstate_t));
+ state->method->inner = 1;
+ state->method->variable_count = 0;
+ state->method->abc = rfx_calloc(sizeof(abc_method_t));
+
+ NEW(memberinfo_t,minfo);
minfo->name = name;
- if(!parent_method->subfunctions)
- parent_method->subfunctions = dict_new();
- if(name)
- dict_put(parent_method->subfunctions, name, minfo);
- dict_put(parent_method->subfunctions, myname, minfo);
+ state->method->info = minfo;
+
+ list_append(parent_method->innerfunctions, state->method);
+
+ dict_put(global->token2info, (void*)(ptroff_t)as3_tokencount, state->method);
}
if(as3_pass == 2) {
- minfo = dict_lookup(parent_method->subfunctions, myname);
- parserassert(minfo);
-
- minfo->return_type = return_type;
+ state->method = dict_lookup(global->token2info, (void*)(ptroff_t)as3_tokencount);
+ parserassert(state->method);
- new_variable("FIXME", 0, 0); //FIXME: is local_0 "this"?
- param_list_t*p=0;
- for(p=params->list;p;p=p->next) {
- new_variable(p->param->name, p->param->type, 0);
- }
+ state->method->info->return_type = return_type;
+ function_initvars(params, 0);
}
- state->method->info = minfo;
}
static void startfunction(token_t*ns, int flags, enum yytokentype getset, char*name,
syntaxerror("not able to start another method scope");
}
new_state();
- state->method = rfx_calloc(sizeof(methodstate_t));
- state->method->has_super = 0;
- state->method->variable_count = 0;
+
+ if(as3_pass == 1) {
+ state->method = rfx_calloc(sizeof(methodstate_t));
+ state->method->has_super = 0;
+ state->method->variable_count = 0;
- if(state->cls) {
- state->method->is_constructor = !strcmp(state->cls->info->name,name);
- state->cls->has_constructor |= state->method->is_constructor;
- } else {
- state->method->is_global = 1;
- state->method->late_binding = 1; // for global methods, always push local_0 on the scope stack
- }
- if(state->method->is_constructor)
- name = "__as3_constructor__";
+ if(state->cls) {
+ state->method->is_constructor = !strcmp(state->cls->info->name,name);
+ } else {
+ state->method->is_global = 1;
+ state->method->late_binding = 1; // for global methods, always push local_0 on the scope stack
+ }
+ if(state->method->is_constructor)
+ name = "__as3_constructor__";
- if(as3_pass == 1) {
return_type = 0;
state->method->info = registerfunction(getset, flags, name, params, return_type, 0);
+
+ dict_put(global->token2info, (void*)(ptroff_t)as3_tokencount, state->method);
}
if(as3_pass == 2) {
- /* retrieve the member info that we stored in the first pass.
- TODO: better getter/setter support? */
- if(!state->cls) state->method->info = registry_findclass(state->package, name)->function;
- else state->method->info = registry_findmember(state->cls->info, name, 0);
- state->method->info->return_type = return_type;
-
- /* state->vars is initialized by state_new */
- if(!state->method->is_global)
- new_variable((flags&FLAG_STATIC)?"class":"this", state->cls->info, 0);
- else
- new_variable("globalscope", 0, 0);
- param_list_t*p=0;
- for(p=params->list;p;p=p->next) {
- new_variable(p->param->name, p->param->type, 0);
+ state->method = dict_lookup(global->token2info, (void*)(ptroff_t)as3_tokencount);
+ parserassert(state->method);
+
+ if(state->cls) {
+ state->cls->has_constructor |= state->method->is_constructor;
}
+
+ state->method->info->return_type = return_type;
+ function_initvars(params, flags);
}
}
multiname_t*type2 = sig2mname(return_type);
int slot = 0;
if(state->method->inner) {
- f = abc_method_new(global->file, type2, 1);
+ f = state->method->abc;
+ abc_method_init(f, global->file, type2, 1);
} else if(state->method->is_constructor) {
f = abc_class_getconstructor(state->cls->abc, type2);
} else if(!state->method->is_global) {
/* try global package */
c = registry_findclass("", name);
if(c) return c;
-
+
/* try local "filename" package */
c = registry_findclass(current_filename_short, name);
if(c) return c;
[prefix code] ([dup]) [read instruction] [middlepart] [setvar] [write instruction] [getvar]
*/
-
if(in && in->opcode == OPCODE_COERCE_A) {
in = code_cutlast(in);
}
c = code_append(c, write);
c = code_append(c, r);
} else {
+ code_free(r);r=0;
temp = gettempvar();
if(prefix) {
c = code_append(c, prefix);
/* Line 273 of skeleton.m4 */
-#line 1592 "parser.tab.c"
+#line 1665 "parser.tab.c"
#ifdef short
# undef short
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 119
+#define YYFINAL 117
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2463
+#define YYLAST 3011
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 130
+#define YYNTOKENS 131
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 106
+#define YYNNTS 107
/* YYNRULES -- Number of rules. */
-#define YYNRULES 286
+#define YYNRULES 289
/* YYNRULES -- Number of states. */
-#define YYNSTATES 479
+#define YYNSTATES 491
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 360
+#define YYMAXUTOK 361
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 116, 2, 2, 2, 114, 106, 2,
- 126, 129, 113, 111, 97, 110, 123, 112, 2, 2,
+ 120, 130, 113, 111, 97, 110, 125, 112, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 103, 96,
107, 99, 108, 102, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 120, 2, 121, 105, 2, 2, 2, 2, 2,
+ 2, 122, 2, 123, 105, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 122, 104, 128, 115, 2, 2, 2,
+ 2, 2, 2, 124, 104, 129, 115, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 98, 100, 101, 109, 117, 118, 119, 124, 125,
- 127
+ 95, 98, 100, 101, 109, 117, 118, 119, 121, 126,
+ 127, 128
};
#if YYDEBUG
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 5, 6, 8, 10, 13, 15, 17,
- 19, 21, 23, 25, 27, 28, 30, 32, 35, 37,
- 39, 41, 43, 45, 47, 49, 50, 53, 55, 57,
- 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
- 79, 81, 83, 85, 87, 89, 91, 93, 97, 100,
- 103, 105, 107, 110, 111, 114, 117, 119, 123, 127,
- 128, 131, 132, 140, 141, 143, 145, 149, 151, 154,
- 158, 167, 174, 175, 182, 183, 191, 193, 196, 198,
- 201, 202, 204, 206, 209, 211, 214, 219, 223, 224,
- 233, 234, 244, 245, 251, 253, 256, 258, 261, 263,
- 264, 271, 274, 276, 282, 284, 286, 290, 292, 293,
- 300, 301, 307, 310, 315, 316, 318, 320, 323, 325,
- 327, 329, 331, 333, 335, 337, 339, 341, 342, 345,
- 346, 349, 350, 353, 354, 364, 365, 374, 375, 377,
- 379, 382, 384, 386, 388, 390, 391, 393, 395, 398,
- 400, 403, 412, 414, 416, 422, 423, 426, 428, 430,
- 432, 434, 436, 438, 440, 442, 443, 445, 448, 453,
- 457, 459, 464, 467, 469, 471, 472, 473, 486, 488,
- 489, 490, 501, 503, 507, 509, 511, 513, 517, 519,
- 521, 523, 526, 527, 528, 532, 533, 535, 537, 541,
- 545, 550, 555, 558, 560, 563, 565, 567, 571, 573,
- 575, 577, 579, 581, 583, 585, 587, 589, 591, 593,
- 595, 597, 599, 601, 603, 605, 607, 611, 615, 619,
- 623, 627, 631, 635, 639, 643, 647, 650, 653, 657,
- 661, 665, 669, 673, 677, 681, 685, 689, 693, 697,
- 701, 705, 709, 713, 718, 721, 723, 727, 730, 735,
- 739, 740, 742, 746, 752, 756, 760, 764, 768, 772,
- 776, 780, 784, 788, 792, 796, 802, 805, 808, 811,
- 814, 818, 822, 824, 828, 834, 840
+ 19, 21, 23, 25, 32, 34, 35, 37, 39, 42,
+ 44, 46, 48, 50, 52, 59, 61, 63, 64, 67,
+ 69, 71, 73, 75, 77, 79, 81, 83, 85, 87,
+ 89, 91, 93, 95, 97, 99, 101, 103, 105, 107,
+ 111, 114, 117, 119, 121, 124, 125, 128, 131, 133,
+ 137, 141, 142, 145, 146, 154, 155, 157, 159, 163,
+ 165, 168, 172, 181, 188, 189, 196, 197, 205, 207,
+ 210, 212, 215, 216, 218, 220, 223, 225, 228, 233,
+ 237, 238, 247, 248, 258, 259, 265, 267, 270, 272,
+ 275, 277, 278, 285, 288, 290, 296, 298, 300, 304,
+ 306, 307, 314, 315, 321, 324, 329, 330, 332, 334,
+ 337, 339, 341, 343, 345, 347, 349, 351, 353, 355,
+ 356, 359, 360, 363, 364, 367, 368, 378, 379, 388,
+ 389, 391, 393, 396, 398, 400, 402, 404, 405, 407,
+ 409, 412, 414, 417, 426, 428, 430, 436, 437, 440,
+ 442, 444, 446, 448, 450, 452, 454, 456, 457, 459,
+ 462, 467, 471, 473, 478, 481, 483, 485, 486, 487,
+ 500, 502, 503, 504, 515, 517, 521, 523, 525, 527,
+ 531, 533, 535, 537, 540, 541, 542, 546, 547, 549,
+ 551, 555, 556, 561, 566, 571, 574, 576, 579, 581,
+ 583, 587, 589, 591, 593, 595, 597, 599, 601, 603,
+ 605, 607, 609, 611, 613, 615, 617, 619, 621, 623,
+ 627, 631, 635, 639, 643, 647, 651, 655, 659, 663,
+ 666, 669, 673, 677, 681, 685, 689, 693, 697, 701,
+ 705, 709, 713, 717, 721, 725, 729, 734, 737, 739,
+ 743, 746, 751, 755, 756, 758, 762, 768, 772, 776,
+ 780, 784, 788, 792, 796, 800, 804, 808, 812, 818,
+ 821, 824, 827, 830, 834, 838, 840, 844, 850, 856
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 131, 0, -1, 132, -1, -1, 133, -1, 134, -1,
- 133, 134, -1, 180, -1, 192, -1, 190, -1, 208,
- -1, 201, -1, 143, -1, 96, -1, -1, 136, -1,
- 137, -1, 136, 137, -1, 192, -1, 190, -1, 208,
- -1, 201, -1, 143, -1, 96, -1, 139, -1, -1,
- 139, 141, -1, 141, -1, 183, -1, 154, -1, 155,
- -1, 156, -1, 158, -1, 166, -1, 149, -1, 177,
- -1, 174, -1, 228, -1, 96, -1, 140, -1, 145,
- -1, 160, -1, 161, -1, 225, -1, 176, -1, 234,
- -1, 235, -1, 122, 139, 128, -1, 122, 128, -1,
- 141, 96, -1, 141, -1, 140, -1, 99, 226, -1,
- -1, 45, 146, -1, 31, 146, -1, 147, -1, 146,
- 97, 147, -1, 3, 218, 144, -1, -1, 64, 142,
- -1, -1, 63, 126, 150, 227, 129, 142, 148, -1,
- -1, 145, -1, 228, -1, 45, 3, 218, -1, 3,
- -1, 12, 126, -1, 12, 49, 126, -1, 153, 151,
- 96, 227, 96, 228, 129, 142, -1, 153, 152, 67,
- 227, 129, 142, -1, -1, 13, 126, 157, 227, 129,
- 142, -1, -1, 14, 159, 142, 13, 126, 227, 129,
- -1, 65, -1, 65, 3, -1, 29, -1, 29, 3,
- -1, -1, 163, -1, 165, -1, 163, 165, -1, 164,
- -1, 163, 164, -1, 33, 229, 103, 138, -1, 61,
- 103, 138, -1, -1, 15, 126, 167, 229, 129, 122,
- 162, 128, -1, -1, 32, 126, 3, 218, 129, 169,
- 122, 138, 128, -1, -1, 27, 122, 171, 138, 128,
- -1, 168, -1, 172, 168, -1, 172, -1, 172, 170,
- -1, 170, -1, -1, 51, 122, 175, 138, 128, 173,
- -1, 36, 227, -1, 36, -1, 38, 126, 227, 129,
- 142, -1, 3, -1, 18, -1, 179, 123, 178, -1,
- 178, -1, -1, 18, 179, 122, 181, 135, 128, -1,
- -1, 18, 122, 182, 135, 128, -1, 40, 215, -1,
- 40, 179, 123, 113, -1, -1, 185, -1, 186, -1,
- 185, 186, -1, 20, -1, 21, -1, 19, -1, 37,
- -1, 46, -1, 48, -1, 47, -1, 25, -1, 23,
- -1, -1, 53, 215, -1, -1, 53, 216, -1, -1,
- 16, 216, -1, -1, 184, 30, 3, 187, 189, 122,
- 191, 194, 128, -1, -1, 184, 43, 3, 188, 122,
- 193, 197, 128, -1, -1, 195, -1, 196, -1, 195,
- 196, -1, 96, -1, 201, -1, 208, -1, 140, -1,
- -1, 198, -1, 199, -1, 198, 199, -1, 96, -1,
- 45, 3, -1, 184, 26, 207, 3, 126, 204, 129,
- 218, -1, 45, -1, 31, -1, 184, 200, 3, 218,
- 144, -1, -1, 99, 203, -1, 9, -1, 7, -1,
- 8, -1, 11, -1, 4, -1, 55, -1, 54, -1,
- 44, -1, -1, 205, -1, 90, 206, -1, 205, 97,
- 90, 206, -1, 205, 97, 206, -1, 206, -1, 3,
- 103, 217, 202, -1, 3, 202, -1, 50, -1, 34,
- -1, -1, -1, 184, 26, 207, 3, 126, 204, 129,
- 218, 122, 209, 138, 128, -1, 3, -1, -1, -1,
- 26, 210, 126, 204, 129, 218, 122, 212, 138, 128,
- -1, 3, -1, 179, 123, 3, -1, 214, -1, 213,
- -1, 215, -1, 216, 97, 215, -1, 215, -1, 113,
- -1, 35, -1, 103, 217, -1, -1, -1, 126, 220,
- 129, -1, -1, 221, -1, 226, -1, 221, 97, 226,
- -1, 24, 213, 219, -1, 229, 126, 220, 129, -1,
- 52, 126, 220, 129, -1, 62, 229, -1, 41, -1,
- 41, 227, -1, 229, -1, 229, -1, 227, 97, 229,
- -1, 227, -1, 211, -1, 230, -1, 233, -1, 222,
- -1, 224, -1, 5, -1, 9, -1, 10, -1, 7,
- -1, 8, -1, 11, -1, 4, -1, 28, -1, 55,
- -1, 54, -1, 44, -1, 223, -1, 229, 107, 229,
- -1, 229, 108, 229, -1, 229, 73, 229, -1, 229,
- 74, 229, -1, 229, 69, 229, -1, 229, 70, 229,
- -1, 229, 72, 229, -1, 229, 71, 229, -1, 229,
- 84, 229, -1, 229, 85, 229, -1, 116, 229, -1,
- 115, 229, -1, 229, 106, 229, -1, 229, 105, 229,
- -1, 229, 104, 229, -1, 229, 93, 229, -1, 229,
- 92, 229, -1, 229, 91, 229, -1, 229, 112, 229,
- -1, 229, 114, 229, -1, 229, 111, 229, -1, 229,
- 110, 229, -1, 229, 113, 229, -1, 229, 67, 229,
- -1, 229, 68, 229, -1, 229, 39, 229, -1, 229,
- 66, 229, -1, 42, 126, 229, 129, -1, 35, 229,
- -1, 35, -1, 126, 227, 129, -1, 110, 229, -1,
- 229, 120, 229, 121, -1, 120, 220, 121, -1, -1,
- 232, -1, 226, 103, 226, -1, 232, 97, 226, 103,
- 226, -1, 122, 231, 128, -1, 229, 78, 229, -1,
- 229, 77, 229, -1, 229, 82, 229, -1, 229, 81,
- 229, -1, 229, 83, 229, -1, 229, 76, 229, -1,
- 229, 75, 229, -1, 229, 79, 229, -1, 229, 80,
- 229, -1, 229, 99, 229, -1, 229, 102, 229, 103,
- 229, -1, 229, 88, -1, 229, 87, -1, 88, 229,
- -1, 87, 229, -1, 52, 123, 3, -1, 229, 123,
- 3, -1, 3, -1, 184, 17, 3, -1, 184, 17,
- 3, 99, 3, -1, 184, 17, 3, 99, 4, -1,
- 22, 17, 3, -1
+ 132, 0, -1, 133, -1, -1, 134, -1, 135, -1,
+ 134, 135, -1, 181, -1, 193, -1, 191, -1, 209,
+ -1, 202, -1, 144, -1, 3, 86, 3, 124, 134,
+ 129, -1, 96, -1, -1, 137, -1, 138, -1, 137,
+ 138, -1, 193, -1, 191, -1, 209, -1, 202, -1,
+ 144, -1, 3, 86, 3, 124, 137, 129, -1, 96,
+ -1, 140, -1, -1, 140, 142, -1, 142, -1, 184,
+ -1, 155, -1, 156, -1, 157, -1, 159, -1, 167,
+ -1, 150, -1, 178, -1, 175, -1, 230, -1, 96,
+ -1, 141, -1, 146, -1, 161, -1, 162, -1, 227,
+ -1, 177, -1, 236, -1, 237, -1, 124, 140, 129,
+ -1, 124, 129, -1, 142, 96, -1, 142, -1, 141,
+ -1, 99, 228, -1, -1, 45, 147, -1, 31, 147,
+ -1, 148, -1, 147, 97, 148, -1, 3, 219, 145,
+ -1, -1, 64, 143, -1, -1, 63, 120, 151, 229,
+ 130, 143, 149, -1, -1, 146, -1, 230, -1, 45,
+ 3, 219, -1, 3, -1, 12, 120, -1, 12, 49,
+ 120, -1, 154, 152, 96, 229, 96, 230, 130, 143,
+ -1, 154, 153, 67, 229, 130, 143, -1, -1, 13,
+ 120, 158, 229, 130, 143, -1, -1, 14, 160, 143,
+ 13, 120, 229, 130, -1, 65, -1, 65, 3, -1,
+ 29, -1, 29, 3, -1, -1, 164, -1, 166, -1,
+ 164, 166, -1, 165, -1, 164, 165, -1, 33, 231,
+ 103, 139, -1, 61, 103, 139, -1, -1, 15, 120,
+ 168, 231, 130, 124, 163, 129, -1, -1, 32, 120,
+ 3, 219, 130, 170, 124, 139, 129, -1, -1, 27,
+ 124, 172, 139, 129, -1, 169, -1, 173, 169, -1,
+ 173, -1, 173, 171, -1, 171, -1, -1, 51, 124,
+ 176, 139, 129, 174, -1, 36, 229, -1, 36, -1,
+ 38, 120, 229, 130, 143, -1, 3, -1, 18, -1,
+ 180, 125, 179, -1, 179, -1, -1, 18, 180, 124,
+ 182, 136, 129, -1, -1, 18, 124, 183, 136, 129,
+ -1, 40, 215, -1, 40, 180, 125, 113, -1, -1,
+ 186, -1, 187, -1, 186, 187, -1, 20, -1, 21,
+ -1, 19, -1, 37, -1, 46, -1, 48, -1, 47,
+ -1, 25, -1, 23, -1, -1, 53, 216, -1, -1,
+ 53, 217, -1, -1, 16, 217, -1, -1, 185, 30,
+ 3, 188, 190, 124, 192, 195, 129, -1, -1, 185,
+ 43, 3, 189, 124, 194, 198, 129, -1, -1, 196,
+ -1, 197, -1, 196, 197, -1, 96, -1, 202, -1,
+ 209, -1, 141, -1, -1, 199, -1, 200, -1, 199,
+ 200, -1, 96, -1, 45, 3, -1, 185, 26, 208,
+ 3, 120, 205, 130, 219, -1, 45, -1, 31, -1,
+ 185, 201, 3, 219, 145, -1, -1, 99, 204, -1,
+ 9, -1, 7, -1, 8, -1, 11, -1, 4, -1,
+ 55, -1, 54, -1, 44, -1, -1, 206, -1, 90,
+ 207, -1, 206, 97, 90, 207, -1, 206, 97, 207,
+ -1, 207, -1, 3, 103, 218, 203, -1, 3, 203,
+ -1, 50, -1, 34, -1, -1, -1, 185, 26, 208,
+ 3, 120, 205, 130, 219, 124, 210, 139, 129, -1,
+ 3, -1, -1, -1, 26, 211, 120, 205, 130, 219,
+ 124, 213, 139, 129, -1, 3, -1, 180, 125, 3,
+ -1, 215, -1, 214, -1, 216, -1, 217, 97, 216,
+ -1, 216, -1, 113, -1, 35, -1, 103, 218, -1,
+ -1, -1, 120, 221, 130, -1, -1, 222, -1, 228,
+ -1, 222, 97, 228, -1, -1, 24, 231, 223, 220,
+ -1, 231, 120, 221, 130, -1, 52, 120, 221, 130,
+ -1, 62, 231, -1, 41, -1, 41, 229, -1, 231,
+ -1, 231, -1, 229, 97, 231, -1, 229, -1, 212,
+ -1, 232, -1, 235, -1, 224, -1, 226, -1, 225,
+ -1, 5, -1, 9, -1, 10, -1, 7, -1, 8,
+ -1, 11, -1, 4, -1, 28, -1, 55, -1, 54,
+ -1, 44, -1, 231, 107, 231, -1, 231, 108, 231,
+ -1, 231, 73, 231, -1, 231, 74, 231, -1, 231,
+ 69, 231, -1, 231, 70, 231, -1, 231, 72, 231,
+ -1, 231, 71, 231, -1, 231, 84, 231, -1, 231,
+ 85, 231, -1, 116, 231, -1, 115, 231, -1, 231,
+ 106, 231, -1, 231, 105, 231, -1, 231, 104, 231,
+ -1, 231, 93, 231, -1, 231, 92, 231, -1, 231,
+ 91, 231, -1, 231, 112, 231, -1, 231, 114, 231,
+ -1, 231, 111, 231, -1, 231, 110, 231, -1, 231,
+ 113, 231, -1, 231, 67, 231, -1, 231, 68, 231,
+ -1, 231, 39, 231, -1, 231, 66, 231, -1, 42,
+ 120, 231, 130, -1, 35, 231, -1, 35, -1, 120,
+ 229, 130, -1, 110, 231, -1, 231, 122, 231, 123,
+ -1, 122, 221, 123, -1, -1, 234, -1, 228, 103,
+ 228, -1, 234, 97, 228, 103, 228, -1, 124, 233,
+ 129, -1, 231, 78, 231, -1, 231, 77, 231, -1,
+ 231, 82, 231, -1, 231, 81, 231, -1, 231, 83,
+ 231, -1, 231, 76, 231, -1, 231, 75, 231, -1,
+ 231, 79, 231, -1, 231, 80, 231, -1, 231, 99,
+ 231, -1, 231, 102, 231, 103, 231, -1, 231, 88,
+ -1, 231, 87, -1, 88, 231, -1, 87, 231, -1,
+ 52, 125, 3, -1, 231, 125, 3, -1, 3, -1,
+ 185, 17, 3, -1, 185, 17, 3, 99, 3, -1,
+ 185, 17, 3, 99, 4, -1, 22, 17, 3, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1566, 1566, 1568, 1568, 1569, 1570, 1572, 1573, 1574,
- 1575, 1576, 1577, 1578, 1580, 1580, 1581, 1582, 1584, 1585,
- 1586, 1587, 1588, 1589, 1591, 1592, 1594, 1595, 1598, 1599,
- 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1610, 1611,
- 1612, 1613, 1614, 1615, 1616, 1618, 1619, 1621, 1622, 1623,
- 1624, 1628, 1635, 1636, 1640, 1641, 1643, 1644, 1646, 1687,
- 1688, 1691, 1691, 1710, 1711, 1712, 1715, 1718, 1722, 1723,
- 1725, 1745, 1788, 1788, 1807, 1807, 1822, 1825, 1828, 1831,
- 1835, 1836, 1837, 1838, 1839, 1840, 1842, 1853, 1856, 1856,
- 1885, 1885, 1905, 1905, 1922, 1923, 1924, 1925, 1933, 1942,
- 1942, 1987, 1991, 2002, 2011, 2012, 2014, 2015, 2017, 2017,
- 2019, 2019, 2022, 2030, 2040, 2041, 2042, 2043, 2045, 2046,
- 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2055, 2056, 2058,
- 2059, 2061, 2062, 2066, 2064, 2072, 2070, 2078, 2079, 2080,
- 2081, 2082, 2083, 2084, 2086, 2092, 2093, 2094, 2095, 2096,
- 2097, 2100, 2112, 2112, 2114, 2173, 2174, 2176, 2177, 2178,
- 2179, 2180, 2182, 2183, 2184, 2189, 2192, 2197, 2202, 2209,
- 2213, 2218, 2224, 2230, 2231, 2232, 2235, 2234, 2257, 2258,
- 2260, 2259, 2279, 2287, 2295, 2296, 2298, 2299, 2301, 2302,
- 2303, 2312, 2313, 2317, 2318, 2320, 2321, 2322, 2325, 2330,
- 2354, 2402, 2422, 2443, 2446, 2453, 2454, 2455, 2461, 2467,
- 2469, 2471, 2473, 2475, 2477, 2494, 2499, 2502, 2505, 2508,
- 2511, 2514, 2517, 2520, 2523, 2527, 2528, 2531, 2534, 2537,
- 2540, 2543, 2546, 2549, 2553, 2564, 2582, 2587, 2592, 2597,
- 2602, 2607, 2611, 2615, 2620, 2624, 2628, 2637, 2646, 2656,
- 2661, 2673, 2679, 2684, 2690, 2696, 2700, 2702, 2713, 2722,
- 2729, 2730, 2732, 2738, 2747, 2754, 2766, 2772, 2778, 2784,
- 2790, 2796, 2802, 2815, 2826, 2833, 2846, 2873, 2887, 2901,
- 2915, 2930, 2964, 3062, 3063, 3064, 3066
+ 0, 1641, 1641, 1643, 1643, 1644, 1645, 1647, 1648, 1649,
+ 1650, 1651, 1652, 1653, 1654, 1656, 1656, 1657, 1658, 1660,
+ 1661, 1662, 1663, 1664, 1665, 1666, 1668, 1669, 1671, 1672,
+ 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684,
+ 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1695, 1696, 1698,
+ 1699, 1700, 1701, 1705, 1712, 1713, 1717, 1718, 1720, 1721,
+ 1723, 1766, 1767, 1770, 1770, 1789, 1790, 1791, 1794, 1797,
+ 1801, 1802, 1804, 1824, 1867, 1867, 1886, 1886, 1901, 1904,
+ 1907, 1910, 1914, 1915, 1916, 1917, 1918, 1919, 1921, 1932,
+ 1935, 1935, 1964, 1964, 1984, 1984, 2001, 2002, 2003, 2004,
+ 2012, 2021, 2021, 2066, 2070, 2081, 2090, 2091, 2093, 2094,
+ 2096, 2096, 2098, 2098, 2101, 2115, 2131, 2132, 2133, 2134,
+ 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2146,
+ 2147, 2149, 2150, 2152, 2153, 2157, 2155, 2163, 2161, 2169,
+ 2170, 2171, 2172, 2173, 2174, 2175, 2177, 2183, 2184, 2185,
+ 2186, 2187, 2188, 2191, 2204, 2204, 2206, 2265, 2266, 2268,
+ 2269, 2270, 2271, 2272, 2274, 2275, 2276, 2281, 2285, 2291,
+ 2297, 2305, 2310, 2316, 2324, 2332, 2333, 2334, 2337, 2336,
+ 2351, 2352, 2354, 2353, 2375, 2383, 2395, 2396, 2398, 2399,
+ 2401, 2402, 2403, 2412, 2413, 2417, 2418, 2420, 2421, 2422,
+ 2425, 2430, 2431, 2467, 2513, 2534, 2555, 2558, 2565, 2566,
+ 2567, 2573, 2579, 2581, 2583, 2585, 2587, 2589, 2591, 2608,
+ 2613, 2616, 2619, 2622, 2625, 2628, 2631, 2634, 2637, 2641,
+ 2644, 2647, 2650, 2653, 2656, 2659, 2662, 2666, 2677, 2695,
+ 2700, 2705, 2710, 2715, 2720, 2724, 2728, 2733, 2737, 2741,
+ 2750, 2759, 2769, 2774, 2786, 2792, 2797, 2803, 2809, 2813,
+ 2815, 2826, 2835, 2842, 2843, 2845, 2851, 2860, 2867, 2879,
+ 2885, 2891, 2897, 2903, 2909, 2915, 2928, 2939, 2946, 2959,
+ 2986, 3000, 3014, 3028, 3043, 3077, 3174, 3175, 3176, 3178
};
#endif
"';'", "','", "below_assignment", "'='", "\"&=\"", "\"^=\"", "'?'",
"':'", "'|'", "'^'", "'&'", "'<'", "'>'", "below_minus", "'-'", "'+'",
"'/'", "'*'", "'%'", "'~'", "'!'", "minusminus_prefix",
- "plusplus_prefix", "below_curly", "'['", "']'", "'{'", "'.'",
- "above_identifier", "below_else", "'('", "above_function", "'}'", "')'",
+ "plusplus_prefix", "below_curly", "'('", "new2", "'['", "']'", "'{'",
+ "'.'", "above_identifier", "below_else", "above_function", "'}'", "')'",
"$accept", "PROGRAM", "MAYBE_PROGRAM_CODE_LIST", "PROGRAM_CODE_LIST",
"PROGRAM_CODE", "MAYBE_INPACKAGE_CODE_LIST", "INPACKAGE_CODE_LIST",
"INPACKAGE_CODE", "MAYBECODE", "CODE", "CODE_STATEMENT", "CODEPIECE",
"SLOT_DECLARATION", "MAYBESTATICCONSTANT", "STATICCONSTANT",
"MAYBE_PARAM_LIST", "PARAM_LIST", "PARAM", "GETSET",
"FUNCTION_DECLARATION", "$@12", "MAYBE_IDENTIFIER", "INNERFUNCTION",
- "$@13", "CLASS", "PACKAGEANDCLASS", "QNAME", "QNAME_LIST", "TYPE",
- "MAYBETYPE", "MAYBE_PARAM_VALUES", "MAYBE_EXPRESSION_LIST",
- "EXPRESSION_LIST", "NEW", "FUNCTIONCALL", "DELETE", "RETURN",
+ "$@13", "CLASS", "PACKAGEANDCLASS", "CLASS_SPEC", "CLASS_SPEC_LIST",
+ "TYPE", "MAYBETYPE", "MAYBE_PARAM_VALUES", "MAYBE_EXPRESSION_LIST",
+ "EXPRESSION_LIST", "XX", "NEW", "FUNCTIONCALL", "DELETE", "RETURN",
"NONCOMMAEXPRESSION", "EXPRESSION", "VOIDEXPRESSION", "E", "CONSTANT",
"MAYBE_EXPRPAIR_LIST", "EXPRPAIR_LIST", "VAR_READ",
"NAMESPACE_DECLARATION", "USE_NAMESPACE", 0
345, 346, 347, 348, 349, 350, 59, 44, 351, 61,
352, 353, 63, 58, 124, 94, 38, 60, 62, 354,
45, 43, 47, 42, 37, 126, 33, 355, 356, 357,
- 91, 93, 123, 46, 358, 359, 40, 360, 125, 41
+ 40, 358, 91, 93, 123, 46, 359, 360, 361, 125,
+ 41
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 130, 131, 132, 132, 133, 133, 134, 134, 134,
- 134, 134, 134, 134, 135, 135, 136, 136, 137, 137,
- 137, 137, 137, 137, 138, 138, 139, 139, 140, 140,
- 140, 140, 140, 140, 140, 140, 140, 140, 141, 141,
- 141, 141, 141, 141, 141, 141, 141, 142, 142, 142,
- 142, 143, 144, 144, 145, 145, 146, 146, 147, 148,
- 148, 150, 149, 151, 151, 151, 152, 152, 153, 153,
- 154, 155, 157, 156, 159, 158, 160, 160, 161, 161,
- 162, 162, 162, 162, 163, 163, 164, 165, 167, 166,
- 169, 168, 171, 170, 172, 172, 173, 173, 173, 175,
- 174, 176, 176, 177, 178, 178, 179, 179, 181, 180,
- 182, 180, 183, 183, 184, 184, 185, 185, 186, 186,
- 186, 186, 186, 186, 186, 186, 186, 187, 187, 188,
- 188, 189, 189, 191, 190, 193, 192, 194, 194, 195,
- 195, 196, 196, 196, 196, 197, 197, 198, 198, 199,
- 199, 199, 200, 200, 201, 202, 202, 203, 203, 203,
- 203, 203, 203, 203, 203, 204, 204, 204, 204, 205,
- 205, 206, 206, 207, 207, 207, 209, 208, 210, 210,
- 212, 211, 213, 214, 215, 215, 216, 216, 217, 217,
- 217, 218, 218, 219, 219, 220, 220, 221, 221, 222,
- 223, 223, 224, 225, 225, 226, 227, 227, 228, 229,
- 229, 229, 229, 229, 229, 230, 230, 230, 230, 230,
- 230, 230, 230, 230, 230, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 231, 231, 232, 232, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 233, 234, 234, 234, 235
+ 0, 131, 132, 133, 133, 134, 134, 135, 135, 135,
+ 135, 135, 135, 135, 135, 136, 136, 137, 137, 138,
+ 138, 138, 138, 138, 138, 138, 139, 139, 140, 140,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 142, 142, 142, 142, 142, 142, 142, 142, 142, 143,
+ 143, 143, 143, 144, 145, 145, 146, 146, 147, 147,
+ 148, 149, 149, 151, 150, 152, 152, 152, 153, 153,
+ 154, 154, 155, 156, 158, 157, 160, 159, 161, 161,
+ 162, 162, 163, 163, 163, 163, 164, 164, 165, 166,
+ 168, 167, 170, 169, 172, 171, 173, 173, 174, 174,
+ 174, 176, 175, 177, 177, 178, 179, 179, 180, 180,
+ 182, 181, 183, 181, 184, 184, 185, 185, 186, 186,
+ 187, 187, 187, 187, 187, 187, 187, 187, 187, 188,
+ 188, 189, 189, 190, 190, 192, 191, 194, 193, 195,
+ 195, 196, 196, 197, 197, 197, 197, 198, 198, 199,
+ 199, 200, 200, 200, 201, 201, 202, 203, 203, 204,
+ 204, 204, 204, 204, 204, 204, 204, 205, 205, 205,
+ 205, 206, 206, 207, 207, 208, 208, 208, 210, 209,
+ 211, 211, 213, 212, 214, 215, 216, 216, 217, 217,
+ 218, 218, 218, 219, 219, 220, 220, 221, 221, 222,
+ 222, 223, 224, 225, 225, 226, 227, 227, 228, 229,
+ 229, 230, 231, 231, 231, 231, 231, 231, 231, 232,
+ 232, 232, 232, 232, 232, 232, 232, 232, 232, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 233, 233, 234, 234, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 235, 236, 236, 236, 237
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 1, 0, 1, 1, 2, 1, 1, 1,
- 1, 1, 1, 1, 0, 1, 1, 2, 1, 1,
- 1, 1, 1, 1, 1, 0, 2, 1, 1, 1,
+ 1, 1, 1, 6, 1, 0, 1, 1, 2, 1,
+ 1, 1, 1, 1, 6, 1, 1, 0, 2, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 3, 2, 2,
- 1, 1, 2, 0, 2, 2, 1, 3, 3, 0,
- 2, 0, 7, 0, 1, 1, 3, 1, 2, 3,
- 8, 6, 0, 6, 0, 7, 1, 2, 1, 2,
- 0, 1, 1, 2, 1, 2, 4, 3, 0, 8,
- 0, 9, 0, 5, 1, 2, 1, 2, 1, 0,
- 6, 2, 1, 5, 1, 1, 3, 1, 0, 6,
- 0, 5, 2, 4, 0, 1, 1, 2, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 2, 0,
- 2, 0, 2, 0, 9, 0, 8, 0, 1, 1,
- 2, 1, 1, 1, 1, 0, 1, 1, 2, 1,
- 2, 8, 1, 1, 5, 0, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 1, 2, 4, 3,
- 1, 4, 2, 1, 1, 0, 0, 12, 1, 0,
- 0, 10, 1, 3, 1, 1, 1, 3, 1, 1,
- 1, 2, 0, 0, 3, 0, 1, 1, 3, 3,
- 4, 4, 2, 1, 2, 1, 1, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 2, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 4, 2, 1, 3, 2, 4, 3,
- 0, 1, 3, 5, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 5, 2, 2, 2, 2,
- 3, 3, 1, 3, 5, 5, 3
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
+ 2, 2, 1, 1, 2, 0, 2, 2, 1, 3,
+ 3, 0, 2, 0, 7, 0, 1, 1, 3, 1,
+ 2, 3, 8, 6, 0, 6, 0, 7, 1, 2,
+ 1, 2, 0, 1, 1, 2, 1, 2, 4, 3,
+ 0, 8, 0, 9, 0, 5, 1, 2, 1, 2,
+ 1, 0, 6, 2, 1, 5, 1, 1, 3, 1,
+ 0, 6, 0, 5, 2, 4, 0, 1, 1, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+ 2, 0, 2, 0, 2, 0, 9, 0, 8, 0,
+ 1, 1, 2, 1, 1, 1, 1, 0, 1, 1,
+ 2, 1, 2, 8, 1, 1, 5, 0, 2, 1,
+ 1, 1, 1, 1, 1, 1, 1, 0, 1, 2,
+ 4, 3, 1, 4, 2, 1, 1, 0, 0, 12,
+ 1, 0, 0, 10, 1, 3, 1, 1, 1, 3,
+ 1, 1, 1, 2, 0, 0, 3, 0, 1, 1,
+ 3, 0, 4, 4, 4, 2, 1, 2, 1, 1,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
+ 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 4, 2, 1, 3,
+ 2, 4, 3, 0, 1, 3, 5, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 5, 2,
+ 2, 2, 2, 3, 3, 1, 3, 5, 5, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 114, 282, 220, 214, 217, 218, 215, 216, 219, 0,
- 0, 74, 0, 0, 120, 118, 119, 126, 0, 125,
- 179, 221, 255, 121, 0, 0, 0, 224, 122, 124,
- 123, 0, 0, 223, 222, 0, 0, 0, 0, 13,
- 0, 0, 0, 195, 260, 0, 0, 2, 114, 5,
- 51, 12, 34, 63, 29, 30, 31, 32, 33, 36,
- 35, 7, 28, 0, 115, 116, 9, 8, 11, 10,
- 209, 212, 225, 213, 208, 37, 206, 210, 211, 0,
- 68, 72, 114, 88, 104, 105, 110, 107, 0, 182,
- 193, 178, 0, 254, 0, 182, 0, 185, 184, 112,
- 0, 99, 0, 195, 202, 61, 279, 278, 257, 237,
- 236, 0, 196, 197, 205, 0, 0, 261, 0, 1,
- 6, 282, 0, 0, 64, 0, 0, 65, 175, 0,
- 153, 0, 152, 0, 117, 0, 0, 0, 0, 0,
+ 116, 285, 224, 218, 221, 222, 219, 220, 223, 0,
+ 0, 76, 0, 0, 122, 120, 121, 128, 0, 127,
+ 181, 225, 258, 123, 0, 0, 0, 228, 124, 126,
+ 125, 0, 0, 227, 226, 0, 0, 0, 0, 14,
+ 0, 0, 0, 0, 197, 263, 0, 2, 116, 5,
+ 53, 12, 36, 65, 31, 32, 33, 34, 35, 38,
+ 37, 7, 30, 0, 117, 118, 9, 8, 11, 10,
+ 212, 215, 217, 216, 211, 39, 209, 213, 214, 0,
+ 0, 70, 74, 116, 90, 106, 107, 112, 109, 0,
+ 285, 201, 180, 0, 257, 0, 0, 114, 0, 101,
+ 197, 0, 205, 63, 282, 281, 260, 240, 239, 0,
+ 0, 198, 199, 208, 0, 0, 264, 1, 6, 285,
+ 0, 0, 66, 0, 0, 67, 177, 0, 155, 0,
+ 154, 0, 119, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 277, 276, 0,
+ 0, 0, 0, 0, 0, 280, 279, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 195, 69, 0, 0,
- 78, 102, 203, 0, 76, 38, 114, 39, 50, 0,
- 40, 41, 42, 44, 0, 43, 45, 46, 0, 114,
- 108, 0, 195, 199, 165, 0, 0, 0, 25, 280,
- 0, 0, 259, 0, 0, 264, 0, 256, 192, 55,
- 56, 192, 54, 0, 0, 174, 173, 0, 127, 129,
- 192, 207, 251, 252, 249, 250, 230, 231, 233, 232,
- 228, 229, 271, 270, 266, 265, 272, 273, 268, 267,
- 269, 234, 235, 243, 242, 241, 274, 0, 240, 239,
- 238, 226, 227, 247, 246, 244, 248, 245, 0, 281,
- 0, 0, 0, 79, 101, 204, 77, 48, 114, 27,
- 206, 49, 0, 0, 0, 23, 0, 114, 16, 22,
- 19, 18, 21, 20, 114, 106, 0, 155, 0, 0,
- 166, 170, 114, 183, 113, 253, 0, 24, 201, 0,
- 198, 262, 0, 0, 53, 0, 53, 0, 0, 0,
- 0, 131, 0, 0, 53, 0, 258, 200, 114, 286,
- 47, 26, 0, 283, 0, 111, 17, 0, 194, 0,
- 0, 172, 167, 192, 0, 103, 0, 114, 0, 190,
- 189, 0, 188, 191, 0, 58, 57, 0, 114, 165,
- 128, 0, 0, 186, 130, 135, 154, 275, 73, 0,
- 0, 80, 109, 161, 158, 159, 157, 160, 164, 163,
- 162, 156, 155, 0, 0, 169, 0, 0, 94, 98,
- 96, 100, 59, 263, 0, 52, 0, 71, 0, 132,
- 133, 0, 114, 75, 284, 285, 0, 0, 0, 81,
- 84, 82, 171, 180, 168, 92, 0, 95, 97, 114,
- 62, 114, 192, 114, 187, 0, 149, 0, 0, 114,
- 147, 0, 25, 89, 85, 83, 25, 25, 192, 60,
- 70, 0, 141, 144, 0, 0, 114, 139, 142, 143,
- 150, 175, 136, 148, 25, 87, 0, 0, 0, 176,
- 134, 140, 0, 86, 181, 93, 90, 25, 0, 0,
- 0, 165, 25, 177, 0, 0, 192, 91, 151
+ 0, 0, 197, 0, 0, 0, 71, 0, 0, 80,
+ 104, 206, 0, 78, 40, 116, 41, 52, 0, 42,
+ 43, 44, 46, 0, 45, 47, 48, 0, 116, 110,
+ 0, 195, 167, 0, 0, 0, 27, 0, 283, 0,
+ 259, 262, 0, 0, 267, 0, 194, 57, 58, 194,
+ 56, 0, 0, 176, 175, 0, 129, 131, 194, 210,
+ 254, 255, 252, 253, 233, 234, 236, 235, 231, 232,
+ 274, 273, 269, 268, 275, 276, 271, 270, 272, 237,
+ 238, 246, 245, 244, 277, 0, 243, 242, 241, 229,
+ 230, 250, 249, 247, 251, 248, 0, 0, 284, 116,
+ 0, 0, 81, 103, 207, 79, 50, 116, 29, 209,
+ 51, 0, 0, 0, 285, 25, 0, 116, 17, 23,
+ 20, 19, 22, 21, 116, 108, 197, 202, 157, 0,
+ 0, 168, 172, 116, 185, 115, 256, 0, 26, 204,
+ 0, 200, 265, 0, 0, 55, 0, 55, 0, 0,
+ 0, 0, 133, 0, 0, 55, 0, 203, 261, 116,
+ 116, 289, 49, 28, 0, 286, 0, 0, 113, 18,
+ 0, 0, 0, 0, 174, 169, 194, 0, 105, 0,
+ 116, 0, 184, 192, 191, 0, 187, 186, 190, 193,
+ 0, 60, 59, 0, 116, 167, 130, 0, 0, 188,
+ 132, 137, 156, 278, 13, 75, 0, 0, 82, 0,
+ 111, 196, 163, 160, 161, 159, 162, 166, 165, 164,
+ 158, 157, 0, 0, 171, 0, 0, 96, 100, 98,
+ 102, 61, 266, 0, 54, 0, 73, 0, 134, 135,
+ 0, 116, 77, 287, 288, 0, 0, 0, 83, 86,
+ 84, 116, 173, 182, 170, 94, 0, 97, 99, 116,
+ 64, 116, 194, 116, 189, 0, 151, 0, 0, 116,
+ 149, 0, 27, 91, 87, 85, 116, 27, 27, 194,
+ 62, 72, 0, 143, 146, 0, 0, 116, 141, 144,
+ 145, 152, 177, 138, 150, 27, 89, 24, 0, 0,
+ 0, 178, 136, 142, 0, 88, 183, 95, 92, 27,
+ 0, 0, 0, 167, 27, 179, 0, 0, 194, 93,
+ 153
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 46, 47, 48, 49, 286, 287, 288, 306, 307,
- 187, 279, 189, 289, 355, 190, 222, 220, 420, 52,
- 211, 125, 126, 53, 54, 55, 56, 178, 57, 82,
- 191, 192, 408, 409, 410, 411, 58, 198, 388, 469,
- 389, 437, 390, 391, 59, 208, 193, 60, 87, 351,
- 61, 294, 199, 62, 194, 64, 65, 321, 323, 362,
- 290, 423, 291, 402, 445, 446, 447, 428, 429, 430,
- 133, 292, 341, 381, 299, 300, 301, 227, 293, 467,
- 92, 70, 436, 97, 98, 352, 364, 353, 314, 203,
- 111, 112, 71, 72, 73, 195, 113, 74, 75, 76,
- 77, 116, 117, 78, 196, 197
+ -1, 46, 47, 48, 49, 286, 287, 288, 307, 308,
+ 186, 278, 188, 289, 361, 189, 220, 218, 430, 52,
+ 209, 123, 124, 53, 54, 55, 56, 177, 57, 83,
+ 190, 191, 417, 418, 419, 420, 58, 197, 397, 481,
+ 398, 448, 399, 400, 59, 206, 192, 60, 88, 355,
+ 61, 294, 198, 62, 193, 64, 65, 322, 324, 368,
+ 290, 433, 291, 411, 456, 457, 458, 438, 439, 440,
+ 131, 292, 344, 390, 300, 301, 302, 225, 293, 479,
+ 93, 70, 447, 356, 357, 358, 370, 359, 315, 297,
+ 110, 111, 201, 71, 72, 73, 194, 112, 74, 75,
+ 76, 77, 115, 116, 78, 195, 196
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -306
+#define YYPACT_NINF -370
static const yytype_int16 yypact[] =
{
- 349, -306, -306, -306, -306, -306, -306, -306, -306, -40,
- -85, -306, -37, 35, -306, -306, -306, -306, 30, -306,
- 68, -306, 52, -306, -24, 18, -16, -306, -306, -306,
- -306, -22, -35, -306, -306, 1538, -14, 1538, 1538, -306,
- 1538, 1538, 1538, 1538, 1538, 1538, 167, -306, 473, -306,
- -306, -306, -306, 211, -306, -306, -306, -306, -306, -306,
- -306, -306, -306, 217, 640, -306, -306, -306, -306, -306,
- -306, -306, -306, -306, 76, -306, 1971, -306, -306, 60,
- -306, -306, 1469, -306, -306, -306, -306, -306, -28, -306,
- 67, -306, 71, 141, 1538, 69, 81, -306, -306, -306,
- 1538, -306, 186, 1538, 141, -306, 141, 141, 163, 141,
- 141, 87, 115, -306, 1971, 120, 96, 128, -86, -306,
- -306, 165, 227, 230, -306, 138, 169, -306, -5, 238,
- -306, 241, -306, 246, -306, 1538, 1538, 1538, 1538, 1538,
- 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
- 1538, 1538, 1538, 1538, 1538, 1538, 1538, -306, -306, 1538,
- 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
- 1538, 1538, 1538, 1538, 1538, 254, 1538, -306, 1538, 242,
- 255, 1538, 1538, 227, 265, -306, 593, -306, 173, 257,
- -306, -306, -306, -306, 261, -306, -306, -306, 1538, 845,
- -306, 72, 1538, -306, 9, -82, 49, 1599, 1349, -306,
- 143, 1538, -306, 1538, 1538, -306, 1538, -306, 171, 182,
- -306, 171, 182, 1538, 1538, -306, -306, 277, 228, 231,
- 171, 1971, 962, 836, 836, 836, 2337, 2337, 2337, 2337,
- 962, 962, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971,
- 1971, 2032, 2093, 340, 340, 340, 1971, 1727, 2154, 2215,
- 2276, 962, 962, 163, 163, 141, 141, 141, 1788, -306,
- 156, -55, 287, -306, 76, 76, -306, -306, 719, -306,
- 1849, -306, 170, 288, 1663, -306, 175, 971, -306, -306,
- -306, -306, -306, -306, 845, -306, 164, -69, 294, 172,
- 207, -306, 1469, 69, -306, -306, 177, 1349, -306, 74,
- -306, -306, 203, 63, 209, 227, 112, 73, 84, 183,
- 18, 296, 18, 188, 209, 1538, -306, -306, 1469, -306,
- -306, -306, 1538, 214, 192, -306, -306, 189, -306, 61,
- 63, -306, -306, 171, 11, -306, 8, 1469, 1538, -306,
- -306, 193, -306, -306, 1538, -306, -306, 1538, 1469, 9,
- -306, 18, 196, -306, 222, -306, -306, 1971, -306, 88,
- 179, 130, -306, -306, -306, -306, -306, -306, -306, -306,
- -306, -306, 221, 201, 294, -306, 202, 199, -306, -306,
- 8, -306, 268, -306, 90, -306, 200, -306, 205, 222,
- -306, 18, 394, -306, -306, -306, 1538, 232, 210, 130,
- -306, -306, -306, -306, -306, -306, 336, -306, -306, 1469,
- -306, 1469, 171, 1097, -306, 337, -306, 316, 216, 529,
- -306, 1910, 1349, -306, -306, -306, 1349, 1349, 171, -306,
- -306, 224, -306, -306, 66, 219, 1223, -306, -306, -306,
- -306, -5, -306, -306, 1349, -306, 220, 223, 226, -306,
- -306, -306, 347, -306, -306, -306, -306, 1349, 239, 244,
- 243, 9, 1349, -306, 247, 250, 171, -306, -306
+ 1338, -3, -370, -370, -370, -370, -370, -370, -370, -28,
+ -29, -370, -1, 40, -370, -370, -370, -370, 2137, -370,
+ 94, -370, 2210, -370, 51, 24, 60, -370, -370, -370,
+ -370, 58, -86, -370, -370, 2137, 64, 2137, 2137, -370,
+ 2137, 2137, 2137, 2137, 2137, 2137, 188, -370, 1461, -370,
+ -370, -370, -370, 2044, -370, -370, -370, -370, -370, -370,
+ -370, -370, -370, 50, 158, -370, -370, -370, -370, -370,
+ -370, -370, -370, -370, 97, -370, 2585, -370, -370, 204,
+ 71, -370, -370, 1705, -370, -370, -370, -370, -370, -7,
+ -370, 47, -370, 88, -22, 2137, 85, -370, 2137, -370,
+ 2137, 211, -22, -370, -22, -22, 99, -22, -22, -66,
+ 100, 129, -370, 2585, 124, 101, 134, -370, -370, 165,
+ 232, 233, -370, 143, 173, -370, 70, 238, -370, 243,
+ -370, 244, -370, 2137, 2137, 2137, 2137, 2137, 2137, 2137,
+ 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137,
+ 2137, 2137, 2137, 2137, 2137, -370, -370, 2137, 2137, 2137,
+ 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137, 2137,
+ 2137, 2137, 2137, 2137, 245, 126, -370, 2137, 234, 249,
+ 2137, 2137, 232, 250, -370, 354, -370, 169, 241, -370,
+ -370, -370, -370, 251, -370, -370, -370, 2137, 723, -370,
+ 24, 147, 15, -62, 57, 2201, 1583, 149, -370, 2137,
+ -370, -370, 2137, 2137, -370, 2137, 177, 189, -370, 177,
+ 189, 2137, 2137, -370, -370, 282, 237, 246, 177, 2585,
+ 592, 715, 715, 715, 2886, 2886, 2886, 2886, 592, 592,
+ 2585, 2585, 2585, 2585, 2585, 2585, 2585, 2585, 2585, 2646,
+ 2706, 341, 341, 341, 2585, 2341, 2766, 190, 2826, 592,
+ 592, 99, 99, -22, -22, -22, 161, 2402, -370, 1827,
+ -60, 303, -370, 97, 97, -370, -370, 477, -370, 2463,
+ -370, 187, 305, 2271, 223, -370, 182, 846, -370, -370,
+ -370, -370, -370, -370, 723, -370, 2137, -370, 13, 310,
+ 186, 220, -370, 1705, 193, -370, -370, 192, 1583, -370,
+ -59, -370, -370, 219, 54, 236, 232, -43, 79, -56,
+ 218, 43, 324, 43, 217, 236, 2137, -370, -370, 600,
+ 1705, -370, -370, -370, 2137, 247, 221, 339, -370, -370,
+ 214, 222, 316, 54, -370, -370, 177, 17, -370, 82,
+ 1705, 2137, 193, -370, -370, 224, -370, -370, -370, -370,
+ 2137, -370, -370, 2137, 1705, 15, -370, 43, 227, -370,
+ 256, -370, -370, 2585, -370, -370, -53, 140, 21, 231,
+ -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
+ -370, 248, 257, 310, -370, 260, 252, -370, -370, 82,
+ -370, 280, -370, 66, -370, 258, -370, 263, 256, -370,
+ 43, 197, -370, -370, -370, 2137, 283, 268, 21, -370,
+ -370, 1949, -370, -370, -370, -370, 384, -370, -370, 1705,
+ -370, 1705, 177, 969, -370, 401, -370, 381, 281, 530,
+ -370, 2524, 1583, -370, -370, -370, 1092, 1583, 1583, 177,
+ -370, -370, 288, -370, -370, 68, 284, 1215, -370, -370,
+ -370, -370, 70, -370, -370, 1583, -370, -370, 285, 286,
+ 290, -370, -370, -370, 415, -370, -370, -370, -370, 1583,
+ 304, 299, 296, 15, 1583, -370, 297, 301, 177, -370,
+ -370
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -306, -306, -306, -306, 327, 85, -306, 93, -227, 197,
- 1, -76, -244, 16, 58, 332, 270, 75, -306, -306,
- -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
- -306, -306, -306, -306, -15, -11, -306, -306, 15, -306,
- 17, -306, -306, -306, -306, -306, -306, -306, -193, 19,
- -306, -306, -306, -306, 0, -306, 335, -306, -306, -306,
- 31, -306, 39, -306, -306, -306, -38, -306, -306, -23,
- -306, 2, 27, -306, -305, -306, -271, -41, 3, -306,
- -306, -306, -306, 398, -306, -20, 57, 80, -184, -306,
- -93, -306, -306, -306, -306, -306, -26, -17, -46, -18,
- -306, -306, -306, -306, -306, -306
+ -370, -370, -370, 157, -37, 137, 11, -272, -369, 253,
+ 1, -75, -263, 4, 112, 387, 323, 128, -370, -370,
+ -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
+ -370, -370, -370, -370, 27, 30, -370, -370, 63, -370,
+ 69, -370, -370, -370, -370, -370, -370, -370, -188, 77,
+ -370, -370, -370, -370, 0, -370, 385, -370, -370, -370,
+ 5, -370, 7, -370, -370, -370, 8, -370, -370, 28,
+ -370, 2, 65, -370, -318, -370, -285, 9, 3, -370,
+ -370, -370, -370, -370, 447, -304, 106, 132, -183, -370,
+ -87, -370, -370, -370, -370, -370, -370, -23, 16, -44,
+ -12, -370, -370, -370, -370, -370, -370
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -206
+#define YYTABLE_NINF -209
static const yytype_int16 yytable[] =
{
- 63, 50, 68, 69, 93, 99, 188, 127, 295, 79,
- 210, 135, 297, 295, 297, 135, 51, 104, 115, 106,
- 107, 95, 108, 109, 110, 114, 114, 342, 118, 225,
- 339, 66, 88, 89, 340, 386, 85, 316, 84, 67,
- 387, 81, 135, 217, 96, 226, 324, 302, 63, 50,
- 68, 69, 303, 85, 398, 1, 2, 3, 345, 4,
- 5, 6, 7, 8, 51, 373, 95, 85, 374, 375,
- 376, 91, 377, 385, 328, 84, 18, 205, 20, 66,
- 21, 85, 207, 270, 368, 114, 80, 67, 102, 83,
- 85, 103, 128, 303, 200, 201, 27, 130, 349, 298,
- 101, 384, 94, 392, 32, 378, 33, 34, 85, 296,
- 100, 132, 105, 414, 397, 379, 380, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 37,
- 38, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 266, 267, 268, 86, 114, 383,
- 115, 271, 304, 406, 274, 275, 474, 119, 280, 357,
- 135, 135, 43, 135, 44, 439, 350, 440, 45, -66,
- 284, 135, 404, 405, 114, 135, 177, 310, 311, 209,
- 312, 407, -104, 202, 309, 114, 114, 204, 114, 63,
- 50, 295, 331, 347, 206, 455, 317, 318, 212, 456,
- 457, 354, 213, 358, 121, 2, 3, 403, 4, 5,
- 6, 7, 8, 214, 215, 216, 188, 463, 157, 158,
- 218, 331, -67, 221, 223, 18, 224, 20, 441, 21,
- 470, 228, 122, 128, 229, 475, 22, 129, 130, 230,
- 157, 158, 188, 26, 458, 27, 123, 269, 273, 272,
- 131, 174, 132, 32, 175, 33, 34, 176, 276, 281,
- 282, 188, 308, 35, 313, 171, 172, 173, 283, 315,
- 319, 320, 188, 174, 322, 327, 175, 63, 50, 176,
- 329, 333, 478, 338, 63, 50, 332, 297, 37, 38,
- 360, 343, 363, 335, 344, 346, 348, 367, 354, 359,
- 365, 396, 361, 370, 371, 369, 394, 372, 400, 401,
- 339, 40, 393, 413, 415, 416, 41, 42, 395, 421,
- 114, 43, 419, 44, 422, 432, 114, 45, 433, 438,
- 450, 363, 451, 188, 452, 188, 459, 460, 464, -3,
- 468, 465, 1, 2, 3, 466, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 471, 472, 13, 14, 15,
- 16, 473, 17, 18, 19, 120, 476, 21, 477, 337,
- 336, 424, 366, 278, 22, 124, 23, 24, 431, 25,
- 356, 26, 219, 27, 434, 28, 29, 30, 435, 134,
- 31, 32, 427, 33, 34, 417, 453, 418, 461, 412,
- 462, 35, 36, 14, 15, 16, 90, 17, 399, 19,
- 382, 0, 0, 444, 443, 448, 449, 157, 158, 427,
- 0, 23, 0, 0, 0, 0, 37, 38, 0, 425,
- 28, 29, 30, 0, 0, 39, 444, 443, 448, 449,
- 169, 170, 171, 172, 173, 0, 0, 0, 0, 40,
- 174, 0, 0, 175, 41, 42, 176, 0, 0, 43,
- 0, 44, 0, -4, 0, 45, 1, 2, 3, 0,
+ 63, 50, 68, 69, 51, 66, 91, 67, 187, 125,
+ 94, 118, 295, 207, 345, 339, 295, 366, 298, 369,
+ 298, 80, 114, 102, -68, 104, 105, 85, 106, 107,
+ 108, 133, 113, 113, 100, 133, 317, 133, 133, 101,
+ 348, 133, 86, 85, 133, 325, 352, 407, 63, 50,
+ 68, 69, 51, 66, 415, 67, 360, 352, 86, 109,
+ 304, 86, 394, 369, 210, 155, 156, 375, 303, 304,
+ 330, 350, 86, 466, 364, 86, 126, 412, 468, 469,
+ 127, 128, 416, 79, 86, 266, 205, 401, 113, 353,
+ 89, 82, 81, 129, 126, 130, 475, 92, 172, 128,
+ 173, 406, 96, 174, 223, 299, 434, 393, 424, 395,
+ 482, 203, 342, 130, 396, 487, 343, 199, 200, 84,
+ 224, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 413, 414, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 113, 267, 114, 392, 87, 486, 450, 354, 451, 173,
+ 305, 95, 174, 279, 339, 363, 133, 14, 15, 16,
+ 98, 17, 99, 19, 103, 283, 155, 156, 117, 311,
+ 312, 176, 313, 270, 133, 23, 273, 274, 63, 50,
+ 113, 113, 333, 113, 28, 29, 30, 175, 202, 341,
+ 204, 169, 170, 171, 208, 295, 14, 15, 16, 172,
+ 17, 173, 19, 211, 174, 310, 212, 213, 187, 134,
+ 214, 215, -69, 333, 23, 216, 219, 318, 319, 221,
+ 222, 226, 435, 28, 29, 30, 227, 228, 268, 452,
+ 269, 271, 272, 275, 281, 187, 135, 136, 137, 138,
+ 139, 140, 141, 142, 143, 280, 470, 296, 282, 63,
+ 50, 68, 69, 51, 66, 187, 67, 155, 156, 309,
+ 314, 157, 158, 159, 113, 320, 316, 63, 50, 187,
+ 321, 327, 118, 436, 63, 50, 164, 165, 166, 323,
+ 167, 168, 169, 170, 171, 490, 331, 334, 335, 337,
+ 172, 338, 173, 298, 373, 174, 346, 347, -106, 405,
+ 382, 349, 351, 383, 384, 385, -147, 386, 402, 63,
+ 50, 68, 69, 51, 66, 360, 67, 404, 365, 113,
+ 367, 371, 379, 380, 429, 378, 377, 342, 113, 403,
+ 376, 409, 381, 410, 187, 421, 187, 90, 2, 3,
+ 387, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 388, 389, 426, 14, 15, 16, 178, 17, 18, 19,
+ 20, 423, 21, 179, 425, 120, 442, 449, 431, 22,
+ 180, 23, 24, 432, 25, 181, 26, 443, 27, 182,
+ 28, 29, 30, 441, 461, 31, 32, 462, 33, 34,
+ 463, 437, 471, 472, 476, 477, 35, 36, 480, 183,
+ 478, 63, 50, 484, 483, 485, 329, 488, 155, 156,
+ 489, 340, 446, 455, 454, 459, 460, 372, 277, 437,
+ 122, 37, 38, 217, 362, 444, 63, 50, 445, 132,
+ 184, 167, 168, 169, 170, 171, 422, 455, 454, 459,
+ 460, 172, 427, 173, 40, 473, 174, 464, 428, 41,
+ 42, 474, 97, 408, 43, 391, 44, 0, 45, 0,
+ 90, 2, 3, 276, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 0, 0, 0, 14, 15, 16, 178,
+ 17, 18, 19, 20, 0, 21, 179, 0, 120, 0,
+ 0, 0, 22, 180, 23, 24, 0, 25, 181, 26,
+ 0, 27, 182, 28, 29, 30, 0, 0, 31, 32,
+ 0, 33, 34, 0, 0, 0, 0, 0, 0, 35,
+ 36, 0, 183, 0, 0, 0, 0, 0, 0, 14,
+ 15, 16, 0, 17, 0, 19, 0, 0, 0, 0,
+ 0, 0, 0, 0, 37, 38, 0, 23, 0, 0,
+ 0, 0, 0, 184, 0, 435, 28, 29, 30, 0,
+ 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
+ 0, 0, 41, 42, 0, 0, 0, 43, 0, 44,
+ 0, 45, 0, 1, 2, 3, 332, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 0, 0, 13, 14,
+ 15, 16, 0, 17, 18, 19, 436, 0, 21, 0,
+ 0, -209, 0, 0, 0, 22, 0, 23, 24, 0,
+ 25, 0, 26, 0, 27, 0, 28, 29, 30, 0,
+ 0, 31, 32, 0, 33, 34, 0, 0, 0, -148,
+ 0, 0, 35, 36, 0, -209, -209, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 155,
+ 156, 0, 0, 157, 158, 159, 0, 37, 38, 0,
+ 0, 0, 0, 0, 0, 0, 39, 0, 0, -209,
+ -209, 0, 167, 168, 169, 170, 171, 0, 0, 0,
+ 40, 0, 172, 0, 173, 41, 42, 174, 0, 0,
+ 43, 0, 44, 0, 45, 0, 284, 2, 3, 374,
4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
- 426, 13, 14, 15, 16, 0, 17, 18, 19, 0,
- 0, 21, 0, 0, 0, 0, 0, 0, 22, 0,
+ 0, 0, 14, 15, 16, 0, 17, 18, 19, 0,
+ 0, 21, 0, 0, 134, 0, 0, 0, 22, 0,
23, 24, 0, 25, 0, 26, 0, 27, 0, 28,
- 29, 30, -145, 0, 31, 32, 0, 33, 34, 0,
- 0, 0, 0, 0, 0, 35, 36, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 14, 15,
- 16, 0, 17, 0, 19, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 23, 0, 0, 39,
- 0, 0, 0, 0, 425, 28, 29, 30, 0, 0,
- 0, 0, 0, 40, 0, 0, 0, 0, 41, 42,
- 0, 0, 0, 43, 0, 44, 1, 2, 3, 45,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
- 0, 0, 14, 15, 16, 179, 17, 18, 19, 20,
- 0, 21, 180, 0, 122, 426, 0, 0, 22, 181,
- 23, 24, 0, 25, 182, 26, 0, 27, 183, 28,
29, 30, 0, 0, 31, 32, 0, 33, 34, 0,
- 0, 0, 0, 0, 0, 35, 36, -146, 184, 14,
- 15, 16, 0, 17, 0, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 23, 0, 0,
- 37, 38, 0, 0, 0, 0, 28, 29, 30, 185,
+ 0, -209, -209, -209, 0, 35, 36, 0, 142, 143,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 40, 0, 0, 0, 0, 41, 42,
- 0, 0, 0, 43, 0, 44, 0, 0, 0, 45,
- 0, 277, 1, 2, 3, 0, 4, 5, 6, 7,
+ 0, 0, 155, 156, 0, 0, 157, 158, 159, 0,
+ 37, 38, 0, 0, 0, 0, 0, 0, 0, 285,
+ 0, 0, 165, 166, 0, 167, 168, 169, 170, 171,
+ 0, 0, 0, 40, 0, 172, 0, 173, 41, 42,
+ 174, 0, 0, 43, 0, 44, 0, 45, 0, 284,
+ 2, 3, -15, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 0, 0, 0, 14, 15, 16, 0, 17,
+ 18, 19, 0, 0, 21, 0, 0, 0, 0, 0,
+ 0, 22, 0, 23, 24, 0, 25, 0, 26, 0,
+ 27, 0, 28, 29, 30, 0, 0, 31, 32, 0,
+ 33, 34, 0, 0, 0, 0, 0, 0, 35, 36,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 37, 38, 0, 0, 0, 0, 0,
+ 0, 0, 285, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 40, 0, 0, 0,
+ 0, 41, 42, 0, 0, 0, 43, 0, 44, 0,
+ 45, 0, 90, 2, 3, -16, 4, 5, 6, 7,
8, 9, 10, 11, 12, 0, 0, 0, 14, 15,
- 16, 179, 17, 18, 19, 20, 0, 21, 180, 0,
- 122, 0, 0, 0, 22, 181, 23, 24, 0, 25,
- 182, 26, 0, 27, 183, 28, 29, 30, 0, 0,
+ 16, 0, 17, 18, 19, 0, 0, 21, 0, 0,
+ 0, 0, 0, 0, 22, 0, 23, 24, 0, 25,
+ 0, 26, 0, 27, 0, 28, 29, 30, 0, 0,
31, 32, 0, 33, 34, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 184, 0, 0, 0, 0, 0,
+ 0, 35, 36, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 37, 38, 0, 0,
- 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 453, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
0, 0, 0, 0, 41, 42, 0, 0, 0, 43,
- 0, 44, 0, 0, 0, 45, 0, 330, 1, 2,
- 3, 0, 4, 5, 6, 7, 8, 9, 10, 11,
+ 0, 44, 0, 45, 0, 284, 2, 3, -139, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 0, 0,
+ 0, 14, 15, 16, 0, 17, 18, 19, 0, 0,
+ 21, 0, 0, 0, 0, 0, 0, 22, 0, 23,
+ 24, 0, 25, 0, 26, 0, 27, 0, 28, 29,
+ 30, 0, 0, 31, 32, 0, 33, 34, 0, 0,
+ 0, 0, 0, 0, 35, 36, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
+ 38, 0, 0, 0, 0, 0, 0, 0, 285, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 40, 0, 0, 0, 0, 41, 42, 0,
+ 0, 0, 43, 0, 44, 0, 45, 0, 90, 2,
+ 3, 467, 4, 5, 6, 7, 8, 9, 10, 11,
12, 0, 0, 0, 14, 15, 16, 0, 17, 18,
- 19, 0, 0, 21, 0, 136, 0, 0, 0, 0,
+ 19, 0, 0, 21, 0, 0, 0, 0, 0, 0,
22, 0, 23, 24, 0, 25, 0, 26, 0, 27,
0, 28, 29, 30, 0, 0, 31, 32, 0, 33,
- 34, 0, -206, -206, -206, 0, 0, 35, 36, 144,
- 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 157, 158, 0, 0, 159, 160, 161,
+ 34, 0, 0, 0, 0, 0, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 37, 38, 0, 0, 0, 0, 0, 0,
- 0, 285, 0, 167, 168, 0, 169, 170, 171, 172,
- 173, 0, 0, 0, 0, 40, 174, 0, 0, 175,
- 41, 42, 176, 0, 0, 43, 0, 44, 0, 0,
- 0, 45, 0, -14, 1, 2, 3, 0, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 0, 0, 0,
+ 0, 453, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
+ 41, 42, 0, 0, 0, 43, 0, 44, -3, 45,
+ 0, 1, 2, 3, -140, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 0, 0, 13, 14, 15, 16,
+ 0, 17, 18, 19, 0, 0, 21, 0, 0, 0,
+ 0, 0, 0, 22, 0, 23, 24, 0, 25, 0,
+ 26, 0, 27, 0, 28, 29, 30, 0, 0, 31,
+ 32, 0, 33, 34, 0, 0, 0, 0, 0, 0,
+ 35, 36, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
+ 0, 0, 0, 0, 39, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
+ 0, 0, 0, 41, 42, 0, 0, 0, 43, 0,
+ 44, -4, 45, 0, 1, 2, 3, 0, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 0, 0, 13,
14, 15, 16, 0, 17, 18, 19, 0, 0, 21,
- 0, -206, 0, 0, 0, 0, 22, 0, 23, 24,
+ 0, 0, 0, 0, 0, 0, 22, 0, 23, 24,
0, 25, 0, 26, 0, 27, 0, 28, 29, 30,
0, 0, 31, 32, 0, 33, 34, 0, 0, 0,
- 0, 0, 0, 35, 36, -206, -206, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
- 158, 0, 0, 159, 160, 161, 0, 0, 37, 38,
- 0, 0, 0, 0, 0, 0, 0, 285, 0, -206,
- -206, 0, 169, 170, 171, 172, 173, 0, 0, 0,
- 0, 40, 174, 0, 0, 175, 41, 42, 176, 0,
- 0, 43, 0, 44, 0, 0, 0, 45, 0, -15,
+ 0, 0, 0, 35, 36, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 37, 38,
+ 0, 0, 0, 0, 0, 0, 0, 39, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 40, 0, 0, 0, 0, 41, 42, 0, 0,
+ 0, 43, 0, 44, 0, 45, 90, 2, 3, 0,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
+ -116, 0, 14, 15, 16, 178, 17, 18, 19, 20,
+ 0, 21, 179, 0, 120, 0, 0, 0, 22, 180,
+ 23, 24, 0, 25, 181, 26, 0, 27, 182, 28,
+ 29, 30, 0, 0, 31, 32, 0, 33, 34, 0,
+ 0, 0, 0, 0, 0, 35, 36, 0, 183, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 37, 38, 0, 0, 0, 0, 0, 0, 0, 184,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 40, 0, 0, 0, 0, 41, 42,
+ 0, 0, 0, 43, 0, 44, 0, 45, 90, 2,
+ 3, 0, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 0, 0, 0, 14, 15, 16, 178, 17, 18,
+ 19, 20, 0, 21, 179, 0, 120, 0, 0, 0,
+ 22, 180, 23, 24, 0, 25, 181, 26, 0, 27,
+ 182, 28, 29, 30, 0, 0, 31, 32, 0, 33,
+ 34, 0, 0, 0, 0, 0, 0, 35, 36, 0,
+ 183, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 37, 38, 0, 0, 0, 0, 0, 0,
+ 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
+ 41, 42, 0, 0, 0, 43, 0, 44, 0, 185,
1, 2, 3, 0, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 0, 0, 0, 14, 15, 16, 0,
+ 10, 11, 12, 0, 0, 13, 14, 15, 16, 0,
17, 18, 19, 0, 0, 21, 0, 0, 0, 0,
0, 0, 22, 0, 23, 24, 0, 25, 0, 26,
0, 27, 0, 28, 29, 30, 0, 0, 31, 32,
36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 37, 38, 0, 0, 0, 0,
- 0, 0, 0, 442, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 39, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
0, 0, 41, 42, 0, 0, 0, 43, 0, 44,
- 0, 0, 0, 45, 0, -137, 1, 2, 3, 0,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
- 0, 0, 14, 15, 16, 0, 17, 18, 19, 0,
- 0, 21, 0, 0, 0, 0, 0, 0, 22, 0,
- 23, 24, 0, 25, 0, 26, 0, 27, 0, 28,
- 29, 30, 0, 0, 31, 32, 0, 33, 34, 0,
- 0, 0, 0, 0, 0, 35, 36, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 0, 0, 442,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 40, 0, 0, 0, 0, 41, 42,
- 0, 0, 0, 43, 0, 44, 0, 0, 0, 45,
- 0, -138, 1, 2, 3, 0, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 0, -114, 0, 14, 15,
- 16, 179, 17, 18, 19, 20, 0, 21, 180, 0,
- 122, 0, 0, 0, 22, 181, 23, 24, 0, 25,
- 182, 26, 0, 27, 183, 28, 29, 30, 0, 0,
- 31, 32, 0, 33, 34, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 184, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 38, 0, 0,
- 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
- 0, 0, 0, 0, 41, 42, 0, 0, 0, 43,
- 0, 44, 1, 2, 3, 45, 4, 5, 6, 7,
+ 0, 45, 284, 2, 3, 0, 4, 5, 6, 7,
8, 9, 10, 11, 12, 0, 0, 0, 14, 15,
- 16, 179, 17, 18, 19, 20, 0, 21, 180, 0,
- 122, 0, 0, 0, 22, 181, 23, 24, 0, 25,
- 182, 26, 0, 27, 183, 28, 29, 30, 0, 0,
+ 16, 0, 17, 18, 19, 0, 0, 21, 0, 0,
+ 0, 0, 0, 0, 22, 0, 23, 24, 0, 25,
+ 0, 26, 0, 27, 0, 28, 29, 30, 0, 0,
31, 32, 0, 33, 34, 0, 0, 0, 0, 0,
- 0, 35, 36, 0, 184, 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 0, 4, 5, 6, 7, 8,
+ 0, 35, 36, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 37, 38, 0, 0,
- 0, 0, 18, 0, 20, 185, 21, 0, 0, 0,
- 0, 0, 0, 22, 0, 0, 0, 0, 0, 40,
- 26, 0, 27, 0, 41, 42, 0, 0, 0, 43,
- 32, 186, 33, 34, 0, 45, 0, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 285, 0, 119, 2, 3,
+ 0, 4, 5, 6, 7, 8, 0, 0, 0, 40,
+ 0, 0, 0, 0, 41, 42, 0, 0, 18, 43,
+ 20, 44, 21, 45, 0, 120, 0, 0, 0, 22,
+ 0, 0, 0, 0, 0, 0, 26, 0, 27, 121,
+ 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
+ 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 136, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
- 0, 0, 0, 41, 42, 0, 0, 0, 43, 0,
- 44, 0, 0, 0, 45, 137, 138, 139, 140, 141,
- 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 156, 0, 157, 158, 0, 0,
- 159, 160, 161, 0, 0, 0, 0, 0, 162, 0,
- 0, 163, 136, 164, 165, 166, 167, 168, 0, 169,
- 170, 171, 172, 173, 0, 0, 0, 0, 0, 174,
- 0, 0, 175, 0, 0, 176, 0, 0, 305, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 0,
- 157, 158, 0, 0, 159, 160, 161, 0, 0, 0,
- 0, 0, 162, 0, 0, 163, 136, 164, 165, 166,
- 167, 168, 0, 169, 170, 171, 172, 173, 0, 0,
- 0, 0, 0, 174, 0, 0, 175, 0, 0, 176,
- 0, 0, 334, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 0, 157, 158, 0, 0, 159, 160,
- 161, 0, 0, 0, 0, 0, 162, 136, 0, 163,
- 325, 164, 165, 166, 167, 168, 0, 169, 170, 171,
- 172, 173, 0, 0, 0, 0, 0, 174, 0, 0,
- 175, 0, 0, 176, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 0, 157, 158, 0, 0, 159,
- 160, 161, 0, 0, 0, 0, 0, 162, 136, 0,
- 163, 0, 164, 165, 166, 167, 168, 0, 169, 170,
- 171, 172, 173, 0, 0, 0, 0, 0, 174, 326,
- 0, 175, 0, 0, 176, 137, 138, 139, 140, 141,
- 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 156, 0, 157, 158, 0, 0,
- 159, 160, 161, 0, 0, 0, 0, 0, 162, 136,
- 0, 163, -205, 164, 165, 166, 167, 168, 0, 169,
- 170, 171, 172, 173, 0, 0, 0, 0, 0, 174,
- 0, 0, 175, 0, 0, 176, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 0, 157, 158, 0,
- 0, 159, 160, 161, 0, 0, 0, 0, 0, 162,
- 136, 0, 163, 454, 164, 165, 166, 167, 168, 0,
- 169, 170, 171, 172, 173, 0, 0, 0, 0, 0,
- 174, 0, 0, 175, 0, 0, 176, 137, 138, 139,
- 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 0, 157, 158,
- 0, 0, 159, 160, 161, 0, 0, 0, 0, 0,
- 162, 136, 0, 163, 0, 164, 165, 166, 167, 168,
- 0, 169, 170, 171, 172, 173, 0, 0, 0, 0,
- 0, 174, 0, 0, 175, 0, 0, 176, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 156, 0, 157,
- 158, 0, 0, 159, 160, 161, 0, 0, 0, 0,
- 0, 0, 136, 0, 0, 0, 164, 165, 166, 167,
- 168, 0, 169, 170, 171, 172, 173, 0, 0, 0,
- 0, 0, 174, 0, 0, 175, 0, 0, 176, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 157, 158, 0, 0, 159, 160, 161, 0, 0, 0,
- 0, 0, 0, 136, 0, 0, 0, 164, 165, 166,
- 167, 168, 0, 169, 170, 171, 172, 173, 0, 0,
- 0, 0, 0, 174, 0, 0, 175, 0, 0, 176,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 0,
+ 0, 37, 38, 0, 0, 0, 0, 0, 0, 0,
+ 90, 2, 3, 0, 4, 5, 6, 7, 8, 0,
+ 0, 0, 0, 0, 40, 0, 0, 0, 0, 41,
+ 42, 18, 0, 20, 43, 21, 44, 0, 45, 0,
+ 0, 0, 22, 0, 0, 0, 0, 0, 0, 26,
+ 0, 27, 0, 0, 0, 0, 0, 0, 0, 32,
+ 0, 33, 34, 0, 0, 0, 0, 0, 0, 35,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 157, 158, 0, 0, 159, 160, 161, 0, 0,
- 0, 0, 0, 0, 136, 0, 0, 0, 0, 165,
- 166, 167, 168, 0, 169, 170, 171, 172, 173, 0,
- 0, 0, 0, 0, 174, 0, 0, 175, 0, 0,
- 176, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 0, 0, 0, 90, 2, 3, 0, 4, 5, 6,
+ 7, 8, 0, 0, 37, 38, 0, 0, 0, 0,
+ 0, 0, 0, 0, 18, 0, 20, 0, 21, 0,
+ 134, 0, 0, 0, 0, 0, 0, 40, 0, 0,
+ 0, 0, 41, 42, 27, 0, 0, 43, 0, 44,
+ 0, 45, 32, 0, 33, 34, 0, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 0, 155, 156,
+ 0, 0, 157, 158, 159, 0, 0, 37, 38, 0,
+ 160, 0, 0, 161, 0, 162, 163, 164, 165, 166,
+ 134, 167, 168, 169, 170, 171, 0, 0, 0, 0,
+ 0, 172, 0, 173, 0, 0, 174, 0, 0, 0,
+ 43, 306, 44, 0, 45, 0, 0, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 0, 155, 156,
+ 0, 0, 157, 158, 159, 0, 0, 0, 0, 0,
+ 160, 0, 0, 161, 0, 162, 163, 164, 165, 166,
+ 134, 167, 168, 169, 170, 171, 0, 0, 0, 0,
+ 0, 172, 0, 173, 0, 0, 174, 0, 0, 0,
+ 0, 336, 0, 0, 0, 0, 0, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 0, 155, 156,
+ 0, 0, 157, 158, 159, 0, 0, 0, 0, 0,
+ 160, 134, 0, 161, 326, 162, 163, 164, 165, 166,
+ 0, 167, 168, 169, 170, 171, 0, 0, 0, 0,
+ 0, 172, 0, 173, 0, 0, 174, 0, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 0, 155,
+ 156, 0, 0, 157, 158, 159, 0, 0, 0, 0,
+ 0, 160, 134, 0, 161, 0, 162, 163, 164, 165,
+ 166, 0, 167, 168, 169, 170, 171, 0, 0, 0,
+ 0, 0, 172, 0, 173, 328, 0, 174, 0, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 0,
+ 155, 156, 0, 0, 157, 158, 159, 0, 0, 0,
+ 0, 0, 160, 134, 0, 161, -208, 162, 163, 164,
+ 165, 166, 0, 167, 168, 169, 170, 171, 0, 0,
+ 0, 0, 0, 172, 0, 173, 0, 0, 174, 0,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 0, 155, 156, 0, 0, 157, 158, 159, 0, 0,
+ 0, 0, 0, 160, 134, 0, 161, 465, 162, 163,
+ 164, 165, 166, 0, 167, 168, 169, 170, 171, 0,
+ 0, 0, 0, 0, 172, 0, 173, 0, 0, 174,
+ 0, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 0, 155, 156, 0, 0, 157, 158, 159, 0,
+ 0, 0, 0, 0, 160, 134, 0, 161, 0, 162,
+ 163, 164, 165, 166, 0, 167, 168, 169, 170, 171,
+ 0, 0, 0, 0, 0, 172, 0, 173, 0, 0,
+ 174, 0, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 154, 0, 155, 156, 0, 0, 157, 158, 159,
+ 0, 0, 0, 0, 0, 134, 0, 0, 0, 0,
+ 162, 163, 164, 165, 166, 0, 167, 168, 169, 170,
+ 171, 0, 0, 0, 0, 0, 172, 0, 173, 0,
+ 0, 174, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 155, 156, 0, 0, 157, 158, 159,
+ 0, 0, 0, 0, 0, 134, 0, 0, 0, 0,
+ 162, 163, 164, 165, 166, 0, 167, 168, 169, 170,
+ 171, 0, 0, 0, 0, 0, 172, 0, 173, 0,
+ 0, 174, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 155, 156, 0, 0, 157, 158, 159,
+ 0, 0, 0, 0, 0, 134, 0, 0, 0, 0,
+ 0, 163, 164, 165, 166, 0, 167, 168, 169, 170,
+ 171, 0, 0, 0, 0, 0, 172, 0, 173, 0,
+ 0, 174, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 155, 156, 0, 0, 157, 158, 159,
+ 0, 0, 0, 0, 0, 134, 0, 0, 0, 0,
+ 0, 0, -209, 165, 166, 0, 167, 168, 169, 170,
+ 171, 0, 0, 0, 0, 0, 172, 0, 173, 0,
+ 0, 174, 135, 136, 137, -209, -209, -209, -209, 142,
+ 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 155, 156, 0, 0, 157, 158, 159,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 157, 158, 0, 0, 159, 160, 161, 0,
- 0, 0, 0, 0, 0, 136, 0, 0, 0, 0,
- 0, 166, 167, 168, 0, 169, 170, 171, 172, 173,
- 0, 0, 0, 0, 0, 174, 0, 0, 175, 0,
- 0, 176, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 157, 158, 0, 0, 159, 160, 161,
- 0, 0, 0, 0, 0, 0, 136, 0, 0, 0,
- 0, 0, -206, 167, 168, 0, 169, 170, 171, 172,
- 173, 0, 0, 0, 0, 0, 174, 0, 0, 175,
- 0, 0, 176, 137, 138, 139, -206, -206, -206, -206,
- 144, 145, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 157, 158, 0, 0, 159, 160,
- 161, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 167, 168, 0, 169, 170, 171,
- 172, 173, 0, 0, 0, 0, 0, 174, 0, 0,
- 175, 0, 0, 176
+ 0, 0, 0, 165, 166, 0, 167, 168, 169, 170,
+ 171, 0, 0, 0, 0, 0, 172, 0, 173, 0,
+ 0, 174
};
static const yytype_int16 yycheck[] =
{
- 0, 0, 0, 0, 22, 25, 82, 53, 201, 49,
- 103, 97, 3, 206, 3, 97, 0, 35, 44, 37,
- 38, 3, 40, 41, 42, 43, 44, 298, 45, 34,
- 99, 0, 13, 3, 103, 27, 18, 221, 3, 0,
- 32, 126, 97, 129, 25, 50, 230, 129, 48, 48,
- 48, 48, 3, 18, 359, 3, 4, 5, 302, 7,
- 8, 9, 10, 11, 48, 4, 3, 18, 7, 8,
- 9, 3, 11, 344, 129, 3, 24, 94, 26, 48,
- 28, 18, 100, 176, 328, 103, 126, 48, 123, 126,
- 18, 126, 26, 3, 122, 123, 44, 31, 35, 90,
- 122, 90, 126, 347, 52, 44, 54, 55, 18, 202,
- 126, 45, 126, 384, 358, 54, 55, 135, 136, 137,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 87,
- 88, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 122, 176, 343,
- 186, 178, 113, 33, 181, 182, 471, 0, 186, 96,
- 97, 97, 120, 97, 122, 419, 113, 421, 126, 67,
- 198, 97, 3, 4, 202, 97, 126, 213, 214, 3,
- 216, 61, 123, 126, 211, 213, 214, 126, 216, 199,
- 199, 394, 278, 129, 123, 432, 223, 224, 121, 436,
- 437, 99, 97, 129, 3, 4, 5, 129, 7, 8,
- 9, 10, 11, 103, 128, 97, 302, 454, 87, 88,
- 3, 307, 67, 3, 96, 24, 67, 26, 422, 28,
- 467, 3, 31, 26, 3, 472, 35, 30, 31, 3,
- 87, 88, 328, 42, 438, 44, 45, 3, 3, 17,
- 43, 120, 45, 52, 123, 54, 55, 126, 3, 96,
- 13, 347, 129, 62, 103, 112, 113, 114, 17, 97,
- 3, 53, 358, 120, 53, 129, 123, 287, 287, 126,
- 3, 3, 476, 129, 294, 294, 126, 3, 87, 88,
- 320, 129, 322, 128, 97, 128, 103, 325, 99, 126,
- 122, 357, 16, 99, 122, 332, 123, 128, 122, 97,
- 99, 110, 348, 122, 122, 126, 115, 116, 354, 129,
- 348, 120, 64, 122, 129, 103, 354, 126, 128, 3,
- 3, 361, 26, 419, 128, 421, 122, 128, 128, 0,
- 3, 128, 3, 4, 5, 129, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 126, 122, 18, 19, 20,
- 21, 128, 23, 24, 25, 48, 129, 28, 128, 294,
- 287, 401, 324, 186, 35, 53, 37, 38, 406, 40,
- 315, 42, 122, 44, 409, 46, 47, 48, 409, 64,
- 51, 52, 402, 54, 55, 390, 429, 390, 446, 382,
- 451, 62, 63, 19, 20, 21, 18, 23, 361, 25,
- 340, -1, -1, 423, 423, 423, 423, 87, 88, 429,
- -1, 37, -1, -1, -1, -1, 87, 88, -1, 45,
- 46, 47, 48, -1, -1, 96, 446, 446, 446, 446,
- 110, 111, 112, 113, 114, -1, -1, -1, -1, 110,
- 120, -1, -1, 123, 115, 116, 126, -1, -1, 120,
- -1, 122, -1, 0, -1, 126, 3, 4, 5, -1,
+ 0, 0, 0, 0, 0, 0, 18, 0, 83, 53,
+ 22, 48, 200, 100, 299, 287, 204, 321, 3, 323,
+ 3, 49, 45, 35, 67, 37, 38, 3, 40, 41,
+ 42, 97, 44, 45, 120, 97, 219, 97, 97, 125,
+ 303, 97, 18, 3, 97, 228, 3, 365, 48, 48,
+ 48, 48, 48, 48, 33, 48, 99, 3, 18, 43,
+ 3, 18, 347, 367, 130, 87, 88, 330, 130, 3,
+ 130, 130, 18, 442, 130, 18, 26, 130, 447, 448,
+ 30, 31, 61, 86, 18, 172, 98, 350, 100, 35,
+ 13, 120, 120, 43, 26, 45, 465, 3, 120, 31,
+ 122, 364, 25, 125, 34, 90, 410, 90, 393, 27,
+ 479, 95, 99, 45, 32, 484, 103, 124, 125, 120,
+ 50, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 3, 4, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 185, 346, 124, 483, 429, 113, 431, 122,
+ 113, 120, 125, 185, 446, 96, 97, 19, 20, 21,
+ 120, 23, 124, 25, 120, 197, 87, 88, 0, 212,
+ 213, 120, 215, 177, 97, 37, 180, 181, 198, 198,
+ 212, 213, 277, 215, 46, 47, 48, 3, 120, 296,
+ 125, 112, 113, 114, 3, 403, 19, 20, 21, 120,
+ 23, 122, 25, 123, 125, 209, 97, 103, 303, 39,
+ 129, 97, 67, 308, 37, 3, 3, 221, 222, 96,
+ 67, 3, 45, 46, 47, 48, 3, 3, 3, 432,
+ 124, 17, 3, 3, 13, 330, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 96, 449, 120, 17, 269,
+ 269, 269, 269, 269, 269, 350, 269, 87, 88, 130,
+ 103, 91, 92, 93, 296, 3, 97, 287, 287, 364,
+ 53, 130, 329, 96, 294, 294, 106, 107, 108, 53,
+ 110, 111, 112, 113, 114, 488, 3, 120, 3, 86,
+ 120, 129, 122, 3, 326, 125, 130, 97, 125, 363,
+ 4, 129, 103, 7, 8, 9, 129, 11, 351, 329,
+ 329, 329, 329, 329, 329, 99, 329, 360, 120, 351,
+ 16, 124, 3, 129, 64, 124, 99, 99, 360, 125,
+ 334, 124, 130, 97, 429, 124, 431, 3, 4, 5,
+ 44, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 54, 55, 120, 19, 20, 21, 22, 23, 24, 25,
+ 26, 124, 28, 29, 124, 31, 103, 3, 130, 35,
+ 36, 37, 38, 130, 40, 41, 42, 129, 44, 45,
+ 46, 47, 48, 415, 3, 51, 52, 26, 54, 55,
+ 129, 411, 124, 129, 129, 129, 62, 63, 3, 65,
+ 130, 421, 421, 124, 120, 129, 269, 130, 87, 88,
+ 129, 294, 421, 433, 433, 433, 433, 325, 185, 439,
+ 53, 87, 88, 120, 316, 418, 446, 446, 418, 64,
+ 96, 110, 111, 112, 113, 114, 391, 457, 457, 457,
+ 457, 120, 399, 122, 110, 457, 125, 439, 399, 115,
+ 116, 462, 25, 367, 120, 343, 122, -1, 124, -1,
+ 3, 4, 5, 129, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, -1, -1, -1, 19, 20, 21, 22,
+ 23, 24, 25, 26, -1, 28, 29, -1, 31, -1,
+ -1, -1, 35, 36, 37, 38, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, -1, -1, 51, 52,
+ -1, 54, 55, -1, -1, -1, -1, -1, -1, 62,
+ 63, -1, 65, -1, -1, -1, -1, -1, -1, 19,
+ 20, 21, -1, 23, -1, 25, -1, -1, -1, -1,
+ -1, -1, -1, -1, 87, 88, -1, 37, -1, -1,
+ -1, -1, -1, 96, -1, 45, 46, 47, 48, -1,
+ -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
+ -1, -1, 115, 116, -1, -1, -1, 120, -1, 122,
+ -1, 124, -1, 3, 4, 5, 129, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, -1, -1, 18, 19,
+ 20, 21, -1, 23, 24, 25, 96, -1, 28, -1,
+ -1, 39, -1, -1, -1, 35, -1, 37, 38, -1,
+ 40, -1, 42, -1, 44, -1, 46, 47, 48, -1,
+ -1, 51, 52, -1, 54, 55, -1, -1, -1, 129,
+ -1, -1, 62, 63, -1, 73, 74, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
+ 88, -1, -1, 91, 92, 93, -1, 87, 88, -1,
+ -1, -1, -1, -1, -1, -1, 96, -1, -1, 107,
+ 108, -1, 110, 111, 112, 113, 114, -1, -1, -1,
+ 110, -1, 120, -1, 122, 115, 116, 125, -1, -1,
+ 120, -1, 122, -1, 124, -1, 3, 4, 5, 129,
7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
- 96, 18, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, 28, -1, -1, -1, -1, -1, -1, 35, -1,
+ -1, -1, 19, 20, 21, -1, 23, 24, 25, -1,
+ -1, 28, -1, -1, 39, -1, -1, -1, 35, -1,
37, 38, -1, 40, -1, 42, -1, 44, -1, 46,
- 47, 48, 128, -1, 51, 52, -1, 54, 55, -1,
- -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 19, 20,
- 21, -1, 23, -1, 25, -1, -1, -1, -1, -1,
- 87, 88, -1, -1, -1, -1, 37, -1, -1, 96,
- -1, -1, -1, -1, 45, 46, 47, 48, -1, -1,
- -1, -1, -1, 110, -1, -1, -1, -1, 115, 116,
- -1, -1, -1, 120, -1, 122, 3, 4, 5, 126,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
- -1, -1, 19, 20, 21, 22, 23, 24, 25, 26,
- -1, 28, 29, -1, 31, 96, -1, -1, 35, 36,
- 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
47, 48, -1, -1, 51, 52, -1, 54, 55, -1,
- -1, -1, -1, -1, -1, 62, 63, 128, 65, 19,
- 20, 21, -1, 23, -1, 25, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 37, -1, -1,
- 87, 88, -1, -1, -1, -1, 46, 47, 48, 96,
+ -1, 66, 67, 68, -1, 62, 63, -1, 73, 74,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 110, -1, -1, -1, -1, 115, 116,
- -1, -1, -1, 120, -1, 122, -1, -1, -1, 126,
- -1, 128, 3, 4, 5, -1, 7, 8, 9, 10,
+ -1, -1, 87, 88, -1, -1, 91, 92, 93, -1,
+ 87, 88, -1, -1, -1, -1, -1, -1, -1, 96,
+ -1, -1, 107, 108, -1, 110, 111, 112, 113, 114,
+ -1, -1, -1, 110, -1, 120, -1, 122, 115, 116,
+ 125, -1, -1, 120, -1, 122, -1, 124, -1, 3,
+ 4, 5, 129, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, -1, -1, -1, 19, 20, 21, -1, 23,
+ 24, 25, -1, -1, 28, -1, -1, -1, -1, -1,
+ -1, 35, -1, 37, 38, -1, 40, -1, 42, -1,
+ 44, -1, 46, 47, 48, -1, -1, 51, 52, -1,
+ 54, 55, -1, -1, -1, -1, -1, -1, 62, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 87, 88, -1, -1, -1, -1, -1,
+ -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
+ -1, 115, 116, -1, -1, -1, 120, -1, 122, -1,
+ 124, -1, 3, 4, 5, 129, 7, 8, 9, 10,
11, 12, 13, 14, 15, -1, -1, -1, 19, 20,
- 21, 22, 23, 24, 25, 26, -1, 28, 29, -1,
- 31, -1, -1, -1, 35, 36, 37, 38, -1, 40,
- 41, 42, -1, 44, 45, 46, 47, 48, -1, -1,
+ 21, -1, 23, 24, 25, -1, -1, 28, -1, -1,
+ -1, -1, -1, -1, 35, -1, 37, 38, -1, 40,
+ -1, 42, -1, 44, -1, 46, 47, 48, -1, -1,
51, 52, -1, 54, 55, -1, -1, -1, -1, -1,
- -1, 62, 63, -1, 65, -1, -1, -1, -1, -1,
+ -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 87, 88, -1, -1,
-1, -1, -1, -1, -1, 96, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
-1, -1, -1, -1, 115, 116, -1, -1, -1, 120,
- -1, 122, -1, -1, -1, 126, -1, 128, 3, 4,
- 5, -1, 7, 8, 9, 10, 11, 12, 13, 14,
+ -1, 122, -1, 124, -1, 3, 4, 5, 129, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, -1, -1,
+ -1, 19, 20, 21, -1, 23, 24, 25, -1, -1,
+ 28, -1, -1, -1, -1, -1, -1, 35, -1, 37,
+ 38, -1, 40, -1, 42, -1, 44, -1, 46, 47,
+ 48, -1, -1, 51, 52, -1, 54, 55, -1, -1,
+ -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
+ 88, -1, -1, -1, -1, -1, -1, -1, 96, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 110, -1, -1, -1, -1, 115, 116, -1,
+ -1, -1, 120, -1, 122, -1, 124, -1, 3, 4,
+ 5, 129, 7, 8, 9, 10, 11, 12, 13, 14,
15, -1, -1, -1, 19, 20, 21, -1, 23, 24,
- 25, -1, -1, 28, -1, 39, -1, -1, -1, -1,
+ 25, -1, -1, 28, -1, -1, -1, -1, -1, -1,
35, -1, 37, 38, -1, 40, -1, 42, -1, 44,
-1, 46, 47, 48, -1, -1, 51, 52, -1, 54,
- 55, -1, 66, 67, 68, -1, -1, 62, 63, 73,
- 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 87, 88, -1, -1, 91, 92, 93,
+ 55, -1, -1, -1, -1, -1, -1, 62, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 87, 88, -1, -1, -1, -1, -1, -1,
- -1, 96, -1, 107, 108, -1, 110, 111, 112, 113,
- 114, -1, -1, -1, -1, 110, 120, -1, -1, 123,
- 115, 116, 126, -1, -1, 120, -1, 122, -1, -1,
- -1, 126, -1, 128, 3, 4, 5, -1, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, -1, -1, -1,
+ -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 110, -1, -1, -1, -1,
+ 115, 116, -1, -1, -1, 120, -1, 122, 0, 124,
+ -1, 3, 4, 5, 129, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, -1, -1, 18, 19, 20, 21,
+ -1, 23, 24, 25, -1, -1, 28, -1, -1, -1,
+ -1, -1, -1, 35, -1, 37, 38, -1, 40, -1,
+ 42, -1, 44, -1, 46, 47, 48, -1, -1, 51,
+ 52, -1, 54, 55, -1, -1, -1, -1, -1, -1,
+ 62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 87, 88, -1, -1, -1,
+ -1, -1, -1, -1, 96, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
+ -1, -1, -1, 115, 116, -1, -1, -1, 120, -1,
+ 122, 0, 124, -1, 3, 4, 5, -1, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, -1, -1, 18,
19, 20, 21, -1, 23, 24, 25, -1, -1, 28,
- -1, 39, -1, -1, -1, -1, 35, -1, 37, 38,
+ -1, -1, -1, -1, -1, -1, 35, -1, 37, 38,
-1, 40, -1, 42, -1, 44, -1, 46, 47, 48,
-1, -1, 51, 52, -1, 54, 55, -1, -1, -1,
- -1, -1, -1, 62, 63, 73, 74, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 87,
- 88, -1, -1, 91, 92, 93, -1, -1, 87, 88,
- -1, -1, -1, -1, -1, -1, -1, 96, -1, 107,
- 108, -1, 110, 111, 112, 113, 114, -1, -1, -1,
- -1, 110, 120, -1, -1, 123, 115, 116, 126, -1,
- -1, 120, -1, 122, -1, -1, -1, 126, -1, 128,
+ -1, -1, -1, 62, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 87, 88,
+ -1, -1, -1, -1, -1, -1, -1, 96, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 110, -1, -1, -1, -1, 115, 116, -1, -1,
+ -1, 120, -1, 122, -1, 124, 3, 4, 5, -1,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
+ 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
+ -1, 28, 29, -1, 31, -1, -1, -1, 35, 36,
+ 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, -1, -1, 51, 52, -1, 54, 55, -1,
+ -1, -1, -1, -1, -1, 62, 63, -1, 65, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 87, 88, -1, -1, -1, -1, -1, -1, -1, 96,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 110, -1, -1, -1, -1, 115, 116,
+ -1, -1, -1, 120, -1, 122, -1, 124, 3, 4,
+ 5, -1, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, -1, -1, -1, 19, 20, 21, 22, 23, 24,
+ 25, 26, -1, 28, 29, -1, 31, -1, -1, -1,
+ 35, 36, 37, 38, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, -1, -1, 51, 52, -1, 54,
+ 55, -1, -1, -1, -1, -1, -1, 62, 63, -1,
+ 65, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 87, 88, -1, -1, -1, -1, -1, -1,
+ -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 110, -1, -1, -1, -1,
+ 115, 116, -1, -1, -1, 120, -1, 122, -1, 124,
3, 4, 5, -1, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, -1, -1, -1, 19, 20, 21, -1,
+ 13, 14, 15, -1, -1, 18, 19, 20, 21, -1,
23, 24, 25, -1, -1, 28, -1, -1, -1, -1,
-1, -1, 35, -1, 37, 38, -1, 40, -1, 42,
-1, 44, -1, 46, 47, 48, -1, -1, 51, 52,
-1, -1, -1, 96, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
-1, -1, 115, 116, -1, -1, -1, 120, -1, 122,
- -1, -1, -1, 126, -1, 128, 3, 4, 5, -1,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
- -1, -1, 19, 20, 21, -1, 23, 24, 25, -1,
- -1, 28, -1, -1, -1, -1, -1, -1, 35, -1,
- 37, 38, -1, 40, -1, 42, -1, 44, -1, 46,
- 47, 48, -1, -1, 51, 52, -1, 54, 55, -1,
- -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 87, 88, -1, -1, -1, -1, -1, -1, -1, 96,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 110, -1, -1, -1, -1, 115, 116,
- -1, -1, -1, 120, -1, 122, -1, -1, -1, 126,
- -1, 128, 3, 4, 5, -1, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, -1, 17, -1, 19, 20,
- 21, 22, 23, 24, 25, 26, -1, 28, 29, -1,
- 31, -1, -1, -1, 35, 36, 37, 38, -1, 40,
- 41, 42, -1, 44, 45, 46, 47, 48, -1, -1,
- 51, 52, -1, 54, 55, -1, -1, -1, -1, -1,
- -1, 62, 63, -1, 65, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 87, 88, -1, -1,
- -1, -1, -1, -1, -1, 96, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
- -1, -1, -1, -1, 115, 116, -1, -1, -1, 120,
- -1, 122, 3, 4, 5, 126, 7, 8, 9, 10,
+ -1, 124, 3, 4, 5, -1, 7, 8, 9, 10,
11, 12, 13, 14, 15, -1, -1, -1, 19, 20,
- 21, 22, 23, 24, 25, 26, -1, 28, 29, -1,
- 31, -1, -1, -1, 35, 36, 37, 38, -1, 40,
- 41, 42, -1, 44, 45, 46, 47, 48, -1, -1,
+ 21, -1, 23, 24, 25, -1, -1, 28, -1, -1,
+ -1, -1, -1, -1, 35, -1, 37, 38, -1, 40,
+ -1, 42, -1, 44, -1, 46, 47, 48, -1, -1,
51, 52, -1, 54, 55, -1, -1, -1, -1, -1,
- -1, 62, 63, -1, 65, -1, -1, -1, -1, -1,
- -1, 3, 4, 5, -1, 7, 8, 9, 10, 11,
+ -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 87, 88, -1, -1,
- -1, -1, 24, -1, 26, 96, 28, -1, -1, -1,
- -1, -1, -1, 35, -1, -1, -1, -1, -1, 110,
- 42, -1, 44, -1, 115, 116, -1, -1, -1, 120,
- 52, 122, 54, 55, -1, 126, -1, -1, -1, -1,
- 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 96, -1, 3, 4, 5,
+ -1, 7, 8, 9, 10, 11, -1, -1, -1, 110,
+ -1, -1, -1, -1, 115, 116, -1, -1, 24, 120,
+ 26, 122, 28, 124, -1, 31, -1, -1, -1, 35,
+ -1, -1, -1, -1, -1, -1, 42, -1, 44, 45,
+ -1, -1, -1, -1, -1, -1, 52, -1, 54, 55,
+ -1, -1, -1, -1, -1, -1, 62, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 87, 88, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 39, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
- -1, -1, -1, 115, 116, -1, -1, -1, 120, -1,
- 122, -1, -1, -1, 126, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, -1, 87, 88, -1, -1,
- 91, 92, 93, -1, -1, -1, -1, -1, 99, -1,
- -1, 102, 39, 104, 105, 106, 107, 108, -1, 110,
- 111, 112, 113, 114, -1, -1, -1, -1, -1, 120,
- -1, -1, 123, -1, -1, 126, -1, -1, 129, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
- 87, 88, -1, -1, 91, 92, 93, -1, -1, -1,
- -1, -1, 99, -1, -1, 102, 39, 104, 105, 106,
- 107, 108, -1, 110, 111, 112, 113, 114, -1, -1,
- -1, -1, -1, 120, -1, -1, 123, -1, -1, 126,
- -1, -1, 129, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, -1, 87, 88, -1, -1, 91, 92,
- 93, -1, -1, -1, -1, -1, 99, 39, -1, 102,
- 103, 104, 105, 106, 107, 108, -1, 110, 111, 112,
- 113, 114, -1, -1, -1, -1, -1, 120, -1, -1,
- 123, -1, -1, 126, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, -1, 87, 88, -1, -1, 91,
- 92, 93, -1, -1, -1, -1, -1, 99, 39, -1,
- 102, -1, 104, 105, 106, 107, 108, -1, 110, 111,
- 112, 113, 114, -1, -1, -1, -1, -1, 120, 121,
- -1, 123, -1, -1, 126, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, -1, 87, 88, -1, -1,
- 91, 92, 93, -1, -1, -1, -1, -1, 99, 39,
- -1, 102, 103, 104, 105, 106, 107, 108, -1, 110,
- 111, 112, 113, 114, -1, -1, -1, -1, -1, 120,
- -1, -1, 123, -1, -1, 126, 66, 67, 68, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, -1, 87, 88, -1,
- -1, 91, 92, 93, -1, -1, -1, -1, -1, 99,
- 39, -1, 102, 103, 104, 105, 106, 107, 108, -1,
- 110, 111, 112, 113, 114, -1, -1, -1, -1, -1,
- 120, -1, -1, 123, -1, -1, 126, 66, 67, 68,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 87, 88, -1, -1, -1, -1, -1, -1, -1,
+ 3, 4, 5, -1, 7, 8, 9, 10, 11, -1,
+ -1, -1, -1, -1, 110, -1, -1, -1, -1, 115,
+ 116, 24, -1, 26, 120, 28, 122, -1, 124, -1,
+ -1, -1, 35, -1, -1, -1, -1, -1, -1, 42,
+ -1, 44, -1, -1, -1, -1, -1, -1, -1, 52,
+ -1, 54, 55, -1, -1, -1, -1, -1, -1, 62,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3, 4, 5, -1, 7, 8, 9,
+ 10, 11, -1, -1, 87, 88, -1, -1, -1, -1,
+ -1, -1, -1, -1, 24, -1, 26, -1, 28, -1,
+ 39, -1, -1, -1, -1, -1, -1, 110, -1, -1,
+ -1, -1, 115, 116, 44, -1, -1, 120, -1, 122,
+ -1, 124, 52, -1, 54, 55, -1, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
+ -1, -1, 91, 92, 93, -1, -1, 87, 88, -1,
+ 99, -1, -1, 102, -1, 104, 105, 106, 107, 108,
+ 39, 110, 111, 112, 113, 114, -1, -1, -1, -1,
+ -1, 120, -1, 122, -1, -1, 125, -1, -1, -1,
+ 120, 130, 122, -1, 124, -1, -1, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
+ -1, -1, 91, 92, 93, -1, -1, -1, -1, -1,
+ 99, -1, -1, 102, -1, 104, 105, 106, 107, 108,
+ 39, 110, 111, 112, 113, 114, -1, -1, -1, -1,
+ -1, 120, -1, 122, -1, -1, 125, -1, -1, -1,
+ -1, 130, -1, -1, -1, -1, -1, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, -1, 91, 92, 93, -1, -1, -1, -1, -1,
- 99, 39, -1, 102, -1, 104, 105, 106, 107, 108,
+ 99, 39, -1, 102, 103, 104, 105, 106, 107, 108,
-1, 110, 111, 112, 113, 114, -1, -1, -1, -1,
- -1, 120, -1, -1, 123, -1, -1, 126, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 85, -1, 87,
+ -1, 120, -1, 122, -1, -1, 125, -1, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
88, -1, -1, 91, 92, 93, -1, -1, -1, -1,
- -1, -1, 39, -1, -1, -1, 104, 105, 106, 107,
+ -1, 99, 39, -1, 102, -1, 104, 105, 106, 107,
108, -1, 110, 111, 112, 113, 114, -1, -1, -1,
- -1, -1, 120, -1, -1, 123, -1, -1, 126, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 120, -1, 122, 123, -1, 125, -1, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, -1, 91, 92, 93, -1, -1, -1,
- -1, -1, -1, 39, -1, -1, -1, 104, 105, 106,
+ -1, -1, 99, 39, -1, 102, 103, 104, 105, 106,
107, 108, -1, 110, 111, 112, 113, 114, -1, -1,
- -1, -1, -1, 120, -1, -1, 123, -1, -1, 126,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 120, -1, 122, -1, -1, 125, -1,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
-1, 87, 88, -1, -1, 91, 92, 93, -1, -1,
- -1, -1, -1, -1, 39, -1, -1, -1, -1, 105,
+ -1, -1, -1, 99, 39, -1, 102, 103, 104, 105,
106, 107, 108, -1, 110, 111, 112, 113, 114, -1,
- -1, -1, -1, -1, 120, -1, -1, 123, -1, -1,
- 126, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 87, 88, -1, -1, 91, 92, 93, -1,
+ -1, -1, -1, -1, 120, -1, 122, -1, -1, 125,
+ -1, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, -1, 87, 88, -1, -1, 91, 92, 93, -1,
+ -1, -1, -1, -1, 99, 39, -1, 102, -1, 104,
+ 105, 106, 107, 108, -1, 110, 111, 112, 113, 114,
+ -1, -1, -1, -1, -1, 120, -1, 122, -1, -1,
+ 125, -1, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 85, -1, 87, 88, -1, -1, 91, 92, 93,
-1, -1, -1, -1, -1, 39, -1, -1, -1, -1,
- -1, 106, 107, 108, -1, 110, 111, 112, 113, 114,
- -1, -1, -1, -1, -1, 120, -1, -1, 123, -1,
- -1, 126, 66, 67, 68, 69, 70, 71, 72, 73,
+ 104, 105, 106, 107, 108, -1, 110, 111, 112, 113,
+ 114, -1, -1, -1, -1, -1, 120, -1, 122, -1,
+ -1, 125, 66, 67, 68, 69, 70, 71, 72, 73,
74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 87, 88, -1, -1, 91, 92, 93,
- -1, -1, -1, -1, -1, -1, 39, -1, -1, -1,
- -1, -1, 106, 107, 108, -1, 110, 111, 112, 113,
- 114, -1, -1, -1, -1, -1, 120, -1, -1, 123,
- -1, -1, 126, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 87, 88, -1, -1, 91, 92,
- 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 107, 108, -1, 110, 111, 112,
- 113, 114, -1, -1, -1, -1, -1, 120, -1, -1,
- 123, -1, -1, 126
-};
+ -1, -1, -1, -1, -1, 39, -1, -1, -1, -1,
+ 104, 105, 106, 107, 108, -1, 110, 111, 112, 113,
+ 114, -1, -1, -1, -1, -1, 120, -1, 122, -1,
+ -1, 125, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 87, 88, -1, -1, 91, 92, 93,
+ -1, -1, -1, -1, -1, 39, -1, -1, -1, -1,
+ -1, 105, 106, 107, 108, -1, 110, 111, 112, 113,
+ 114, -1, -1, -1, -1, -1, 120, -1, 122, -1,
+ -1, 125, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 87, 88, -1, -1, 91, 92, 93,
+ -1, -1, -1, -1, -1, 39, -1, -1, -1, -1,
+ -1, -1, 106, 107, 108, -1, 110, 111, 112, 113,
+ 114, -1, -1, -1, -1, -1, 120, -1, 122, -1,
+ -1, 125, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 87, 88, -1, -1, 91, 92, 93,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 107, 108, -1, 110, 111, 112, 113,
+ 114, -1, -1, -1, -1, -1, 120, -1, 122, -1,
+ -1, 125
+};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
13, 14, 15, 18, 19, 20, 21, 23, 24, 25,
26, 28, 35, 37, 38, 40, 42, 44, 46, 47,
48, 51, 52, 54, 55, 62, 63, 87, 88, 96,
- 110, 115, 116, 120, 122, 126, 131, 132, 133, 134,
- 140, 143, 149, 153, 154, 155, 156, 158, 166, 174,
- 177, 180, 183, 184, 185, 186, 190, 192, 201, 208,
- 211, 222, 223, 224, 227, 228, 229, 230, 233, 49,
- 126, 126, 159, 126, 3, 18, 122, 178, 179, 3,
- 213, 3, 210, 229, 126, 3, 179, 213, 214, 215,
- 126, 122, 123, 126, 229, 126, 229, 229, 229, 229,
- 229, 220, 221, 226, 229, 226, 231, 232, 227, 0,
- 134, 3, 31, 45, 145, 151, 152, 228, 26, 30,
- 31, 43, 45, 200, 186, 97, 39, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 87, 88, 91,
- 92, 93, 99, 102, 104, 105, 106, 107, 108, 110,
- 111, 112, 113, 114, 120, 123, 126, 126, 157, 22,
- 29, 36, 41, 45, 65, 96, 122, 140, 141, 142,
- 145, 160, 161, 176, 184, 225, 234, 235, 167, 182,
- 122, 123, 126, 219, 126, 227, 123, 229, 175, 3,
- 220, 150, 121, 97, 103, 128, 97, 129, 3, 146,
- 147, 3, 146, 96, 67, 34, 50, 207, 3, 3,
- 3, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 3,
- 220, 227, 17, 3, 227, 227, 3, 128, 139, 141,
- 229, 96, 13, 17, 229, 96, 135, 136, 137, 143,
- 190, 192, 201, 208, 181, 178, 220, 3, 90, 204,
- 205, 206, 129, 3, 113, 129, 138, 139, 129, 227,
- 226, 226, 226, 103, 218, 97, 218, 227, 227, 3,
- 53, 187, 53, 188, 218, 103, 121, 129, 129, 3,
- 128, 141, 126, 3, 129, 128, 137, 135, 129, 99,
- 103, 202, 206, 129, 97, 142, 128, 129, 103, 35,
- 113, 179, 215, 217, 99, 144, 147, 96, 129, 126,
- 215, 16, 189, 215, 216, 122, 144, 229, 142, 227,
- 99, 122, 128, 4, 7, 8, 9, 11, 44, 54,
- 55, 203, 217, 218, 90, 206, 27, 32, 168, 170,
- 172, 173, 142, 226, 123, 226, 228, 142, 204, 216,
- 122, 97, 193, 129, 3, 4, 33, 61, 162, 163,
- 164, 165, 202, 122, 206, 122, 126, 168, 170, 64,
- 148, 129, 129, 191, 215, 45, 96, 184, 197, 198,
- 199, 229, 103, 128, 164, 165, 212, 171, 3, 142,
- 142, 218, 96, 140, 184, 194, 195, 196, 201, 208,
- 3, 26, 128, 199, 103, 138, 138, 138, 218, 122,
- 128, 196, 207, 138, 128, 128, 129, 209, 3, 169,
- 138, 126, 122, 128, 204, 138, 129, 128, 218
+ 110, 115, 116, 120, 122, 124, 132, 133, 134, 135,
+ 141, 144, 150, 154, 155, 156, 157, 159, 167, 175,
+ 178, 181, 184, 185, 186, 187, 191, 193, 202, 209,
+ 212, 224, 225, 226, 229, 230, 231, 232, 235, 86,
+ 49, 120, 120, 160, 120, 3, 18, 124, 179, 180,
+ 3, 231, 3, 211, 231, 120, 180, 215, 120, 124,
+ 120, 125, 231, 120, 231, 231, 231, 231, 231, 229,
+ 221, 222, 228, 231, 228, 233, 234, 0, 135, 3,
+ 31, 45, 146, 152, 153, 230, 26, 30, 31, 43,
+ 45, 201, 187, 97, 39, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 87, 88, 91, 92, 93,
+ 99, 102, 104, 105, 106, 107, 108, 110, 111, 112,
+ 113, 114, 120, 122, 125, 3, 120, 158, 22, 29,
+ 36, 41, 45, 65, 96, 124, 141, 142, 143, 146,
+ 161, 162, 177, 185, 227, 236, 237, 168, 183, 124,
+ 125, 223, 120, 229, 125, 231, 176, 221, 3, 151,
+ 130, 123, 97, 103, 129, 97, 3, 147, 148, 3,
+ 147, 96, 67, 34, 50, 208, 3, 3, 3, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
+ 231, 231, 231, 231, 231, 231, 221, 231, 3, 124,
+ 229, 17, 3, 229, 229, 3, 129, 140, 142, 231,
+ 96, 13, 17, 231, 3, 96, 136, 137, 138, 144,
+ 191, 193, 202, 209, 182, 179, 120, 220, 3, 90,
+ 205, 206, 207, 130, 3, 113, 130, 139, 140, 130,
+ 229, 228, 228, 228, 103, 219, 97, 219, 229, 229,
+ 3, 53, 188, 53, 189, 219, 103, 130, 123, 134,
+ 130, 3, 129, 142, 120, 3, 130, 86, 129, 138,
+ 136, 221, 99, 103, 203, 207, 130, 97, 143, 129,
+ 130, 103, 3, 35, 113, 180, 214, 215, 216, 218,
+ 99, 145, 148, 96, 130, 120, 216, 16, 190, 216,
+ 217, 124, 145, 231, 129, 143, 229, 99, 124, 3,
+ 129, 130, 4, 7, 8, 9, 11, 44, 54, 55,
+ 204, 218, 219, 90, 207, 27, 32, 169, 171, 173,
+ 174, 143, 228, 125, 228, 230, 143, 205, 217, 124,
+ 97, 194, 130, 3, 4, 33, 61, 163, 164, 165,
+ 166, 124, 203, 124, 207, 124, 120, 169, 171, 64,
+ 149, 130, 130, 192, 216, 45, 96, 185, 198, 199,
+ 200, 231, 103, 129, 165, 166, 137, 213, 172, 3,
+ 143, 143, 219, 96, 141, 185, 195, 196, 197, 202,
+ 209, 3, 26, 129, 200, 103, 139, 129, 139, 139,
+ 219, 124, 129, 197, 208, 139, 129, 129, 130, 210,
+ 3, 170, 139, 120, 124, 129, 205, 139, 130, 129,
+ 219
};
#define yyerrok (yyerrstatus = 0)
switch (yyn)
{
- case 24:
+ case 26:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1591 "parser.y"
+#line 1668 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
- case 25:
+ case 27:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1592 "parser.y"
+#line 1669 "parser.y"
{(yyval.code)=code_new();}
}
break;
- case 26:
+ case 28:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1594 "parser.y"
+#line 1671 "parser.y"
{(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));}
}
break;
- case 27:
+ case 29:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1595 "parser.y"
+#line 1672 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
- case 38:
+ case 40:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1610 "parser.y"
+#line 1687 "parser.y"
{(yyval.code)=0;}
}
break;
- case 45:
+ case 47:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1618 "parser.y"
+#line 1695 "parser.y"
{/*TODO*/(yyval.code)=0;}
}
break;
- case 46:
+ case 48:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1619 "parser.y"
+#line 1696 "parser.y"
{/*TODO*/(yyval.code)=0;}
}
break;
- case 47:
+ case 49:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1621 "parser.y"
+#line 1698 "parser.y"
{(yyval.code)=(yyvsp[(2) - (3)].code);}
}
break;
- case 48:
+ case 50:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1622 "parser.y"
+#line 1699 "parser.y"
{(yyval.code)=0;}
}
break;
- case 49:
+ case 51:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1623 "parser.y"
+#line 1700 "parser.y"
{(yyval.code)=(yyvsp[(1) - (2)].code);}
}
break;
- case 50:
+ case 52:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1624 "parser.y"
+#line 1701 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
- case 51:
+ case 53:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1628 "parser.y"
+#line 1705 "parser.y"
{
code_t**cc = &global->init->method->body->code;
*cc = code_append(*cc, (yyvsp[(1) - (1)].code));
- case 52:
+ case 54:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1635 "parser.y"
+#line 1712 "parser.y"
{(yyval.value)=(yyvsp[(2) - (2)].value);}
}
break;
- case 53:
+ case 55:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1636 "parser.y"
+#line 1713 "parser.y"
{(yyval.value).c=abc_pushundefined(0);
(yyval.value).t=TYPE_ANY;
}
- case 54:
+ case 56:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1640 "parser.y"
+#line 1717 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
- case 55:
+ case 57:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1641 "parser.y"
+#line 1718 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
- case 56:
+ case 58:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1643 "parser.y"
+#line 1720 "parser.y"
{(yyval.code) = (yyvsp[(1) - (1)].code);}
}
break;
- case 57:
+ case 59:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1644 "parser.y"
+#line 1721 "parser.y"
{(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));}
}
break;
- case 58:
+ case 60:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1647 "parser.y"
+#line 1724 "parser.y"
{
if(variable_exists((yyvsp[(1) - (3)].id)))
syntaxerror("Variable %s already defined", (yyvsp[(1) - (3)].id));
(yyval.code) = converttype((yyval.code), (yyvsp[(3) - (3)].value).t, (yyvsp[(2) - (3)].classinfo));
(yyval.code) = abc_setlocal((yyval.code), index);
} else {
+ code_free((yyvsp[(3) - (3)].value).c);
(yyval.code) = defaultvalue(0, (yyvsp[(2) - (3)].classinfo));
(yyval.code) = abc_setlocal((yyval.code), index);
}
(yyval.code) = abc_coerce_a((yyval.code));
(yyval.code) = abc_setlocal((yyval.code), index);
} else {
+ code_free((yyvsp[(3) - (3)].value).c);
(yyval.code) = code_new();
}
}
- case 59:
+ case 61:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1687 "parser.y"
+#line 1766 "parser.y"
{(yyval.code) = code_new();}
}
break;
- case 60:
+ case 62:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1688 "parser.y"
+#line 1767 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
- case 61:
+ case 63:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1691 "parser.y"
+#line 1770 "parser.y"
{new_state();}
}
break;
- case 62:
+ case 64:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1691 "parser.y"
+#line 1770 "parser.y"
{
(yyval.code) = code_new();
- case 63:
+ case 65:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1710 "parser.y"
+#line 1789 "parser.y"
{(yyval.code)=code_new();}
}
break;
- case 66:
+ case 68:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1715 "parser.y"
+#line 1794 "parser.y"
{
(yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].classinfo),1);
}
- case 67:
+ case 69:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1718 "parser.y"
+#line 1797 "parser.y"
{
(yyval.id)=(yyvsp[(1) - (1)].id);
}
- case 68:
+ case 70:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1722 "parser.y"
+#line 1801 "parser.y"
{new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;}
}
break;
- case 69:
+ case 71:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1723 "parser.y"
+#line 1802 "parser.y"
{new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;}
}
break;
- case 70:
+ case 72:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1725 "parser.y"
+#line 1804 "parser.y"
{
if((yyvsp[(1) - (8)].for_start).each) syntaxerror("invalid syntax: ; not allowed in for each statement");
(yyval.code) = code_new();
- case 71:
+ case 73:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1745 "parser.y"
+#line 1824 "parser.y"
{
variable_t*var = find_variable((yyvsp[(2) - (6)].id));
char*tmp1name = concat2((yyvsp[(2) - (6)].id), "__tmp1__");
- case 72:
+ case 74:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1788 "parser.y"
+#line 1867 "parser.y"
{new_state();}
}
break;
- case 73:
+ case 75:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1788 "parser.y"
+#line 1867 "parser.y"
{
(yyval.code) = code_new();
- case 74:
+ case 76:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1807 "parser.y"
+#line 1886 "parser.y"
{new_state();}
}
break;
- case 75:
+ case 77:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1807 "parser.y"
+#line 1886 "parser.y"
{
(yyval.code) = code_new();
code_t*loopstart = (yyval.code) = abc_label((yyval.code));
- case 76:
+ case 78:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1822 "parser.y"
+#line 1901 "parser.y"
{
(yyval.code) = abc___break__(0, "");
}
- case 77:
+ case 79:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1825 "parser.y"
+#line 1904 "parser.y"
{
(yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id));
}
- case 78:
+ case 80:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1828 "parser.y"
+#line 1907 "parser.y"
{
(yyval.code) = abc___continue__(0, "");
}
- case 79:
+ case 81:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1831 "parser.y"
+#line 1910 "parser.y"
{
(yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id));
}
- case 80:
+ case 82:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1835 "parser.y"
+#line 1914 "parser.y"
{(yyval.code)=0;}
}
break;
- case 81:
+ case 83:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1836 "parser.y"
+#line 1915 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
- case 82:
+ case 84:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1837 "parser.y"
+#line 1916 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
- case 83:
+ case 85:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1838 "parser.y"
+#line 1917 "parser.y"
{(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));}
}
break;
- case 84:
+ case 86:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1839 "parser.y"
+#line 1918 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
- case 85:
+ case 87:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1840 "parser.y"
+#line 1919 "parser.y"
{(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));}
}
break;
- case 86:
+ case 88:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1842 "parser.y"
+#line 1921 "parser.y"
{
(yyval.code) = abc_dup(0);
(yyval.code) = code_append((yyval.code), (yyvsp[(2) - (4)].value).c);
- case 87:
+ case 89:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1853 "parser.y"
+#line 1932 "parser.y"
{
(yyval.code) = (yyvsp[(3) - (3)].code);
}
- case 88:
+ case 90:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1856 "parser.y"
+#line 1935 "parser.y"
{new_state();}
}
break;
- case 89:
+ case 91:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1856 "parser.y"
+#line 1935 "parser.y"
{
(yyval.code)=(yyvsp[(4) - (8)].value).c;
(yyval.code) = code_append((yyval.code), (yyvsp[(7) - (8)].code));
- case 90:
+ case 92:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1885 "parser.y"
+#line 1964 "parser.y"
{new_state();state->exception_name=(yyvsp[(3) - (5)].id);new_variable((yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].classinfo), 0);}
}
break;
- case 91:
+ case 93:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1886 "parser.y"
+#line 1965 "parser.y"
{
namespace_t name_ns = {ACCESS_PACKAGE, ""};
multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)};
- case 92:
+ case 94:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1905 "parser.y"
+#line 1984 "parser.y"
{new_state();state->exception_name=0;}
}
break;
- case 93:
+ case 95:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1905 "parser.y"
+#line 1984 "parser.y"
{
(yyvsp[(4) - (5)].code) = var_block((yyvsp[(4) - (5)].code));
if(!(yyvsp[(4) - (5)].code)) {
- case 94:
+ case 96:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1922 "parser.y"
+#line 2001 "parser.y"
{(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));}
}
break;
- case 95:
+ case 97:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1923 "parser.y"
+#line 2002 "parser.y"
{(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));}
}
break;
- case 96:
+ case 98:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1924 "parser.y"
+#line 2003 "parser.y"
{(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);}
}
break;
- case 97:
+ case 99:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1925 "parser.y"
+#line 2004 "parser.y"
{
(yyval.catch_list) = (yyvsp[(1) - (2)].catch_list);
(yyval.catch_list).finally = 0;
- case 98:
+ case 100:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1933 "parser.y"
+#line 2012 "parser.y"
{
(yyval.catch_list).l=list_new();
(yyval.catch_list).finally = 0;
- case 99:
+ case 101:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1942 "parser.y"
+#line 2021 "parser.y"
{new_state();}
}
break;
- case 100:
+ case 102:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1942 "parser.y"
+#line 2021 "parser.y"
{
code_t*out = abc_nop(0);
- case 101:
+ case 103:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1987 "parser.y"
+#line 2066 "parser.y"
{
(yyval.code)=(yyvsp[(2) - (2)].value).c;
(yyval.code)=abc_throw((yyval.code));
- case 102:
+ case 104:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1991 "parser.y"
+#line 2070 "parser.y"
{
if(!state->exception_name)
syntaxerror("re-throw only possible within a catch block");
- case 103:
+ case 105:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2002 "parser.y"
+#line 2081 "parser.y"
{
(yyval.code) = (yyvsp[(3) - (5)].value).c;
(yyval.code) = abc_pushscope((yyval.code));
- case 105:
+ case 107:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2012 "parser.y"
+#line 2091 "parser.y"
{PASS12 (yyval.id)="package";}
}
break;
- case 106:
+ case 108:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2014 "parser.y"
+#line 2093 "parser.y"
{PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;}
}
break;
- case 107:
+ case 109:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2015 "parser.y"
+#line 2094 "parser.y"
{PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));}
}
break;
- case 108:
+ case 110:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2017 "parser.y"
+#line 2096 "parser.y"
{PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;}
}
break;
- case 109:
+ case 111:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2018 "parser.y"
+#line 2097 "parser.y"
{PASS12 endpackage();(yyval.code)=0;}
}
break;
- case 110:
+ case 112:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2019 "parser.y"
+#line 2098 "parser.y"
{PASS12 startpackage("");}
}
break;
- case 111:
+ case 113:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2020 "parser.y"
+#line 2099 "parser.y"
{PASS12 endpackage();(yyval.code)=0;}
}
break;
- case 112:
+ case 114:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2022 "parser.y"
+#line 2101 "parser.y"
{
+ PASS1
+ if(!registry_findclass((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name)) {
+ as3_schedule_class((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name);
+ }
+
+ PASS2
classinfo_t*c = (yyvsp[(2) - (2)].classinfo);
if(!c)
syntaxerror("Couldn't import class\n");
- case 113:
+ case 115:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2030 "parser.y"
+#line 2115 "parser.y"
{
+ PASS1
+ if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6)) {
+ as3_schedule_package((yyvsp[(2) - (4)].id));
+ }
+
+ PASS2
NEW(import_t,i);
i->package = (yyvsp[(2) - (4)].id);
state_has_imports();
- case 114:
+ case 116:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2040 "parser.y"
+#line 2131 "parser.y"
{PASS12 (yyval.flags)=0;}
}
break;
- case 115:
+ case 117:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2041 "parser.y"
+#line 2132 "parser.y"
{PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
}
break;
- case 116:
+ case 118:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2042 "parser.y"
+#line 2133 "parser.y"
{PASS12 (yyval.flags)=(yyvsp[(1) - (1)].token);}
}
break;
- case 117:
+ case 119:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2043 "parser.y"
+#line 2134 "parser.y"
{PASS12 (yyval.flags)=(yyvsp[(1) - (2)].flags)|(yyvsp[(2) - (2)].token);}
}
break;
- case 118:
+ case 120:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2045 "parser.y"
+#line 2136 "parser.y"
{PASS12 (yyval.token)=FLAG_PUBLIC;}
}
break;
- case 119:
+ case 121:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2046 "parser.y"
+#line 2137 "parser.y"
{PASS12 (yyval.token)=FLAG_PRIVATE;}
}
break;
- case 120:
+ case 122:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2047 "parser.y"
+#line 2138 "parser.y"
{PASS12 (yyval.token)=FLAG_PROTECTED;}
}
break;
- case 121:
+ case 123:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2048 "parser.y"
+#line 2139 "parser.y"
{PASS12 (yyval.token)=FLAG_STATIC;}
}
break;
- case 122:
+ case 124:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2049 "parser.y"
+#line 2140 "parser.y"
{PASS12 (yyval.token)=FLAG_DYNAMIC;}
}
break;
- case 123:
+ case 125:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2050 "parser.y"
+#line 2141 "parser.y"
{PASS12 (yyval.token)=FLAG_FINAL;}
}
break;
- case 124:
+ case 126:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2051 "parser.y"
+#line 2142 "parser.y"
{PASS12 (yyval.token)=FLAG_OVERRIDE;}
}
break;
- case 125:
+ case 127:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2052 "parser.y"
+#line 2143 "parser.y"
{PASS12 (yyval.token)=FLAG_NATIVE;}
}
break;
- case 126:
+ case 128:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2053 "parser.y"
+#line 2144 "parser.y"
{PASS12 (yyval.token)=FLAG_PACKAGEINTERNAL;}
}
break;
- case 127:
+ case 129:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2055 "parser.y"
+#line 2146 "parser.y"
{(yyval.classinfo)=registry_getobjectclass();}
}
break;
- case 128:
+ case 130:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2056 "parser.y"
+#line 2147 "parser.y"
{(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
}
break;
- case 129:
+ case 131:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2058 "parser.y"
+#line 2149 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();}
}
break;
- case 130:
+ case 132:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2059 "parser.y"
+#line 2150 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
}
break;
- case 131:
+ case 133:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2061 "parser.y"
+#line 2152 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();}
}
break;
- case 132:
+ case 134:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2062 "parser.y"
+#line 2153 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
}
break;
- case 133:
+ case 135:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2066 "parser.y"
+#line 2157 "parser.y"
{PASS12 startclass((yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list), 0);}
}
break;
- case 134:
+ case 136:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2068 "parser.y"
+#line 2159 "parser.y"
{PASS12 endclass();(yyval.code)=0;}
}
break;
- case 135:
+ case 137:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2072 "parser.y"
+#line 2163 "parser.y"
{PASS12 startclass((yyvsp[(1) - (5)].flags),(yyvsp[(3) - (5)].id),0,(yyvsp[(4) - (5)].classinfo_list),1);}
}
break;
- case 136:
+ case 138:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2074 "parser.y"
+#line 2165 "parser.y"
{PASS12 endclass();(yyval.code)=0;}
}
break;
- case 144:
+ case 146:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2086 "parser.y"
+#line 2177 "parser.y"
{
code_t*c = state->cls->static_init;
c = code_append(c, (yyvsp[(1) - (1)].code));
- case 150:
+ case 152:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2097 "parser.y"
+#line 2188 "parser.y"
{
syntaxerror("variable declarations not allowed in interfaces");
}
- case 151:
+ case 153:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2100 "parser.y"
+#line 2191 "parser.y"
{
PASS12
(yyvsp[(1) - (8)].flags) |= FLAG_PUBLIC;
}
startfunction(0,(yyvsp[(1) - (8)].flags),(yyvsp[(3) - (8)].token),(yyvsp[(4) - (8)].id),&(yyvsp[(6) - (8)].params),(yyvsp[(8) - (8)].classinfo));
endfunction(0,(yyvsp[(1) - (8)].flags),(yyvsp[(3) - (8)].token),(yyvsp[(4) - (8)].id),&(yyvsp[(6) - (8)].params),(yyvsp[(8) - (8)].classinfo), 0);
+ list_deep_free((yyvsp[(6) - (8)].params).list);
}
}
break;
- case 154:
+ case 156:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2114 "parser.y"
+#line 2206 "parser.y"
{
int flags = (yyvsp[(1) - (5)].flags);
memberinfo_t* info = state->cls?
- case 155:
+ case 157:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2173 "parser.y"
+#line 2265 "parser.y"
{(yyval.constant)=0;}
}
break;
- case 156:
+ case 158:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2174 "parser.y"
+#line 2266 "parser.y"
{(yyval.constant)=(yyvsp[(2) - (2)].constant);}
}
break;
- case 157:
+ case 159:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2176 "parser.y"
+#line 2268 "parser.y"
{(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_uint));}
}
break;
- case 158:
+ case 160:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2177 "parser.y"
+#line 2269 "parser.y"
{(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));}
}
break;
- case 159:
+ case 161:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2178 "parser.y"
+#line 2270 "parser.y"
{(yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint));}
}
break;
- case 160:
+ case 162:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2179 "parser.y"
+#line 2271 "parser.y"
{(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));}
}
break;
- case 161:
+ case 163:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2180 "parser.y"
- {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);}
+#line 2272 "parser.y"
+ {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);free((char*)(yyvsp[(1) - (1)].str).str);}
}
break;
- case 162:
+ case 164:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2182 "parser.y"
+#line 2274 "parser.y"
{(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));}
}
break;
- case 163:
+ case 165:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2183 "parser.y"
+#line 2275 "parser.y"
{(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));}
}
break;
- case 164:
+ case 166:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2184 "parser.y"
+#line 2276 "parser.y"
{(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));}
}
break;
- case 165:
+ case 167:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2189 "parser.y"
+#line 2281 "parser.y"
{
+ PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
}
}
- case 166:
+ case 168:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2192 "parser.y"
+#line 2285 "parser.y"
{
+ PASS12
(yyval.params)=(yyvsp[(1) - (1)].params);
}
}
- case 167:
+ case 169:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2197 "parser.y"
+#line 2291 "parser.y"
{
+ PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
(yyval.params).varargs=1;
list_append((yyval.params).list, (yyvsp[(2) - (2)].param));
- case 168:
+ case 170:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2202 "parser.y"
+#line 2297 "parser.y"
{
+ PASS12
(yyval.params) =(yyvsp[(1) - (4)].params);
(yyval.params).varargs=1;
list_append((yyval.params).list, (yyvsp[(4) - (4)].param));
- case 169:
+ case 171:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2209 "parser.y"
+#line 2305 "parser.y"
{
+ PASS12
(yyval.params) = (yyvsp[(1) - (3)].params);
list_append((yyval.params).list, (yyvsp[(3) - (3)].param));
}
- case 170:
+ case 172:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2213 "parser.y"
+#line 2310 "parser.y"
{
+ PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
list_append((yyval.params).list, (yyvsp[(1) - (1)].param));
}
- case 171:
+ case 173:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2218 "parser.y"
+#line 2316 "parser.y"
{
+ PASS1 (yyval.param)=0;
+ PASS2
(yyval.param) = malloc(sizeof(param_t));
(yyval.param)->name=(yyvsp[(1) - (4)].id);
(yyval.param)->type = (yyvsp[(3) - (4)].classinfo);
- case 172:
+ case 174:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2224 "parser.y"
+#line 2324 "parser.y"
{
+ PASS1 (yyval.param)=0;
+ PASS2
(yyval.param) = malloc(sizeof(param_t));
(yyval.param)->name=(yyvsp[(1) - (2)].id);
(yyval.param)->type = TYPE_ANY;
- case 173:
+ case 175:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2230 "parser.y"
+#line 2332 "parser.y"
{(yyval.token)=(yyvsp[(1) - (1)].token);}
}
break;
- case 174:
+ case 176:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2231 "parser.y"
+#line 2333 "parser.y"
{(yyval.token)=(yyvsp[(1) - (1)].token);}
}
break;
- case 175:
+ case 177:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2232 "parser.y"
+#line 2334 "parser.y"
{(yyval.token)=0;}
}
break;
- case 176:
+ case 178:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2235 "parser.y"
+#line 2337 "parser.y"
{PASS12 startfunction(0,(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));}
}
break;
- case 177:
+ case 179:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2236 "parser.y"
+#line 2338 "parser.y"
{
- PASS1 old_state();
+ PASS1 old_state();list_deep_free((yyvsp[(6) - (12)].params).list);
PASS2
if(!state->method->info) syntaxerror("internal error");
- code_t*c = 0;
- if(state->method->late_binding) {
- c = abc_getlocal_0(c);
- c = abc_pushscope(c);
- }
- if(state->method->is_constructor && !state->method->has_super) {
- // call default constructor
- c = abc_getlocal_0(c);
- c = abc_constructsuper(c, 0);
- }
-
+
+ code_t*c = method_header();
c = wrap_function(c, 0, (yyvsp[(11) - (12)].code));
endfunction(0,(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),(yyvsp[(8) - (12)].classinfo),c);
+ list_deep_free((yyvsp[(6) - (12)].params).list);
(yyval.code)=0;
}
}
- case 179:
+ case 181:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2258 "parser.y"
+#line 2352 "parser.y"
{PASS12 (yyval.id)=0;}
}
break;
- case 180:
+ case 182:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2260 "parser.y"
+#line 2354 "parser.y"
{PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));}
}
break;
- case 181:
+ case 183:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2261 "parser.y"
+#line 2355 "parser.y"
{
- PASS1 old_state();
+ PASS1 old_state();list_deep_free((yyvsp[(4) - (10)].params).list);
PASS2
memberinfo_t*f = state->method->info;
if(!f) syntaxerror("internal error");
-
- code_t*c = 0;
+
+ code_t*c = method_header();
c = wrap_function(c, 0, (yyvsp[(9) - (10)].code));
- abc_method_t*abc = endfunction(0,0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),(yyvsp[(6) - (10)].classinfo),c);
+ int index = state->method->var_index;
+ endfunction(0,0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),(yyvsp[(6) - (10)].classinfo),c);
+ list_deep_free((yyvsp[(4) - (10)].params).list);
- (yyval.value).c = abc_newfunction(0, abc);
+ (yyval.value).c = abc_getlocal(0, index);
(yyval.value).t = TYPE_FUNCTION(f);
}
}
- case 182:
+ case 184:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2279 "parser.y"
+#line 2375 "parser.y"
{
PASS1 (yyval.classinfo)=0;
PASS2
- case 183:
+ case 185:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2287 "parser.y"
+#line 2383 "parser.y"
{
- PASS1 (yyval.classinfo)=0;
+ PASS1 static classinfo_t c;
+ memset(&c, 0, sizeof(c));
+ c.package = (yyvsp[(1) - (3)].id);
+ c.name = (yyvsp[(3) - (3)].id);
+ (yyval.classinfo)=&c;
PASS2
(yyval.classinfo) = registry_findclass((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].id));
if(!(yyval.classinfo)) syntaxerror("Couldn't find class %s.%s\n", (yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].id));
- case 186:
+ case 188:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2298 "parser.y"
+#line 2398 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));}
}
break;
- case 187:
+ case 189:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2299 "parser.y"
+#line 2399 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));}
}
break;
- case 188:
+ case 190:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2301 "parser.y"
+#line 2401 "parser.y"
{(yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);}
}
break;
- case 189:
+ case 191:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2302 "parser.y"
+#line 2402 "parser.y"
{(yyval.classinfo)=registry_getanytype();}
}
break;
- case 190:
+ case 192:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2303 "parser.y"
+#line 2403 "parser.y"
{(yyval.classinfo)=registry_getanytype();}
}
break;
- case 191:
+ case 193:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2312 "parser.y"
+#line 2412 "parser.y"
{(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
}
break;
- case 192:
+ case 194:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2313 "parser.y"
+#line 2413 "parser.y"
{(yyval.classinfo)=0;}
}
break;
- case 193:
+ case 195:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2317 "parser.y"
+#line 2417 "parser.y"
{(yyval.value_list).cc=0;(yyval.value_list).len=0;}
}
break;
- case 194:
+ case 196:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2318 "parser.y"
+#line 2418 "parser.y"
{(yyval.value_list)=(yyvsp[(2) - (3)].value_list);}
}
break;
- case 195:
+ case 197:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2320 "parser.y"
+#line 2420 "parser.y"
{(yyval.value_list).cc=0;(yyval.value_list).len=0;}
}
break;
- case 197:
+ case 199:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2322 "parser.y"
+#line 2422 "parser.y"
{(yyval.value_list).len=1;
(yyval.value_list).cc = (yyvsp[(1) - (1)].value).c;
}
- case 198:
+ case 200:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2325 "parser.y"
+#line 2425 "parser.y"
{
(yyval.value_list).len= (yyvsp[(1) - (3)].value_list).len+1;
(yyval.value_list).cc = code_append((yyvsp[(1) - (3)].value_list).cc, (yyvsp[(3) - (3)].value).c);
- case 199:
+ case 202:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2330 "parser.y"
+#line 2431 "parser.y"
{
- MULTINAME(m, (yyvsp[(2) - (3)].classinfo));
- (yyval.value).c = code_new();
-
- if((yyvsp[(2) - (3)].classinfo)->slot) {
- (yyval.value).c = abc_getglobalscope((yyval.value).c);
- (yyval.value).c = abc_getslot((yyval.value).c, (yyvsp[(2) - (3)].classinfo)->slot);
+ (yyval.value).c = (yyvsp[(2) - (4)].value).c;
+ if((yyval.value).c->opcode == OPCODE_COERCE_A) (yyval.value).c = code_cutlast((yyval.value).c);
+
+ code_t*paramcode = (yyvsp[(4) - (4)].value_list).cc;
+ if((yyval.value).c->opcode == OPCODE_GETPROPERTY) {
+ multiname_t*name = (yyval.value).c->data[0];(yyval.value).c->data[0]=0;
+ (yyval.value).c = code_cutlast((yyval.value).c);
+ (yyval.value).c = code_append((yyval.value).c, paramcode);
+ (yyval.value).c = abc_constructprop2((yyval.value).c, name, (yyvsp[(4) - (4)].value_list).len);
+ multiname_destroy(name);
+ } else if((yyval.value).c->opcode == OPCODE_GETSLOT) {
+ int slot = (int)(ptroff_t)(yyval.value).c->data[0];
+ trait_t*t = abc_class_find_slotid(state->cls->abc,slot);//FIXME
+ multiname_t*name = t->name;
+ (yyval.value).c = code_cutlast((yyval.value).c);
+ (yyval.value).c = code_append((yyval.value).c, paramcode);
+ (yyval.value).c = abc_constructprop2((yyval.value).c, name, (yyvsp[(4) - (4)].value_list).len);
} else {
- (yyval.value).c = abc_findpropstrict2((yyval.value).c, &m);
+ (yyval.value).c = code_append((yyval.value).c, paramcode);
+ (yyval.value).c = abc_construct((yyval.value).c, (yyvsp[(4) - (4)].value_list).len);
+ }
+
+ (yyval.value).t = TYPE_ANY;
+ if(TYPE_IS_CLASS((yyvsp[(2) - (4)].value).t) && (yyvsp[(2) - (4)].value).t->cls) {
+ (yyval.value).t = (yyvsp[(2) - (4)].value).t->cls;
+ } else {
+ (yyval.value).c = abc_coerce_a((yyval.value).c);
+ (yyval.value).t = TYPE_ANY;
}
-
- (yyval.value).c = code_append((yyval.value).c, (yyvsp[(3) - (3)].value_list).cc);
-
- if((yyvsp[(2) - (3)].classinfo)->slot)
- (yyval.value).c = abc_construct((yyval.value).c, (yyvsp[(3) - (3)].value_list).len);
- else
- (yyval.value).c = abc_constructprop2((yyval.value).c, &m, (yyvsp[(3) - (3)].value_list).len);
- (yyval.value).t = (yyvsp[(2) - (3)].classinfo);
}
}
break;
- case 200:
+ case 203:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2354 "parser.y"
+#line 2467 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
(yyval.value).c = abc_callsuper2((yyval.value).c, name, (yyvsp[(3) - (4)].value_list).len);
multiname_destroy(name);
} else {
- (yyval.value).c = abc_getlocal_0((yyval.value).c);
+ (yyval.value).c = abc_getglobalscope((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c, paramcode);
(yyval.value).c = abc_call((yyval.value).c, (yyvsp[(3) - (4)].value_list).len);
}
- memberinfo_t*f = 0;
-
if(TYPE_IS_FUNCTION((yyvsp[(1) - (4)].value).t) && (yyvsp[(1) - (4)].value).t->function) {
(yyval.value).t = (yyvsp[(1) - (4)].value).t->function->return_type;
} else {
(yyval.value).c = abc_coerce_a((yyval.value).c);
(yyval.value).t = TYPE_ANY;
}
-
}
}
break;
- case 201:
+ case 204:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2402 "parser.y"
+#line 2513 "parser.y"
{
if(!state->cls) syntaxerror("super() not allowed outside of a class");
if(!state->method) syntaxerror("super() not allowed outside of a function");
syntaxerror("constructor may call super() only once");
*/
state->method->has_super = 1;
+
(yyval.value).c = abc_constructsuper((yyval.value).c, (yyvsp[(3) - (4)].value_list).len);
(yyval.value).c = abc_pushundefined((yyval.value).c);
(yyval.value).t = TYPE_ANY;
- case 202:
+ case 205:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2422 "parser.y"
+#line 2534 "parser.y"
{
(yyval.value).c = (yyvsp[(2) - (2)].value).c;
if((yyval.value).c->opcode == OPCODE_COERCE_A) {
- case 203:
+ case 206:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2443 "parser.y"
+#line 2555 "parser.y"
{
(yyval.code) = abc_returnvoid(0);
}
- case 204:
+ case 207:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2446 "parser.y"
+#line 2558 "parser.y"
{
(yyval.code) = (yyvsp[(2) - (2)].value).c;
(yyval.code) = abc_returnvalue((yyval.code));
- case 205:
+ case 208:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2453 "parser.y"
+#line 2565 "parser.y"
{(yyval.value)=(yyvsp[(1) - (1)].value);}
}
break;
- case 206:
+ case 209:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2454 "parser.y"
+#line 2566 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 207:
+ case 210:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2455 "parser.y"
+#line 2567 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (3)].value).c;
(yyval.value).c = cut_last_push((yyval.value).c);
- case 208:
+ case 211:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2461 "parser.y"
+#line 2573 "parser.y"
{
(yyval.code)=cut_last_push((yyvsp[(1) - (1)].value).c);
}
- case 209:
+ case 212:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2467 "parser.y"
+#line 2579 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 211:
+ case 214:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2471 "parser.y"
+#line 2583 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 212:
+ case 215:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2473 "parser.y"
+#line 2585 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 213:
+ case 216:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2475 "parser.y"
+#line 2587 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 214:
+ case 218:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2477 "parser.y"
+#line 2591 "parser.y"
{
(yyval.value).c = 0;
namespace_t ns = {ACCESS_PACKAGE, ""};
- case 215:
+ case 219:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2494 "parser.y"
+#line 2608 "parser.y"
{(yyval.value).c = abc_pushbyte(0, (yyvsp[(1) - (1)].number_uint));
//MULTINAME(m, registry_getintclass());
//$$.c = abc_coerce2($$.c, &m); // FIXME
- case 216:
+ case 220:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2499 "parser.y"
+#line 2613 "parser.y"
{(yyval.value).c = abc_pushshort(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_INT;
}
- case 217:
+ case 221:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2502 "parser.y"
+#line 2616 "parser.y"
{(yyval.value).c = abc_pushint(0, (yyvsp[(1) - (1)].number_int));
(yyval.value).t = TYPE_INT;
}
- case 218:
+ case 222:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2505 "parser.y"
+#line 2619 "parser.y"
{(yyval.value).c = abc_pushuint(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_UINT;
}
- case 219:
+ case 223:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2508 "parser.y"
+#line 2622 "parser.y"
{(yyval.value).c = abc_pushdouble(0, (yyvsp[(1) - (1)].number_float));
(yyval.value).t = TYPE_FLOAT;
}
- case 220:
+ case 224:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2511 "parser.y"
- {(yyval.value).c = abc_pushstring2(0, &(yyvsp[(1) - (1)].str));
+#line 2625 "parser.y"
+ {(yyval.value).c = abc_pushstring2(0, &(yyvsp[(1) - (1)].str));free((char*)(yyvsp[(1) - (1)].str).str);
(yyval.value).t = TYPE_STRING;
}
}
- case 221:
+ case 225:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2514 "parser.y"
+#line 2628 "parser.y"
{(yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
}
- case 222:
+ case 226:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2517 "parser.y"
+#line 2631 "parser.y"
{(yyval.value).c = abc_pushtrue(0);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 223:
+ case 227:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2520 "parser.y"
+#line 2634 "parser.y"
{(yyval.value).c = abc_pushfalse(0);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 224:
+ case 228:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2523 "parser.y"
+#line 2637 "parser.y"
{(yyval.value).c = abc_pushnull(0);
(yyval.value).t = TYPE_NULL;
}
- case 226:
+ case 229:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2528 "parser.y"
+#line 2641 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_greaterequals((yyval.value).c);(yyval.value).c=abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 227:
+ case 230:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2531 "parser.y"
+#line 2644 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_greaterthan((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 228:
+ case 231:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2534 "parser.y"
+#line 2647 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_greaterthan((yyval.value).c);(yyval.value).c=abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 229:
+ case 232:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2537 "parser.y"
+#line 2650 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_greaterequals((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 230:
+ case 233:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2540 "parser.y"
+#line 2653 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_equals((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 231:
+ case 234:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2543 "parser.y"
+#line 2656 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_strictequals((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 232:
+ case 235:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2546 "parser.y"
+#line 2659 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_strictequals((yyval.value).c);(yyval.value).c = abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 233:
+ case 236:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2549 "parser.y"
+#line 2662 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);(yyval.value).c = abc_equals((yyval.value).c);(yyval.value).c = abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 234:
+ case 237:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2553 "parser.y"
+#line 2666 "parser.y"
{(yyval.value).t = join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, 'O');
(yyval.value).c = (yyvsp[(1) - (3)].value).c;
(yyval.value).c = converttype((yyval.value).c, (yyvsp[(1) - (3)].value).t, (yyval.value).t);
- case 235:
+ case 238:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2564 "parser.y"
+#line 2677 "parser.y"
{
(yyval.value).t = join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, 'A');
/*printf("%08x:\n",$1.t);
- case 236:
+ case 239:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2582 "parser.y"
+#line 2695 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
- case 237:
+ case 240:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2587 "parser.y"
+#line 2700 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_bitnot((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 238:
+ case 241:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2592 "parser.y"
+#line 2705 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_bitand((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 239:
+ case 242:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2597 "parser.y"
+#line 2710 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_bitxor((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 240:
+ case 243:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2602 "parser.y"
+#line 2715 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_bitor((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 241:
+ case 244:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2607 "parser.y"
+#line 2720 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_rshift((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 242:
+ case 245:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2611 "parser.y"
+#line 2724 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_urshift((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 243:
+ case 246:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2615 "parser.y"
+#line 2728 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_lshift((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 244:
+ case 247:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2620 "parser.y"
+#line 2733 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_divide((yyval.value).c);
(yyval.value).t = TYPE_NUMBER;
- case 245:
+ case 248:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2624 "parser.y"
+#line 2737 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_modulo((yyval.value).c);
(yyval.value).t = TYPE_NUMBER;
- case 246:
+ case 249:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2628 "parser.y"
+#line 2741 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
if(BOTH_INT((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t)) {
(yyval.value).c = abc_add_i((yyval.value).c);
- case 247:
+ case 250:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2637 "parser.y"
+#line 2750 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
if(BOTH_INT((yyvsp[(1) - (3)].value).t,(yyvsp[(3) - (3)].value).t)) {
(yyval.value).c = abc_subtract_i((yyval.value).c);
- case 248:
+ case 251:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2646 "parser.y"
+#line 2759 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
if(BOTH_INT((yyvsp[(1) - (3)].value).t,(yyvsp[(3) - (3)].value).t)) {
(yyval.value).c = abc_multiply_i((yyval.value).c);
- case 249:
+ case 252:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2656 "parser.y"
+#line 2769 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_in((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
- case 250:
+ case 253:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2661 "parser.y"
+#line 2774 "parser.y"
{char use_astype=0; // flash player's astype works differently than astypelate
if(use_astype && TYPE_IS_CLASS((yyvsp[(3) - (3)].value).t)) {
MULTINAME(m,(yyvsp[(3) - (3)].value).t->cls);
- case 251:
+ case 254:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2674 "parser.y"
+#line 2787 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c, (yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_instanceof((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
- case 252:
+ case 255:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2679 "parser.y"
+#line 2792 "parser.y"
{(yyval.value).c = code_append((yyvsp[(1) - (3)].value).c, (yyvsp[(3) - (3)].value).c);
(yyval.value).c = abc_istypelate((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
- case 253:
+ case 256:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2684 "parser.y"
+#line 2797 "parser.y"
{
(yyval.value).c = (yyvsp[(3) - (4)].value).c;
(yyval.value).c = abc_typeof((yyval.value).c);
- case 254:
+ case 257:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2690 "parser.y"
+#line 2803 "parser.y"
{
(yyval.value).c = cut_last_push((yyvsp[(2) - (2)].value).c);
(yyval.value).c = abc_pushundefined((yyval.value).c);
- case 255:
+ case 258:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2696 "parser.y"
+#line 2809 "parser.y"
{ (yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
}
- case 256:
+ case 259:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2700 "parser.y"
+#line 2813 "parser.y"
{(yyval.value)=(yyvsp[(2) - (3)].value);}
}
break;
- case 257:
+ case 260:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2702 "parser.y"
+#line 2815 "parser.y"
{
(yyval.value)=(yyvsp[(2) - (2)].value);
if(IS_INT((yyvsp[(2) - (2)].value).t)) {
- case 258:
+ case 261:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2713 "parser.y"
+#line 2826 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(3) - (4)].value).c);
- case 259:
+ case 262:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2722 "parser.y"
+#line 2835 "parser.y"
{
(yyval.value).c = code_new();
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(2) - (3)].value_list).cc);
- case 260:
+ case 263:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2729 "parser.y"
+#line 2842 "parser.y"
{(yyval.value_list).cc=0;(yyval.value_list).len=0;}
}
break;
- case 261:
+ case 264:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2730 "parser.y"
+#line 2843 "parser.y"
{(yyval.value_list)=(yyvsp[(1) - (1)].value_list);}
}
break;
- case 262:
+ case 265:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2732 "parser.y"
+#line 2845 "parser.y"
{
(yyval.value_list).cc = 0;
(yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].value).c);
- case 263:
+ case 266:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2738 "parser.y"
+#line 2851 "parser.y"
{
(yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc;
(yyval.value_list).len = (yyvsp[(1) - (5)].value_list).len+2;
- case 264:
+ case 267:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2747 "parser.y"
+#line 2860 "parser.y"
{
(yyval.value).c = code_new();
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(2) - (3)].value_list).cc);
- case 265:
+ case 268:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2754 "parser.y"
+#line 2867 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
if(BOTH_INT((yyvsp[(1) - (3)].value).t,(yyvsp[(3) - (3)].value).t)) {
- case 266:
+ case 269:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2766 "parser.y"
+#line 2879 "parser.y"
{
code_t*c = abc_modulo((yyvsp[(3) - (3)].value).c);
c=converttype(c, join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, '%'), (yyvsp[(1) - (3)].value).t);
- case 267:
+ case 270:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2772 "parser.y"
+#line 2885 "parser.y"
{
code_t*c = abc_lshift((yyvsp[(3) - (3)].value).c);
c=converttype(c, join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, '<'), (yyvsp[(1) - (3)].value).t);
- case 268:
+ case 271:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2778 "parser.y"
+#line 2891 "parser.y"
{
code_t*c = abc_rshift((yyvsp[(3) - (3)].value).c);
c=converttype(c, join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, '>'), (yyvsp[(1) - (3)].value).t);
- case 269:
+ case 272:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2784 "parser.y"
+#line 2897 "parser.y"
{
code_t*c = abc_urshift((yyvsp[(3) - (3)].value).c);
c=converttype(c, join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, 'U'), (yyvsp[(1) - (3)].value).t);
- case 270:
+ case 273:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2790 "parser.y"
+#line 2903 "parser.y"
{
code_t*c = abc_divide((yyvsp[(3) - (3)].value).c);
c=converttype(c, join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, '/'), (yyvsp[(1) - (3)].value).t);
- case 271:
+ case 274:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2796 "parser.y"
+#line 2909 "parser.y"
{
code_t*c = abc_bitor((yyvsp[(3) - (3)].value).c);
c=converttype(c, TYPE_INT, (yyvsp[(1) - (3)].value).t);
- case 272:
+ case 275:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2802 "parser.y"
+#line 2915 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
- case 273:
+ case 276:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2815 "parser.y"
+#line 2928 "parser.y"
{ code_t*c = (yyvsp[(3) - (3)].value).c;
if(TYPE_IS_INT((yyvsp[(1) - (3)].value).t)) {
c=abc_subtract_i(c);
- case 274:
+ case 277:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2826 "parser.y"
+#line 2939 "parser.y"
{ code_t*c = 0;
c = code_append(c, (yyvsp[(3) - (3)].value).c);
c = converttype(c, (yyvsp[(3) - (3)].value).t, (yyvsp[(1) - (3)].value).t);
- case 275:
+ case 278:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2833 "parser.y"
+#line 2946 "parser.y"
{
(yyval.value).t = join_types((yyvsp[(3) - (5)].value).t,(yyvsp[(5) - (5)].value).t,'?');
(yyval.value).c = (yyvsp[(1) - (5)].value).c;
- case 276:
+ case 279:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2846 "parser.y"
+#line 2959 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(1) - (2)].value).t;
if((is_getlocal((yyvsp[(1) - (2)].value).c) && TYPE_IS_INT((yyvsp[(1) - (2)].value).t)) || TYPE_IS_NUMBER((yyvsp[(1) - (2)].value).t)) {
- case 277:
+ case 280:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2873 "parser.y"
+#line 2986 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(1) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 278:
+ case 281:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2887 "parser.y"
+#line 3000 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 279:
+ case 282:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2901 "parser.y"
+#line 3014 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 280:
+ case 283:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2916 "parser.y"
+#line 3029 "parser.y"
{ if(!state->cls->info)
syntaxerror("super keyword not allowed outside a class");
classinfo_t*t = state->cls->info->superclass;
- case 281:
+ case 284:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2931 "parser.y"
+#line 3044 "parser.y"
{(yyval.value).c = (yyvsp[(1) - (3)].value).c;
classinfo_t*t = (yyvsp[(1) - (3)].value).t;
char is_static = 0;
- case 282:
+ case 285:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2964 "parser.y"
+#line 3077 "parser.y"
{
(yyval.value).t = 0;
(yyval.value).c = 0;
/* unknown object, let the avm2 resolve it */
if(1) {
- if(strcmp((yyvsp[(1) - (1)].id),"trace"))
- as3_softwarning("Couldn't resolve '%s', doing late binding", (yyvsp[(1) - (1)].id));
+ as3_softwarning("Couldn't resolve '%s', doing late binding", (yyvsp[(1) - (1)].id));
state->method->late_binding = 1;
multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(1) - (1)].id)};
- case 283:
+ case 286:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3062 "parser.y"
+#line 3174 "parser.y"
{(yyval.code)=0;}
}
break;
- case 284:
+ case 287:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3063 "parser.y"
+#line 3175 "parser.y"
{(yyval.code)=0;}
}
break;
- case 285:
+ case 288:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3064 "parser.y"
+#line 3176 "parser.y"
{(yyval.code)=0;}
}
break;
- case 286:
+ case 289:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3066 "parser.y"
+#line 3178 "parser.y"
{(yyval.token)=0;}
}
break;
/* Line 1464 of skeleton.m4 */
-#line 7189 "parser.tab.c"
+#line 7412 "parser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);