abc_exception_t *exception;
regexp_t regexp;
modifiers_t flags;
+ namespace_decl_t* namespace_decl;
struct {
abc_exception_list_t *l;
code_t*finally;
/* Line 223 of skeleton.m4 */
-#line 277 "parser.tab.c"
+#line 278 "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 263 "parser.y"
+#line 265 "parser.y"
static int a3_error(char*s)
char*package;
import_list_t*wildcard_imports;
- namespace_list_t*active_namespaces;
+ dict_t*import_toplevel_packages;
dict_t*imports;
+ namespace_list_t*active_namespaces;
+ namespace_decl_list_t*new_namespaces;
char has_own_imports;
char new_vars; // e.g. transition between two functions
if(!s->imports) {
s->imports = dict_new();
}
+ if(!s->import_toplevel_packages) {
+ s->import_toplevel_packages = dict_new();
+ }
state = s;
state->level++;
state->has_own_imports = 0;
+ state->new_namespaces = 0;
state->vars = dict_new();
state->old = oldstate;
state->new_vars = 0;
state->imports = dict_clone(state->imports);
state->has_own_imports = 1;
}
+static void import_toplevel(const char*package)
+{
+ char* s = strdup(package);
+ while(1) {
+ dict_put(state->import_toplevel_packages, s, 0);
+ char*x = strrchr(s, '.');
+ if(!x)
+ break;
+ *x = 0;
+ }
+ free(s);
+}
static void state_destroy(state_t*state)
{
state_t*leaving = state;
state = state->old;
+
+ namespace_decl_list_t*nl=leaving->new_namespaces;
+ while(nl) {
+ tokenizer_unregister_namespace(nl->namespace_decl->name);
+ nl = nl->next;
+ }
if(as3_pass>1 && leaving->method && leaving->method != state->method && !leaving->method->inner) {
free(leaving->method);
}
return ns;
}
+static slotinfo_t* find_class(const char*name);
static void function_initvars(methodstate_t*m, params_t*params, int flags, char var0)
{
that those variable indices are reserved. It's up to the
optimizer to later shuffle the variables down to lower
indices */
- m->variable_count = m->uses_slots;
+ m->variable_count = m->uses_slots;
+ DICT_ITERATE_ITEMS(m->slots, char*, name, variable_t*, v) {
+ if(v->type) {
+ if(v->type->package)
+ v->type = (classinfo_t*)registry_find(v->type->package, v->type->name);
+ else
+ v->type = (classinfo_t*)find_class(v->type->name);
+ if(!v->type || v->type->kind != INFOTYPE_CLASS) {
+ syntaxerror("Couldn't find class %s", v->type->name);
+ }
+ }
+ }
}
if(params) {
if(state->cls) {
syntaxerror("inner classes now allowed");
}
+
new_state();
token_list_t*t=0;
classinfo_list_t*mlist=0;
if((mod->flags&(FLAG_PUBLIC|FLAG_PACKAGEINTERNAL)) == (FLAG_PUBLIC|FLAG_PACKAGEINTERNAL))
syntaxerror("public and internal not supported at the same time.");
+
+ if(!(mod->flags&FLAG_INTERFACE) && !extends) {
+ // all classes extend object
+ extends = registry_getobjectclass();
+ }
/* create the class name, together with the proper attributes */
int access=0;
syntaxerror("Can't extend final class '%s'", extends->name);
/* fill out interfaces and extends (we couldn't resolve those during the first pass) */
- state->cls->info->superclass = extends?extends:TYPE_OBJECT;
+ state->cls->info->superclass = extends;
int pos = 0;
classinfo_list_t*l = implements;
for(l=implements;l;l=l->next) {
}
}
-static void setstaticfunction(int x)
+static int slotstate_varconst = 0;
+static modifiers_t*slotstate_flags = 0;
+static void setslotstate(modifiers_t* flags, int varconst)
{
+ slotstate_varconst = varconst;
+ slotstate_flags = flags;
if(state->cls) {
- if(x&FLAG_STATIC) {
+ if(flags && flags->flags&FLAG_STATIC) {
state->method = state->cls->static_init;
} else {
state->method = state->cls->init;
char*name = string_cstr(c->data[0]);
syntaxerror("Unresolved \"continue %s\"", name);
}
+ if(c->opcode == OPCODE___PUSHPACKAGE__) {
+ char*name = string_cstr(c->data[0]);
+ syntaxerror("Can't reference a package (%s) as such", name);
+ }
c=c->prev;
}
}
return;
if(m->flags & FLAG_FINAL)
syntaxerror("can't override final member %s", m->name);
+
+ /* allow this. it's no issue.
if((m->flags & FLAG_STATIC) && !(flags&FLAG_STATIC))
- syntaxerror("can't override static member %s", m->name);
+ syntaxerror("can't override static member %s", m->name);*/
+
if(!(m->flags & FLAG_STATIC) && (flags&FLAG_STATIC))
syntaxerror("can't override non-static member %s with static declaration", m->name);
- if(!(flags&FLAG_OVERRIDE)) {
+ if(!(flags&FLAG_OVERRIDE) && !(flags&FLAG_STATIC) && !(m->flags&FLAG_STATIC)) {
if(m->parent && !(m->parent->flags&FLAG_INTERFACE)) {
if(m->kind == INFOTYPE_METHOD)
syntaxerror("can't override without explicit 'override' declaration");
if(!state->cls) {
//package method
minfo = methodinfo_register_global(ns.access, state->package, name);
- minfo->return_type = return_type;
+ minfo->return_type = 0; // save this for pass 2
} else if(getset != KW_GET && getset != KW_SET) {
//class method
memberinfo_t* m = registry_findmember(state->cls->info, ns.name, name, 0);
syntaxerror("class already contains a %s '%s'", infotypename((slotinfo_t*)m), m->name);
}
minfo = methodinfo_register_onclass(state->cls->info, ns.access, ns.name, name);
- minfo->return_type = return_type;
+ minfo->return_type = 0; // save this for pass 2
// getslot on a member slot only returns "undefined", so no need
// to actually store these
//state->minfo->slot = state->method->abc->method->trait->slot_id;
//class getter/setter
int gs = getset==KW_GET?SUBTYPE_GET:SUBTYPE_SET;
classinfo_t*type=0;
- if(getset == KW_GET)
+ if(getset == KW_GET) {
type = return_type;
- else if(params->list && params->list->param)
+ } else if(params->list && params->list->param && !params->list->next) {
type = params->list->param->type;
+ } else
+ syntaxerror("setter function needs to take exactly one argument");
// not sure wether to look into superclasses here, too
minfo = (methodinfo_t*)registry_findmember(state->cls->info, ns.name, name, 1);
if(minfo) {
syntaxerror("getter/setter for '%s' already defined", name);
/* make a setter or getter into a getset */
minfo->subtype |= gs;
- if(!minfo->return_type) {
- minfo->return_type = type;
- } else {
- if(minfo && minfo->return_type != type)
- syntaxerror("different type in getter and setter");
- }
+
+ /*
+ FIXME: this check needs to be done in pass 2
+
+ if((!minfo->return_type != !type) ||
+ (minfo->return_type && type &&
+ !strcmp(minfo->return_type->name, type->name))) {
+ syntaxerror("different type in getter and setter: %s and %s",
+ minfo->return_type?minfo->return_type->name:"*",
+ type?type->name:"*");
+ }*/
} else {
minfo = methodinfo_register_onclass(state->cls->info, ns.access, ns.name, name);
minfo->kind = INFOTYPE_SLOT; //hack
minfo->subtype = gs;
- minfo->return_type = type;
+ minfo->return_type = 0;
}
/* can't assign a slot as getter and setter might have different slots */
//minfo->slot = slot;
list_append(parent_method->innerfunctions, state->method);
dict_put(global->token2info, (void*)(ptroff_t)as3_tokencount, state->method);
-
+
function_initvars(state->method, params, 0, 1);
}
if(state->method->is_constructor)
name = "__as3_constructor__";
- return_type = 0;
state->method->info = registerfunction(getset, mod, name, params, return_type, 0);
function_initvars(state->method, params, mod->flags, 1);
function_initvars(state->method, 0, 0, 0);
methodstate_list_t*ml = state->method->innerfunctions;
+
dict_t*xvars = dict_new();
+
while(ml) {
methodstate_t*m = ml->methodstate;
parserassert(m->inner);
dictentry_t*l = d->slots[t];
while(l) {
/* check parent method's variables */
- if(find_variable(state, l->key)) {
+ variable_t*v;
+ if((v=find_variable(state, l->key))) {
m->uses_parent_function = 1;
state->method->uses_slots = 1;
dict_put(xvars, l->key, 0);
}
ml = ml->next;
}
+
if(state->method->uses_slots) {
state->method->slots = dict_new();
int i = 1;
state->method->uses_slots = i;
dict_destroy(state->vars);state->vars = 0;
}
- dict_destroy(xvars);
-
old_state();
return 0;
}
check_code_for_break(body);
+ if(state->method->exceptions &&
+ (state->method->late_binding || state->method->uses_slots)) {
+ //syntaxerror("try/catch and activation or late binding not supported yet within the same method");
+ as3_warning("try/catch and activation or late binding not supported yet within the same method");
+ }
+
if(f->body) {
f->body->code = body;
f->body->exceptions = state->method->exceptions;
return (c && !c->prev && !c->next && c->opcode == OPCODE_PUSHUNDEFINED);
}
-static slotinfo_t* find_class(char*name)
+static slotinfo_t* find_class(const char*name)
{
slotinfo_t*c=0;
return 0;
}
+typedcode_t push_class(slotinfo_t*a)
+{
+ typedcode_t x;
+ x.c = 0;
+ x.t = 0;
+ if(a->access == ACCESS_PACKAGEINTERNAL &&
+ strcmp(a->package, state->package) &&
+ strcmp(a->package, internal_filename_package)
+ ) {
+ syntaxerror("Can't access internal %s %s in package '%s' from package '%s'",
+ infotypename(a), a->name, a->package, state->package);
+ }
+
+ if(a->kind != INFOTYPE_CLASS) {
+ MULTINAME(m, a);
+ x.c = abc_findpropstrict2(x.c, &m);
+ x.c = abc_getproperty2(x.c, &m);
+ if(a->kind == INFOTYPE_METHOD) {
+ methodinfo_t*f = (methodinfo_t*)a;
+ x.t = TYPE_FUNCTION(f);
+ } else {
+ varinfo_t*v = (varinfo_t*)a;
+ x.t = v->type;
+ }
+ } else {
+ classinfo_t*c = (classinfo_t*)a;
+ if(c->slot) {
+ x.c = abc_getglobalscope(x.c);
+ x.c = abc_getslot(x.c, c->slot);
+ } else {
+ MULTINAME(m, c);
+ x.c = abc_getlex2(x.c, &m);
+ }
+ x.t = TYPE_CLASS(c);
+ }
+ return x;
+}
static char is_getlocal(code_t*c)
{
} else {
prefix = 0;
}
-
+
char use_temp_var = readbefore;
/* generate the write instruction, and maybe append a dup to the prefix code */
write->opcode = OPCODE_SETLOCAL_2;
} else if(r->opcode == OPCODE_GETLOCAL_3) {
write->opcode = OPCODE_SETLOCAL_3;
+ } else if(r->opcode == OPCODE_GETSUPER) {
+ write->opcode = OPCODE_SETSUPER;
+ multiname_t*m = (multiname_t*)r->data[0];
+ write->data[0] = multiname_clone(m);
} else {
code_dump(r);
syntaxerror("illegal lvalue: can't assign a value to this expression");
/* Line 273 of skeleton.m4 */
-#line 1916 "parser.tab.c"
+#line 2025 "parser.tab.c"
#ifdef short
# undef short
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 146
+#define YYFINAL 145
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2992
+#define YYLAST 2999
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 134
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 111
+#define YYNNTS 113
/* YYNRULES -- Number of rules. */
-#define YYNRULES 304
+#define YYNRULES 307
/* YYNRULES -- Number of states. */
-#define YYNSTATES 514
+#define YYNSTATES 519
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
358, 360, 362, 363, 366, 367, 370, 371, 374, 375,
385, 386, 395, 396, 398, 400, 403, 405, 410, 412,
414, 416, 417, 419, 421, 424, 426, 429, 438, 440,
- 442, 443, 450, 451, 454, 456, 458, 460, 462, 464,
- 466, 468, 470, 472, 473, 475, 478, 483, 487, 489,
- 494, 497, 499, 501, 502, 503, 516, 518, 519, 520,
- 531, 533, 537, 539, 541, 543, 547, 549, 551, 553,
- 556, 557, 558, 562, 563, 565, 567, 569, 572, 575,
- 576, 581, 586, 591, 594, 596, 599, 601, 603, 607,
- 609, 611, 613, 615, 617, 619, 621, 623, 625, 627,
- 629, 631, 633, 635, 637, 639, 641, 643, 647, 651,
- 655, 659, 663, 667, 671, 675, 679, 683, 686, 689,
- 693, 697, 701, 705, 709, 713, 717, 721, 725, 729,
- 733, 737, 741, 745, 749, 754, 757, 759, 763, 766,
- 771, 775, 776, 778, 782, 788, 792, 796, 800, 804,
- 808, 812, 816, 820, 824, 828, 832, 836, 842, 845,
- 848, 851, 854, 858, 861, 866, 872, 876, 882, 886,
- 888, 891, 894, 899, 904
+ 442, 443, 448, 450, 454, 458, 459, 462, 464, 466,
+ 468, 470, 472, 474, 476, 478, 480, 481, 483, 486,
+ 491, 495, 497, 502, 505, 507, 509, 510, 511, 524,
+ 526, 527, 528, 539, 541, 545, 547, 549, 551, 555,
+ 557, 559, 561, 564, 565, 566, 570, 571, 573, 575,
+ 577, 580, 583, 584, 589, 594, 599, 602, 604, 607,
+ 609, 611, 615, 617, 619, 621, 623, 625, 627, 629,
+ 631, 633, 635, 637, 639, 641, 643, 645, 647, 649,
+ 651, 655, 659, 663, 667, 671, 675, 679, 683, 687,
+ 691, 694, 697, 701, 705, 709, 713, 717, 721, 725,
+ 729, 733, 737, 741, 745, 749, 753, 757, 762, 765,
+ 767, 771, 774, 779, 783, 784, 786, 790, 796, 800,
+ 804, 808, 812, 816, 820, 824, 828, 832, 836, 840,
+ 844, 850, 853, 856, 859, 862, 866, 869, 874, 880,
+ 884, 890, 894, 896, 899, 904, 909, 912
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
135, 0, -1, 136, -1, -1, 137, -1, 138, -1,
- 137, 138, -1, 185, -1, 197, -1, 195, -1, 214,
+ 137, 138, -1, 185, -1, 197, -1, 195, -1, 216,
-1, 206, -1, 147, -1, 148, 126, 136, 132, -1,
99, -1, -1, 140, -1, 141, -1, 140, 141, -1,
- 197, -1, 195, -1, 214, -1, 206, -1, 147, -1,
+ 197, -1, 195, -1, 216, -1, 206, -1, 147, -1,
148, 126, 139, 132, -1, 99, -1, 143, -1, -1,
143, 145, -1, 145, -1, 188, -1, 159, -1, 160,
-1, 161, -1, 163, -1, 171, -1, 154, -1, 182,
- -1, 179, -1, 236, -1, 244, -1, 243, -1, 126,
+ -1, 179, -1, 238, -1, 246, -1, 245, -1, 126,
143, 132, -1, 126, 132, -1, 99, -1, 144, -1,
- 150, -1, 165, -1, 166, -1, 233, -1, 181, -1,
+ 150, -1, 165, -1, 166, -1, 235, -1, 181, -1,
148, 126, 143, 132, -1, 145, 99, -1, 145, -1,
- 144, -1, 3, 89, 3, -1, 102, 234, -1, -1,
+ 144, -1, 3, 89, 3, -1, 102, 236, -1, -1,
46, 151, -1, 32, 151, -1, 152, -1, 151, 100,
- 152, -1, 3, 224, 149, -1, -1, 65, 146, -1,
- -1, 64, 122, 155, 235, 133, 146, 153, -1, -1,
- 150, -1, 236, -1, 46, 3, 224, -1, 3, -1,
+ 152, -1, 3, 226, 149, -1, -1, 65, 146, -1,
+ -1, 64, 122, 155, 237, 133, 146, 153, -1, -1,
+ 150, -1, 238, -1, 46, 3, 226, -1, 3, -1,
13, 122, -1, 13, 50, 122, -1, 158, 156, 99,
- 235, 99, 236, 133, 146, -1, 158, 157, 68, 235,
- 133, 146, -1, -1, 14, 122, 162, 235, 133, 146,
- -1, -1, 15, 164, 146, 14, 122, 235, 133, -1,
+ 237, 99, 238, 133, 146, -1, 158, 157, 68, 237,
+ 133, 146, -1, -1, 14, 122, 162, 237, 133, 146,
+ -1, -1, 15, 164, 146, 14, 122, 237, 133, -1,
66, -1, 66, 3, -1, 30, -1, 30, 3, -1,
-1, 168, -1, 170, -1, 168, 170, -1, 169, -1,
- 168, 169, -1, 34, 237, 105, 142, -1, 62, 105,
- 142, -1, -1, 16, 122, 172, 237, 133, 126, 167,
- 132, -1, -1, 33, 122, 3, 224, 133, 174, 126,
+ 168, 169, -1, 34, 239, 105, 142, -1, 62, 105,
+ 142, -1, -1, 16, 122, 172, 239, 133, 126, 167,
+ 132, -1, -1, 33, 122, 3, 226, 133, 174, 126,
142, 132, -1, -1, 28, 126, 176, 142, 132, -1,
173, -1, 177, 173, -1, 177, -1, 177, 175, -1,
175, -1, -1, 52, 126, 180, 142, 132, 178, -1,
- 37, 235, -1, 37, -1, 39, 122, 235, 133, 146,
+ 37, 237, -1, 37, -1, 39, 122, 237, 133, 146,
-1, 3, -1, 19, -1, 184, 127, 183, -1, 183,
-1, -1, 19, 184, 126, 186, 139, 132, -1, -1,
- 19, 126, 187, 139, 132, -1, 41, 220, -1, 41,
+ 19, 126, 187, 139, 132, -1, 41, 222, -1, 41,
184, 127, 115, -1, -1, 190, -1, 191, -1, 190,
191, -1, 21, -1, 22, -1, 20, -1, 38, -1,
47, -1, 49, -1, 48, -1, 26, -1, 24, -1,
- 4, -1, -1, 54, 221, -1, -1, 54, 222, -1,
- -1, 17, 222, -1, -1, 189, 31, 3, 192, 194,
+ 4, -1, -1, 54, 223, -1, -1, 54, 224, -1,
+ -1, 17, 224, -1, -1, 189, 31, 3, 192, 194,
126, 196, 199, 132, -1, -1, 189, 44, 3, 193,
126, 198, 202, 132, -1, -1, 200, -1, 201, -1,
200, 201, -1, 99, -1, 148, 126, 199, 132, -1,
- 206, -1, 214, -1, 144, -1, -1, 203, -1, 204,
+ 206, -1, 216, -1, 144, -1, -1, 203, -1, 204,
-1, 203, 204, -1, 99, -1, 46, 3, -1, 189,
- 27, 213, 3, 122, 210, 133, 224, -1, 46, -1,
- 32, -1, -1, 189, 205, 3, 207, 224, 149, -1,
- -1, 102, 209, -1, 10, -1, 8, -1, 9, -1,
- 12, -1, 5, -1, 56, -1, 55, -1, 45, -1,
- 3, -1, -1, 211, -1, 93, 212, -1, 211, 100,
- 93, 212, -1, 211, 100, 212, -1, 212, -1, 3,
- 105, 223, 208, -1, 3, 208, -1, 51, -1, 35,
- -1, -1, -1, 189, 27, 213, 3, 122, 210, 133,
- 224, 126, 215, 142, 132, -1, 3, -1, -1, -1,
- 27, 216, 122, 210, 133, 224, 126, 218, 142, 132,
- -1, 3, -1, 184, 127, 3, -1, 220, -1, 219,
- -1, 221, -1, 222, 100, 221, -1, 221, -1, 115,
- -1, 36, -1, 105, 223, -1, -1, -1, 122, 226,
- 133, -1, -1, 227, -1, 228, -1, 234, -1, 227,
- 100, -1, 228, 234, -1, -1, 25, 237, 229, 225,
- -1, 237, 122, 226, 133, -1, 53, 122, 226, 133,
- -1, 63, 237, -1, 42, -1, 42, 235, -1, 237,
- -1, 237, -1, 235, 100, 237, -1, 235, -1, 217,
- -1, 238, -1, 241, -1, 230, -1, 232, -1, 231,
- -1, 6, -1, 10, -1, 11, -1, 8, -1, 9,
- -1, 12, -1, 5, -1, 29, -1, 56, -1, 55,
- -1, 45, -1, 237, 109, 237, -1, 237, 110, 237,
- -1, 237, 75, 237, -1, 237, 76, 237, -1, 237,
- 71, 237, -1, 237, 72, 237, -1, 237, 74, 237,
- -1, 237, 73, 237, -1, 237, 87, 237, -1, 237,
- 88, 237, -1, 118, 237, -1, 117, 237, -1, 237,
- 108, 237, -1, 237, 107, 237, -1, 237, 106, 237,
- -1, 237, 96, 237, -1, 237, 95, 237, -1, 237,
- 94, 237, -1, 237, 114, 237, -1, 237, 116, 237,
- -1, 237, 113, 237, -1, 237, 112, 237, -1, 237,
- 115, 237, -1, 237, 68, 237, -1, 237, 69, 237,
- -1, 237, 40, 237, -1, 237, 67, 237, -1, 43,
- 122, 237, 133, -1, 36, 237, -1, 36, -1, 122,
- 235, 133, -1, 112, 237, -1, 237, 124, 237, 125,
- -1, 124, 226, 125, -1, -1, 240, -1, 234, 105,
- 234, -1, 240, 100, 234, 105, 234, -1, 70, 239,
- 132, -1, 237, 80, 237, -1, 237, 79, 237, -1,
- 237, 85, 237, -1, 237, 84, 237, -1, 237, 86,
- 237, -1, 237, 78, 237, -1, 237, 77, 237, -1,
- 237, 83, 237, -1, 237, 81, 237, -1, 237, 82,
- 237, -1, 237, 102, 237, -1, 237, 104, 237, 105,
- 237, -1, 237, 91, -1, 237, 90, -1, 91, 237,
- -1, 90, 237, -1, 53, 127, 3, -1, 128, 3,
- -1, 237, 127, 128, 3, -1, 237, 127, 3, 89,
- 3, -1, 237, 92, 3, -1, 237, 127, 122, 237,
- 133, -1, 237, 127, 3, -1, 3, -1, 18, 3,
- -1, 189, 242, -1, 189, 242, 102, 3, -1, 189,
- 242, 102, 5, -1, 23, 220, -1
+ 27, 215, 3, 122, 212, 133, 226, -1, 46, -1,
+ 32, -1, -1, 189, 205, 207, 208, -1, 209, -1,
+ 208, 100, 209, -1, 3, 226, 149, -1, -1, 102,
+ 211, -1, 10, -1, 8, -1, 9, -1, 12, -1,
+ 5, -1, 56, -1, 55, -1, 45, -1, 3, -1,
+ -1, 213, -1, 93, 214, -1, 213, 100, 93, 214,
+ -1, 213, 100, 214, -1, 214, -1, 3, 105, 225,
+ 210, -1, 3, 210, -1, 51, -1, 35, -1, -1,
+ -1, 189, 27, 215, 3, 122, 212, 133, 226, 126,
+ 217, 142, 132, -1, 3, -1, -1, -1, 27, 218,
+ 122, 212, 133, 226, 126, 220, 142, 132, -1, 3,
+ -1, 184, 127, 3, -1, 222, -1, 221, -1, 223,
+ -1, 224, 100, 223, -1, 223, -1, 115, -1, 36,
+ -1, 105, 225, -1, -1, -1, 122, 228, 133, -1,
+ -1, 229, -1, 230, -1, 236, -1, 229, 100, -1,
+ 230, 236, -1, -1, 25, 239, 231, 227, -1, 239,
+ 122, 228, 133, -1, 53, 122, 228, 133, -1, 63,
+ 239, -1, 42, -1, 42, 237, -1, 239, -1, 239,
+ -1, 237, 100, 239, -1, 237, -1, 219, -1, 240,
+ -1, 243, -1, 232, -1, 234, -1, 233, -1, 6,
+ -1, 10, -1, 11, -1, 8, -1, 9, -1, 12,
+ -1, 5, -1, 29, -1, 56, -1, 55, -1, 45,
+ -1, 239, 109, 239, -1, 239, 110, 239, -1, 239,
+ 75, 239, -1, 239, 76, 239, -1, 239, 71, 239,
+ -1, 239, 72, 239, -1, 239, 74, 239, -1, 239,
+ 73, 239, -1, 239, 87, 239, -1, 239, 88, 239,
+ -1, 118, 239, -1, 117, 239, -1, 239, 108, 239,
+ -1, 239, 107, 239, -1, 239, 106, 239, -1, 239,
+ 96, 239, -1, 239, 95, 239, -1, 239, 94, 239,
+ -1, 239, 114, 239, -1, 239, 116, 239, -1, 239,
+ 113, 239, -1, 239, 112, 239, -1, 239, 115, 239,
+ -1, 239, 68, 239, -1, 239, 69, 239, -1, 239,
+ 40, 239, -1, 239, 67, 239, -1, 43, 122, 239,
+ 133, -1, 36, 239, -1, 36, -1, 122, 237, 133,
+ -1, 112, 239, -1, 239, 124, 239, 125, -1, 124,
+ 228, 125, -1, -1, 242, -1, 236, 105, 236, -1,
+ 242, 100, 236, 105, 236, -1, 70, 241, 132, -1,
+ 239, 80, 239, -1, 239, 79, 239, -1, 239, 85,
+ 239, -1, 239, 84, 239, -1, 239, 86, 239, -1,
+ 239, 78, 239, -1, 239, 77, 239, -1, 239, 83,
+ 239, -1, 239, 81, 239, -1, 239, 82, 239, -1,
+ 239, 102, 239, -1, 239, 104, 239, 105, 239, -1,
+ 239, 91, -1, 239, 90, -1, 91, 239, -1, 90,
+ 239, -1, 53, 127, 3, -1, 128, 3, -1, 239,
+ 127, 128, 3, -1, 239, 127, 3, 89, 3, -1,
+ 239, 92, 3, -1, 239, 127, 122, 239, 133, -1,
+ 239, 127, 3, -1, 3, -1, 18, 3, -1, 18,
+ 3, 102, 3, -1, 18, 3, 102, 5, -1, 189,
+ 244, -1, 23, 18, 223, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1893, 1893, 1895, 1895, 1896, 1897, 1899, 1900, 1901,
- 1902, 1903, 1904, 1905, 1906, 1908, 1908, 1909, 1910, 1912,
- 1913, 1914, 1915, 1916, 1917, 1918, 1920, 1921, 1923, 1924,
- 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936,
- 1937, 1938, 1939, 1940, 1943, 1944, 1945, 1946, 1947, 1948,
- 1949, 1950, 1954, 1955, 1959, 1966, 1970, 1971, 1975, 1976,
- 1978, 1979, 1981, 2042, 2043, 2046, 2046, 2065, 2066, 2067,
- 2072, 2076, 2081, 2082, 2084, 2104, 2148, 2148, 2167, 2167,
- 2182, 2185, 2188, 2191, 2195, 2196, 2197, 2198, 2199, 2200,
- 2202, 2213, 2216, 2216, 2245, 2245, 2269, 2269, 2285, 2286,
- 2287, 2288, 2296, 2305, 2305, 2350, 2354, 2365, 2374, 2375,
- 2377, 2378, 2380, 2380, 2382, 2382, 2385, 2400, 2416, 2417,
- 2418, 2419, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434,
- 2435, 2436, 2440, 2441, 2443, 2444, 2446, 2447, 2451, 2449,
- 2457, 2455, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471,
- 2473, 2479, 2480, 2481, 2482, 2483, 2484, 2487, 2500, 2500,
- 2502, 2502, 2577, 2578, 2580, 2581, 2582, 2583, 2584, 2586,
- 2587, 2588, 2589, 2598, 2602, 2608, 2614, 2622, 2627, 2633,
- 2641, 2649, 2650, 2651, 2654, 2653, 2670, 2671, 2673, 2672,
- 2696, 2707, 2720, 2721, 2723, 2724, 2726, 2727, 2728, 2737,
- 2738, 2742, 2743, 2745, 2746, 2747, 2749, 2753, 2754, 2759,
- 2760, 2796, 2842, 2863, 2884, 2887, 2894, 2895, 2896, 2902,
- 2908, 2910, 2912, 2914, 2916, 2918, 2920, 2937, 2942, 2945,
- 2948, 2951, 2954, 2957, 2960, 2963, 2966, 2970, 2973, 2976,
- 2979, 2982, 2985, 2988, 2991, 2995, 3006, 3024, 3029, 3034,
- 3039, 3044, 3049, 3053, 3057, 3062, 3066, 3070, 3079, 3088,
- 3098, 3103, 3115, 3121, 3126, 3132, 3138, 3142, 3144, 3155,
- 3164, 3171, 3172, 3174, 3180, 3189, 3196, 3208, 3214, 3220,
- 3226, 3232, 3238, 3244, 3250, 3263, 3274, 3281, 3294, 3321,
- 3335, 3349, 3363, 3378, 3385, 3392, 3399, 3406, 3417, 3451,
- 3572, 3578, 3581, 3584, 3587
+ 0, 2003, 2003, 2005, 2005, 2006, 2007, 2009, 2010, 2011,
+ 2012, 2013, 2014, 2015, 2016, 2018, 2018, 2019, 2020, 2022,
+ 2023, 2024, 2025, 2026, 2027, 2028, 2030, 2031, 2033, 2034,
+ 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046,
+ 2047, 2048, 2049, 2050, 2053, 2054, 2055, 2056, 2057, 2058,
+ 2059, 2060, 2064, 2065, 2069, 2076, 2080, 2081, 2085, 2086,
+ 2088, 2089, 2091, 2152, 2153, 2156, 2156, 2175, 2176, 2177,
+ 2182, 2186, 2191, 2192, 2194, 2214, 2262, 2262, 2281, 2281,
+ 2296, 2299, 2302, 2305, 2309, 2310, 2311, 2312, 2313, 2314,
+ 2316, 2327, 2330, 2330, 2359, 2359, 2383, 2383, 2399, 2400,
+ 2401, 2402, 2410, 2419, 2419, 2464, 2468, 2479, 2488, 2489,
+ 2491, 2492, 2494, 2494, 2496, 2496, 2499, 2515, 2532, 2533,
+ 2534, 2535, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550,
+ 2551, 2552, 2556, 2557, 2559, 2560, 2562, 2563, 2567, 2565,
+ 2573, 2571, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587,
+ 2589, 2595, 2596, 2597, 2598, 2599, 2600, 2603, 2616, 2616,
+ 2618, 2618, 2620, 2621, 2623, 2698, 2699, 2701, 2702, 2703,
+ 2704, 2705, 2707, 2708, 2709, 2710, 2722, 2726, 2732, 2738,
+ 2746, 2751, 2757, 2765, 2773, 2774, 2775, 2778, 2777, 2794,
+ 2795, 2797, 2796, 2820, 2836, 2851, 2852, 2854, 2855, 2857,
+ 2858, 2859, 2868, 2869, 2873, 2874, 2876, 2877, 2878, 2880,
+ 2884, 2885, 2890, 2891, 2927, 2973, 2994, 3015, 3018, 3025,
+ 3026, 3027, 3033, 3039, 3041, 3043, 3045, 3047, 3049, 3051,
+ 3068, 3073, 3076, 3079, 3082, 3085, 3088, 3091, 3094, 3097,
+ 3101, 3104, 3107, 3110, 3113, 3116, 3119, 3122, 3126, 3137,
+ 3155, 3160, 3165, 3170, 3175, 3180, 3184, 3188, 3193, 3197,
+ 3201, 3210, 3219, 3229, 3234, 3246, 3252, 3257, 3263, 3269,
+ 3273, 3275, 3286, 3295, 3302, 3303, 3305, 3311, 3320, 3327,
+ 3339, 3345, 3351, 3357, 3363, 3369, 3375, 3381, 3394, 3405,
+ 3412, 3425, 3452, 3466, 3480, 3494, 3509, 3516, 3523, 3530,
+ 3537, 3548, 3598, 3703, 3710, 3717, 3724, 3731
};
#endif
"EXTENDS_LIST", "IMPLEMENTS_LIST", "CLASS_DECLARATION", "$@10",
"INTERFACE_DECLARATION", "$@11", "MAYBE_CLASS_BODY", "CLASS_BODY",
"CLASS_BODY_ITEM", "MAYBE_INTERFACE_BODY", "INTERFACE_BODY",
- "IDECLARATION", "VARCONST", "SLOT_DECLARATION", "$@12",
- "MAYBESTATICCONSTANT", "STATICCONSTANT", "MAYBE_PARAM_LIST",
+ "IDECLARATION", "VARCONST", "SLOT_DECLARATION", "$@12", "SLOT_LIST",
+ "ONE_SLOT", "MAYBESTATICCONSTANT", "STATICCONSTANT", "MAYBE_PARAM_LIST",
"PARAM_LIST", "PARAM", "GETSET", "FUNCTION_DECLARATION", "$@13",
"MAYBE_IDENTIFIER", "INNERFUNCTION", "$@14", "CLASS", "PACKAGEANDCLASS",
"CLASS_SPEC", "CLASS_SPEC_LIST", "TYPE", "MAYBETYPE",
191, 191, 192, 192, 193, 193, 194, 194, 196, 195,
198, 197, 199, 199, 200, 200, 201, 201, 201, 201,
201, 202, 202, 203, 203, 204, 204, 204, 205, 205,
- 207, 206, 208, 208, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 210, 210, 210, 210, 211, 211, 212,
- 212, 213, 213, 213, 215, 214, 216, 216, 218, 217,
- 219, 220, 221, 221, 222, 222, 223, 223, 223, 224,
- 224, 225, 225, 226, 226, 226, 227, 228, 227, 229,
- 230, 231, 231, 232, 233, 233, 234, 235, 235, 236,
- 237, 237, 237, 237, 237, 237, 237, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 238, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 239, 239, 240, 240, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 241,
- 242, 243, 243, 243, 244
+ 207, 206, 208, 208, 209, 210, 210, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 212, 212, 212, 212,
+ 213, 213, 214, 214, 215, 215, 215, 217, 216, 218,
+ 218, 220, 219, 221, 222, 223, 223, 224, 224, 225,
+ 225, 225, 226, 226, 227, 227, 228, 228, 228, 229,
+ 230, 229, 231, 232, 233, 233, 234, 235, 235, 236,
+ 237, 237, 238, 239, 239, 239, 239, 239, 239, 239,
+ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 241, 241, 242, 242, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 243, 244, 244, 244, 245, 246
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1, 1, 0, 2, 0, 2, 0, 2, 0, 9,
0, 8, 0, 1, 1, 2, 1, 4, 1, 1,
1, 0, 1, 1, 2, 1, 2, 8, 1, 1,
- 0, 6, 0, 2, 1, 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, 1, 2, 2, 0,
- 4, 4, 4, 2, 1, 2, 1, 1, 3, 1,
+ 0, 4, 1, 3, 3, 0, 2, 1, 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, 1,
+ 2, 2, 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,
- 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, 3, 5, 2, 2,
- 2, 2, 3, 2, 4, 5, 3, 5, 3, 1,
- 2, 2, 4, 4, 2
+ 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, 3,
+ 5, 2, 2, 2, 2, 3, 2, 4, 5, 3,
+ 5, 3, 1, 2, 4, 4, 2, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 118, 299, 131, 232, 226, 229, 230, 227, 228, 231,
+ 118, 302, 131, 235, 229, 232, 233, 230, 231, 234,
0, 0, 78, 0, 0, 124, 122, 123, 0, 130,
- 0, 129, 187, 233, 266, 125, 0, 0, 0, 236,
- 126, 128, 127, 0, 0, 235, 234, 0, 0, 271,
- 0, 0, 14, 0, 0, 0, 0, 203, 118, 0,
+ 0, 129, 190, 236, 269, 125, 0, 0, 0, 239,
+ 126, 128, 127, 0, 0, 238, 237, 0, 0, 274,
+ 0, 0, 14, 0, 0, 0, 0, 206, 118, 0,
0, 2, 118, 5, 54, 12, 0, 36, 67, 31,
32, 33, 34, 35, 38, 37, 7, 30, 0, 119,
- 120, 9, 8, 11, 10, 220, 223, 225, 224, 219,
- 39, 217, 221, 222, 41, 40, 0, 0, 72, 76,
- 118, 92, 108, 109, 114, 111, 0, 0, 304, 299,
- 209, 186, 0, 265, 0, 0, 116, 0, 103, 203,
- 0, 213, 65, 0, 216, 0, 272, 291, 290, 268,
- 248, 247, 0, 0, 204, 205, 206, 82, 0, 106,
- 214, 0, 80, 44, 43, 118, 45, 29, 0, 46,
- 47, 48, 50, 0, 49, 293, 1, 6, 118, 299,
- 0, 68, 0, 0, 69, 0, 183, 0, 159, 0,
- 158, 0, 301, 121, 0, 0, 0, 0, 0, 0,
+ 120, 9, 8, 11, 10, 223, 226, 228, 227, 222,
+ 39, 220, 224, 225, 41, 40, 0, 0, 72, 76,
+ 118, 92, 108, 109, 114, 111, 0, 0, 302, 212,
+ 189, 0, 268, 0, 0, 116, 0, 103, 206, 0,
+ 216, 65, 0, 219, 0, 275, 294, 293, 271, 251,
+ 250, 0, 0, 207, 208, 209, 82, 0, 106, 217,
+ 0, 80, 44, 43, 118, 45, 29, 0, 46, 47,
+ 48, 50, 0, 49, 296, 1, 6, 118, 302, 0,
+ 68, 0, 0, 69, 0, 186, 0, 159, 0, 158,
+ 160, 306, 121, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 289, 288, 0,
+ 0, 0, 0, 0, 0, 0, 292, 291, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 203, 0, 0, 55, 73,
- 0, 53, 0, 0, 118, 112, 0, 0, 201, 173,
- 0, 0, 0, 27, 0, 292, 0, 0, 275, 0,
- 267, 270, 207, 208, 83, 200, 59, 60, 105, 215,
- 58, 81, 42, 28, 118, 0, 200, 0, 0, 300,
- 182, 181, 0, 132, 134, 160, 0, 218, 262, 263,
- 260, 261, 241, 242, 244, 243, 239, 240, 282, 281,
- 277, 276, 284, 285, 283, 279, 278, 280, 245, 246,
- 296, 254, 253, 252, 286, 0, 251, 250, 249, 237,
- 238, 258, 257, 255, 259, 256, 0, 0, 298, 0,
- 0, 0, 52, 0, 0, 25, 0, 118, 17, 23,
- 0, 20, 19, 22, 21, 118, 110, 191, 203, 210,
- 162, 0, 0, 174, 178, 118, 117, 264, 0, 26,
- 212, 0, 273, 0, 0, 57, 0, 118, 13, 57,
- 0, 0, 0, 0, 136, 0, 0, 200, 302, 303,
- 0, 211, 269, 0, 0, 294, 118, 0, 0, 115,
- 18, 118, 0, 0, 0, 0, 180, 175, 200, 0,
- 107, 0, 118, 0, 190, 198, 197, 193, 192, 196,
- 199, 0, 62, 61, 51, 0, 118, 173, 133, 0,
- 0, 194, 135, 140, 57, 287, 295, 297, 77, 0,
- 84, 0, 113, 202, 172, 168, 165, 166, 164, 167,
- 171, 170, 169, 163, 162, 0, 0, 177, 0, 0,
- 98, 102, 100, 104, 63, 274, 56, 0, 75, 0,
- 137, 138, 0, 118, 161, 79, 0, 0, 0, 85,
- 88, 86, 24, 179, 188, 176, 96, 0, 99, 101,
- 118, 66, 118, 200, 118, 195, 0, 155, 0, 0,
- 118, 153, 0, 27, 93, 89, 87, 27, 27, 200,
- 64, 74, 0, 146, 150, 0, 0, 0, 118, 144,
- 148, 149, 156, 183, 141, 154, 27, 91, 0, 0,
- 0, 184, 118, 139, 145, 0, 90, 189, 97, 94,
- 27, 0, 0, 0, 0, 147, 173, 27, 185, 0,
- 0, 200, 95, 157
+ 0, 0, 0, 0, 206, 0, 0, 55, 73, 0,
+ 53, 0, 0, 118, 112, 0, 193, 0, 196, 195,
+ 307, 204, 176, 0, 0, 0, 27, 0, 295, 0,
+ 0, 278, 0, 270, 273, 210, 211, 83, 203, 59,
+ 60, 105, 218, 58, 81, 42, 28, 118, 0, 203,
+ 0, 0, 303, 185, 184, 0, 132, 134, 0, 221,
+ 265, 266, 263, 264, 244, 245, 247, 246, 242, 243,
+ 285, 284, 280, 279, 287, 288, 286, 282, 281, 283,
+ 248, 249, 299, 257, 256, 255, 289, 0, 254, 253,
+ 252, 240, 241, 261, 260, 258, 262, 259, 0, 0,
+ 301, 0, 0, 0, 52, 0, 0, 25, 0, 118,
+ 17, 23, 0, 20, 19, 22, 21, 118, 110, 0,
+ 206, 213, 165, 0, 0, 177, 181, 118, 194, 117,
+ 267, 0, 26, 215, 0, 276, 0, 0, 57, 0,
+ 118, 13, 57, 0, 0, 0, 0, 0, 136, 0,
+ 0, 203, 161, 162, 0, 214, 272, 0, 0, 297,
+ 118, 0, 0, 115, 18, 118, 0, 0, 0, 0,
+ 183, 178, 203, 0, 107, 0, 118, 0, 201, 200,
+ 199, 202, 0, 62, 61, 51, 0, 118, 304, 305,
+ 176, 133, 0, 0, 197, 135, 140, 57, 0, 290,
+ 298, 300, 77, 0, 84, 0, 113, 205, 175, 171,
+ 168, 169, 167, 170, 174, 173, 172, 166, 165, 0,
+ 0, 180, 0, 0, 98, 102, 100, 104, 63, 277,
+ 56, 0, 75, 0, 137, 138, 0, 118, 164, 163,
+ 79, 0, 0, 0, 85, 88, 86, 24, 182, 191,
+ 179, 96, 0, 99, 101, 118, 66, 118, 203, 118,
+ 198, 0, 155, 0, 0, 118, 153, 0, 27, 93,
+ 89, 87, 27, 27, 203, 64, 74, 0, 146, 150,
+ 0, 0, 0, 118, 144, 148, 149, 156, 186, 141,
+ 154, 27, 91, 0, 0, 0, 187, 118, 139, 145,
+ 0, 90, 192, 97, 94, 27, 0, 0, 0, 0,
+ 147, 176, 27, 188, 0, 0, 203, 95, 157
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 50, 51, 52, 53, 306, 307, 308, 328, 329,
- 136, 137, 212, 309, 138, 382, 139, 240, 237, 451,
- 57, 226, 152, 153, 58, 59, 60, 61, 210, 62,
- 90, 140, 141, 438, 439, 440, 441, 63, 213, 420,
- 503, 421, 468, 422, 423, 64, 223, 142, 65, 95,
- 97, 66, 315, 214, 67, 143, 69, 70, 344, 346,
- 390, 311, 454, 312, 433, 477, 478, 479, 459, 460,
- 461, 161, 313, 347, 366, 413, 322, 323, 324, 252,
- 314, 500, 102, 75, 467, 377, 378, 379, 392, 380,
- 335, 319, 123, 124, 125, 218, 76, 77, 78, 144,
- 126, 79, 80, 81, 82, 115, 116, 83, 162, 84,
- 85
+ -1, 50, 51, 52, 53, 308, 309, 310, 331, 332,
+ 135, 136, 211, 311, 137, 383, 138, 243, 240, 456,
+ 57, 229, 151, 152, 58, 59, 60, 61, 209, 62,
+ 90, 139, 140, 443, 444, 445, 446, 63, 212, 424,
+ 508, 425, 473, 426, 427, 64, 226, 141, 65, 95,
+ 217, 66, 317, 213, 67, 142, 69, 70, 348, 350,
+ 393, 313, 459, 314, 437, 482, 483, 484, 464, 465,
+ 466, 160, 315, 258, 352, 353, 370, 417, 324, 325,
+ 326, 255, 316, 505, 101, 75, 472, 218, 219, 380,
+ 395, 381, 338, 321, 122, 123, 124, 221, 76, 77,
+ 78, 143, 125, 79, 80, 81, 82, 114, 115, 83,
+ 161, 84, 85
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -426
+#define YYPACT_NINF -386
static const yytype_int16 yypact[] =
{
- 1667, -42, -426, -426, -426, -426, -426, -426, -426, -426,
- -37, -73, -426, -27, 11, -426, -426, -426, 71, -426,
- 2087, -426, 78, -426, 2157, -426, 9, 71, 17, -426,
- -426, -426, -426, -2, -4, -426, -426, 2087, 25, 2087,
- 2087, 2087, -426, 2087, 2087, 2087, 2087, 2087, 627, 138,
- 143, -426, 497, -426, -426, -426, 27, -426, 2017, -426,
- -426, -426, -426, -426, -426, -426, -426, -426, 417, 216,
- -426, -426, -426, -426, -426, -426, -426, -426, -426, 55,
- -426, 2499, -426, -426, -426, -426, 197, 82, -426, -426,
- 1919, -426, -426, -426, -426, -426, 19, 75, -426, -426,
- -51, -426, 85, -20, 2087, 84, -426, 2087, -426, 2087,
- 209, -20, -426, 117, 2499, 91, 113, -20, -20, 361,
- -20, -20, -56, 99, 126, 2087, -426, 224, 225, 2087,
- 2087, 225, 226, -426, -426, 757, -426, -426, 104, -426,
- -426, -426, -426, 214, -426, -426, -426, -426, 1017, 163,
- 231, -426, 136, 175, -426, 241, 45, 245, -426, 246,
- -426, 247, 149, -426, 2087, 2087, 2087, 2087, 2087, 2087,
- 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087,
- 2087, 2087, 2087, 2087, 2087, 2087, 2087, -426, -426, 249,
- 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087, 2087,
- 2087, 2087, 2087, 2087, 2087, 2087, 2087, 5, -426, -426,
- 2087, 159, 248, 2087, 1147, -426, 71, 81, 144, 16,
- -54, 15, 307, 1793, 127, -426, 2087, 2087, -426, 2087,
- -426, -426, -426, -426, -426, 162, 168, -426, 55, 55,
- 168, -426, -426, -426, 1919, 137, 162, 2087, 2087, -426,
- -426, -426, 267, 217, 220, -426, 23, 2499, 1009, 489,
- 489, 489, 2865, 2865, 2865, 2865, 1009, 1009, 2499, 2499,
- 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2499, 2560, 2621,
- -426, 213, 213, 213, 2499, 2316, 2682, 2743, 2804, 1009,
- 1009, 361, 361, -20, -20, -20, 145, 2377, 187, 2087,
- 276, -50, -426, 158, 2182, -426, 153, 1277, -426, -426,
- 160, -426, -426, -426, -426, 1147, -426, 165, 2087, -426,
- -36, 284, 156, 190, -426, 1919, -426, -426, 164, 1793,
- -426, -35, -426, 193, 21, 198, 225, 887, -426, -43,
- 80, -14, 179, 103, 289, 103, 186, 162, -426, -426,
- 2087, -426, -426, 310, 2253, -426, 1919, 2087, 188, -426,
- -426, 1147, 191, 185, 459, 21, -426, -426, 162, 20,
- -426, -6, 1919, 2087, 165, -426, -426, -426, -426, -426,
- -426, 2087, -426, -426, -426, 2087, 1919, 16, -426, 103,
- 204, -426, 233, -426, 198, 2499, -426, -426, -426, -13,
- 29, 192, -426, -426, -426, -426, -426, -426, -426, -426,
- -426, -426, -426, -426, 229, 210, 284, -426, 212, 219,
- -426, -426, -6, -426, 274, -426, -426, 211, -426, 215,
- 233, -426, 103, 235, -426, -426, 2087, 238, 218, 29,
- -426, -426, -426, -426, -426, -426, -426, 343, -426, -426,
- 1919, -426, 1919, 162, 1407, -426, 346, -426, 324, 222,
- 273, -426, 2438, 1793, -426, -426, -426, 1793, 1793, 162,
- -426, -426, 232, -426, -426, 234, 108, 223, 1537, -426,
- -426, -426, -426, 45, -426, -426, 1793, -426, 227, 237,
- 244, -426, 1407, -426, -426, 349, -426, -426, -426, -426,
- 1793, 239, 242, 270, 268, -426, 16, 1793, -426, 271,
- 275, 162, -426, -426
+ 1672, -68, -386, -386, -386, -386, -386, -386, -386, -386,
+ -31, -80, -386, -72, 15, -386, -386, -386, 59, -386,
+ 2092, -386, 86, -386, 2162, -386, 6, 45, 11, -386,
+ -386, -386, -386, -12, -43, -386, -386, 2092, 13, 2092,
+ 2092, 2092, -386, 2092, 2092, 2092, 2092, 2092, 632, 136,
+ 143, -386, 502, -386, -386, -386, 26, -386, 2022, -386,
+ -386, -386, -386, -386, -386, -386, -386, -386, 312, 405,
+ -386, -386, -386, -386, -386, -386, -386, -386, -386, 80,
+ -386, 2567, -386, -386, -386, -386, 198, 84, -386, -386,
+ 1924, -386, -386, -386, -386, -386, -2, 83, -386, -62,
+ -386, 95, -46, 2092, 89, -386, 2092, -386, 2092, 216,
+ -46, -386, 115, 2567, 101, 130, -46, -46, 237, -46,
+ -46, -74, 106, 138, 2092, -386, 233, 234, 2092, 2092,
+ 234, 236, -386, -386, 762, -386, -386, 117, -386, -386,
+ -386, -386, 223, -386, -386, -386, -386, 1022, 178, 245,
+ -386, 155, 188, -386, 254, 94, 260, -386, 262, -386,
+ -386, -386, -386, 2092, 2092, 2092, 2092, 2092, 2092, 2092,
+ 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092,
+ 2092, 2092, 2092, 2092, 2092, 2092, -386, -386, 263, 2092,
+ 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092,
+ 2092, 2092, 2092, 2092, 2092, 2092, 8, -386, -386, 2092,
+ 168, 255, 2092, 1152, -386, 45, 141, 144, -386, -386,
+ -386, 148, 22, -28, 19, 2187, 1798, 139, -386, 2092,
+ 2092, -386, 2092, -386, -386, -386, -386, -386, 169, 173,
+ -386, 80, 80, 173, -386, -386, -386, 1924, 145, 169,
+ 2092, 2092, 179, -386, -386, 283, 240, 241, 284, 2567,
+ 1014, 494, 494, 494, 2872, 2872, 2872, 2872, 1014, 1014,
+ 2567, 2567, 2567, 2567, 2567, 2567, 2567, 2567, 2567, 2567,
+ 308, 2628, -386, 137, 137, 137, 2567, 2384, 2689, 2750,
+ 2811, 1014, 1014, 237, 237, -46, -46, -46, 164, 2445,
+ 209, 2092, 296, 7, -386, 186, 2258, -386, 181, 1282,
+ -386, -386, 174, -386, -386, -386, -386, 1152, -386, 134,
+ 2092, -386, -1, 298, 182, 214, -386, 1924, 141, -386,
+ -386, 184, 1798, -386, 21, -386, 215, 63, 219, 234,
+ 892, -386, -45, 111, 99, 38, 200, 83, 306, 83,
+ 205, 169, 224, -386, 2092, -386, -386, 323, 2321, -386,
+ 1924, 2092, 206, -386, -386, 1152, 201, 204, 280, 63,
+ -386, -386, 169, 25, -386, 98, 1924, 2092, -386, -386,
+ -386, -386, 2092, -386, -386, -386, 2092, 1924, -386, -386,
+ 22, -386, 83, 212, -386, 242, -386, 219, 284, 2567,
+ -386, -386, -386, 102, 46, 208, -386, -386, -386, -386,
+ -386, -386, -386, -386, -386, -386, -386, -386, 239, 228,
+ 298, -386, 247, 227, -386, -386, 98, -386, 295, -386,
+ -386, 229, -386, 230, 242, -386, 83, 47, -386, -386,
+ -386, 2092, 266, 246, 46, -386, -386, -386, -386, -386,
+ -386, -386, 365, -386, -386, 1924, -386, 1924, 169, 1412,
+ -386, 382, -386, 359, 256, 258, -386, 2506, 1798, -386,
+ -386, -386, 1798, 1798, 169, -386, -386, 261, -386, -386,
+ 265, 194, 257, 1542, -386, -386, -386, -386, 94, -386,
+ -386, 1798, -386, 269, 273, 259, -386, 1412, -386, -386,
+ 390, -386, -386, -386, -386, 1798, 274, 272, 271, 275,
+ -386, 22, 1798, -386, 277, 276, 169, -386, -386
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -426, -426, 258, -426, 305, -294, -426, 63, -425, -41,
- 1, -84, -308, 58, 2, 14, 352, 290, 76, -426,
- -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
- -426, -426, -426, -426, -426, -15, -12, -426, -426, 8,
- -426, 10, -426, -426, -426, -426, -426, -426, -426, -128,
- 94, -426, -426, -426, -426, 0, -426, 356, -426, -426,
- -426, 60, -426, 62, -426, -66, -426, -40, -426, -426,
- -24, -426, 3, -426, 28, -426, -372, -426, -301, -46,
- 4, -426, -426, -426, -426, -426, 98, -251, 50, 100,
- -236, -426, -100, -426, -426, -426, -426, -426, -426, -426,
- -28, -1, -53, -8, -426, -426, -426, -426, -426, -426,
- -426
+ -386, -386, 248, -386, 360, -290, -386, 104, -385, -38,
+ 1, -85, -313, 58, 2, 14, 361, 301, 97, -386,
+ -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
+ -386, -386, -386, -386, -386, -10, -5, -386, -386, 12,
+ -386, 16, -386, -386, -386, -386, -386, -386, -386, -200,
+ 76, -386, -386, -386, -386, 0, -386, 371, -386, -386,
+ -386, 60, -386, 61, -386, -56, -386, -39, -386, -386,
+ -20, -386, 3, -386, -386, 48, 29, -386, -373, -386,
+ -303, -40, 4, -386, -386, -386, -386, -386, 422, -89,
+ 64, 81, -240, -386, -95, -386, -386, -386, -386, -386,
+ -386, -386, -32, -6, -52, -8, -386, -386, -386, -386,
+ -386, -386, -386
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
#define YYTABLE_NINF -153
static const yytype_int16 yytable[] =
{
- 68, 54, 56, 73, 74, 154, 211, 135, 298, 224,
- 339, 113, 100, 87, 92, 429, 103, 370, 317, 320,
- 367, 362, 418, 320, 374, -70, 348, 419, 349, 111,
- 93, 114, 117, 118, 93, 119, 120, 121, 487, 114,
- 93, 189, 488, 489, 164, 122, 164, 86, 398, 89,
- 164, 243, 68, 54, 56, 73, 74, 375, 55, 381,
- 71, 496, 72, 436, 424, 164, 364, 401, 417, 365,
- 187, 188, 189, 206, 92, 504, 207, 230, 428, 325,
- 250, 101, 510, 356, 317, 88, 164, 164, 316, 316,
- 93, 437, 388, 316, 391, 91, 251, 233, 372, 222,
- 93, 114, 205, 220, 206, 296, 374, 207, 96, 321,
- 55, 394, 71, 416, 72, 445, 98, 114, 109, 386,
- 435, 105, 93, 110, 108, 106, 155, 299, 238, 239,
- 326, 104, 415, 300, 509, 156, 376, 94, 391, 107,
- 158, 145, 470, 146, 471, 215, 216, 112, 68, 54,
- 56, 73, 74, 148, 160, 164, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 385,
- 164, 455, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 114, 297, 332,
- 208, 333, 217, 337, 209, 304, 55, 219, 71, 301,
- 72, 221, 225, 229, 68, 54, 310, 472, 363, 114,
- 2, 114, 227, 228, 231, 331, 232, 234, 235, 241,
- 244, -71, 155, 490, 246, 247, 15, 16, 17, 2,
- 19, 211, 21, 248, 249, 243, 340, 341, 253, 254,
- 255, 256, 280, 243, 25, 15, 16, 17, 302, 19,
- 330, 21, 303, 30, 31, 32, 318, 334, 336, 338,
- 342, 343, 211, 25, 345, 513, 353, 2, 351, 355,
- 357, 456, 30, 31, 32, 359, 361, 320, 211, 368,
- 369, 354, -108, 15, 16, 17, 371, 19, 373, 21,
- 381, 387, 211, 187, 188, 189, 389, 68, 54, 310,
- 114, 25, 393, 396, 400, 68, 54, 310, 403, 456,
- 30, 31, 32, 402, 442, 200, 201, 202, 203, 204,
- 431, 364, 427, 432, 457, 205, 444, 206, 446, 450,
- 207, 447, 395, 463, 452, 425, 469, 165, 453, 482,
- 464, 483, 502, 426, 484, 493, 399, 147, 491, 497,
- 492, 68, 54, 310, 506, 114, 211, -151, 211, 498,
- 360, 505, 457, 114, 166, 167, 168, 499, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 507, 187, 188, 189,
- 508, 190, 191, 192, 511, -152, 245, 512, 434, 193,
- 151, 194, 383, 195, 196, 197, 198, 199, 236, 200,
- 201, 202, 203, 204, 465, 163, 501, 466, 462, 205,
- 448, 206, 449, 458, 207, 155, 485, 495, 494, 430,
- 327, 0, 443, 0, 156, 0, 0, 0, 157, 158,
- 0, 187, 188, 189, 476, 474, 475, 480, 481, 0,
- 458, 159, 404, 160, 405, 414, 0, 406, 407, 408,
- 0, 409, 0, 0, 0, 202, 203, 204, 476, 474,
- 475, 480, 481, 205, 0, 206, 0, 0, 207, 0,
- 0, 0, 476, 474, 475, 480, 481, -4, 0, 0,
- 1, 2, 3, 4, 410, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 411, 412, 14, 15, 16, 17,
- 18, 19, 20, 21, 0, 0, 23, 0, 0, 165,
- 0, 0, 0, 24, 0, 25, 26, 0, 27, 0,
- 28, 0, 29, 0, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, -153, -153, -153, 0,
- 37, 38, 0, 0, 173, 174, 0, 39, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 187,
- 188, 189, 0, 190, 191, 192, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 42, 0, 198, 199,
- 0, 200, 201, 202, 203, 204, 0, 0, 0, 43,
- 0, 205, 0, 206, 44, 45, 207, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, -4,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 0, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 23, 127, 0, 128,
- 0, 0, 0, 24, 129, 25, 26, 0, 27, 130,
- 28, 0, 29, 131, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 132, 0, 0, 0, 39, 0, 0,
+ 68, 54, 56, 73, 74, 210, 153, 112, 220, 342,
+ 134, 300, 99, 227, 374, 318, 102, 433, 92, 87,
+ 371, 86, 328, -70, 318, 322, 163, 366, 322, 110,
+ 188, 113, 116, 117, 93, 118, 119, 120, 93, 113,
+ 121, 388, 89, 389, 186, 187, 188, 402, 92, 246,
+ 91, 2, 68, 54, 56, 73, 74, 382, 55, 233,
+ 71, 72, 205, 428, 93, 206, 216, 15, 16, 17,
+ 421, 19, 163, 21, 432, 405, 204, 97, 205, 108,
+ 441, 206, 93, 492, 109, 25, 216, 493, 494, 100,
+ 96, 88, 236, 461, 30, 31, 32, 223, 225, 378,
+ 113, 368, 93, 104, 369, 327, 501, 163, 442, 298,
+ 55, 397, 71, 72, 107, 323, 113, 450, 420, 318,
+ 509, 163, 241, 242, 214, 215, 422, 515, 103, 253,
+ 301, 423, 419, 106, 329, 111, 302, 328, 514, 144,
+ 360, 94, 475, 145, 476, 254, 462, 68, 54, 56,
+ 73, 74, 147, 93, 376, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 379, -151,
+ 163, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 113, 299, 335, 163,
+ 336, 207, 163, 303, 306, 55, 208, 71, 72, 340,
+ 386, 163, 154, 68, 54, 312, 224, 222, 477, 228,
+ 230, 155, 113, 334, 113, 367, 157, 186, 187, 188,
+ 232, 234, 387, 231, 495, 440, 237, 238, 235, 244,
+ 159, 154, 210, 247, 343, 344, -71, 246, 249, 199,
+ 200, 201, 202, 203, 250, 246, 251, 252, 391, 204,
+ 394, 205, 2, 256, 206, 257, 282, 304, -108, 305,
+ 320, 319, 333, 339, 337, 210, 518, 341, 15, 16,
+ 17, 345, 19, 408, 21, 409, 346, 351, 410, 411,
+ 412, 210, 413, 358, 347, 349, 25, 355, 357, 359,
+ 365, 322, 210, 394, 461, 30, 31, 32, 361, 68,
+ 54, 312, 113, 363, 373, 372, 375, 68, 54, 312,
+ 377, 382, 390, 392, 398, 414, 400, 186, 187, 188,
+ 154, 396, 404, 406, 431, 415, 416, 407, 435, 155,
+ 447, 368, 436, 156, 157, 429, 399, 460, 164, 452,
+ 430, 201, 202, 203, 449, 403, 158, 462, 159, 204,
+ 455, 205, 457, 458, 206, 68, 54, 312, 474, 113,
+ 210, 468, 210, 451, 113, 165, 166, 167, 469, 168,
+ 169, 170, 171, 172, 173, 487, 488, 496, 489, 498,
+ -152, 497, 504, 507, 511, 248, 185, 512, 186, 187,
+ 188, 502, 189, 190, 191, 503, 510, 513, 517, 2,
+ 516, 438, 146, 364, 194, 195, 196, 197, 198, 150,
+ 199, 200, 201, 202, 203, 15, 16, 17, 239, 19,
+ 204, 21, 205, 467, 470, 206, 384, 463, 453, 471,
+ 162, 506, 454, 25, 499, 490, 439, 448, 500, 105,
+ 418, 0, 30, 31, 32, 0, 434, 0, 0, 481,
+ 479, 480, 485, 486, 0, 463, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 481, 479, 480, 485, 486, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 481, 479, 480,
+ 485, 486, -4, 0, 0, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 14, 15, 16, 17, 18, 19, 20, 21, 0,
+ 0, 23, 0, 0, 164, 0, 0, 0, 24, 0,
+ 25, 26, 0, 27, 0, 28, 0, 29, 0, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, -153, -153, -153, 0, 37, 38, 0, 0, 172,
+ 173, 0, 39, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 186, 187, 188, 0, 189, 190,
+ 191, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 42, 0, 197, 198, 0, 199, 200, 201, 202,
+ 203, 0, 0, 0, 43, 0, 204, 0, 205, 44,
+ 45, 206, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, -4, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 0, 15, 16, 17, 18, 19, 20, 21, 22,
+ 0, 23, 126, 0, 127, 0, 0, 0, 24, 128,
+ 25, 26, 0, 27, 129, 28, 0, 29, 130, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 131, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 132, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, 133, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 0, 15, 16, 17, 18, 19, 20, 21, 22,
+ 0, 23, 126, 0, 127, 0, 0, 0, 24, 128,
+ 25, 26, 0, 27, 129, 28, 0, 29, 130, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 131, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 133, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, 134,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 0, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 23, 127, 0, 128,
- 0, 0, 0, 24, 129, 25, 26, 0, 27, 130,
- 28, 0, 29, 131, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 132, 0, 0, 0, 39, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 132, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, 245, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 0, 15, 16, 17, 18, 19, 20, 21, 22,
+ 0, 23, 126, 0, 127, 0, 0, 0, 24, 128,
+ 25, 26, 0, 27, 129, 28, 0, 29, 130, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 131, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 133, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, 242,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 0, 15, 16, 17,
- 18, 19, 20, 21, 22, 0, 23, 127, 0, 128,
- 0, 0, 0, 24, 129, 25, 26, 0, 27, 130,
- 28, 0, 29, 131, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 132, 0, 0, 0, 39, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 132, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, 385, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 14, 15, 16, 17, 18, 19, 20, 21, 0,
+ 0, 23, 0, 0, -153, 0, 0, 0, 24, 0,
+ 25, 26, 0, 27, 0, 28, 0, 29, 0, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, -153,
+ -153, 0, 39, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 186, 187, 188, 0, 189, 190,
+ 191, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 42, 0, -153, -153, 0, 199, 200, 201, 202,
+ 203, 0, 0, 0, 43, 0, 204, 0, 205, 44,
+ 45, 206, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, -3, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 0, 15, 16, 17, 18, 19, 20, 21, 0,
+ 0, 23, 0, 0, 0, 0, 0, 0, 24, 0,
+ 25, 26, 0, 27, 0, 28, 0, 29, 0, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 133, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, 384,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 14, 15, 16, 17,
- 18, 19, 20, 21, 0, 0, 23, 0, 0, -153,
- 0, 0, 0, 24, 0, 25, 26, 0, 27, 0,
- 28, 0, 29, 0, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, -153, -153, 0, 39, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 187,
- 188, 189, 0, 190, 191, 192, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 42, 0, -153, -153,
- 0, 200, 201, 202, 203, 204, 0, 0, 0, 43,
- 0, 205, 0, 206, 44, 45, 207, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, -3,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 0, 15, 16, 17,
- 18, 19, 20, 21, 0, 0, 23, 0, 0, 0,
- 0, 0, 0, 24, 0, 25, 26, 0, 27, 0,
- 28, 0, 29, 0, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 39, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 307, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, -15, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 0, 15, 16, 17, 18, 19, 20, 21, 0,
+ 0, 23, 0, 0, 0, 0, 0, 0, 24, 0,
+ 25, 26, 0, 27, 0, 28, 0, 29, 0, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 305, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, -15,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 0, 15, 16, 17,
- 18, 19, 20, 21, 0, 0, 23, 0, 0, 0,
- 0, 0, 0, 24, 0, 25, 26, 0, 27, 0,
- 28, 0, 29, 0, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 39, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 307, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, -16, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 0, 15, 16, 17, 18, 19, 20, 21, 0,
+ 0, 23, 0, 0, 0, 0, 0, 0, 24, 0,
+ 25, 26, 0, 27, 0, 28, 0, 29, 0, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 305, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, -16,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 0, 15, 16, 17,
- 18, 19, 20, 21, 0, 0, 23, 0, 0, 0,
- 0, 0, 0, 24, 0, 25, 26, 0, 27, 0,
- 28, 0, 29, 0, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 39, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 478, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, 0, 0, -142, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 0, 15, 16, 17, 18, 19, 20, 21, 0,
+ 0, 23, 0, 0, 0, 0, 0, 0, 24, 0,
+ 25, 26, 0, 27, 0, 28, 0, 29, 0, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 473, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, 0, 0, -142,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 0, 15, 16, 17,
- 18, 19, 20, 21, 0, 0, 23, 0, 0, 0,
- 0, 0, 0, 24, 0, 25, 26, 0, 27, 0,
- 28, 0, 29, 0, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 39, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 478, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 0, -3, 0, -143, 1, 2, 3, 4, 0,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
+ 0, 14, 15, 16, 17, 18, 19, 20, 21, 0,
+ 0, 23, 0, 0, 0, 0, 0, 0, 24, 0,
+ 25, 26, 0, 27, 0, 28, 0, 29, 0, 30,
+ 31, 32, 0, 0, 33, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 38, 0, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 473, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 0, -3, 0, -143,
- 1, 2, 3, 4, 0, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 0, 0, 14, 15, 16, 17,
- 18, 19, 20, 21, 0, 0, 23, 0, 0, 0,
- 0, 0, 0, 24, 0, 25, 26, 0, 27, 0,
- 28, 0, 29, 0, 30, 31, 32, 0, 0, 33,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 38, 0, 0, 0, 0, 0, 39, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
+ 0, 42, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 0, 0, 44,
+ 45, 0, 0, 0, 46, 0, 47, 0, 48, 0,
+ 49, 1, 2, 3, 4, 0, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 0, -118, 0, 15, 16,
+ 17, 18, 19, 20, 21, 22, 0, 23, 126, 0,
+ 127, 0, 0, 0, 24, 128, 25, 26, 0, 27,
+ 129, 28, 0, 29, 130, 30, 31, 32, 0, 0,
+ 33, 34, 0, 35, 36, 0, 0, 0, 0, 0,
+ 0, 37, 38, 0, 131, 0, 0, 0, 39, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 44, 45, 0, 0, 0, 46,
- 0, 47, 0, 48, 0, 49, 1, 2, 3, 4,
- 0, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 0, -118, 0, 15, 16, 17, 18, 19, 20, 21,
- 22, 0, 23, 127, 0, 128, 0, 0, 0, 24,
- 129, 25, 26, 0, 27, 130, 28, 0, 29, 131,
- 30, 31, 32, 0, 0, 33, 34, 0, 35, 36,
- 0, 0, 0, 0, 0, 0, 37, 38, 0, 132,
- 0, 0, 0, 39, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40, 41,
+ 0, 0, 0, 0, 0, 0, 0, 132, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 40, 41, 0, 0, 0, 0, 0,
- 0, 0, 133, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 43, 0, 0, 0, 0,
- 44, 45, 0, 0, 0, 46, 0, 47, 0, 48,
- 0, 49, 1, 2, 3, 4, 0, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 0, 0, 0, 15,
- 16, 17, 18, 19, 20, 21, 22, 0, 23, 127,
- 0, 128, 0, 0, 0, 24, 129, 25, 26, 0,
- 27, 130, 28, 0, 29, 131, 30, 31, 32, 0,
- 0, 33, 34, 0, 35, 36, 0, 0, 0, 0,
- 0, 0, 37, 38, 0, 132, 0, 0, 0, 39,
+ 43, 0, 0, 0, 0, 44, 45, 0, 0, 0,
+ 46, 0, 47, 0, 48, 0, 49, 1, 2, 3,
+ 4, 0, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 0, 0, 0, 15, 16, 17, 18, 19, 20,
+ 21, 22, 0, 23, 126, 0, 127, 0, 0, 0,
+ 24, 128, 25, 26, 0, 27, 129, 28, 0, 29,
+ 130, 30, 31, 32, 0, 0, 33, 34, 0, 35,
+ 36, 0, 0, 0, 0, 0, 0, 37, 38, 0,
+ 131, 0, 0, 0, 39, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
- 41, 0, 0, 0, 0, 0, 0, 0, 133, 0,
- 149, 0, 3, 4, 0, 5, 6, 7, 8, 9,
- 0, 43, 0, 0, 0, 0, 44, 45, 0, 0,
- 0, 46, 20, 47, 22, 48, 23, 49, 0, 128,
- 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
- 28, 0, 29, 150, 0, 0, 0, 0, 0, 0,
- 34, 0, 35, 36, 0, 0, 0, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 39, 0, 0,
- 99, 0, 3, 4, 0, 5, 6, 7, 8, 9,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 20, 0, 22, 0, 23, 0, 0, 0,
- 0, 0, 0, 24, 0, 0, 0, 0, 0, 43,
- 28, 0, 29, 0, 44, 45, 0, 0, 0, 46,
- 34, 47, 35, 36, 0, 49, 0, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 39, 0, 0,
- 99, 0, 3, 4, 0, 5, 6, 7, 8, 9,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 0,
- 0, 0, 20, 0, 22, 0, 23, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 29, 0, 44, 45, 0, 0, 0, 46,
- 34, 47, 35, 36, 0, 49, 0, 0, 0, 0,
- 0, 0, 165, 0, 0, 0, 0, 39, 0, 0,
+ 0, 0, 0, 0, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 132, 0, 148, 0, 3, 4, 0,
+ 5, 6, 7, 8, 9, 0, 43, 0, 0, 0,
+ 0, 44, 45, 0, 0, 0, 46, 20, 47, 22,
+ 48, 23, 49, 0, 127, 0, 0, 0, 24, 0,
+ 0, 0, 0, 0, 0, 28, 0, 29, 149, 0,
+ 0, 0, 0, 0, 0, 34, 0, 35, 36, 0,
+ 0, 0, 0, 0, 0, 37, 0, 0, 0, 0,
+ 0, 0, 39, 0, 0, 98, 0, 3, 4, 0,
+ 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 20, 0, 22,
+ 0, 23, 0, 0, 0, 0, 0, 0, 24, 0,
+ 0, 0, 0, 0, 43, 28, 0, 29, 0, 44,
+ 45, 0, 0, 0, 46, 34, 47, 35, 36, 0,
+ 49, 0, 0, 0, 0, 37, 0, 0, 0, 0,
+ 0, 0, 39, 0, 0, 98, 0, 3, 4, 0,
+ 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
+ 0, 0, 40, 41, 0, 0, 0, 20, 0, 22,
+ 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 29, 0, 44,
+ 45, 0, 0, 0, 46, 34, 47, 35, 36, 0,
+ 49, 0, 0, 0, 0, 0, 0, 164, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 166,
- 167, 168, 0, 169, 170, 171, 172, 173, 174, 175,
+ 0, 0, 40, 41, 165, 166, 167, 0, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
+ 0, 189, 190, 191, 46, 0, 47, 0, 0, 192,
+ 49, 193, 0, 194, 195, 196, 197, 198, 164, 199,
+ 200, 201, 202, 203, 0, 0, 0, 0, 0, 204,
+ 0, 205, 0, 0, 206, 0, 0, 0, 0, 0,
+ 330, 0, 0, 0, 0, 165, 166, 167, 0, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 0, 186, 187,
+ 188, 0, 189, 190, 191, 0, 0, 0, 0, 0,
+ 192, 164, 193, 0, 194, 195, 196, 197, 198, 0,
+ 199, 200, 201, 202, 203, 0, 0, 0, 0, 0,
+ 204, 0, 205, 0, 0, 206, 0, 0, 165, 166,
+ 167, 362, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, 0, 187, 188, 189, 0, 190, 191, 192, 46,
- 0, 47, 0, 0, 193, 49, 194, 0, 195, 196,
- 197, 198, 199, 165, 200, 201, 202, 203, 204, 0,
- 0, 0, 0, 0, 205, 0, 206, 0, 0, 207,
- 0, 0, 0, 0, 0, 358, 0, 0, 0, 0,
- 166, 167, 168, 0, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 0, 187, 188, 189, 0, 190, 191, 192,
- 0, 0, 0, 0, 0, 193, 165, 194, 0, 195,
- 196, 197, 198, 199, 0, 200, 201, 202, 203, 204,
- 0, 0, 0, 0, 0, 205, 0, 206, 0, 0,
- 207, 0, 0, 166, 167, 168, 397, 169, 170, 171,
+ 0, 186, 187, 188, 0, 189, 190, 191, 0, 0,
+ 0, 0, 0, 192, 164, 193, 0, 194, 195, 196,
+ 197, 198, 0, 199, 200, 201, 202, 203, 0, 0,
+ 0, 0, 0, 204, 0, 205, 0, 0, 206, 0,
+ 0, 165, 166, 167, 401, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 0, 186, 187, 188, 0, 189, 190,
+ 191, 0, 0, 0, 0, 164, 192, 0, 193, 354,
+ 194, 195, 196, 197, 198, 0, 199, 200, 201, 202,
+ 203, 0, 0, 0, 0, 0, 204, 0, 205, 0,
+ 0, 206, 165, 166, 167, 0, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
- 182, 183, 184, 185, 186, 0, 187, 188, 189, 0,
- 190, 191, 192, 0, 0, 0, 0, 165, 193, 0,
- 194, 350, 195, 196, 197, 198, 199, 0, 200, 201,
- 202, 203, 204, 0, 0, 0, 0, 0, 205, 0,
- 206, 0, 0, 207, 166, 167, 168, 0, 169, 170,
+ 182, 183, 184, 185, 0, 186, 187, 188, 0, 189,
+ 190, 191, 0, 0, 0, 0, 164, 192, 0, 193,
+ 0, 194, 195, 196, 197, 198, 0, 199, 200, 201,
+ 202, 203, 0, 0, 0, 0, 0, 204, 0, 205,
+ 356, 0, 206, 165, 166, 167, 0, 168, 169, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 0, 187, 188, 189,
- 0, 190, 191, 192, 0, 0, 0, 0, 165, 193,
- 0, 194, 0, 195, 196, 197, 198, 199, 0, 200,
- 201, 202, 203, 204, 0, 0, 0, 0, 0, 205,
- 0, 206, 352, 0, 207, 166, 167, 168, 0, 169,
+ 181, 182, 183, 184, 185, 0, 186, 187, 188, 0,
+ 189, 190, 191, 0, 0, 0, 0, 164, 192, 0,
+ 193, 491, 194, 195, 196, 197, 198, 0, 199, 200,
+ 201, 202, 203, 0, 0, 0, 0, 0, 204, 0,
+ 205, 0, 0, 206, 165, 166, 167, 0, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, 0, 187, 188,
- 189, 0, 190, 191, 192, 0, 0, 0, 0, 165,
- 193, 0, 194, 486, 195, 196, 197, 198, 199, 0,
- 200, 201, 202, 203, 204, 0, 0, 0, 0, 0,
- 205, 0, 206, 0, 0, 207, 166, 167, 168, 0,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 0, 187,
- 188, 189, 0, 190, 191, 192, 0, 0, 0, 0,
- 165, 193, 0, 194, 0, 195, 196, 197, 198, 199,
- 0, 200, 201, 202, 203, 204, 0, 0, 0, 0,
- 0, 205, 0, 206, 0, 0, 207, 166, 167, 168,
- 0, 169, 170, 171, 172, 173, 174, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 186, 0,
- 187, 188, 189, 0, 190, 191, 192, 0, 0, 0,
- 0, 165, 0, 0, 0, 0, 195, 196, 197, 198,
- 199, 0, 200, 201, 202, 203, 204, 0, 0, 0,
- 0, 0, 205, 0, 206, 0, 0, 207, 166, 167,
- 168, 0, 169, 170, 171, 172, 173, 174, 0, 0,
+ 180, 181, 182, 183, 184, 185, 0, 186, 187, 188,
+ 0, 189, 190, 191, 0, 0, 0, 0, 164, 192,
+ 0, 193, 0, 194, 195, 196, 197, 198, 0, 199,
+ 200, 201, 202, 203, 0, 0, 0, 0, 0, 204,
+ 0, 205, 0, 0, 206, 165, 166, 167, 0, 168,
+ 169, 170, 171, 172, 173, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 186, 187,
+ 188, 0, 189, 190, 191, 0, 0, 0, 0, 164,
+ 0, 0, 0, 0, 194, 195, 196, 197, 198, 0,
+ 199, 200, 201, 202, 203, 0, 0, 0, 0, 0,
+ 204, 0, 205, 0, 0, 206, 165, 166, 167, 0,
+ 168, 169, 170, 171, 172, 173, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 186,
+ 187, 188, 0, 189, 190, 191, 0, 0, 0, 0,
+ 164, 0, 0, 0, 0, 0, 195, 196, 197, 198,
+ 0, 199, 200, 201, 202, 203, 0, 0, 0, 0,
+ 0, 204, 0, 205, 0, 0, 206, 165, 166, 167,
+ 0, 168, 169, 170, 171, 172, 173, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 187, 188, 189, 0, 190, 191, 192, 0, 0,
- 0, 0, 165, 0, 0, 0, 0, 195, 196, 197,
- 198, 199, 0, 200, 201, 202, 203, 204, 0, 0,
- 0, 0, 0, 205, 0, 206, 0, 0, 207, 166,
- 167, 168, 0, 169, 170, 171, 172, 173, 174, 0,
+ 186, 187, 188, 0, 189, 190, 191, 0, 0, 0,
+ 0, 164, 0, 0, 0, 0, 0, 0, 196, 197,
+ 198, 0, 199, 200, 201, 202, 203, 0, 0, 0,
+ 0, 0, 204, 0, 205, 0, 0, 206, 165, 166,
+ 167, 0, 168, 169, 170, 171, 172, 173, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 187, 188, 189, 0, 190, 191, 192, 0,
- 0, 0, 0, 165, 0, 0, 0, 0, 0, 196,
- 197, 198, 199, 0, 200, 201, 202, 203, 204, 0,
- 0, 0, 0, 0, 205, 0, 206, 0, 0, 207,
- 166, 167, 168, 0, 169, 170, 171, 172, 173, 174,
+ 0, 186, 187, 188, 0, 189, 190, 191, 0, 0,
+ 0, 0, 164, 0, 0, 0, 0, 0, 0, -153,
+ 197, 198, 0, 199, 200, 201, 202, 203, 0, 0,
+ 0, 0, 0, 204, 0, 205, 0, 0, 206, 165,
+ 166, 167, 0, -153, -153, -153, -153, 172, 173, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 187, 188, 189, 0, 190, 191, 192,
- 0, 0, 0, 0, 165, 0, 0, 0, 0, 0,
- 0, 197, 198, 199, 0, 200, 201, 202, 203, 204,
- 0, 0, 0, 0, 0, 205, 0, 206, 0, 0,
- 207, 166, 167, 168, 0, 169, 170, 171, 172, 173,
- 174, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 187, 188, 189, 0, 190, 191,
- 192, 0, 0, 0, 0, 165, 0, 0, 0, 0,
- 0, 0, -153, 198, 199, 0, 200, 201, 202, 203,
- 204, 0, 0, 0, 0, 0, 205, 0, 206, 0,
- 0, 207, 166, 167, 168, 0, -153, -153, -153, -153,
- 173, 174, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 187, 188, 189, 0, 190,
- 191, 192, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 198, 199, 0, 200, 201, 202,
- 203, 204, 0, 0, 0, 0, 0, 205, 0, 206,
- 0, 0, 207
+ 0, 0, 186, 187, 188, 0, 189, 190, 191, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 197, 198, 0, 199, 200, 201, 202, 203, 0,
+ 0, 0, 0, 0, 204, 0, 205, 0, 0, 206
};
static const yytype_int16 yycheck[] =
{
- 0, 0, 0, 0, 0, 58, 90, 48, 3, 109,
- 246, 39, 20, 50, 3, 387, 24, 325, 3, 3,
- 321, 315, 28, 3, 3, 68, 3, 33, 5, 37,
- 19, 39, 40, 41, 19, 43, 44, 45, 463, 47,
- 19, 92, 467, 468, 100, 46, 100, 89, 356, 122,
- 100, 135, 52, 52, 52, 52, 52, 36, 0, 102,
- 0, 486, 0, 34, 372, 100, 102, 361, 369, 105,
- 90, 91, 92, 124, 3, 500, 127, 133, 386, 133,
- 35, 3, 507, 133, 3, 122, 100, 100, 216, 217,
- 19, 62, 343, 221, 345, 122, 51, 125, 133, 107,
- 19, 109, 122, 104, 124, 205, 3, 127, 14, 93,
- 52, 347, 52, 93, 52, 416, 18, 125, 122, 133,
- 133, 27, 19, 127, 126, 27, 18, 122, 129, 130,
- 115, 122, 368, 128, 506, 27, 115, 126, 389, 122,
- 32, 3, 450, 0, 452, 126, 127, 122, 148, 148,
- 148, 148, 148, 126, 46, 100, 164, 165, 166, 167,
+ 0, 0, 0, 0, 0, 90, 58, 39, 97, 249,
+ 48, 3, 20, 108, 327, 215, 24, 390, 3, 50,
+ 323, 89, 3, 68, 224, 3, 100, 317, 3, 37,
+ 92, 39, 40, 41, 19, 43, 44, 45, 19, 47,
+ 46, 3, 122, 5, 90, 91, 92, 360, 3, 134,
+ 122, 4, 52, 52, 52, 52, 52, 102, 0, 133,
+ 0, 0, 124, 376, 19, 127, 3, 20, 21, 22,
+ 373, 24, 100, 26, 387, 365, 122, 18, 124, 122,
+ 34, 127, 19, 468, 127, 38, 3, 472, 473, 3,
+ 14, 122, 124, 46, 47, 48, 49, 103, 106, 36,
+ 108, 102, 19, 27, 105, 133, 491, 100, 62, 204,
+ 52, 351, 52, 52, 126, 93, 124, 420, 93, 319,
+ 505, 100, 128, 129, 126, 127, 28, 512, 122, 35,
+ 122, 33, 372, 122, 115, 122, 128, 3, 511, 3,
+ 133, 126, 455, 0, 457, 51, 99, 147, 147, 147,
+ 147, 147, 126, 19, 133, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 99,
- 100, 432, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 227,
- 3, 229, 127, 244, 122, 213, 148, 122, 148, 210,
- 148, 127, 3, 100, 214, 214, 214, 453, 318, 227,
- 4, 229, 105, 132, 125, 226, 100, 3, 3, 3,
- 126, 68, 18, 469, 3, 99, 20, 21, 22, 4,
- 24, 325, 26, 68, 3, 329, 247, 248, 3, 3,
- 3, 102, 3, 337, 38, 20, 21, 22, 99, 24,
- 133, 26, 14, 47, 48, 49, 122, 105, 100, 132,
- 3, 54, 356, 38, 54, 511, 89, 4, 133, 3,
- 122, 46, 47, 48, 49, 132, 126, 3, 372, 133,
- 100, 299, 127, 20, 21, 22, 132, 24, 105, 26,
- 102, 122, 386, 90, 91, 92, 17, 307, 307, 307,
- 318, 38, 126, 3, 126, 315, 315, 315, 133, 46,
- 47, 48, 49, 132, 132, 112, 113, 114, 115, 116,
- 126, 102, 385, 100, 99, 122, 126, 124, 126, 65,
- 127, 122, 350, 105, 133, 373, 3, 40, 133, 3,
- 132, 27, 3, 381, 132, 132, 357, 52, 126, 132,
- 126, 361, 361, 361, 122, 373, 450, 132, 452, 132,
- 307, 132, 99, 381, 67, 68, 69, 133, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 126, 90, 91, 92,
- 132, 94, 95, 96, 133, 132, 148, 132, 394, 102,
- 58, 104, 336, 106, 107, 108, 109, 110, 128, 112,
- 113, 114, 115, 116, 439, 69, 492, 439, 436, 122,
- 422, 124, 422, 433, 127, 18, 460, 483, 478, 389,
- 133, -1, 414, -1, 27, -1, -1, -1, 31, 32,
- -1, 90, 91, 92, 454, 454, 454, 454, 454, -1,
- 460, 44, 3, 46, 5, 365, -1, 8, 9, 10,
- -1, 12, -1, -1, -1, 114, 115, 116, 478, 478,
- 478, 478, 478, 122, -1, 124, -1, -1, 127, -1,
- -1, -1, 492, 492, 492, 492, 492, 0, -1, -1,
- 3, 4, 5, 6, 45, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 55, 56, 19, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, 29, -1, -1, 40,
- -1, -1, -1, 36, -1, 38, 39, -1, 41, -1,
- 43, -1, 45, -1, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, 67, 68, 69, -1,
- 63, 64, -1, -1, 75, 76, -1, 70, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 90,
- 91, 92, -1, 94, 95, 96, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, 109, 110,
- -1, 112, 113, 114, 115, 116, -1, -1, -1, 112,
- -1, 122, -1, 124, 117, 118, 127, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, 27, -1, 29, 30, -1, 32,
- -1, -1, -1, 36, 37, 38, 39, -1, 41, 42,
- 43, -1, 45, 46, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, 66, -1, -1, -1, 70, -1, -1,
+ 178, 179, 180, 181, 182, 183, 184, 185, 115, 132,
+ 100, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 230, 100,
+ 232, 3, 100, 209, 212, 147, 122, 147, 147, 247,
+ 99, 100, 18, 213, 213, 213, 127, 122, 458, 3,
+ 105, 27, 230, 229, 232, 320, 32, 90, 91, 92,
+ 100, 125, 133, 132, 474, 133, 3, 3, 100, 3,
+ 46, 18, 327, 126, 250, 251, 68, 332, 3, 112,
+ 113, 114, 115, 116, 99, 340, 68, 3, 347, 122,
+ 349, 124, 4, 3, 127, 3, 3, 99, 127, 14,
+ 122, 127, 133, 100, 105, 360, 516, 132, 20, 21,
+ 22, 102, 24, 3, 26, 5, 3, 3, 8, 9,
+ 10, 376, 12, 301, 54, 54, 38, 133, 89, 3,
+ 126, 3, 387, 392, 46, 47, 48, 49, 122, 309,
+ 309, 309, 320, 132, 100, 133, 132, 317, 317, 317,
+ 105, 102, 122, 17, 100, 45, 3, 90, 91, 92,
+ 18, 126, 126, 132, 386, 55, 56, 133, 126, 27,
+ 132, 102, 100, 31, 32, 377, 354, 436, 40, 122,
+ 382, 114, 115, 116, 126, 361, 44, 99, 46, 122,
+ 65, 124, 133, 133, 127, 365, 365, 365, 3, 377,
+ 455, 105, 457, 126, 382, 67, 68, 69, 132, 71,
+ 72, 73, 74, 75, 76, 3, 27, 126, 132, 132,
+ 132, 126, 133, 3, 122, 147, 88, 126, 90, 91,
+ 92, 132, 94, 95, 96, 132, 132, 132, 132, 4,
+ 133, 397, 52, 309, 106, 107, 108, 109, 110, 58,
+ 112, 113, 114, 115, 116, 20, 21, 22, 127, 24,
+ 122, 26, 124, 441, 444, 127, 339, 437, 426, 444,
+ 69, 497, 426, 38, 483, 465, 398, 418, 488, 27,
+ 369, -1, 47, 48, 49, -1, 392, -1, -1, 459,
+ 459, 459, 459, 459, -1, 465, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, 27, -1, 29, 30, -1, 32,
- -1, -1, -1, 36, 37, 38, 39, -1, 41, 42,
- 43, -1, 45, 46, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, 66, -1, -1, -1, 70, -1, -1,
+ -1, -1, -1, 483, 483, 483, 483, 483, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 497, 497, 497,
+ 497, 497, 0, -1, -1, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
+ -1, 29, -1, -1, 40, -1, -1, -1, 36, -1,
+ 38, 39, -1, 41, -1, 43, -1, 45, -1, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, 67, 68, 69, -1, 63, 64, -1, -1, 75,
+ 76, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 90, 91, 92, -1, 94, 95,
+ 96, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, 109, 110, -1, 112, 113, 114, 115,
+ 116, -1, -1, -1, 112, -1, 122, -1, 124, 117,
+ 118, 127, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
+ -1, 29, 30, -1, 32, -1, -1, -1, 36, 37,
+ 38, 39, -1, 41, 42, 43, -1, 45, 46, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, 66, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, 27, -1, 29, 30, -1, 32,
- -1, -1, -1, 36, 37, 38, 39, -1, 41, 42,
- 43, -1, 45, 46, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, 66, -1, -1, -1, 70, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
+ -1, 29, 30, -1, 32, -1, -1, -1, 36, 37,
+ 38, 39, -1, 41, 42, 43, -1, 45, 46, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, 66, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, 19, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, 29, -1, -1, 40,
- -1, -1, -1, 36, -1, 38, 39, -1, 41, -1,
- 43, -1, 45, -1, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, 75, 76, -1, 70, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 90,
- 91, 92, -1, 94, 95, 96, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, 109, 110,
- -1, 112, 113, 114, 115, 116, -1, -1, -1, 112,
- -1, 122, -1, 124, 117, 118, 127, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, 29, -1, -1, -1,
- -1, -1, -1, 36, -1, 38, 39, -1, 41, -1,
- 43, -1, 45, -1, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
+ -1, 29, 30, -1, 32, -1, -1, -1, 36, 37,
+ 38, 39, -1, 41, 42, 43, -1, 45, 46, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, 66, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, 29, -1, -1, -1,
- -1, -1, -1, 36, -1, 38, 39, -1, 41, -1,
- 43, -1, 45, -1, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
+ -1, 29, -1, -1, 40, -1, -1, -1, 36, -1,
+ 38, 39, -1, 41, -1, 43, -1, 45, -1, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, 75,
+ 76, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 90, 91, 92, -1, 94, 95,
+ 96, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, 109, 110, -1, 112, 113, 114, 115,
+ 116, -1, -1, -1, 112, -1, 122, -1, 124, 117,
+ 118, 127, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, -1,
+ -1, 29, -1, -1, -1, -1, -1, -1, 36, -1,
+ 38, 39, -1, 41, -1, 43, -1, 45, -1, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, 29, -1, -1, -1,
- -1, -1, -1, 36, -1, 38, 39, -1, 41, -1,
- 43, -1, 45, -1, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, -1,
+ -1, 29, -1, -1, -1, -1, -1, -1, 36, -1,
+ 38, 39, -1, 41, -1, 43, -1, 45, -1, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, -1, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, -1, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, 29, -1, -1, -1,
- -1, -1, -1, 36, -1, 38, 39, -1, 41, -1,
- 43, -1, 45, -1, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, -1,
+ -1, 29, -1, -1, -1, -1, -1, -1, 36, -1,
+ 38, 39, -1, 41, -1, 43, -1, 45, -1, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, -1, 0, -1, 132,
- 3, 4, 5, 6, -1, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, -1, -1, 19, 20, 21, 22,
- 23, 24, 25, 26, -1, -1, 29, -1, -1, -1,
- -1, -1, -1, 36, -1, 38, 39, -1, 41, -1,
- 43, -1, 45, -1, 47, 48, 49, -1, -1, 52,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, -1, -1, -1, 70, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, -1, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, -1,
+ -1, 29, -1, -1, -1, -1, -1, -1, 36, -1,
+ 38, 39, -1, 41, -1, 43, -1, 45, -1, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, -1, -1, 117, 118, -1, -1, -1, 122,
- -1, 124, -1, 126, -1, 128, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- -1, 18, -1, 20, 21, 22, 23, 24, 25, 26,
- 27, -1, 29, 30, -1, 32, -1, -1, -1, 36,
- 37, 38, 39, -1, 41, 42, 43, -1, 45, 46,
- 47, 48, 49, -1, -1, 52, 53, -1, 55, 56,
- -1, -1, -1, -1, -1, -1, 63, 64, -1, 66,
- -1, -1, -1, 70, -1, -1, -1, -1, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, -1, 0, -1, 132, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, -1,
+ -1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
+ -1, 29, -1, -1, -1, -1, -1, -1, 36, -1,
+ 38, 39, -1, 41, -1, 43, -1, 45, -1, 47,
+ 48, 49, -1, -1, 52, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 90, 91, -1, -1, -1, -1, -1,
- -1, -1, 99, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
- 117, 118, -1, -1, -1, 122, -1, 124, -1, 126,
- -1, 128, 3, 4, 5, 6, -1, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, -1, -1, -1, 20,
- 21, 22, 23, 24, 25, 26, 27, -1, 29, 30,
- -1, 32, -1, -1, -1, 36, 37, 38, 39, -1,
- 41, 42, 43, -1, 45, 46, 47, 48, 49, -1,
- -1, 52, 53, -1, 55, 56, -1, -1, -1, -1,
- -1, -1, 63, 64, -1, 66, -1, -1, -1, 70,
+ -1, -1, 90, 91, -1, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, -1, -1, 117,
+ 118, -1, -1, -1, 122, -1, 124, -1, 126, -1,
+ 128, 3, 4, 5, 6, -1, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, -1, 18, -1, 20, 21,
+ 22, 23, 24, 25, 26, 27, -1, 29, 30, -1,
+ 32, -1, -1, -1, 36, 37, 38, 39, -1, 41,
+ 42, 43, -1, 45, 46, 47, 48, 49, -1, -1,
+ 52, 53, -1, 55, 56, -1, -1, -1, -1, -1,
+ -1, 63, 64, -1, 66, -1, -1, -1, 70, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 90,
- 91, -1, -1, -1, -1, -1, -1, -1, 99, -1,
- 3, -1, 5, 6, -1, 8, 9, 10, 11, 12,
- -1, 112, -1, -1, -1, -1, 117, 118, -1, -1,
- -1, 122, 25, 124, 27, 126, 29, 128, -1, 32,
- -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
- 43, -1, 45, 46, -1, -1, -1, -1, -1, -1,
- 53, -1, 55, 56, -1, -1, -1, -1, -1, -1,
- 63, -1, -1, -1, -1, -1, -1, 70, -1, -1,
- 3, -1, 5, 6, -1, 8, 9, 10, 11, 12,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, 25, -1, 27, -1, 29, -1, -1, -1,
- -1, -1, -1, 36, -1, -1, -1, -1, -1, 112,
- 43, -1, 45, -1, 117, 118, -1, -1, -1, 122,
- 53, 124, 55, 56, -1, 128, -1, -1, -1, -1,
- 63, -1, -1, -1, -1, -1, -1, 70, -1, -1,
- 3, -1, 5, 6, -1, 8, 9, 10, 11, 12,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, -1,
- -1, -1, 25, -1, 27, -1, 29, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
- -1, -1, 45, -1, 117, 118, -1, -1, -1, 122,
- 53, 124, 55, 56, -1, 128, -1, -1, -1, -1,
- -1, -1, 40, -1, -1, -1, -1, 70, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 90, 91,
+ -1, -1, -1, -1, -1, -1, -1, 99, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 90, 91, 67,
- 68, 69, -1, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 88, -1, 90, 91, 92, -1, 94, 95, 96, 122,
- -1, 124, -1, -1, 102, 128, 104, -1, 106, 107,
- 108, 109, 110, 40, 112, 113, 114, 115, 116, -1,
- -1, -1, -1, -1, 122, -1, 124, -1, -1, 127,
- -1, -1, -1, -1, -1, 133, -1, -1, -1, -1,
- 67, 68, 69, -1, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, -1, 90, 91, 92, -1, 94, 95, 96,
- -1, -1, -1, -1, -1, 102, 40, 104, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, 115, 116,
- -1, -1, -1, -1, -1, 122, -1, 124, -1, -1,
- 127, -1, -1, 67, 68, 69, 133, 71, 72, 73,
+ 112, -1, -1, -1, -1, 117, 118, -1, -1, -1,
+ 122, -1, 124, -1, 126, -1, 128, 3, 4, 5,
+ 6, -1, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, -1, -1, -1, 20, 21, 22, 23, 24, 25,
+ 26, 27, -1, 29, 30, -1, 32, -1, -1, -1,
+ 36, 37, 38, 39, -1, 41, 42, 43, -1, 45,
+ 46, 47, 48, 49, -1, -1, 52, 53, -1, 55,
+ 56, -1, -1, -1, -1, -1, -1, 63, 64, -1,
+ 66, -1, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 90, 91, -1, -1, -1, -1,
+ -1, -1, -1, 99, -1, 3, -1, 5, 6, -1,
+ 8, 9, 10, 11, 12, -1, 112, -1, -1, -1,
+ -1, 117, 118, -1, -1, -1, 122, 25, 124, 27,
+ 126, 29, 128, -1, 32, -1, -1, -1, 36, -1,
+ -1, -1, -1, -1, -1, 43, -1, 45, 46, -1,
+ -1, -1, -1, -1, -1, 53, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, 63, -1, -1, -1, -1,
+ -1, -1, 70, -1, -1, 3, -1, 5, 6, -1,
+ 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, 25, -1, 27,
+ -1, 29, -1, -1, -1, -1, -1, -1, 36, -1,
+ -1, -1, -1, -1, 112, 43, -1, 45, -1, 117,
+ 118, -1, -1, -1, 122, 53, 124, 55, 56, -1,
+ 128, -1, -1, -1, -1, 63, -1, -1, -1, -1,
+ -1, -1, 70, -1, -1, 3, -1, 5, 6, -1,
+ 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
+ -1, -1, 90, 91, -1, -1, -1, 25, -1, 27,
+ -1, 29, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 112, -1, -1, 45, -1, 117,
+ 118, -1, -1, -1, 122, 53, 124, 55, 56, -1,
+ 128, -1, -1, -1, -1, -1, -1, 40, -1, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 90, 91, 67, 68, 69, -1, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
+ -1, 94, 95, 96, 122, -1, 124, -1, -1, 102,
+ 128, 104, -1, 106, 107, 108, 109, 110, 40, 112,
+ 113, 114, 115, 116, -1, -1, -1, -1, -1, 122,
+ -1, 124, -1, -1, 127, -1, -1, -1, -1, -1,
+ 133, -1, -1, -1, -1, 67, 68, 69, -1, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
+ 92, -1, 94, 95, 96, -1, -1, -1, -1, -1,
+ 102, 40, 104, -1, 106, 107, 108, 109, 110, -1,
+ 112, 113, 114, 115, 116, -1, -1, -1, -1, -1,
+ 122, -1, 124, -1, -1, 127, -1, -1, 67, 68,
+ 69, 133, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ -1, 90, 91, 92, -1, 94, 95, 96, -1, -1,
+ -1, -1, -1, 102, 40, 104, -1, 106, 107, 108,
+ 109, 110, -1, 112, 113, 114, 115, 116, -1, -1,
+ -1, -1, -1, 122, -1, 124, -1, -1, 127, -1,
+ -1, 67, 68, 69, 133, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, -1, 90, 91, 92, -1, 94, 95,
+ 96, -1, -1, -1, -1, 40, 102, -1, 104, 105,
+ 106, 107, 108, 109, 110, -1, 112, 113, 114, 115,
+ 116, -1, -1, -1, -1, -1, 122, -1, 124, -1,
+ -1, 127, 67, 68, 69, -1, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, -1, 90, 91, 92, -1, 94,
+ 95, 96, -1, -1, -1, -1, 40, 102, -1, 104,
+ -1, 106, 107, 108, 109, 110, -1, 112, 113, 114,
+ 115, 116, -1, -1, -1, -1, -1, 122, -1, 124,
+ 125, -1, 127, 67, 68, 69, -1, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, -1,
94, 95, 96, -1, -1, -1, -1, 40, 102, -1,
-1, 94, 95, 96, -1, -1, -1, -1, 40, 102,
-1, 104, -1, 106, 107, 108, 109, 110, -1, 112,
113, 114, 115, 116, -1, -1, -1, -1, -1, 122,
- -1, 124, 125, -1, 127, 67, 68, 69, -1, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, -1, 90, 91,
+ -1, 124, -1, -1, 127, 67, 68, 69, -1, 71,
+ 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 90, 91,
92, -1, 94, 95, 96, -1, -1, -1, -1, 40,
- 102, -1, 104, 105, 106, 107, 108, 109, 110, -1,
+ -1, -1, -1, -1, 106, 107, 108, 109, 110, -1,
112, 113, 114, 115, 116, -1, -1, -1, -1, -1,
122, -1, 124, -1, -1, 127, 67, 68, 69, -1,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, -1, 90,
+ 71, 72, 73, 74, 75, 76, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 90,
91, 92, -1, 94, 95, 96, -1, -1, -1, -1,
- 40, 102, -1, 104, -1, 106, 107, 108, 109, 110,
+ 40, -1, -1, -1, -1, -1, 107, 108, 109, 110,
-1, 112, 113, 114, 115, 116, -1, -1, -1, -1,
-1, 122, -1, 124, -1, -1, 127, 67, 68, 69,
-1, 71, 72, 73, 74, 75, 76, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
90, 91, 92, -1, 94, 95, 96, -1, -1, -1,
- -1, 40, -1, -1, -1, -1, 106, 107, 108, 109,
+ -1, 40, -1, -1, -1, -1, -1, -1, 108, 109,
110, -1, 112, 113, 114, 115, 116, -1, -1, -1,
-1, -1, 122, -1, 124, -1, -1, 127, 67, 68,
69, -1, 71, 72, 73, 74, 75, 76, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 90, 91, 92, -1, 94, 95, 96, -1, -1,
- -1, -1, 40, -1, -1, -1, -1, 106, 107, 108,
+ -1, -1, 40, -1, -1, -1, -1, -1, -1, 108,
109, 110, -1, 112, 113, 114, 115, 116, -1, -1,
-1, -1, -1, 122, -1, 124, -1, -1, 127, 67,
68, 69, -1, 71, 72, 73, 74, 75, 76, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 90, 91, 92, -1, 94, 95, 96, -1,
- -1, -1, -1, 40, -1, -1, -1, -1, -1, 107,
- 108, 109, 110, -1, 112, 113, 114, 115, 116, -1,
- -1, -1, -1, -1, 122, -1, 124, -1, -1, 127,
- 67, 68, 69, -1, 71, 72, 73, 74, 75, 76,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 90, 91, 92, -1, 94, 95, 96,
- -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
- -1, 108, 109, 110, -1, 112, 113, 114, 115, 116,
- -1, -1, -1, -1, -1, 122, -1, 124, -1, -1,
- 127, 67, 68, 69, -1, 71, 72, 73, 74, 75,
- 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 90, 91, 92, -1, 94, 95,
- 96, -1, -1, -1, -1, 40, -1, -1, -1, -1,
- -1, -1, 108, 109, 110, -1, 112, 113, 114, 115,
- 116, -1, -1, -1, -1, -1, 122, -1, 124, -1,
- -1, 127, 67, 68, 69, -1, 71, 72, 73, 74,
- 75, 76, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 90, 91, 92, -1, 94,
- 95, 96, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 109, 110, -1, 112, 113, 114,
- 115, 116, -1, -1, -1, -1, -1, 122, -1, 124,
- -1, -1, 127
+ -1, 109, 110, -1, 112, 113, 114, 115, 116, -1,
+ -1, -1, -1, -1, 122, -1, 124, -1, -1, 127
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
90, 91, 99, 112, 117, 118, 122, 124, 126, 128,
135, 136, 137, 138, 144, 147, 148, 154, 158, 159,
160, 161, 163, 171, 179, 182, 185, 188, 189, 190,
- 191, 195, 197, 206, 214, 217, 230, 231, 232, 235,
- 236, 237, 238, 241, 243, 244, 89, 50, 122, 122,
- 164, 122, 3, 19, 126, 183, 184, 184, 220, 3,
- 237, 3, 216, 237, 122, 184, 220, 122, 126, 122,
- 127, 237, 122, 234, 237, 239, 240, 237, 237, 237,
- 237, 237, 235, 226, 227, 228, 234, 30, 32, 37,
- 42, 46, 66, 99, 132, 143, 144, 145, 148, 150,
- 165, 166, 181, 189, 233, 3, 0, 138, 126, 3,
- 46, 150, 156, 157, 236, 18, 27, 31, 32, 44,
- 46, 205, 242, 191, 100, 40, 67, 68, 69, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, 90, 91, 92,
- 94, 95, 96, 102, 104, 106, 107, 108, 109, 110,
- 112, 113, 114, 115, 116, 122, 124, 127, 3, 122,
- 162, 145, 146, 172, 187, 126, 127, 127, 229, 122,
- 235, 127, 237, 180, 226, 3, 155, 105, 132, 100,
- 133, 125, 100, 234, 3, 3, 151, 152, 235, 235,
- 151, 3, 132, 145, 126, 136, 3, 99, 68, 3,
- 35, 51, 213, 3, 3, 3, 102, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 3, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 226, 237, 3, 122,
- 128, 235, 99, 14, 237, 99, 139, 140, 141, 147,
- 148, 195, 197, 206, 214, 186, 183, 3, 122, 225,
- 3, 93, 210, 211, 212, 133, 115, 133, 142, 143,
- 133, 235, 234, 234, 105, 224, 100, 143, 132, 224,
- 235, 235, 3, 54, 192, 54, 193, 207, 3, 5,
- 105, 133, 125, 89, 237, 3, 133, 122, 133, 132,
- 141, 126, 139, 226, 102, 105, 208, 212, 133, 100,
- 146, 132, 133, 105, 3, 36, 115, 219, 220, 221,
- 223, 102, 149, 152, 132, 99, 133, 122, 221, 17,
- 194, 221, 222, 126, 224, 237, 3, 133, 146, 235,
- 126, 139, 132, 133, 3, 5, 8, 9, 10, 12,
- 45, 55, 56, 209, 223, 224, 93, 212, 28, 33,
- 173, 175, 177, 178, 146, 234, 234, 236, 146, 210,
- 222, 126, 100, 198, 149, 133, 34, 62, 167, 168,
- 169, 170, 132, 208, 126, 212, 126, 122, 173, 175,
- 65, 153, 133, 133, 196, 221, 46, 99, 189, 202,
- 203, 204, 237, 105, 132, 169, 170, 218, 176, 3,
- 146, 146, 224, 99, 144, 148, 189, 199, 200, 201,
- 206, 214, 3, 27, 132, 204, 105, 142, 142, 142,
- 224, 126, 126, 132, 201, 213, 142, 132, 132, 133,
- 215, 199, 3, 174, 142, 132, 122, 126, 132, 210,
- 142, 133, 132, 224
+ 191, 195, 197, 206, 216, 219, 232, 233, 234, 237,
+ 238, 239, 240, 243, 245, 246, 89, 50, 122, 122,
+ 164, 122, 3, 19, 126, 183, 184, 18, 3, 239,
+ 3, 218, 239, 122, 184, 222, 122, 126, 122, 127,
+ 239, 122, 236, 239, 241, 242, 239, 239, 239, 239,
+ 239, 237, 228, 229, 230, 236, 30, 32, 37, 42,
+ 46, 66, 99, 132, 143, 144, 145, 148, 150, 165,
+ 166, 181, 189, 235, 3, 0, 138, 126, 3, 46,
+ 150, 156, 157, 238, 18, 27, 31, 32, 44, 46,
+ 205, 244, 191, 100, 40, 67, 68, 69, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 90, 91, 92, 94,
+ 95, 96, 102, 104, 106, 107, 108, 109, 110, 112,
+ 113, 114, 115, 116, 122, 124, 127, 3, 122, 162,
+ 145, 146, 172, 187, 126, 127, 3, 184, 221, 222,
+ 223, 231, 122, 237, 127, 239, 180, 228, 3, 155,
+ 105, 132, 100, 133, 125, 100, 236, 3, 3, 151,
+ 152, 237, 237, 151, 3, 132, 145, 126, 136, 3,
+ 99, 68, 3, 35, 51, 215, 3, 3, 207, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 3, 239, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 239, 239, 239, 239, 239, 228, 239,
+ 3, 122, 128, 237, 99, 14, 239, 99, 139, 140,
+ 141, 147, 148, 195, 197, 206, 216, 186, 183, 127,
+ 122, 227, 3, 93, 212, 213, 214, 133, 3, 115,
+ 133, 142, 143, 133, 237, 236, 236, 105, 226, 100,
+ 143, 132, 226, 237, 237, 102, 3, 54, 192, 54,
+ 193, 3, 208, 209, 105, 133, 125, 89, 239, 3,
+ 133, 122, 133, 132, 141, 126, 139, 228, 102, 105,
+ 210, 214, 133, 100, 146, 132, 133, 105, 36, 115,
+ 223, 225, 102, 149, 152, 132, 99, 133, 3, 5,
+ 122, 223, 17, 194, 223, 224, 126, 226, 100, 239,
+ 3, 133, 146, 237, 126, 139, 132, 133, 3, 5,
+ 8, 9, 10, 12, 45, 55, 56, 211, 225, 226,
+ 93, 214, 28, 33, 173, 175, 177, 178, 146, 236,
+ 236, 238, 146, 212, 224, 126, 100, 198, 149, 209,
+ 133, 34, 62, 167, 168, 169, 170, 132, 210, 126,
+ 214, 126, 122, 173, 175, 65, 153, 133, 133, 196,
+ 223, 46, 99, 189, 202, 203, 204, 239, 105, 132,
+ 169, 170, 220, 176, 3, 146, 146, 226, 99, 144,
+ 148, 189, 199, 200, 201, 206, 216, 3, 27, 132,
+ 204, 105, 142, 142, 142, 226, 126, 126, 132, 201,
+ 215, 142, 132, 132, 133, 217, 199, 3, 174, 142,
+ 132, 122, 126, 132, 212, 142, 133, 132, 226
};
#define yyerrok (yyerrstatus = 0)
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1920 "parser.y"
+#line 2030 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1921 "parser.y"
+#line 2031 "parser.y"
{(yyval.code)=code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1923 "parser.y"
+#line 2033 "parser.y"
{(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1924 "parser.y"
+#line 2034 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1939 "parser.y"
+#line 2049 "parser.y"
{(yyval.code)=(yyvsp[(2) - (3)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1940 "parser.y"
+#line 2050 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1943 "parser.y"
+#line 2053 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1950 "parser.y"
+#line 2060 "parser.y"
{(yyval.code)=(yyvsp[(3) - (4)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1954 "parser.y"
+#line 2064 "parser.y"
{(yyval.code)=(yyvsp[(1) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1955 "parser.y"
+#line 2065 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1959 "parser.y"
+#line 2069 "parser.y"
{
code_t**cc = &global->init->method->body->code;
*cc = code_append(*cc, (yyvsp[(1) - (1)].code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1970 "parser.y"
+#line 2080 "parser.y"
{(yyval.value)=(yyvsp[(2) - (2)].value);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1971 "parser.y"
+#line 2081 "parser.y"
{(yyval.value).c=abc_pushundefined(0);
(yyval.value).t=TYPE_ANY;
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1975 "parser.y"
+#line 2085 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1976 "parser.y"
+#line 2086 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1978 "parser.y"
+#line 2088 "parser.y"
{(yyval.code) = (yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1979 "parser.y"
+#line 2089 "parser.y"
{(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 1982 "parser.y"
+#line 2092 "parser.y"
{
PASS12
if(variable_exists((yyvsp[(1) - (3)].id)))
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2042 "parser.y"
+#line 2152 "parser.y"
{(yyval.code) = code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2043 "parser.y"
+#line 2153 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2046 "parser.y"
+#line 2156 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2046 "parser.y"
+#line 2156 "parser.y"
{
(yyval.code) = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2065 "parser.y"
+#line 2175 "parser.y"
{(yyval.code)=code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2072 "parser.y"
+#line 2182 "parser.y"
{
PASS1 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),0,1,0);
PASS2 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].classinfo),1,0);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2076 "parser.y"
+#line 2186 "parser.y"
{
PASS12
(yyval.id)=(yyvsp[(1) - (1)].id);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2081 "parser.y"
+#line 2191 "parser.y"
{PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2082 "parser.y"
+#line 2192 "parser.y"
{PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2084 "parser.y"
+#line 2194 "parser.y"
{
if((yyvsp[(1) - (8)].for_start).each) syntaxerror("invalid syntax: ; not allowed in for each statement");
(yyval.code) = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2104 "parser.y"
+#line 2214 "parser.y"
{
variable_t*var = find_variable(state, (yyvsp[(2) - (6)].id));
+ if(!var) {
+ syntaxerror("variable %s not known in this scope", (yyvsp[(2) - (6)].id));
+ }
+
char*tmp1name = concat2((yyvsp[(2) - (6)].id), "__tmp1__");
int it = new_variable(tmp1name, TYPE_INT, 0, 0);
char*tmp2name = concat2((yyvsp[(2) - (6)].id), "__array__");
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2148 "parser.y"
+#line 2262 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2148 "parser.y"
+#line 2262 "parser.y"
{
(yyval.code) = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2167 "parser.y"
+#line 2281 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2167 "parser.y"
+#line 2281 "parser.y"
{
(yyval.code) = code_new();
code_t*loopstart = (yyval.code) = abc_label((yyval.code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2182 "parser.y"
+#line 2296 "parser.y"
{
(yyval.code) = abc___break__(0, "");
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2185 "parser.y"
+#line 2299 "parser.y"
{
(yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2188 "parser.y"
+#line 2302 "parser.y"
{
(yyval.code) = abc___continue__(0, "");
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2191 "parser.y"
+#line 2305 "parser.y"
{
(yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2195 "parser.y"
+#line 2309 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2196 "parser.y"
+#line 2310 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2197 "parser.y"
+#line 2311 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2198 "parser.y"
+#line 2312 "parser.y"
{(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2199 "parser.y"
+#line 2313 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2200 "parser.y"
+#line 2314 "parser.y"
{(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2202 "parser.y"
+#line 2316 "parser.y"
{
(yyval.code) = abc_dup(0);
(yyval.code) = code_append((yyval.code), (yyvsp[(2) - (4)].value).c);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2213 "parser.y"
+#line 2327 "parser.y"
{
(yyval.code) = (yyvsp[(3) - (3)].code);
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2216 "parser.y"
+#line 2330 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2216 "parser.y"
+#line 2330 "parser.y"
{
(yyval.code)=(yyvsp[(4) - (8)].value).c;
(yyval.code) = code_append((yyval.code), (yyvsp[(7) - (8)].code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2245 "parser.y"
+#line 2359 "parser.y"
{PASS12 new_state();
state->exception_name=(yyvsp[(3) - (5)].id);
PASS1 new_variable((yyvsp[(3) - (5)].id), 0, 0, 0);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2250 "parser.y"
+#line 2364 "parser.y"
{
namespace_t name_ns = {ACCESS_PACKAGE, ""};
multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)};
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2269 "parser.y"
+#line 2383 "parser.y"
{PASS12 new_state();state->exception_name=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2269 "parser.y"
+#line 2383 "parser.y"
{
(yyvsp[(4) - (5)].code) = var_block((yyvsp[(4) - (5)].code));
if(!(yyvsp[(4) - (5)].code)) {
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2285 "parser.y"
+#line 2399 "parser.y"
{(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2286 "parser.y"
+#line 2400 "parser.y"
{(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2287 "parser.y"
+#line 2401 "parser.y"
{(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2288 "parser.y"
+#line 2402 "parser.y"
{
(yyval.catch_list) = (yyvsp[(1) - (2)].catch_list);
(yyval.catch_list).finally = 0;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2296 "parser.y"
+#line 2410 "parser.y"
{
(yyval.catch_list).l=list_new();
(yyval.catch_list).finally = 0;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2305 "parser.y"
+#line 2419 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2305 "parser.y"
+#line 2419 "parser.y"
{
code_t*out = abc_nop(0);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2350 "parser.y"
+#line 2464 "parser.y"
{
(yyval.code)=(yyvsp[(2) - (2)].value).c;
(yyval.code)=abc_throw((yyval.code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2354 "parser.y"
+#line 2468 "parser.y"
{
if(!state->exception_name)
syntaxerror("re-throw only possible within a catch block");
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2365 "parser.y"
+#line 2479 "parser.y"
{
(yyval.code) = (yyvsp[(3) - (5)].value).c;
- (yyval.code) = abc_pushscope((yyval.code));
+ (yyval.code) = abc_pushwith((yyval.code));
(yyval.code) = code_append((yyval.code), (yyvsp[(5) - (5)].code));
(yyval.code) = abc_popscope((yyval.code));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2375 "parser.y"
+#line 2489 "parser.y"
{PASS12 (yyval.id)="package";}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2377 "parser.y"
+#line 2491 "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;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2378 "parser.y"
+#line 2492 "parser.y"
{PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2380 "parser.y"
+#line 2494 "parser.y"
{PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2381 "parser.y"
+#line 2495 "parser.y"
{PASS12 endpackage();(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2382 "parser.y"
+#line 2496 "parser.y"
{PASS12 startpackage("");}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2383 "parser.y"
+#line 2497 "parser.y"
{PASS12 endpackage();(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2385 "parser.y"
+#line 2499 "parser.y"
{
PASS12
slotinfo_t*s = registry_find((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name);
- if(!s) {// || !(s->flags&FLAG_BUILTIN)) {
+ if(!s && as3_pass==1) {// || !(s->flags&FLAG_BUILTIN)) {
as3_schedule_class((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name);
}
syntaxerror("Couldn't import class\n");
state_has_imports();
dict_put(state->imports, c->name, c);
+ import_toplevel(c->package);
(yyval.code)=0;
}
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2400 "parser.y"
+#line 2515 "parser.y"
{
PASS12
- if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6)) {
+ if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6) && as3_pass==1) {
as3_schedule_package((yyvsp[(2) - (4)].id));
}
i->package = (yyvsp[(2) - (4)].id);
state_has_imports();
list_append(state->wildcard_imports, i);
+ import_toplevel(i->package);
(yyval.code)=0;
}
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2416 "parser.y"
+#line 2532 "parser.y"
{PASS12 (yyval.flags).flags=0;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2417 "parser.y"
+#line 2533 "parser.y"
{PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2418 "parser.y"
+#line 2534 "parser.y"
{PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2419 "parser.y"
+#line 2535 "parser.y"
{
PASS12
(yyval.flags).flags=(yyvsp[(1) - (2)].flags).flags|(yyvsp[(2) - (2)].flags).flags;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2427 "parser.y"
+#line 2543 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PUBLIC;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2428 "parser.y"
+#line 2544 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PRIVATE;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2429 "parser.y"
+#line 2545 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PROTECTED;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2430 "parser.y"
+#line 2546 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_STATIC;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2431 "parser.y"
+#line 2547 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_DYNAMIC;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2432 "parser.y"
+#line 2548 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_FINAL;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2433 "parser.y"
+#line 2549 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_OVERRIDE;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2434 "parser.y"
+#line 2550 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_NATIVE;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2435 "parser.y"
+#line 2551 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PACKAGEINTERNAL;(yyval.flags).ns=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2436 "parser.y"
+#line 2552 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_NAMESPACE;
(yyval.flags).ns=(yyvsp[(1) - (1)].id);
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2440 "parser.y"
- {(yyval.classinfo)=registry_getobjectclass();}
+#line 2556 "parser.y"
+ {(yyval.classinfo)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2441 "parser.y"
+#line 2557 "parser.y"
{(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2443 "parser.y"
+#line 2559 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2444 "parser.y"
+#line 2560 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2446 "parser.y"
+#line 2562 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2447 "parser.y"
+#line 2563 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2451 "parser.y"
+#line 2567 "parser.y"
{PASS12 startclass(&(yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2453 "parser.y"
+#line 2569 "parser.y"
{PASS12 endclass();(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2457 "parser.y"
+#line 2573 "parser.y"
{PASS12 (yyvsp[(1) - (5)].flags).flags|=FLAG_INTERFACE;
startclass(&(yyvsp[(1) - (5)].flags),(yyvsp[(3) - (5)].id),0,(yyvsp[(4) - (5)].classinfo_list));}
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2460 "parser.y"
+#line 2576 "parser.y"
{PASS12 endclass();(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2473 "parser.y"
+#line 2589 "parser.y"
{
code_t*c = state->cls->static_init->header;
c = code_append(c, (yyvsp[(1) - (1)].code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2484 "parser.y"
+#line 2600 "parser.y"
{
syntaxerror("variable declarations not allowed in interfaces");
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2487 "parser.y"
+#line 2603 "parser.y"
{
PASS12
(yyvsp[(1) - (8)].flags).flags |= FLAG_PUBLIC;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2502 "parser.y"
- {setstaticfunction((yyvsp[(1) - (3)].flags).flags);}
+#line 2618 "parser.y"
+ {setslotstate(&(yyvsp[(1) - (2)].flags),(yyvsp[(2) - (2)].token));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2502 "parser.y"
+#line 2618 "parser.y"
+ {(yyval.code)=(yyvsp[(4) - (4)].code);setslotstate(0, 0);}
+ }
+ break;
+
+
+
+ case 162:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2620 "parser.y"
+ {(yyval.code) = (yyvsp[(1) - (1)].code);}
+ }
+ break;
+
+
+
+ case 163:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2621 "parser.y"
+ {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));}
+ }
+ break;
+
+
+
+ case 164:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2624 "parser.y"
{
- int flags = (yyvsp[(1) - (6)].flags).flags;
- namespace_t ns = modifiers2access(&(yyvsp[(1) - (6)].flags));
+ int flags = slotstate_flags->flags;
+ namespace_t ns = modifiers2access(slotstate_flags);
varinfo_t* info = 0;
if(state->cls) {
- memberinfo_t*i = registry_findmember(state->cls->info, ns.name, (yyvsp[(3) - (6)].id), 1);
+ memberinfo_t*i = registry_findmember(state->cls->info, ns.name, (yyvsp[(1) - (3)].id), 1);
if(i) {
check_override(i, flags);
}
- info = varinfo_register_onclass(state->cls->info, ns.access, ns.name, (yyvsp[(3) - (6)].id));
+ info = varinfo_register_onclass(state->cls->info, ns.access, ns.name, (yyvsp[(1) - (3)].id));
} else {
- slotinfo_t*i = registry_find(state->package, (yyvsp[(3) - (6)].id));
+ slotinfo_t*i = registry_find(state->package, (yyvsp[(1) - (3)].id));
if(i) {
- syntaxerror("package %s already contains '%s'", state->package, (yyvsp[(3) - (6)].id));
+ syntaxerror("package %s already contains '%s'", state->package, (yyvsp[(1) - (3)].id));
}
if(ns.name && ns.name[0]) {
syntaxerror("namespaces not allowed on package-level variables");
}
- info = varinfo_register_global(ns.access, state->package, (yyvsp[(3) - (6)].id));
+ info = varinfo_register_global(ns.access, state->package, (yyvsp[(1) - (3)].id));
}
- info->type = (yyvsp[(5) - (6)].classinfo);
+ info->type = (yyvsp[(2) - (3)].classinfo);
info->flags = flags;
/* slot name */
- multiname_t mname = {QNAME, &ns, 0, (yyvsp[(3) - (6)].id)};
+ multiname_t mname = {QNAME, &ns, 0, (yyvsp[(1) - (3)].id)};
trait_list_t**traits;
code_t**code;
}
trait_t*t=0;
- if((yyvsp[(5) - (6)].classinfo)) {
- MULTINAME(m, (yyvsp[(5) - (6)].classinfo));
+ if((yyvsp[(2) - (3)].classinfo)) {
+ MULTINAME(m, (yyvsp[(2) - (3)].classinfo));
t = trait_new_member(traits, multiname_clone(&m), multiname_clone(&mname), 0);
} else {
t = trait_new_member(traits, 0, multiname_clone(&mname), 0);
/* initalization code (if needed) */
code_t*c = 0;
- if((yyvsp[(6) - (6)].value).c && !is_pushundefined((yyvsp[(6) - (6)].value).c)) {
+ if((yyvsp[(3) - (3)].value).c && !is_pushundefined((yyvsp[(3) - (3)].value).c)) {
c = abc_getlocal_0(c);
- c = code_append(c, (yyvsp[(6) - (6)].value).c);
- c = converttype(c, (yyvsp[(6) - (6)].value).t, (yyvsp[(5) - (6)].classinfo));
+ c = code_append(c, (yyvsp[(3) - (3)].value).c);
+ c = converttype(c, (yyvsp[(3) - (3)].value).t, (yyvsp[(2) - (3)].classinfo));
c = abc_setslot(c, t->slot_id);
}
*code = code_append(*code, c);
- if((yyvsp[(2) - (6)].token)==KW_CONST) {
+ if(slotstate_varconst==KW_CONST) {
t->kind= TRAIT_CONST;
}
(yyval.code)=0;
- setstaticfunction(0);
}
}
break;
- case 162:
+ case 165:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2577 "parser.y"
+#line 2698 "parser.y"
{(yyval.constant)=0;}
}
break;
- case 163:
+ case 166:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2578 "parser.y"
+#line 2699 "parser.y"
{(yyval.constant)=(yyvsp[(2) - (2)].constant);}
}
break;
- case 164:
+ case 167:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2580 "parser.y"
+#line 2701 "parser.y"
{(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_uint));}
}
break;
- case 165:
+ case 168:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2581 "parser.y"
+#line 2702 "parser.y"
{(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));}
}
break;
- case 166:
+ case 169:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2582 "parser.y"
+#line 2703 "parser.y"
{(yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint));}
}
break;
- case 167:
+ case 170:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2583 "parser.y"
+#line 2704 "parser.y"
{(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));}
}
break;
- case 168:
+ case 171:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2584 "parser.y"
+#line 2705 "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 169:
+ case 172:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2586 "parser.y"
+#line 2707 "parser.y"
{(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));}
}
break;
- case 170:
+ case 173:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2587 "parser.y"
+#line 2708 "parser.y"
{(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));}
}
break;
- case 171:
+ case 174:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2588 "parser.y"
+#line 2709 "parser.y"
{(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));}
}
break;
- case 172:
+ case 175:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2589 "parser.y"
+#line 2710 "parser.y"
{
- // TODO
- as3_warning("Couldn't resolve %s", (yyvsp[(1) - (1)].id));
- (yyval.constant) = constant_new_null((yyvsp[(1) - (1)].id));
+ if(!strcmp((yyvsp[(1) - (1)].id), "NaN")) {
+ (yyval.constant) = constant_new_float(__builtin_nan(""));
+ } else {
+ as3_warning("Couldn't evaluate constant value of %s", (yyvsp[(1) - (1)].id));
+ (yyval.constant) = constant_new_null((yyvsp[(1) - (1)].id));
+ }
}
}
break;
- case 173:
+ case 176:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2598 "parser.y"
+#line 2722 "parser.y"
{
PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
- case 174:
+ case 177:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2602 "parser.y"
+#line 2726 "parser.y"
{
PASS12
(yyval.params)=(yyvsp[(1) - (1)].params);
- case 175:
+ case 178:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2608 "parser.y"
+#line 2732 "parser.y"
{
PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
- case 176:
+ case 179:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2614 "parser.y"
+#line 2738 "parser.y"
{
PASS12
(yyval.params) =(yyvsp[(1) - (4)].params);
- case 177:
+ case 180:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2622 "parser.y"
+#line 2746 "parser.y"
{
PASS12
(yyval.params) = (yyvsp[(1) - (3)].params);
- case 178:
+ case 181:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2627 "parser.y"
+#line 2751 "parser.y"
{
PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
- case 179:
+ case 182:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2633 "parser.y"
+#line 2757 "parser.y"
{
PASS12
(yyval.param) = rfx_calloc(sizeof(param_t));
- case 180:
+ case 183:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2641 "parser.y"
+#line 2765 "parser.y"
{
PASS12
(yyval.param) = rfx_calloc(sizeof(param_t));
- case 183:
+ case 186:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2651 "parser.y"
+#line 2775 "parser.y"
{PASS12 (yyval.token)=0;}
}
break;
- case 184:
+ case 187:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2654 "parser.y"
+#line 2778 "parser.y"
{PASS12 startfunction(&(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));}
}
break;
- case 185:
+ case 188:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2655 "parser.y"
+#line 2779 "parser.y"
{
PASS1
endfunction(&(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),0,0);
- case 187:
+ case 190:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2671 "parser.y"
+#line 2795 "parser.y"
{PASS12 (yyval.id)=0;}
}
break;
- case 188:
+ case 191:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2673 "parser.y"
+#line 2797 "parser.y"
{PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));}
}
break;
- case 189:
+ case 192:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2674 "parser.y"
+#line 2798 "parser.y"
{
PASS1
endfunction(0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),0,0);
- case 190:
+ case 193:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2696 "parser.y"
+#line 2820 "parser.y"
{
- PASS1 static slotinfo_t c;
+ PASS1 static classinfo_t c;
memset(&c, 0, sizeof(c));
+ c.kind = INFOTYPE_CLASS;
+ c.subtype = 255;
c.name = (yyvsp[(1) - (1)].id);
- (yyval.classinfo) = (classinfo_t*)&c;
+ (yyval.classinfo) = &c;
+
+ /* let the compiler know that we might be looking for this soon */
+ as3_schedule_class_noerror(state->package, (yyvsp[(1) - (1)].id));
PASS2
slotinfo_t*s = find_class((yyvsp[(1) - (1)].id));
if(!s) syntaxerror("Could not find class/method %s (current package: %s)\n", (yyvsp[(1) - (1)].id), state->package);
- case 191:
+ case 194:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2707 "parser.y"
+#line 2836 "parser.y"
{
- PASS1 static slotinfo_t c;
+ PASS1 static classinfo_t c;
memset(&c, 0, sizeof(c));
+ c.kind = INFOTYPE_CLASS;
+ c.subtype = 255;
c.package = (yyvsp[(1) - (3)].id);
c.name = (yyvsp[(3) - (3)].id);
- (yyval.classinfo)=(classinfo_t*)&c;
+ (yyval.classinfo) = &c;
PASS2
slotinfo_t*s = registry_find((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].id));
if(!s) syntaxerror("Couldn't find class/method %s.%s\n", (yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].id));
- case 194:
+ case 197:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2723 "parser.y"
+#line 2854 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));}
}
break;
- case 195:
+ case 198:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2724 "parser.y"
+#line 2855 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));}
}
break;
- case 196:
+ case 199:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2726 "parser.y"
- {(yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);}
+#line 2857 "parser.y"
+ {PASS12 (yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);}
}
break;
- case 197:
+ case 200:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2727 "parser.y"
- {(yyval.classinfo)=registry_getanytype();}
+#line 2858 "parser.y"
+ {PASS12 (yyval.classinfo)=registry_getanytype();}
}
break;
- case 198:
+ case 201:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2728 "parser.y"
- {(yyval.classinfo)=registry_getanytype();}
+#line 2859 "parser.y"
+ {PASS12 (yyval.classinfo)=registry_getanytype();}
}
break;
- case 199:
+ case 202:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2737 "parser.y"
- {(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
+#line 2868 "parser.y"
+ {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
}
break;
- case 200:
+ case 203:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2738 "parser.y"
- {(yyval.classinfo)=0;}
+#line 2869 "parser.y"
+ {PASS12 (yyval.classinfo)=0;}
}
break;
- case 201:
+ case 204:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2742 "parser.y"
+#line 2873 "parser.y"
{(yyval.value_list).cc=0;(yyval.value_list).len=0;}
}
break;
- case 202:
+ case 205:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2743 "parser.y"
+#line 2874 "parser.y"
{(yyval.value_list)=(yyvsp[(2) - (3)].value_list);}
}
break;
- case 203:
+ case 206:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2745 "parser.y"
+#line 2876 "parser.y"
{(yyval.value_list).cc=0;(yyval.value_list).len=0;}
}
break;
- case 206:
+ case 209:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2749 "parser.y"
+#line 2880 "parser.y"
{(yyval.value_list).len=1;
(yyval.value_list).cc = (yyvsp[(1) - (1)].value).c;
}
- case 207:
+ case 210:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2753 "parser.y"
+#line 2884 "parser.y"
{(yyval.value_list) = (yyvsp[(1) - (2)].value_list);}
}
break;
- case 208:
+ case 211:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2754 "parser.y"
+#line 2885 "parser.y"
{
(yyval.value_list).len= (yyvsp[(1) - (2)].value_list).len+1;
(yyval.value_list).cc = code_append((yyvsp[(1) - (2)].value_list).cc, (yyvsp[(2) - (2)].value).c);
- case 210:
+ case 213:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2760 "parser.y"
+#line 2891 "parser.y"
{
(yyval.value).c = (yyvsp[(2) - (4)].value).c;
if((yyval.value).c->opcode == OPCODE_COERCE_A) (yyval.value).c = code_cutlast((yyval.value).c);
- case 211:
+ case 214:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2796 "parser.y"
+#line 2927 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
- case 212:
+ case 215:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2842 "parser.y"
+#line 2973 "parser.y"
{
if(!state->cls) syntaxerror("super() not allowed outside of a class");
if(!state->method) syntaxerror("super() not allowed outside of a function");
- case 213:
+ case 216:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2863 "parser.y"
+#line 2994 "parser.y"
{
(yyval.value).c = (yyvsp[(2) - (2)].value).c;
if((yyval.value).c->opcode == OPCODE_COERCE_A) {
- case 214:
+ case 217:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2884 "parser.y"
+#line 3015 "parser.y"
{
(yyval.code) = abc_returnvoid(0);
}
- case 215:
+ case 218:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2887 "parser.y"
+#line 3018 "parser.y"
{
(yyval.code) = (yyvsp[(2) - (2)].value).c;
(yyval.code) = abc_returnvalue((yyval.code));
- case 216:
+ case 219:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2894 "parser.y"
+#line 3025 "parser.y"
{(yyval.value)=(yyvsp[(1) - (1)].value);}
}
break;
- case 217:
+ case 220:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2895 "parser.y"
+#line 3026 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 218:
+ case 221:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2896 "parser.y"
+#line 3027 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (3)].value).c;
(yyval.value).c = cut_last_push((yyval.value).c);
- case 219:
+ case 222:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2902 "parser.y"
+#line 3033 "parser.y"
{
(yyval.code)=cut_last_push((yyvsp[(1) - (1)].value).c);
}
- case 220:
+ case 223:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2908 "parser.y"
+#line 3039 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 222:
+ case 225:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2912 "parser.y"
+#line 3043 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 223:
+ case 226:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2914 "parser.y"
+#line 3045 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 224:
+ case 227:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2916 "parser.y"
+#line 3047 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 226:
+ case 229:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2920 "parser.y"
+#line 3051 "parser.y"
{
(yyval.value).c = 0;
namespace_t ns = {ACCESS_PACKAGE, ""};
- case 227:
+ case 230:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2937 "parser.y"
+#line 3068 "parser.y"
{(yyval.value).c = abc_pushbyte(0, (yyvsp[(1) - (1)].number_uint));
//MULTINAME(m, registry_getintclass());
//$$.c = abc_coerce2($$.c, &m); // FIXME
- case 228:
+ case 231:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2942 "parser.y"
+#line 3073 "parser.y"
{(yyval.value).c = abc_pushshort(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_INT;
}
- case 229:
+ case 232:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2945 "parser.y"
+#line 3076 "parser.y"
{(yyval.value).c = abc_pushint(0, (yyvsp[(1) - (1)].number_int));
(yyval.value).t = TYPE_INT;
}
- case 230:
+ case 233:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2948 "parser.y"
+#line 3079 "parser.y"
{(yyval.value).c = abc_pushuint(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_UINT;
}
- case 231:
+ case 234:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2951 "parser.y"
+#line 3082 "parser.y"
{(yyval.value).c = abc_pushdouble(0, (yyvsp[(1) - (1)].number_float));
(yyval.value).t = TYPE_FLOAT;
}
- case 232:
+ case 235:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2954 "parser.y"
+#line 3085 "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 233:
+ case 236:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2957 "parser.y"
+#line 3088 "parser.y"
{(yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
}
- case 234:
+ case 237:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2960 "parser.y"
+#line 3091 "parser.y"
{(yyval.value).c = abc_pushtrue(0);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 235:
+ case 238:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2963 "parser.y"
+#line 3094 "parser.y"
{(yyval.value).c = abc_pushfalse(0);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 236:
+ case 239:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2966 "parser.y"
+#line 3097 "parser.y"
{(yyval.value).c = abc_pushnull(0);
(yyval.value).t = TYPE_NULL;
}
- case 237:
+ case 240:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2970 "parser.y"
+#line 3101 "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 238:
+ case 241:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2973 "parser.y"
+#line 3104 "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 239:
+ case 242:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2976 "parser.y"
+#line 3107 "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 240:
+ case 243:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2979 "parser.y"
+#line 3110 "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 241:
+ case 244:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2982 "parser.y"
+#line 3113 "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 242:
+ case 245:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2985 "parser.y"
+#line 3116 "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 243:
+ case 246:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2988 "parser.y"
+#line 3119 "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 244:
+ case 247:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2991 "parser.y"
+#line 3122 "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 245:
+ case 248:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2995 "parser.y"
+#line 3126 "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 246:
+ case 249:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3006 "parser.y"
+#line 3137 "parser.y"
{
(yyval.value).t = join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, 'A');
/*printf("%08x:\n",$1.t);
- case 247:
+ case 250:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3024 "parser.y"
+#line 3155 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
- case 248:
+ case 251:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3029 "parser.y"
+#line 3160 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_bitnot((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 249:
+ case 252:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3034 "parser.y"
+#line 3165 "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 250:
+ case 253:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3039 "parser.y"
+#line 3170 "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 251:
+ case 254:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3044 "parser.y"
+#line 3175 "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 252:
+ case 255:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3049 "parser.y"
+#line 3180 "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 253:
+ case 256:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3053 "parser.y"
+#line 3184 "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 254:
+ case 257:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3057 "parser.y"
+#line 3188 "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 255:
+ case 258:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3062 "parser.y"
+#line 3193 "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 256:
+ case 259:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3066 "parser.y"
+#line 3197 "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 257:
+ case 260:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3070 "parser.y"
+#line 3201 "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 258:
+ case 261:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3079 "parser.y"
+#line 3210 "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 259:
+ case 262:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3088 "parser.y"
+#line 3219 "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 260:
+ case 263:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3098 "parser.y"
+#line 3229 "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 261:
+ case 264:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3103 "parser.y"
+#line 3234 "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) && (yyvsp[(3) - (3)].value).t->data) {
MULTINAME(m, (classinfo_t*)((yyvsp[(3) - (3)].value).t->data));
- case 262:
+ case 265:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3116 "parser.y"
+#line 3247 "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 263:
+ case 266:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3121 "parser.y"
+#line 3252 "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 264:
+ case 267:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3126 "parser.y"
+#line 3257 "parser.y"
{
(yyval.value).c = (yyvsp[(3) - (4)].value).c;
(yyval.value).c = abc_typeof((yyval.value).c);
- case 265:
+ case 268:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3132 "parser.y"
+#line 3263 "parser.y"
{
(yyval.value).c = cut_last_push((yyvsp[(2) - (2)].value).c);
(yyval.value).c = abc_pushundefined((yyval.value).c);
- case 266:
+ case 269:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3138 "parser.y"
+#line 3269 "parser.y"
{ (yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
}
- case 267:
+ case 270:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3142 "parser.y"
+#line 3273 "parser.y"
{(yyval.value)=(yyvsp[(2) - (3)].value);}
}
break;
- case 268:
+ case 271:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3144 "parser.y"
+#line 3275 "parser.y"
{
(yyval.value)=(yyvsp[(2) - (2)].value);
if(IS_INT((yyvsp[(2) - (2)].value).t)) {
- case 269:
+ case 272:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3155 "parser.y"
+#line 3286 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(3) - (4)].value).c);
- case 270:
+ case 273:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3164 "parser.y"
+#line 3295 "parser.y"
{
(yyval.value).c = code_new();
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(2) - (3)].value_list).cc);
- case 271:
+ case 274:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3171 "parser.y"
+#line 3302 "parser.y"
{(yyval.value_list).cc=0;(yyval.value_list).len=0;}
}
break;
- case 272:
+ case 275:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3172 "parser.y"
+#line 3303 "parser.y"
{(yyval.value_list)=(yyvsp[(1) - (1)].value_list);}
}
break;
- case 273:
+ case 276:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3174 "parser.y"
+#line 3305 "parser.y"
{
(yyval.value_list).cc = 0;
(yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].value).c);
- case 274:
+ case 277:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3180 "parser.y"
+#line 3311 "parser.y"
{
(yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc;
(yyval.value_list).len = (yyvsp[(1) - (5)].value_list).len+2;
- case 275:
+ case 278:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3189 "parser.y"
+#line 3320 "parser.y"
{
(yyval.value).c = code_new();
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(2) - (3)].value_list).cc);
- case 276:
+ case 279:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3196 "parser.y"
+#line 3327 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
if(BOTH_INT((yyvsp[(1) - (3)].value).t,(yyvsp[(3) - (3)].value).t)) {
- case 277:
+ case 280:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3208 "parser.y"
+#line 3339 "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 278:
+ case 281:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3214 "parser.y"
+#line 3345 "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 279:
+ case 282:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3220 "parser.y"
+#line 3351 "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 280:
+ case 283:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3226 "parser.y"
+#line 3357 "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 281:
+ case 284:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3232 "parser.y"
+#line 3363 "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 282:
+ case 285:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3238 "parser.y"
+#line 3369 "parser.y"
{
code_t*c = abc_bitor((yyvsp[(3) - (3)].value).c);
c=converttype(c, TYPE_INT, (yyvsp[(1) - (3)].value).t);
- case 283:
+ case 286:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3244 "parser.y"
+#line 3375 "parser.y"
{
code_t*c = abc_bitxor((yyvsp[(3) - (3)].value).c);
c=converttype(c, TYPE_INT, (yyvsp[(1) - (3)].value).t);
- case 284:
+ case 287:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3250 "parser.y"
+#line 3381 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
- case 285:
+ case 288:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3263 "parser.y"
+#line 3394 "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 286:
+ case 289:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3274 "parser.y"
+#line 3405 "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 287:
+ case 290:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3281 "parser.y"
+#line 3412 "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 288:
+ case 291:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3294 "parser.y"
+#line 3425 "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)) {
+ if(is_getlocal((yyvsp[(1) - (2)].value).c) && (TYPE_IS_INT((yyvsp[(1) - (2)].value).t) || TYPE_IS_NUMBER((yyvsp[(1) - (2)].value).t))) {
int nr = getlocalnr((yyvsp[(1) - (2)].value).c);
code_free((yyvsp[(1) - (2)].value).c);(yyvsp[(1) - (2)].value).c=0;
if(TYPE_IS_INT((yyvsp[(1) - (2)].value).t)) {
- case 289:
+ case 292:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3321 "parser.y"
+#line 3452 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(1) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 290:
+ case 293:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3335 "parser.y"
+#line 3466 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 291:
+ case 294:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3349 "parser.y"
+#line 3480 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 292:
+ case 295:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3364 "parser.y"
+#line 3495 "parser.y"
{ if(!state->cls->info)
syntaxerror("super keyword not allowed outside a class");
classinfo_t*t = state->cls->info->superclass;
- case 293:
+ case 296:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3378 "parser.y"
+#line 3509 "parser.y"
{
// attribute TODO
(yyval.value).c = abc_pushundefined(0);
- case 294:
+ case 297:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3385 "parser.y"
+#line 3516 "parser.y"
{
// child attribute TODO
(yyval.value).c = abc_pushundefined(0);
- case 295:
+ case 298:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3392 "parser.y"
+#line 3523 "parser.y"
{
// namespace declaration TODO
(yyval.value).c = abc_pushundefined(0);
- case 296:
+ case 299:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3399 "parser.y"
+#line 3530 "parser.y"
{
// descendants TODO
(yyval.value).c = abc_pushundefined(0);
- case 297:
+ case 300:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3406 "parser.y"
+#line 3537 "parser.y"
{
// filter TODO
(yyval.value).c = abc_pushundefined(0);
- case 298:
+ case 301:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3418 "parser.y"
- {(yyval.value).c = (yyvsp[(1) - (3)].value).c;
- classinfo_t*t = (yyvsp[(1) - (3)].value).t;
- char is_static = 0;
- if(TYPE_IS_CLASS(t) && t->data) {
- t = t->data;
- is_static = 1;
- }
- if(t) {
- memberinfo_t*f = registry_findmember_nsset(t, state->active_namespaces, (yyvsp[(3) - (3)].id), 1);
- char noslot = 0;
- if(f && !is_static != !(f->flags&FLAG_STATIC))
- noslot=1;
- if(f && f->slot && !noslot) {
- (yyval.value).c = abc_getslot((yyval.value).c, f->slot);
- } else {
- MEMBER_MULTINAME(m, f, (yyvsp[(3) - (3)].id));
- (yyval.value).c = abc_getproperty2((yyval.value).c, &m);
- }
- /* determine type */
- (yyval.value).t = slotinfo_gettype((slotinfo_t*)f);
- if(!(yyval.value).t)
- (yyval.value).c = abc_coerce_a((yyval.value).c);
- } else {
- /* when resolving a property on an unknown type, we do know the
- name of the property (and don't seem to need the package), but
- we need to make avm2 try out all access modes */
- multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)};
- (yyval.value).c = abc_getproperty2((yyval.value).c, &m);
- (yyval.value).c = abc_coerce_a((yyval.value).c);
- (yyval.value).t = registry_getanytype();
- }
- }
+#line 3548 "parser.y"
+ {
+ (yyval.value).c = (yyvsp[(1) - (3)].value).c;
+ classinfo_t*t = (yyvsp[(1) - (3)].value).t;
+ char is_static = 0;
+ if(TYPE_IS_CLASS(t) && t->data) {
+ t = t->data;
+ is_static = 1;
+ }
+ if(t) {
+ if(t->subtype==0xff) {
+ syntaxerror("syntaxerror: trying to resolve property '%s' on incomplete object '%s'", (yyvsp[(3) - (3)].id), t->name);
+ }
+ memberinfo_t*f = registry_findmember_nsset(t, state->active_namespaces, (yyvsp[(3) - (3)].id), 1);
+ char noslot = 0;
+ if(f && !is_static != !(f->flags&FLAG_STATIC))
+ noslot=1;
+ if(f && f->slot && !noslot) {
+ (yyval.value).c = abc_getslot((yyval.value).c, f->slot);
+ } else {
+ MEMBER_MULTINAME(m, f, (yyvsp[(3) - (3)].id));
+ (yyval.value).c = abc_getproperty2((yyval.value).c, &m);
+ }
+ /* determine type */
+ (yyval.value).t = slotinfo_gettype((slotinfo_t*)f);
+ if(!(yyval.value).t)
+ (yyval.value).c = abc_coerce_a((yyval.value).c);
+ } else if((yyvsp[(1) - (3)].value).c && (yyvsp[(1) - (3)].value).c->opcode == OPCODE___PUSHPACKAGE__) {
+ string_t*package = (yyvsp[(1) - (3)].value).c->data[0];
+ char*package2 = concat3(package->str, ".", (yyvsp[(3) - (3)].id));
+ if(dict_contains(state->import_toplevel_packages, package2)) {
+ (yyval.value).c = (yyvsp[(1) - (3)].value).c;
+ (yyval.value).c->data[0] = string_new4(package2);
+ (yyval.value).t = 0;
+ } else {
+ slotinfo_t*a = registry_find(package->str, (yyvsp[(3) - (3)].id));
+ if(!a)
+ syntaxerror("couldn't resolve %s", package2);
+ (yyval.value) = push_class(a);
+ }
+ } else {
+ /* when resolving a property on an unknown type, we do know the
+ name of the property (and don't seem to need the package), but
+ we need to make avm2 try out all access modes */
+ multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)};
+ (yyval.value).c = abc_getproperty2((yyval.value).c, &m);
+ (yyval.value).c = abc_coerce_a((yyval.value).c);
+ (yyval.value).t = registry_getanytype();
+ }
+}
}
break;
- case 299:
+ case 302:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3451 "parser.y"
+#line 3598 "parser.y"
{
PASS1
/* Queue unresolved identifiers for checking against the parent
function's variables.
We consider everything which is not a local variable "unresolved".
This encompasses class names, members of the surrounding class
- etc. which *correct* because local variables of the parent function
+ etc. which is *correct* because local variables of the parent function
would shadow those.
*/
if(state->method->inner && !find_variable(state, (yyvsp[(1) - (1)].id))) {
unknown_variable((yyvsp[(1) - (1)].id));
}
+
+ /* let the compiler know that it might check the current directory/package
+ for this identifier- maybe there's a file $1.as defining $1. */
+ as3_schedule_class_noerror(state->package, (yyvsp[(1) - (1)].id));
PASS2
(yyval.value).t = 0;
/* look at actual classes, in the current package and imported */
if((a = find_class((yyvsp[(1) - (1)].id)))) {
- if(a->access == ACCESS_PACKAGEINTERNAL &&
- strcmp(a->package, state->package) &&
- strcmp(a->package, internal_filename_package)
- )
- syntaxerror("Can't access internal %s %s in package '%s' from package '%s'",
- infotypename(a),(yyvsp[(1) - (1)].id), a->package, state->package);
-
- if(a->kind != INFOTYPE_CLASS) {
- MULTINAME(m, a);
- (yyval.value).c = abc_findpropstrict2((yyval.value).c, &m);
- (yyval.value).c = abc_getproperty2((yyval.value).c, &m);
- if(a->kind == INFOTYPE_METHOD) {
- methodinfo_t*f = (methodinfo_t*)a;
- (yyval.value).t = TYPE_FUNCTION(f);
- } else {
- varinfo_t*v = (varinfo_t*)a;
- (yyval.value).t = v->type;
- }
- } else {
- classinfo_t*c = (classinfo_t*)a;
- if(c->slot) {
- (yyval.value).c = abc_getglobalscope((yyval.value).c);
- (yyval.value).c = abc_getslot((yyval.value).c, c->slot);
- } else {
- MULTINAME(m, c);
- (yyval.value).c = abc_getlex2((yyval.value).c, &m);
- }
- (yyval.value).t = TYPE_CLASS(c);
- }
+ (yyval.value) = push_class(a);
+ break;
+ }
+
+ /* look through package prefixes */
+ if(dict_contains(state->import_toplevel_packages, (yyvsp[(1) - (1)].id))) {
+ (yyval.value).c = abc___pushpackage__((yyval.value).c, (yyvsp[(1) - (1)].id));
+ (yyval.value).t = 0;
break;
}
/* unknown object, let the avm2 resolve it */
if(1) {
- as3_softwarning("Couldn't resolve '%s', doing late binding", (yyvsp[(1) - (1)].id));
+ //as3_softwarning("Couldn't resolve '%s', doing late binding", $1);
+ as3_warning("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 300:
+ case 303:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3572 "parser.y"
+#line 3703 "parser.y"
{
PASS12
- tokenizer_register_namespace((yyvsp[(2) - (2)].id));
- (yyval.id)=(yyvsp[(2) - (2)].id);
+ NEW(namespace_decl_t,n);
+ n->name = (yyvsp[(2) - (2)].id);
+ n->url = 0;
+ (yyval.namespace_decl)=n;
}
}
break;
- case 301:
+ case 304:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3578 "parser.y"
+#line 3710 "parser.y"
{
- (yyval.code)=0;
+ PASS12
+ NEW(namespace_decl_t,n);
+ n->name = (yyvsp[(2) - (4)].id);
+ n->url = (yyvsp[(4) - (4)].id);
+ (yyval.namespace_decl)=n;
}
}
break;
- case 302:
+ case 305:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3581 "parser.y"
+#line 3717 "parser.y"
{
- (yyval.code)=0;
+ PASS12
+ NEW(namespace_decl_t,n);
+ n->name = (yyvsp[(2) - (4)].id);
+ n->url = (yyvsp[(4) - (4)].str).str;
+ (yyval.namespace_decl)=n;
}
}
break;
- case 303:
+ case 306:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3584 "parser.y"
+#line 3724 "parser.y"
{
+ PASS12
+ list_append(state->new_namespaces, (yyvsp[(2) - (2)].namespace_decl));
+ tokenizer_register_namespace((yyvsp[(2) - (2)].namespace_decl)->name);
(yyval.code)=0;
}
}
- case 304:
+ case 307:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3587 "parser.y"
+#line 3731 "parser.y"
{
PASS12
- tokenizer_register_namespace((yyvsp[(2) - (2)].classinfo)->name);
+ NEW(namespace_decl_t,n);
+ n->name = (yyvsp[(3) - (3)].classinfo)->name;
+ n->url = 0;
+ /* FIXME: for pass2, we should now try to figure out what the URL of
+ this thing is */
+ list_append(state->new_namespaces, n);
+ tokenizer_register_namespace((yyvsp[(3) - (3)].classinfo)->name);
(yyval.code)=0;
}
}
/* Line 1464 of skeleton.m4 */
-#line 7905 "parser.tab.c"
+#line 8083 "parser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);