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)
struct _methodstate {
/* method data */
methodinfo_t*info;
+ char has_exceptions;
char late_binding;
char is_constructor;
char has_super;
char uses_parent_function;
int uses_slots;
dict_t*slots;
+ int activation_var;
abc_method_t*abc;
int var_index; // for inner methods
char is_a_slot; // for inner methods
code_t*header;
+
+ code_t*scope_code;
abc_exception_list_t*exceptions;
methodstate_list_t*innerfunctions;
import_list_t*wildcard_imports;
dict_t*import_toplevel_packages;
dict_t*imports;
- namespace_list_t*active_namespaces;
+
+ namespace_list_t*active_namespace_urls;
+
char has_own_imports;
char new_vars; // e.g. transition between two functions
methodstate_t*method;
char*exception_name;
+
+ int switch_var;
dict_t*vars;
} state_t;
state->vars = dict_new();
state->old = oldstate;
state->new_vars = 0;
+
+ trie_remember(active_namespaces);
+
+ if(oldstate)
+ state->active_namespace_urls = list_clone(oldstate->active_namespace_urls);
}
static void state_has_imports()
{
dict_destroy(state->vars);state->vars=0;
}
+ list_free(state->active_namespace_urls)
+ state->active_namespace_urls = 0;
+
free(state);
}
static void old_state()
{
+ trie_rollback(active_namespaces);
+
if(!state || !state->old)
syntaxerror("invalid nesting");
state_t*leaving = state;
state = state->old;
-
+
if(as3_pass>1 && leaving->method && leaving->method != state->method && !leaving->method->inner) {
free(leaving->method);
leaving->method=0;
free(leaving->cls);
leaving->cls=0;
}
-
+
state_destroy(leaving);
}
if(state) {
syntaxerror("invalid call to initialize_file during parsing of another file");
}
+
+ active_namespaces = trie_new();
+
new_state();
state->package = internal_filename_package = strdup(filename);
if(as3_pass==1) {
state->method = rfx_calloc(sizeof(methodstate_t));
dict_put(global->token2info, (void*)(ptroff_t)as3_tokencount, state->method);
+ state->method->late_binding = 1; // init scripts use getglobalscope, so we need a getlocal0/pushscope
} else {
state->method = dict_lookup(global->token2info, (void*)(ptroff_t)as3_tokencount);
function_initvars(state->method, 0, 0, 1);
global->init = abc_initscript(global->file);
- state->method->late_binding = 1; // init scripts use getglobalscope, so we need a getlocal0/pushscope
}
}
int index;
classinfo_t*type;
char init;
+ char is_parameter;
methodstate_t*is_inner_method;
} variable_t;
}
code_t*defaultvalue(code_t*c, classinfo_t*type);
+static int alloc_local()
+{
+ return state->method->variable_count++;
+}
+
static variable_t* new_variable2(const char*name, classinfo_t*type, char init, char maybeslot)
{
if(maybeslot) {
}
NEW(variable_t, v);
- v->index = state->method->variable_count++;
+ v->index = alloc_local();
v->type = type;
v->init = init;
-
- dict_put(state->vars, name, v);
+
+ if(name)
+ dict_put(state->vars, name, v);
return v;
}
}
-static code_t* method_header(methodstate_t*m)
+static code_t* add_scope_code(code_t*c, methodstate_t*m, char init)
{
- code_t*c = 0;
- if(m->uses_slots || (m->late_binding && !m->inner)) {
+ if(m->uses_slots || (m->late_binding && !m->inner)) { //???? especially inner functions need the pushscope
c = abc_getlocal_0(c);
c = abc_pushscope(c);
}
if(m->uses_slots) {
- c = abc_newactivation(c);
- c = abc_pushscope(c);
+ /* FIXME: this alloc_local() causes variable indexes to be
+ different in pass2 than in pass1 */
+ if(!m->activation_var)
+ m->activation_var = alloc_local();
+ if(init) {
+ c = abc_newactivation(c);
+ c = abc_dup(c);
+ c = abc_pushscope(c);
+ c = abc_setlocal(c, m->activation_var);
+ } else {
+ c = abc_getlocal(c, m->activation_var);
+ c = abc_pushscope(c);
+ }
}
+ return c;
+}
+
+static code_t* method_header(methodstate_t*m)
+{
+ code_t*c = 0;
+
+ c = add_scope_code(c, m, 1);
+
methodstate_list_t*l = m->innerfunctions;
while(l) {
parserassert(l->methodstate->abc);
c = abc_getlocal_0(c);
c = abc_constructsuper(c, 0);
}
+
+ if(m->slots) {
+ /* all parameters that are used by inner functions
+ need to be copied from local to slot */
+ parserassert(m->activation_var);
+ DICT_ITERATE_ITEMS(m->slots,char*,name,variable_t*,v) {
+ if(v->is_parameter) {
+ c = abc_getlocal(c, m->activation_var);
+ c = abc_getlocal(c, v->index);
+ c = abc_setslot(c, v->index);
+ }
+ }
+ }
list_free(m->innerfunctions);
m->innerfunctions = 0;
return c;
if(mod->flags&(FLAG_PRIVATE|FLAG_PROTECTED|FLAG_PACKAGEINTERNAL))
syntaxerror("invalid combination of access levels and namespaces");
ns.access = ACCESS_NAMESPACE;
- ns.name = mod->ns;
+ state_t*s = state;
+ const char*url = (const char*)trie_lookup(active_namespaces, mod->ns);
+ if(!url) {
+ /* shouldn't happen- the tokenizer only reports something as a namespace
+ if it was already registered */
+ trie_dump(active_namespaces);
+ syntaxerror("unknown namespace: %s", mod->ns);
+ }
+ ns.name = url;
} else if(mod->flags&FLAG_PUBLIC) {
if(mod->flags&(FLAG_PRIVATE|FLAG_PROTECTED|FLAG_PACKAGEINTERNAL))
syntaxerror("invalid combination of access levels");
}
static slotinfo_t* find_class(const char*name);
+static memberinfo_t* findmember_nsset(classinfo_t*cls, const char*name, char recurse)
+{
+ return registry_findmember_nsset(cls, state->active_namespace_urls, name, recurse);
+}
+
+void add_active_url(const char*url)
+{
+ NEW(namespace_t,n);
+ n->name = url;
+ list_append(state->active_namespace_urls, n);
+}
+
static void function_initvars(methodstate_t*m, params_t*params, int flags, char var0)
{
if(var0) {
*(int*)0=0;
parserassert(!index);
}
+
if(m->uses_slots) {
/* as variables and slots share the same number, make sure
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;
- 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) {
param_list_t*p=0;
for(p=params->list;p;p=p->next) {
- new_variable(p->param->name, p->param->type, 0, 1);
+ variable_t*v = new_variable2(p->param->name, p->param->type, 0, 1);
+ v->is_parameter = 1;
}
}
-
+ if(m->uses_slots) {
+ dict_dump(m->slots, stdout, "");
+ }
+
methodstate_list_t*l = m->innerfunctions;
while(l) {
methodstate_t*m = l->methodstate;
+
variable_t* v = new_variable2(m->info->name, TYPE_FUNCTION(m->info), 0, 1);
m->var_index = v->index;
m->slot_index = v->index;
v->is_inner_method = m;
+
l = l->next;
}
+
+ if(as3_pass==2) {
+ m->scope_code = add_scope_code(m->scope_code, m, 0);
+ }
+
+ if(as3_pass==2 && m->slots) {
+ /* exchange unresolved identifiers with the actual objects */
+ DICT_ITERATE_ITEMS(m->slots, char*, name, variable_t*, v) {
+ if(v->type && v->type->kind == INFOTYPE_UNRESOLVED) {
+ classinfo_t*type = (classinfo_t*)registry_resolve((slotinfo_t*)v->type);
+ if(!type || type->kind != INFOTYPE_CLASS) {
+ syntaxerror("Couldn't find class %s::%s (%s)", v->type->package, v->type->name, name);
+ }
+ v->type = type;
+ }
+ }
+ }
}
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) {
if(!(mod->flags&FLAG_INTERFACE) && !extends) {
// all classes extend object
extends = registry_getobjectclass();
int num_interfaces = (list_length(implements));
state->cls->info = classinfo_register(access, package, classname, num_interfaces);
state->cls->info->flags |= mod->flags & (FLAG_DYNAMIC|FLAG_INTERFACE|FLAG_FINAL);
+
+ int pos = 0;
+ classinfo_list_t*l = implements;
+ for(l=implements;l;l=l->next) {
+ state->cls->info->interfaces[pos++] = l->classinfo;
+ }
}
if(as3_pass == 2) {
if(extends && (extends->flags & FLAG_FINAL))
syntaxerror("Can't extend final class '%s'", extends->name);
+
+ int pos = 0;
+ while(state->cls->info->interfaces[pos]) {
+ if(!(state->cls->info->interfaces[pos]->flags & FLAG_INTERFACE))
+ syntaxerror("'%s' is not an interface",
+ state->cls->info->interfaces[pos]->name);
+ pos++;
+ }
/* fill out interfaces and extends (we couldn't resolve those during the first pass) */
state->cls->info->superclass = extends;
- int pos = 0;
- classinfo_list_t*l = implements;
- for(l=implements;l;l=l->next) {
- if(!(l->classinfo->flags & FLAG_INTERFACE))
- syntaxerror("'%s' is not an interface", l->classinfo->name);
- state->cls->info->interfaces[pos++] = l->classinfo;
- }
/* generate the abc code for this class */
MULTINAME(classname2,state->cls->info);
static void check_constant_against_type(classinfo_t*t, constant_t*c)
{
+ return;
#define xassert(b) if(!(b)) syntaxerror("Invalid default value %s for type '%s'", constant_tostring(c), t->name)
if(TYPE_IS_NUMBER(t)) {
xassert(c->type == CONSTANT_FLOAT
static abc_method_t* endfunction(modifiers_t*mod, enum yytokentype getset, char*name,
params_t*params, classinfo_t*return_type, code_t*body)
{
- int flags = mod?mod->flags:0;
-
if(as3_pass==1) {
// store inner methods in variables
function_initvars(state->method, 0, 0, 0);
state->method->slots = dict_new();
int i = 1;
DICT_ITERATE_ITEMS(state->vars, char*, name, variable_t*, v) {
+ if(!name) syntaxerror("internal error");
if(v->index && dict_contains(xvars, name)) {
v->init = 0;
v->index = i++;
} else if(state->method->is_constructor) {
f = abc_class_getconstructor(state->cls->abc, type2);
} else if(!state->method->is_global) {
- namespace_t mname_ns = {state->method->info->access, ""};
+ namespace_t mname_ns = modifiers2access(mod);
multiname_t mname = {QNAME, &mname_ns, 0, name};
- if(flags&FLAG_STATIC)
+ if(mod->flags&FLAG_STATIC)
f = abc_class_staticmethod(state->cls->abc, type2, &mname);
else
f = abc_class_method(state->cls->abc, type2, &mname);
//flash doesn't seem to allow us to access function slots
//state->method->info->slot = slot;
- if(flags&FLAG_OVERRIDE) f->trait->attributes |= TRAIT_ATTR_OVERRIDE;
+ if(mod && mod->flags&FLAG_OVERRIDE) f->trait->attributes |= TRAIT_ATTR_OVERRIDE;
if(getset == KW_GET) f->trait->kind = TRAIT_GETTER;
if(getset == KW_SET) f->trait->kind = TRAIT_SETTER;
if(params->varargs) f->flags |= METHOD_NEED_REST;
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");
- }
+ /* Seems this works now.
+ if(state->method->exceptions && state->method->uses_slots) {
+ as3_warning("try/catch and activation not supported yet within the same method");
+ }*/
if(f->body) {
f->body->code = body;
return (c && !c->prev && !c->next && c->opcode == OPCODE_PUSHUNDEFINED);
}
+static const char* get_package_from_name(const char*name)
+{
+ /* try explicit imports */
+ dictentry_t* e = dict_get_slot(state->imports, name);
+ while(e) {
+ if(!strcmp(e->key, name)) {
+ slotinfo_t*c = (slotinfo_t*)e->data;
+ if(c) return c->package;
+ }
+ e = e->next;
+ }
+ return 0;
+}
+static namespace_list_t*get_current_imports()
+{
+ namespace_list_t*searchlist = 0;
+
+ list_append(searchlist, namespace_new_package(state->package));
+
+ import_list_t*l = state->wildcard_imports;
+ while(l) {
+ namespace_t*ns = namespace_new_package(l->import->package);
+ list_append(searchlist, ns);
+ l = l->next;
+ }
+ list_append(searchlist, namespace_new_package(""));
+ list_append(searchlist, namespace_new_package(internal_filename_package));
+ return searchlist;
+}
+
static slotinfo_t* find_class(const char*name)
{
slotinfo_t*c=0;
return 0;
}
-
#define IS_FINALLY_TARGET(op) \
((op) == OPCODE___CONTINUE__ || \
(op) == OPCODE___BREAK__ || \
int lookup_version_cost = 4*num_insertion_points + 5;
if(cantdup || simple_version_cost > lookup_version_cost) {
- printf("lookup %d > *%d*\n", simple_version_cost, lookup_version_cost);
+ //printf("(use lookup) simple=%d > lookup=%d\n", simple_version_cost, lookup_version_cost);
return insert_finally_lookup(c, finally, tempvar);
} else {
- printf("simple *%d* < %d\n", simple_version_cost, lookup_version_cost);
+ //printf("(use simple) simple=%d < lookup=%d\n", simple_version_cost, lookup_version_cost);
return insert_finally_simple(c, finally, tempvar);
}
}
/* Line 273 of skeleton.m4 */
-#line 2016 "parser.tab.c"
+#line 2146 "parser.tab.c"
#ifdef short
# undef short
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 145
+#define YYFINAL 147
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 3015
+#define YYLAST 3001
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 134
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 113
+#define YYNNTS 114
/* YYNRULES -- Number of rules. */
-#define YYNRULES 307
+#define YYNRULES 309
/* YYNRULES -- Number of states. */
-#define YYNSTATES 519
+#define YYNSTATES 521
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
164, 168, 170, 173, 177, 186, 193, 194, 201, 202,
210, 212, 215, 217, 220, 221, 223, 225, 228, 230,
233, 238, 242, 243, 252, 253, 263, 264, 270, 272,
- 275, 277, 280, 282, 283, 290, 293, 295, 301, 303,
- 305, 309, 311, 312, 319, 320, 326, 329, 334, 335,
- 337, 339, 342, 344, 346, 348, 350, 352, 354, 356,
- 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, 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,
+ 275, 277, 280, 282, 283, 290, 293, 295, 300, 303,
+ 305, 307, 309, 313, 315, 316, 323, 324, 330, 333,
+ 338, 339, 341, 343, 346, 348, 350, 352, 354, 356,
+ 358, 360, 362, 364, 366, 367, 370, 371, 374, 375,
+ 378, 379, 389, 390, 399, 400, 402, 404, 407, 409,
+ 414, 416, 418, 420, 421, 423, 425, 428, 430, 433,
+ 442, 444, 446, 447, 452, 454, 458, 462, 463, 466,
+ 468, 470, 472, 474, 476, 478, 480, 482, 484, 485,
+ 487, 490, 495, 499, 501, 506, 509, 511, 513, 514,
+ 515, 528, 530, 531, 532, 543, 545, 549, 551, 553,
+ 555, 559, 561, 563, 565, 568, 569, 570, 574, 575,
+ 577, 579, 581, 584, 587, 588, 593, 598, 603, 606,
+ 608, 611, 613, 615, 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, 902, 907, 912
+ 651, 653, 655, 659, 663, 667, 671, 675, 679, 683,
+ 687, 691, 695, 698, 701, 705, 709, 713, 717, 721,
+ 725, 729, 733, 737, 741, 745, 749, 753, 757, 761,
+ 766, 769, 771, 775, 778, 783, 787, 788, 790, 794,
+ 800, 804, 808, 812, 816, 820, 824, 828, 832, 836,
+ 840, 844, 848, 854, 857, 860, 863, 866, 870, 873,
+ 878, 884, 888, 894, 898, 900, 903, 908, 913, 916
};
/* 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, 216,
- -1, 206, -1, 147, -1, 148, 126, 136, 132, -1,
+ 137, 138, -1, 186, -1, 198, -1, 196, -1, 217,
+ -1, 207, -1, 147, -1, 148, 126, 136, 132, -1,
99, -1, -1, 140, -1, 141, -1, 140, 141, -1,
- 197, -1, 195, -1, 216, -1, 206, -1, 147, -1,
+ 198, -1, 196, -1, 217, -1, 207, -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, 238, -1, 246, -1, 245, -1, 126,
+ 143, 145, -1, 145, -1, 189, -1, 159, -1, 160,
+ -1, 161, -1, 163, -1, 171, -1, 154, -1, 183,
+ -1, 179, -1, 239, -1, 247, -1, 246, -1, 126,
143, 132, -1, 126, 132, -1, 99, -1, 144, -1,
- 150, -1, 165, -1, 166, -1, 235, -1, 181, -1,
+ 150, -1, 165, -1, 166, -1, 236, -1, 181, -1,
148, 126, 143, 132, -1, 145, 99, -1, 145, -1,
- 144, -1, 3, 89, 3, -1, 102, 236, -1, -1,
+ 144, -1, 3, 89, 3, -1, 102, 237, -1, -1,
46, 151, -1, 32, 151, -1, 152, -1, 151, 100,
- 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,
+ 152, -1, 3, 227, 149, -1, -1, 65, 146, -1,
+ -1, 64, 122, 155, 238, 133, 146, 153, -1, -1,
+ 150, -1, 239, -1, 46, 3, 227, -1, 3, -1,
13, 122, -1, 13, 50, 122, -1, 158, 156, 99,
- 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,
+ 238, 99, 239, 133, 146, -1, 158, 157, 68, 238,
+ 133, 146, -1, -1, 14, 122, 162, 238, 133, 146,
+ -1, -1, 15, 164, 146, 14, 122, 238, 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, 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,
+ 168, 169, -1, 34, 240, 105, 142, -1, 62, 105,
+ 142, -1, -1, 16, 122, 172, 240, 133, 126, 167,
+ 132, -1, -1, 33, 122, 3, 227, 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, 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, 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, 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, 216, -1, 144, -1, -1, 203, -1, 204,
- -1, 203, 204, -1, 99, -1, 46, 3, -1, 189,
- 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, 189,
- 244, -1, 189, 244, 102, 3, -1, 189, 244, 102,
- 5, -1, 23, 18, 223, -1
+ 37, 238, -1, 37, -1, 39, 122, 238, 133, -1,
+ 182, 146, -1, 3, -1, 19, -1, 4, -1, 185,
+ 127, 184, -1, 184, -1, -1, 19, 185, 126, 187,
+ 139, 132, -1, -1, 19, 126, 188, 139, 132, -1,
+ 41, 223, -1, 41, 185, 127, 115, -1, -1, 191,
+ -1, 192, -1, 191, 192, -1, 21, -1, 22, -1,
+ 20, -1, 38, -1, 47, -1, 49, -1, 48, -1,
+ 26, -1, 24, -1, 4, -1, -1, 54, 224, -1,
+ -1, 54, 225, -1, -1, 17, 225, -1, -1, 190,
+ 31, 3, 193, 195, 126, 197, 200, 132, -1, -1,
+ 190, 44, 3, 194, 126, 199, 203, 132, -1, -1,
+ 201, -1, 202, -1, 201, 202, -1, 99, -1, 148,
+ 126, 200, 132, -1, 207, -1, 217, -1, 144, -1,
+ -1, 204, -1, 205, -1, 204, 205, -1, 99, -1,
+ 46, 3, -1, 190, 27, 216, 3, 122, 213, 133,
+ 227, -1, 46, -1, 32, -1, -1, 190, 206, 208,
+ 209, -1, 210, -1, 209, 100, 210, -1, 3, 227,
+ 149, -1, -1, 102, 212, -1, 10, -1, 8, -1,
+ 9, -1, 12, -1, 5, -1, 56, -1, 55, -1,
+ 45, -1, 3, -1, -1, 214, -1, 93, 215, -1,
+ 214, 100, 93, 215, -1, 214, 100, 215, -1, 215,
+ -1, 3, 105, 226, 211, -1, 3, 211, -1, 51,
+ -1, 35, -1, -1, -1, 190, 27, 216, 3, 122,
+ 213, 133, 227, 126, 218, 142, 132, -1, 3, -1,
+ -1, -1, 27, 219, 122, 213, 133, 227, 126, 221,
+ 142, 132, -1, 184, -1, 185, 127, 184, -1, 223,
+ -1, 222, -1, 224, -1, 225, 100, 224, -1, 224,
+ -1, 115, -1, 36, -1, 105, 226, -1, -1, -1,
+ 122, 229, 133, -1, -1, 230, -1, 231, -1, 237,
+ -1, 230, 100, -1, 231, 237, -1, -1, 25, 240,
+ 232, 228, -1, 240, 122, 229, 133, -1, 53, 122,
+ 229, 133, -1, 63, 240, -1, 42, -1, 42, 238,
+ -1, 240, -1, 240, -1, 238, 100, 240, -1, 238,
+ -1, 220, -1, 241, -1, 244, -1, 233, -1, 235,
+ -1, 234, -1, 6, -1, 10, -1, 11, -1, 8,
+ -1, 9, -1, 12, -1, 5, -1, 29, -1, 56,
+ -1, 55, -1, 45, -1, 240, 109, 240, -1, 240,
+ 110, 240, -1, 240, 75, 240, -1, 240, 76, 240,
+ -1, 240, 71, 240, -1, 240, 72, 240, -1, 240,
+ 74, 240, -1, 240, 73, 240, -1, 240, 87, 240,
+ -1, 240, 88, 240, -1, 118, 240, -1, 117, 240,
+ -1, 240, 108, 240, -1, 240, 107, 240, -1, 240,
+ 106, 240, -1, 240, 96, 240, -1, 240, 95, 240,
+ -1, 240, 94, 240, -1, 240, 114, 240, -1, 240,
+ 116, 240, -1, 240, 113, 240, -1, 240, 112, 240,
+ -1, 240, 115, 240, -1, 240, 68, 240, -1, 240,
+ 69, 240, -1, 240, 40, 240, -1, 240, 67, 240,
+ -1, 43, 122, 240, 133, -1, 36, 240, -1, 36,
+ -1, 122, 238, 133, -1, 112, 240, -1, 240, 124,
+ 240, 125, -1, 124, 229, 125, -1, -1, 243, -1,
+ 237, 105, 237, -1, 243, 100, 237, 105, 237, -1,
+ 70, 242, 132, -1, 240, 80, 240, -1, 240, 79,
+ 240, -1, 240, 85, 240, -1, 240, 84, 240, -1,
+ 240, 86, 240, -1, 240, 78, 240, -1, 240, 77,
+ 240, -1, 240, 83, 240, -1, 240, 81, 240, -1,
+ 240, 82, 240, -1, 240, 102, 240, -1, 240, 104,
+ 240, 105, 240, -1, 240, 91, -1, 240, 90, -1,
+ 91, 240, -1, 90, 240, -1, 53, 127, 3, -1,
+ 128, 3, -1, 240, 127, 128, 3, -1, 240, 127,
+ 3, 89, 3, -1, 240, 92, 3, -1, 240, 127,
+ 122, 240, 133, -1, 240, 127, 3, -1, 3, -1,
+ 18, 3, -1, 18, 3, 102, 3, -1, 18, 3,
+ 102, 5, -1, 190, 245, -1, 23, 18, 224, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1993, 1993, 1995, 1995, 1996, 1997, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2008, 2008, 2009, 2010, 2012,
- 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2023, 2024,
- 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036,
- 2037, 2038, 2039, 2040, 2043, 2044, 2045, 2046, 2047, 2048,
- 2049, 2050, 2054, 2055, 2059, 2066, 2070, 2071, 2075, 2076,
- 2078, 2079, 2081, 2142, 2143, 2146, 2146, 2165, 2166, 2167,
- 2172, 2176, 2181, 2182, 2184, 2204, 2252, 2252, 2271, 2271,
- 2286, 2289, 2292, 2295, 2299, 2300, 2301, 2302, 2303, 2304,
- 2306, 2317, 2320, 2320, 2349, 2349, 2373, 2373, 2389, 2390,
- 2391, 2392, 2400, 2409, 2409, 2454, 2458, 2469, 2478, 2479,
- 2481, 2482, 2484, 2484, 2486, 2486, 2489, 2505, 2522, 2523,
- 2524, 2525, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540,
- 2541, 2542, 2546, 2547, 2549, 2550, 2552, 2553, 2557, 2555,
- 2563, 2561, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577,
- 2579, 2585, 2586, 2587, 2588, 2589, 2590, 2593, 2606, 2606,
- 2608, 2608, 2610, 2611, 2613, 2688, 2689, 2691, 2692, 2693,
- 2694, 2695, 2697, 2698, 2699, 2700, 2712, 2716, 2722, 2728,
- 2736, 2741, 2747, 2755, 2763, 2764, 2765, 2768, 2767, 2784,
- 2785, 2787, 2786, 2810, 2826, 2841, 2842, 2844, 2845, 2847,
- 2848, 2849, 2858, 2859, 2863, 2864, 2866, 2867, 2868, 2870,
- 2874, 2875, 2880, 2881, 2917, 2963, 2984, 3005, 3008, 3015,
- 3016, 3017, 3023, 3029, 3031, 3033, 3035, 3037, 3039, 3041,
- 3058, 3063, 3066, 3069, 3072, 3075, 3078, 3081, 3084, 3087,
- 3091, 3094, 3097, 3100, 3103, 3106, 3109, 3112, 3116, 3127,
- 3145, 3150, 3155, 3160, 3165, 3170, 3174, 3178, 3183, 3187,
- 3191, 3200, 3209, 3219, 3224, 3236, 3242, 3247, 3253, 3259,
- 3263, 3265, 3276, 3285, 3292, 3293, 3295, 3301, 3310, 3317,
- 3329, 3335, 3341, 3347, 3353, 3359, 3365, 3371, 3384, 3395,
- 3402, 3415, 3442, 3456, 3470, 3484, 3499, 3506, 3513, 3520,
- 3527, 3538, 3588, 3693, 3699, 3702, 3705, 3708
+ 0, 2124, 2124, 2126, 2126, 2127, 2128, 2130, 2131, 2132,
+ 2133, 2134, 2135, 2136, 2137, 2139, 2139, 2140, 2141, 2143,
+ 2144, 2145, 2146, 2147, 2148, 2149, 2151, 2152, 2154, 2155,
+ 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167,
+ 2168, 2169, 2170, 2171, 2174, 2175, 2176, 2177, 2178, 2179,
+ 2180, 2181, 2185, 2186, 2190, 2197, 2201, 2202, 2206, 2207,
+ 2209, 2210, 2212, 2273, 2274, 2277, 2277, 2296, 2297, 2298,
+ 2303, 2307, 2312, 2313, 2315, 2335, 2383, 2383, 2402, 2402,
+ 2417, 2420, 2423, 2426, 2430, 2431, 2432, 2433, 2434, 2435,
+ 2437, 2448, 2451, 2451, 2482, 2482, 2507, 2507, 2523, 2524,
+ 2525, 2526, 2534, 2543, 2543, 2592, 2596, 2607, 2617, 2634,
+ 2635, 2636, 2638, 2639, 2641, 2641, 2643, 2643, 2646, 2660,
+ 2676, 2677, 2678, 2679, 2686, 2687, 2688, 2689, 2690, 2691,
+ 2692, 2693, 2694, 2695, 2699, 2700, 2702, 2703, 2705, 2706,
+ 2710, 2708, 2716, 2714, 2723, 2724, 2725, 2726, 2727, 2728,
+ 2729, 2730, 2732, 2738, 2739, 2740, 2741, 2742, 2743, 2746,
+ 2759, 2759, 2761, 2761, 2763, 2764, 2766, 2841, 2842, 2844,
+ 2845, 2846, 2847, 2848, 2850, 2851, 2852, 2853, 2865, 2869,
+ 2875, 2881, 2889, 2894, 2900, 2908, 2916, 2917, 2918, 2921,
+ 2920, 2937, 2938, 2940, 2939, 2963, 2982, 2996, 2997, 2999,
+ 3000, 3002, 3003, 3004, 3013, 3014, 3018, 3019, 3021, 3022,
+ 3023, 3025, 3029, 3030, 3035, 3036, 3072, 3118, 3139, 3160,
+ 3163, 3170, 3171, 3172, 3178, 3184, 3186, 3188, 3190, 3192,
+ 3194, 3196, 3213, 3218, 3221, 3224, 3227, 3230, 3233, 3236,
+ 3239, 3242, 3246, 3249, 3252, 3255, 3258, 3261, 3264, 3267,
+ 3271, 3282, 3300, 3305, 3310, 3315, 3320, 3325, 3329, 3333,
+ 3338, 3342, 3346, 3355, 3364, 3374, 3379, 3391, 3397, 3402,
+ 3408, 3414, 3418, 3420, 3431, 3440, 3447, 3448, 3450, 3456,
+ 3465, 3472, 3484, 3490, 3496, 3502, 3508, 3514, 3520, 3526,
+ 3539, 3550, 3557, 3570, 3597, 3611, 3625, 3639, 3654, 3661,
+ 3668, 3675, 3682, 3693, 3745, 3854, 3861, 3868, 3875, 3890
};
#endif
"FOR_IN_INIT", "FOR_START", "FOR", "FOR_IN", "WHILE", "$@2", "DO_WHILE",
"$@3", "BREAK", "CONTINUE", "MAYBE_CASE_LIST", "CASE_LIST", "CASE",
"DEFAULT", "SWITCH", "$@4", "CATCH", "$@5", "FINALLY", "$@6",
- "CATCH_LIST", "CATCH_FINALLY_LIST", "TRY", "$@7", "THROW", "WITH",
- "X_IDENTIFIER", "PACKAGE", "PACKAGE_DECLARATION", "$@8", "$@9", "IMPORT",
- "MAYBE_MODIFIERS", "MODIFIER_LIST", "MODIFIER", "EXTENDS",
+ "CATCH_LIST", "CATCH_FINALLY_LIST", "TRY", "$@7", "THROW", "WITH_HEAD",
+ "WITH", "X_IDENTIFIER", "PACKAGE", "PACKAGE_DECLARATION", "$@8", "$@9",
+ "IMPORT", "MAYBE_MODIFIERS", "MODIFIER_LIST", "MODIFIER", "EXTENDS",
"EXTENDS_LIST", "IMPLEMENTS_LIST", "CLASS_DECLARATION", "$@10",
"INTERFACE_DECLARATION", "$@11", "MAYBE_CLASS_BODY", "CLASS_BODY",
"CLASS_BODY_ITEM", "MAYBE_INTERFACE_BODY", "INTERFACE_BODY",
157, 157, 158, 158, 159, 160, 162, 161, 164, 163,
165, 165, 166, 166, 167, 167, 167, 167, 168, 168,
169, 170, 172, 171, 174, 173, 176, 175, 177, 177,
- 178, 178, 178, 180, 179, 181, 181, 182, 183, 183,
- 184, 184, 186, 185, 187, 185, 188, 188, 189, 189,
- 190, 190, 191, 191, 191, 191, 191, 191, 191, 191,
- 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, 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,
+ 178, 178, 178, 180, 179, 181, 181, 182, 183, 184,
+ 184, 184, 185, 185, 187, 186, 188, 186, 189, 189,
+ 190, 190, 191, 191, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 193, 193, 194, 194, 195, 195,
+ 197, 196, 199, 198, 200, 200, 201, 201, 202, 202,
+ 202, 202, 202, 203, 203, 204, 204, 205, 205, 205,
+ 206, 206, 208, 207, 209, 209, 210, 211, 211, 212,
+ 212, 212, 212, 212, 212, 212, 212, 212, 213, 213,
+ 213, 213, 214, 214, 215, 215, 216, 216, 216, 218,
+ 217, 219, 219, 221, 220, 222, 223, 224, 224, 225,
+ 225, 226, 226, 226, 227, 227, 228, 228, 229, 229,
+ 229, 230, 231, 230, 232, 233, 234, 234, 235, 236,
+ 236, 237, 238, 238, 239, 240, 240, 240, 240, 240,
+ 240, 240, 241, 241, 241, 241, 241, 241, 241, 241,
+ 241, 241, 240, 240, 240, 240, 240, 240, 240, 240,
+ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
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, 245, 245, 245, 246
+ 240, 240, 240, 240, 240, 240, 242, 242, 243, 243,
+ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+ 240, 240, 240, 240, 244, 245, 245, 245, 246, 247
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
3, 1, 2, 3, 8, 6, 0, 6, 0, 7,
1, 2, 1, 2, 0, 1, 1, 2, 1, 2,
4, 3, 0, 8, 0, 9, 0, 5, 1, 2,
- 1, 2, 1, 0, 6, 2, 1, 5, 1, 1,
- 3, 1, 0, 6, 0, 5, 2, 4, 0, 1,
- 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 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, 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, 2, 1, 0, 6, 2, 1, 4, 2, 1,
+ 1, 1, 3, 1, 0, 6, 0, 5, 2, 4,
+ 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
+ 1, 1, 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, 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, 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,
- 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, 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, 302, 131, 235, 229, 232, 233, 230, 231, 234,
- 0, 0, 78, 0, 0, 124, 122, 123, 0, 130,
- 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, 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, 304, 121, 0, 0, 0, 0, 0, 0, 0,
+ 120, 304, 133, 237, 231, 234, 235, 232, 233, 236,
+ 0, 0, 78, 0, 0, 126, 124, 125, 0, 132,
+ 0, 131, 192, 238, 271, 127, 0, 0, 0, 241,
+ 128, 130, 129, 0, 0, 240, 239, 0, 0, 276,
+ 0, 0, 14, 0, 0, 0, 0, 208, 120, 0,
+ 0, 2, 120, 5, 54, 12, 0, 36, 67, 31,
+ 32, 33, 34, 35, 38, 120, 37, 7, 30, 0,
+ 121, 122, 9, 8, 11, 10, 225, 228, 230, 229,
+ 224, 39, 222, 226, 227, 41, 40, 0, 0, 72,
+ 76, 120, 92, 109, 111, 110, 116, 113, 0, 0,
+ 304, 214, 191, 0, 270, 0, 0, 118, 0, 103,
+ 208, 0, 218, 65, 0, 221, 0, 277, 296, 295,
+ 273, 253, 252, 0, 0, 209, 210, 211, 82, 0,
+ 106, 219, 0, 80, 44, 43, 120, 45, 29, 0,
+ 46, 47, 48, 50, 0, 49, 298, 1, 6, 120,
+ 304, 0, 68, 0, 0, 69, 53, 108, 0, 188,
+ 0, 161, 0, 160, 162, 308, 123, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 136, 0,
- 0, 203, 161, 162, 305, 306, 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,
- 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
+ 294, 293, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 208, 0,
+ 0, 55, 73, 0, 0, 0, 120, 114, 0, 195,
+ 0, 198, 197, 309, 206, 178, 0, 0, 0, 27,
+ 0, 297, 0, 0, 280, 0, 272, 275, 212, 213,
+ 83, 205, 59, 60, 105, 220, 58, 81, 42, 28,
+ 120, 0, 205, 0, 0, 52, 305, 187, 186, 0,
+ 134, 136, 0, 223, 267, 268, 265, 266, 246, 247,
+ 249, 248, 244, 245, 287, 286, 282, 281, 289, 290,
+ 288, 284, 283, 285, 250, 251, 301, 259, 258, 257,
+ 291, 0, 256, 255, 254, 242, 243, 263, 262, 260,
+ 264, 261, 0, 0, 303, 0, 0, 0, 0, 0,
+ 25, 0, 120, 17, 23, 0, 20, 19, 22, 21,
+ 120, 112, 0, 208, 215, 167, 0, 0, 179, 183,
+ 107, 119, 196, 269, 0, 26, 217, 0, 278, 0,
+ 0, 57, 0, 120, 13, 57, 0, 0, 0, 0,
+ 0, 138, 0, 0, 205, 163, 164, 0, 216, 274,
+ 0, 0, 299, 120, 0, 0, 117, 18, 120, 0,
+ 0, 0, 0, 185, 180, 205, 0, 0, 120, 0,
+ 203, 202, 201, 204, 0, 62, 61, 51, 0, 120,
+ 306, 307, 178, 135, 0, 0, 199, 137, 142, 57,
+ 0, 292, 300, 302, 77, 0, 84, 0, 115, 207,
+ 177, 173, 170, 171, 169, 172, 176, 175, 174, 168,
+ 167, 0, 0, 182, 0, 0, 98, 102, 100, 104,
+ 63, 279, 56, 0, 75, 0, 139, 140, 0, 120,
+ 166, 165, 79, 0, 0, 0, 85, 88, 86, 24,
+ 184, 193, 181, 96, 0, 99, 101, 120, 66, 120,
+ 205, 120, 200, 0, 157, 0, 0, 120, 155, 0,
+ 27, 93, 89, 87, 27, 27, 205, 64, 74, 0,
+ 148, 152, 0, 0, 0, 120, 146, 150, 151, 158,
+ 188, 143, 156, 27, 91, 0, 0, 0, 189, 120,
+ 141, 147, 0, 90, 194, 97, 94, 27, 0, 0,
+ 0, 0, 149, 178, 27, 190, 0, 0, 205, 95,
+ 159
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 50, 51, 52, 53, 309, 310, 311, 332, 333,
- 135, 136, 211, 312, 137, 385, 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, 318, 213, 67, 142, 69, 70, 348, 350,
- 393, 314, 459, 315, 437, 482, 483, 484, 464, 465,
- 466, 160, 316, 258, 352, 353, 372, 417, 325, 326,
- 327, 255, 317, 505, 101, 75, 472, 218, 219, 382,
- 395, 383, 339, 322, 122, 123, 124, 221, 76, 77,
- 78, 143, 125, 79, 80, 81, 82, 114, 115, 83,
- 161, 84, 85
+ -1, 50, 51, 52, 53, 311, 312, 313, 334, 335,
+ 137, 138, 157, 314, 139, 385, 140, 246, 243, 458,
+ 57, 232, 153, 154, 58, 59, 60, 61, 213, 62,
+ 91, 141, 142, 445, 446, 447, 448, 63, 215, 426,
+ 510, 427, 475, 428, 429, 64, 229, 143, 65, 66,
+ 219, 220, 67, 320, 216, 68, 144, 70, 71, 351,
+ 353, 395, 316, 461, 317, 439, 484, 485, 486, 466,
+ 467, 468, 164, 318, 262, 355, 356, 373, 419, 327,
+ 328, 329, 259, 319, 507, 103, 76, 474, 221, 222,
+ 382, 397, 383, 341, 324, 124, 125, 126, 224, 77,
+ 78, 79, 145, 127, 80, 81, 82, 83, 116, 117,
+ 84, 165, 85, 86
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -426
+#define YYPACT_NINF -403
static const yytype_int16 yypact[] =
{
- 1672, 12, -426, -426, -426, -426, -426, -426, -426, -426,
- -16, -19, -426, -18, 11, -426, -426, -426, 107, -426,
- 2092, -426, 132, -426, 350, -426, 58, 25, 79, -426,
- -426, -426, -426, 84, -20, -426, -426, 2092, 83, 2092,
- 2092, 2092, -426, 2092, 2092, 2092, 2092, 2092, 632, 209,
- 216, -426, 502, -426, -426, -426, 93, -426, 2022, -426,
- -426, -426, -426, -426, -426, -426, -426, -426, 356, 248,
- -426, -426, -426, -426, -426, -426, -426, -426, -426, 118,
- -426, 2522, -426, -426, -426, -426, 218, 105, -426, -426,
- 1924, -426, -426, -426, -426, -426, -106, 86, -426, -46,
- -426, 106, 139, 2092, 108, -426, 2092, -426, 2092, 229,
- 139, -426, 129, 2522, 104, 138, 139, 139, 294, 139,
- 139, -75, 115, 141, 2092, -426, 239, 243, 2092, 2092,
- 243, 244, -426, -426, 762, -426, -426, 123, -426, -426,
- -426, -426, 232, -426, -426, -426, -426, 1022, 183, 255,
- -426, 165, 197, -426, 264, 92, 270, -426, 273, -426,
- -426, 176, -426, 2092, 2092, 2092, 2092, 2092, 2092, 2092,
- 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092,
- 2092, 2092, 2092, 2092, 2092, 2092, -426, -426, 280, 2092,
- 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092,
- 2092, 2092, 2092, 2092, 2092, 2092, 14, -426, -426, 2092,
- 185, 271, 2092, 1152, -426, 25, 160, 161, -426, -426,
- -426, 167, 20, -12, 19, 2150, 1798, 157, -426, 2092,
- 2092, -426, 2092, -426, -426, -426, -426, -426, 186, 192,
- -426, 118, 118, 192, -426, -426, -426, 1924, 166, 186,
- 2092, 2092, -426, -426, -426, 296, 246, 252, 304, 149,
- 2522, 1014, 494, 494, 494, 2888, 2888, 2888, 2888, 1014,
- 1014, 2522, 2522, 2522, 2522, 2522, 2522, 2522, 2522, 2522,
- 2522, 2583, 2644, -426, 211, 211, 211, 2522, 2339, 2705,
- 2766, 2827, 1014, 1014, 294, 294, 139, 139, 139, 175,
- 2400, 220, 2092, 311, -9, -426, 194, 2213, -426, 189,
- 1282, -426, -426, 191, -426, -426, -426, -426, 1152, -426,
- 125, 2092, -426, 97, 312, 195, 222, -426, 1924, 160,
- -426, -426, 198, 1798, -426, -1, -426, 224, 38, 235,
- 243, 892, -426, -26, -35, 8, 212, 86, 314, 86,
- 213, 186, 240, -426, -426, -426, 2092, -426, -426, 338,
- 2276, -426, 1924, 2092, 217, -426, -426, 1152, 210, 221,
- 74, 38, -426, -426, 186, 24, -426, 98, 1924, 2092,
- -426, -426, -426, -426, 2092, -426, -426, -426, 2092, 1924,
- 20, -426, 86, 219, -426, 250, -426, 235, 304, 2522,
- -426, -426, -426, 45, 56, 214, -426, -426, -426, -426,
- -426, -426, -426, -426, -426, -426, -426, -426, 242, 225,
- 312, -426, 237, 251, -426, -426, 98, -426, 299, -426,
- -426, 245, -426, 247, 250, -426, 86, 47, -426, -426,
- -426, 2092, 261, 249, 56, -426, -426, -426, -426, -426,
- -426, -426, 379, -426, -426, 1924, -426, 1924, 186, 1412,
- -426, 386, -426, 363, 259, 233, -426, 2461, 1798, -426,
- -426, -426, 1798, 1798, 186, -426, -426, 266, -426, -426,
- 267, 193, 262, 1542, -426, -426, -426, -426, 92, -426,
- -426, 1798, -426, 265, 269, 263, -426, 1412, -426, -426,
- 395, -426, -426, -426, -426, 1798, 272, 277, 281, 279,
- -426, 20, 1798, -426, 282, 285, 186, -426, -426
+ 1674, -70, -403, -403, -403, -403, -403, -403, -403, -403,
+ -15, -72, -403, -52, 19, -403, -403, -403, 80, -403,
+ 2094, -403, 99, -403, 2164, -403, -16, 42, -5, -403,
+ -403, -403, -403, -1, 5, -403, -403, 2094, 13, 2094,
+ 2094, 2094, -403, 2094, 2094, 2094, 2094, 2094, 634, 123,
+ 128, -403, 504, -403, -403, -403, 8, -403, 2024, -403,
+ -403, -403, -403, -403, -403, 1926, -403, -403, -403, 240,
+ 361, -403, -403, -403, -403, -403, -403, -403, -403, -403,
+ 38, -403, 2569, -403, -403, -403, -403, 137, 20, -403,
+ -403, 1926, -403, -403, -403, -403, -403, -403, -87, 42,
+ -403, -67, -403, 21, -48, 2094, 79, -403, 2094, -403,
+ 2094, 138, -48, -403, 43, 2569, 76, 107, -48, -48,
+ 604, -48, -48, -29, 84, 110, 2094, -403, 210, 211,
+ 2094, 2094, 211, 212, -403, -403, 764, -403, -403, 85,
+ -403, -403, -403, -403, 209, -403, -403, -403, -403, 1024,
+ 158, 232, -403, 139, 171, -403, 141, -403, 238, 12,
+ 239, -403, 247, -403, -403, -403, -403, 2094, 2094, 2094,
+ 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094,
+ 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094,
+ -403, -403, 249, 2094, 2094, 2094, 2094, 2094, 2094, 2094,
+ 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094, 2094,
+ 11, -403, -403, 2094, 229, 2094, 1154, -403, 42, 133,
+ 135, -403, -403, -403, 142, 15, -10, 90, 2189, 1800,
+ 130, -403, 2094, 2094, -403, 2094, -403, -403, -403, -403,
+ -403, 161, 169, -403, 38, 38, 169, -403, -403, -403,
+ 1926, 149, 161, 2094, 2094, -403, 168, -403, -403, 280,
+ 231, 233, 286, 2569, 1016, 496, 496, 496, 322, 322,
+ 322, 322, 1016, 1016, 2569, 2569, 2569, 2569, 2569, 2569,
+ 2569, 2569, 2569, 2569, 2630, 2691, -403, 368, 368, 368,
+ 2569, 2386, 2752, 2813, 2874, 1016, 1016, 604, 604, -48,
+ -48, -48, 157, 2447, 202, 2094, 291, 14, 173, 2260,
+ -403, 165, 1284, -403, -403, 172, -403, -403, -403, -403,
+ 1154, -403, 42, 2094, -403, -43, 296, 167, 201, -403,
+ -403, -403, 175, -403, 174, 1800, -403, 44, -403, 200,
+ 63, 207, 211, 894, -403, -27, -11, 46, 113, 189,
+ 42, 298, 42, 190, 161, 217, -403, 2094, -403, -403,
+ 315, 2323, -403, 1926, 2094, 193, -403, -403, 1154, 192,
+ 194, 75, 63, -403, -403, 161, 26, 96, 1926, 2094,
+ -403, -403, -403, -403, 2094, -403, -403, -403, 2094, 1926,
+ -403, -403, 15, -403, 42, 199, -403, 230, -403, 207,
+ 286, 2569, -403, -403, -403, 103, 24, 197, -403, -403,
+ -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
+ 234, 205, 296, -403, 206, 213, -403, -403, 96, -403,
+ 268, -403, -403, 204, -403, 215, 230, -403, 42, 208,
+ -403, -403, -403, 2094, 236, 214, 24, -403, -403, -403,
+ -403, -403, -403, -403, 335, -403, -403, 1926, -403, 1926,
+ 161, 1414, -403, 339, -403, 316, 219, 227, -403, 2508,
+ 1800, -403, -403, -403, 1800, 1800, 161, -403, -403, 223,
+ -403, -403, 226, 250, 221, 1544, -403, -403, -403, -403,
+ 12, -403, -403, 1800, -403, 222, 224, 225, -403, 1414,
+ -403, -403, 354, -403, -403, -403, -403, 1800, 228, 241,
+ 235, 243, -403, 15, 1800, -403, 244, 246, 161, -403,
+ -403
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -426, -426, 275, -426, 360, -292, -426, 103, -425, -39,
- 1, -85, -317, 59, 2, 17, 361, 297, 85, -426,
- -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
- -426, -426, -426, -426, -426, -21, -17, -426, -426, 5,
- -426, 6, -426, -426, -426, -426, -426, -426, -426, -200,
- 36, -426, -426, -426, -426, 0, -426, 357, -426, -426,
- -426, 60, -426, 62, -426, -69, -426, -54, -426, -426,
- -31, -426, 3, -426, -426, 32, 18, -426, -372, -426,
- -305, -53, 4, -426, -426, -426, -426, -426, 411, -87,
- 50, 68, -241, -426, -95, -426, -426, -426, -426, -426,
- -426, -426, -32, -6, -52, -8, -426, -426, -426, -426,
- -426, -426, -426
+ -403, -403, 218, -403, 312, -299, -403, 61, -402, -31,
+ 1, -55, -85, 48, 2, -23, 321, 251, 58, -403,
+ -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
+ -403, -403, -403, -403, -403, -62, -60, -403, -403, -40,
+ -403, -36, -403, -403, -403, -403, -403, -403, -403, -403,
+ 6, 50, -403, -403, -403, -403, 0, -403, 331, -403,
+ -403, -403, 49, -403, 51, -403, -96, -403, -80, -403,
+ -403, -61, -403, 3, -403, -403, 7, 9, -403, -376,
+ -403, -311, -79, 4, -403, -403, -403, -403, -403, 388,
+ -91, 25, 52, -239, -403, -98, -403, -403, -403, -403,
+ -403, -403, -403, -34, -9, -49, -13, -403, -403, -403,
+ -403, -403, -403, -403
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -153
+#define YYTABLE_NINF -155
static const yytype_int16 yytable[] =
{
- 68, 54, 56, 73, 74, 210, 153, 112, 343, 134,
- 220, 376, 99, 227, 92, 319, 102, 301, 433, 373,
- 214, 215, 329, 323, 319, 163, 368, 323, 92, 110,
- 93, 113, 116, 117, 87, 118, 119, 120, 93, 113,
- 121, 216, -70, 492, 93, 402, 188, 493, 494, 246,
- 96, 2, 68, 54, 56, 73, 74, 93, 233, 55,
- 71, 428, 72, 104, 388, 163, 501, 15, 16, 17,
- 421, 19, 432, 21, 380, 405, 384, 408, 205, 409,
- 509, 206, 410, 411, 412, 25, 413, 515, 163, 216,
- 441, 163, 236, 461, 30, 31, 32, 223, 225, 163,
- 113, 86, 108, 89, 91, 93, 88, 109, 163, 299,
- 397, 55, 71, 324, 72, 450, 113, 420, 442, 414,
- 319, 328, 241, 242, 362, 97, 422, 253, 329, 415,
- 416, 423, 378, 419, 330, 100, 302, 94, 475, 514,
- 476, 389, 303, 254, 93, 163, 462, 68, 54, 56,
- 73, 74, 354, 381, 355, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 440, -151,
- 103, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 113, 300, 336, 370,
- 337, 106, 371, 304, 307, 111, 55, 71, 341, 72,
- 107, 154, 144, 68, 54, 313, 145, 477, 163, 147,
- 155, 207, 113, 335, 113, 157, 369, 208, 222, 186,
- 187, 188, 228, 495, 230, 224, 231, 2, 232, 159,
- 234, 235, 237, 210, 344, 345, 238, 244, 246, 247,
- 154, -71, 2, 15, 16, 17, 246, 19, 249, 21,
- 391, 204, 394, 205, 250, 251, 206, 252, 15, 16,
- 17, 25, 19, 256, 21, 518, 257, 210, 259, 461,
- 30, 31, 32, 283, 305, 306, 25, -108, 320, 321,
- 334, 338, 340, 210, 360, 30, 31, 32, 342, 346,
- 347, 186, 187, 188, 210, 394, 349, 351, 357, 359,
- 68, 54, 313, 113, 361, 323, 363, 367, 68, 54,
- 313, 365, 375, 199, 200, 201, 202, 203, 374, 379,
- 377, 392, 462, 204, 390, 205, 431, 384, 206, 396,
- 398, 400, 406, 404, 370, 435, 447, 429, 399, 460,
- 436, 449, 430, 98, 407, 3, 4, 403, 5, 6,
- 7, 8, 9, 451, 455, -152, 468, 68, 54, 313,
- 210, 113, 210, 452, 154, 20, 113, 22, 457, 23,
- 458, 469, 474, 155, 186, 187, 188, 156, 157, 487,
- 488, 489, 496, 497, 498, 29, 504, 502, 507, 511,
- 158, 503, 159, 34, 510, 35, 36, 512, 201, 202,
- 203, 513, 146, 366, 438, 516, 204, 517, 205, 150,
- 39, 206, 248, 470, 239, 386, 162, 471, 506, 499,
- 439, 453, 454, 467, 490, 500, 448, 463, 105, 418,
- 40, 41, 434, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 481,
- 479, 480, 485, 486, 0, 463, 0, 0, 0, 0,
- 0, 0, 46, 0, 47, 0, 0, 0, 49, 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, 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, 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, 387, 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, 40, 41, 0, 0, 0, 0, 0, 0,
- 0, 308, 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,
+ 69, 54, 56, 74, 75, 114, 214, 101, 223, 155,
+ 156, 104, 230, 345, 304, 374, 435, 136, 325, 87,
+ 97, 369, 93, 94, 112, 192, 115, 118, 119, 325,
+ 120, 121, 122, 97, 115, 88, 156, 123, 95, 217,
+ 218, -70, 190, 191, 192, 93, 94, 257, 55, 72,
+ 90, 73, 69, 54, 56, 74, 75, 209, 443, 371,
+ 210, 95, 372, 258, 98, 423, 93, 94, 494, 407,
+ 92, 167, 495, 496, 208, 384, 209, 106, 410, 210,
+ 411, 249, 95, 412, 413, 414, 444, 415, 388, 167,
+ 167, 503, 239, 93, 94, 228, 226, 115, 99, 380,
+ 55, 72, 102, 73, 236, 511, 105, 89, 326, 95,
+ 302, 452, 517, 115, 167, 399, 390, 108, 391, 422,
+ 416, 244, 245, 330, 424, 109, 146, 110, 147, 425,
+ 417, 418, 111, 305, 149, 113, 421, 516, 167, 306,
+ 211, 231, 212, 225, 167, 96, 167, 363, 233, 69,
+ 54, 56, 74, 75, 263, 264, 265, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, 280, 281, 282, 283, 284, 285, 378, 381, 389,
+ 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 115, 303, 55, 72, 338,
+ 73, 339, 309, 167, 307, 331, 227, 235, 234, 237,
+ 238, 250, 2, 240, 241, 247, 69, 54, 315, 343,
+ 115, 479, 115, 337, 321, 370, -71, 158, 15, 16,
+ 17, 2, 19, 332, 21, 252, 442, 497, 253, 254,
+ 255, 256, 260, 308, 346, 347, 25, 15, 16, 17,
+ 261, 19, 286, 21, 463, 30, 31, 32, 158, 393,
+ -113, 396, 322, 336, 323, 25, 340, 159, 158, 342,
+ 348, 160, 161, 463, 30, 31, 32, 159, 404, 520,
+ 249, 344, 161, 349, 162, 350, 163, 352, 249, 354,
+ 358, 360, 361, 430, 362, 364, 163, 366, 368, 325,
+ 375, 376, -112, 396, 434, 379, 377, 464, 156, 384,
+ 115, 392, 69, 54, 315, 394, 398, 400, 402, 406,
+ 69, 54, 315, 156, 408, 437, 464, 409, 332, 449,
+ 438, 451, 453, 457, 156, 454, 371, 459, 476, 433,
+ -153, 470, 489, 490, 401, 431, 471, 462, 460, 498,
+ 432, 491, 499, 500, 504, 405, 505, 509, 506, -154,
+ 512, 514, 168, 513, 148, 2, 115, 251, 69, 54,
+ 315, 115, 477, 367, 478, 515, 440, 518, 519, 152,
+ 242, 15, 16, 17, 472, 19, 473, 21, 455, 169,
+ 170, 171, 456, -155, -155, -155, -155, 176, 177, 25,
+ 386, 166, 156, 508, 156, 501, 492, 441, 30, 31,
+ 32, 502, 190, 191, 192, 107, 193, 194, 195, 436,
+ 0, 0, 0, 0, 420, 0, 0, 0, 0, 450,
+ 469, 201, 202, 0, 203, 204, 205, 206, 207, 465,
+ 0, 0, 0, 0, 208, 0, 209, 0, 0, 210,
+ 0, 0, 0, 0, 0, 0, 0, 0, 190, 191,
+ 192, 483, 481, 482, 487, 488, 0, 465, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 40, 41, 0, 0, 0, 0, 0, 0,
- 0, 308, 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,
+ 203, 204, 205, 206, 207, 483, 481, 482, 487, 488,
+ 208, 0, 209, 0, 0, 210, 0, 0, 0, 483,
+ 481, 482, 487, 488, -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, 168, 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, -155, -155, -155, 0, 37, 38, 0,
+ 0, 176, 177, 0, 39, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 190, 191, 192, 0,
+ 193, 194, 195, 0, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 42, 0, 201, 202, 0, 203, 204,
+ 205, 206, 207, 0, 0, 0, 43, 0, 208, 0,
+ 209, 44, 45, 210, 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, 128, 0, 129, 0, 0, 0,
+ 24, 130, 25, 26, 0, 27, 131, 28, 0, 29,
+ 132, 30, 31, 32, 0, 0, 33, 34, 0, 35,
+ 36, 0, 0, 0, 190, 191, 192, 37, 38, 0,
+ 133, 0, 0, 0, 39, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 205, 206,
+ 207, 0, 0, 0, 40, 41, 208, 0, 209, 0,
+ 0, 210, 0, 134, 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, 135, 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, 128, 0, 129, 0, 0, 0,
+ 24, 130, 25, 26, 0, 27, 131, 28, 0, 29,
+ 132, 30, 31, 32, 0, 0, 33, 34, 0, 35,
+ 36, 0, 0, 0, 0, 0, 0, 37, 38, 0,
+ 133, 0, 0, 0, 39, 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, 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, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 134, 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, 248, 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, 128, 0, 129, 0, 0, 0,
+ 24, 130, 25, 26, 0, 27, 131, 28, 0, 29,
+ 132, 30, 31, 32, 0, 0, 33, 34, 0, 35,
+ 36, 0, 0, 0, 0, 0, 0, 37, 38, 0,
+ 133, 0, 0, 0, 39, 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, 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, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 134, 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, 387, 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, -155, 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, -155, -155, 0, 39, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 190, 191, 192, 0,
+ 193, 194, 195, 0, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 42, 0, -155, -155, 0, 203, 204,
+ 205, 206, 207, 0, 0, 0, 43, 0, 208, 0,
+ 209, 44, 45, 210, 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, 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, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 310, 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, 40, 41,
- 0, 0, 0, 0, 0, 0, 0, 132, 0, 0,
+ 0, 0, 0, 0, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 310, 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,
- 43, 0, 0, 0, 0, 44, 45, 0, 0, 0,
- 46, 0, 47, 0, 48, 0, 49, 1, 2, 3,
+ 0, 0, 0, 0, 40, 41, 0, 0, 0, 0,
+ 0, 0, 0, 480, 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, -144, 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,
+ 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,
- 131, 0, 0, 0, 39, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0,
+ 0, 0, 0, 480, 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, -145, 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, 40, 41, 0, 0, 0, 0, 0, 0,
- 164, 0, 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, 165, 166, 167,
- 49, 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, 331, 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, 364, 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, 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, 356, 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, 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, 358, 0, 206, 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, 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,
+ 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, -120, 0,
+ 15, 16, 17, 18, 19, 20, 21, 22, 0, 23,
+ 128, 0, 129, 0, 0, 0, 24, 130, 25, 26,
+ 0, 27, 131, 28, 0, 29, 132, 30, 31, 32,
+ 0, 0, 33, 34, 0, 35, 36, 0, 0, 0,
+ 0, 0, 0, 37, 38, 0, 133, 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, 134,
+ 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, 128, 0, 129, 0,
+ 0, 0, 24, 130, 25, 26, 0, 27, 131, 28,
+ 0, 29, 132, 30, 31, 32, 0, 0, 33, 34,
+ 0, 35, 36, 0, 0, 0, 0, 0, 0, 37,
+ 38, 0, 133, 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, 134, 0, 150, 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, 129, 0, 0, 0,
+ 24, 0, 0, 0, 0, 0, 0, 28, 0, 29,
+ 151, 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, 100, 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, 100, 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, 168,
+ 0, 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, 169, 170, 171, 0,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 0, 190,
+ 191, 192, 0, 193, 194, 195, 46, 0, 47, 0,
+ 0, 196, 49, 197, 0, 198, 199, 200, 201, 202,
+ 168, 203, 204, 205, 206, 207, 0, 0, 0, 0,
+ 0, 208, 0, 209, 0, 0, 210, 0, 0, 0,
+ 0, 0, 333, 0, 0, 0, 0, 169, 170, 171,
+ 0, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 0,
+ 190, 191, 192, 0, 193, 194, 195, 0, 0, 0,
+ 0, 0, 196, 168, 197, 0, 198, 199, 200, 201,
+ 202, 0, 203, 204, 205, 206, 207, 0, 0, 0,
+ 0, 0, 208, 0, 209, 0, 0, 210, 0, 0,
+ 169, 170, 171, 365, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 0, 190, 191, 192, 0, 193, 194, 195,
+ 0, 0, 0, 0, 0, 196, 168, 197, 0, 198,
+ 199, 200, 201, 202, 0, 203, 204, 205, 206, 207,
+ 0, 0, 0, 0, 0, 208, 0, 209, 0, 0,
+ 210, 0, 0, 169, 170, 171, 403, 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, 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,
+ 185, 186, 187, 188, 189, 0, 190, 191, 192, 0,
+ 193, 194, 195, 0, 0, 0, 0, 168, 196, 0,
+ 197, 357, 198, 199, 200, 201, 202, 0, 203, 204,
+ 205, 206, 207, 0, 0, 0, 0, 0, 208, 0,
+ 209, 0, 0, 210, 169, 170, 171, 0, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 0, 190, 191, 192,
+ 0, 193, 194, 195, 0, 0, 0, 0, 168, 196,
+ 0, 197, 0, 198, 199, 200, 201, 202, 0, 203,
+ 204, 205, 206, 207, 0, 0, 0, 0, 0, 208,
+ 0, 209, 359, 0, 210, 169, 170, 171, 0, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 0, 190, 191,
+ 192, 0, 193, 194, 195, 0, 0, 0, 0, 168,
+ 196, 0, 197, 493, 198, 199, 200, 201, 202, 0,
+ 203, 204, 205, 206, 207, 0, 0, 0, 0, 0,
+ 208, 0, 209, 0, 0, 210, 169, 170, 171, 0,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 0, 190,
+ 191, 192, 0, 193, 194, 195, 0, 0, 0, 0,
+ 168, 196, 0, 197, 0, 198, 199, 200, 201, 202,
+ 0, 203, 204, 205, 206, 207, 0, 0, 0, 0,
+ 0, 208, 0, 209, 0, 0, 210, 169, 170, 171,
+ 0, 172, 173, 174, 175, 176, 177, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 189, 0,
+ 190, 191, 192, 0, 193, 194, 195, 0, 0, 0,
+ 0, 168, 0, 0, 0, 0, 198, 199, 200, 201,
+ 202, 0, 203, 204, 205, 206, 207, 0, 0, 0,
+ 0, 0, 208, 0, 209, 0, 0, 210, 169, 170,
+ 171, 0, 172, 173, 174, 175, 176, 177, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 190, 191, 192, 0, 193, 194, 195, 0, 0,
+ 0, 0, 168, 0, 0, 0, 0, 198, 199, 200,
+ 201, 202, 0, 203, 204, 205, 206, 207, 0, 0,
+ 0, 0, 0, 208, 0, 209, 0, 0, 210, 169,
+ 170, 171, 0, 172, 173, 174, 175, 176, 177, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 190, 191, 192, 0, 193, 194, 195, 0,
+ 0, 0, 0, 168, 0, 0, 0, 0, 0, 199,
+ 200, 201, 202, 0, 203, 204, 205, 206, 207, 0,
+ 0, 0, 0, 0, 208, 0, 209, 0, 0, 210,
+ 169, 170, 171, 0, 172, 173, 174, 175, 176, 177,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 185, 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,
- 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, 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, 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, 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
+ 0, 0, 0, 190, 191, 192, 0, 193, 194, 195,
+ 0, 0, 0, 0, 168, 0, 0, 0, 0, 0,
+ 0, 200, 201, 202, 0, 203, 204, 205, 206, 207,
+ 0, 0, 0, 0, 0, 208, 0, 209, 0, 0,
+ 210, 169, 170, 171, 0, 172, 173, 174, 175, 176,
+ 177, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 190, 191, 192, 0, 193, 194,
+ 195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -155, 201, 202, 0, 203, 204, 205, 206,
+ 207, 0, 0, 0, 0, 0, 208, 0, 209, 0,
+ 0, 210
};
static const yytype_int16 yycheck[] =
{
- 0, 0, 0, 0, 0, 90, 58, 39, 249, 48,
- 97, 328, 20, 108, 3, 215, 24, 3, 390, 324,
- 126, 127, 3, 3, 224, 100, 318, 3, 3, 37,
- 19, 39, 40, 41, 50, 43, 44, 45, 19, 47,
- 46, 3, 68, 468, 19, 362, 92, 472, 473, 134,
- 14, 4, 52, 52, 52, 52, 52, 19, 133, 0,
- 0, 378, 0, 27, 99, 100, 491, 20, 21, 22,
- 375, 24, 389, 26, 36, 367, 102, 3, 124, 5,
- 505, 127, 8, 9, 10, 38, 12, 512, 100, 3,
- 34, 100, 124, 46, 47, 48, 49, 103, 106, 100,
- 108, 89, 122, 122, 122, 19, 122, 127, 100, 204,
- 351, 52, 52, 93, 52, 420, 124, 93, 62, 45,
- 320, 133, 128, 129, 133, 18, 28, 35, 3, 55,
- 56, 33, 133, 374, 115, 3, 122, 126, 455, 511,
- 457, 133, 128, 51, 19, 100, 99, 147, 147, 147,
- 147, 147, 3, 115, 5, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 133, 132,
- 122, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 230, 102,
- 232, 122, 105, 209, 212, 122, 147, 147, 247, 147,
- 126, 18, 3, 213, 213, 213, 0, 458, 100, 126,
- 27, 3, 230, 229, 232, 32, 321, 122, 122, 90,
- 91, 92, 3, 474, 105, 127, 132, 4, 100, 46,
- 125, 100, 3, 328, 250, 251, 3, 3, 333, 126,
- 18, 68, 4, 20, 21, 22, 341, 24, 3, 26,
- 347, 122, 349, 124, 99, 68, 127, 3, 20, 21,
- 22, 38, 24, 3, 26, 516, 3, 362, 102, 46,
- 47, 48, 49, 3, 99, 14, 38, 127, 127, 122,
- 133, 105, 100, 378, 302, 47, 48, 49, 132, 3,
- 54, 90, 91, 92, 389, 392, 54, 3, 133, 89,
- 310, 310, 310, 321, 3, 3, 122, 126, 318, 318,
- 318, 132, 100, 112, 113, 114, 115, 116, 133, 105,
- 132, 17, 99, 122, 122, 124, 388, 102, 127, 126,
- 100, 3, 132, 126, 102, 126, 132, 379, 356, 436,
- 100, 126, 384, 3, 133, 5, 6, 363, 8, 9,
- 10, 11, 12, 126, 65, 132, 105, 367, 367, 367,
- 455, 379, 457, 122, 18, 25, 384, 27, 133, 29,
- 133, 132, 3, 27, 90, 91, 92, 31, 32, 3,
- 27, 132, 126, 126, 132, 45, 133, 132, 3, 122,
- 44, 132, 46, 53, 132, 55, 56, 126, 114, 115,
- 116, 132, 52, 310, 397, 133, 122, 132, 124, 58,
- 70, 127, 147, 444, 127, 340, 69, 444, 497, 483,
- 398, 426, 426, 441, 465, 488, 418, 437, 27, 371,
- 90, 91, 392, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 459,
- 459, 459, 459, 459, -1, 465, -1, -1, -1, -1,
- -1, -1, 122, -1, 124, -1, -1, -1, 128, -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, 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, 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, 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, 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, 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, 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, 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, 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,
+ 0, 0, 0, 0, 0, 39, 91, 20, 99, 58,
+ 65, 24, 110, 252, 3, 326, 392, 48, 3, 89,
+ 14, 320, 3, 4, 37, 92, 39, 40, 41, 3,
+ 43, 44, 45, 27, 47, 50, 91, 46, 19, 126,
+ 127, 68, 90, 91, 92, 3, 4, 35, 0, 0,
+ 122, 0, 52, 52, 52, 52, 52, 124, 34, 102,
+ 127, 19, 105, 51, 14, 376, 3, 4, 470, 368,
+ 122, 100, 474, 475, 122, 102, 124, 27, 3, 127,
+ 5, 136, 19, 8, 9, 10, 62, 12, 99, 100,
+ 100, 493, 126, 3, 4, 108, 105, 110, 18, 36,
+ 52, 52, 3, 52, 133, 507, 122, 122, 93, 19,
+ 208, 422, 514, 126, 100, 354, 3, 122, 5, 93,
+ 45, 130, 131, 133, 28, 126, 3, 122, 0, 33,
+ 55, 56, 127, 122, 126, 122, 375, 513, 100, 128,
+ 3, 3, 122, 122, 100, 126, 100, 133, 105, 149,
+ 149, 149, 149, 149, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 133, 115, 133,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 149, 149, 233,
+ 149, 235, 215, 100, 213, 115, 127, 100, 132, 125,
+ 100, 126, 4, 3, 3, 3, 216, 216, 216, 250,
+ 233, 460, 235, 232, 218, 323, 68, 18, 20, 21,
+ 22, 4, 24, 227, 26, 3, 133, 476, 99, 68,
+ 99, 3, 3, 14, 253, 254, 38, 20, 21, 22,
+ 3, 24, 3, 26, 46, 47, 48, 49, 18, 350,
+ 127, 352, 127, 133, 122, 38, 105, 27, 18, 100,
+ 102, 31, 32, 46, 47, 48, 49, 27, 363, 518,
+ 335, 132, 32, 3, 44, 54, 46, 54, 343, 3,
+ 133, 89, 305, 378, 3, 122, 46, 132, 126, 3,
+ 133, 100, 127, 394, 389, 105, 132, 99, 363, 102,
+ 323, 122, 312, 312, 312, 17, 126, 100, 3, 126,
+ 320, 320, 320, 378, 132, 126, 99, 133, 322, 132,
+ 100, 126, 126, 65, 389, 122, 102, 133, 3, 388,
+ 132, 105, 3, 27, 357, 379, 132, 438, 133, 126,
+ 384, 132, 126, 132, 132, 364, 132, 3, 133, 132,
+ 132, 126, 40, 122, 52, 4, 379, 149, 368, 368,
+ 368, 384, 457, 312, 459, 132, 399, 133, 132, 58,
+ 129, 20, 21, 22, 446, 24, 446, 26, 428, 67,
+ 68, 69, 428, 71, 72, 73, 74, 75, 76, 38,
+ 342, 70, 457, 499, 459, 485, 467, 400, 47, 48,
+ 49, 490, 90, 91, 92, 27, 94, 95, 96, 394,
+ -1, -1, -1, -1, 372, -1, -1, -1, -1, 420,
+ 443, 109, 110, -1, 112, 113, 114, 115, 116, 439,
+ -1, -1, -1, -1, 122, -1, 124, -1, -1, 127,
-1, -1, -1, -1, -1, -1, -1, -1, 90, 91,
- -1, -1, -1, -1, -1, -1, -1, 99, -1, -1,
+ 92, 461, 461, 461, 461, 461, -1, 467, -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,
+ 112, 113, 114, 115, 116, 485, 485, 485, 485, 485,
+ 122, -1, 124, -1, -1, 127, -1, -1, -1, 499,
+ 499, 499, 499, 499, 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, 90, 91, 92, 63, 64, -1,
+ 66, -1, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 114, 115,
+ 116, -1, -1, -1, 90, 91, 122, -1, 124, -1,
+ -1, 127, -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, 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,
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, -1, -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, 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, 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, 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, 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, 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, -1, 90, 91, -1, -1, -1, -1, -1, -1,
- 40, -1, -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, 67, 68, 69,
- 128, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 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, -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,
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,
+ 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, -1, -1, 67, 68, 69, 133,
+ 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, 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, 105, 106, 107, 108, 109, 110,
+ 40, 102, -1, 104, -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,
+ -1, 71, 72, 73, 74, 75, 76, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
90, 91, 92, -1, 94, 95, 96, -1, -1, -1,
- -1, 40, 102, -1, 104, -1, 106, 107, 108, 109,
+ -1, 40, -1, -1, -1, -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, -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, 102, -1, 104, 105, 106, 107, 108,
+ -1, -1, 40, -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, 91, 92, -1, 94, 95, 96, -1,
- -1, -1, -1, 40, 102, -1, 104, -1, 106, 107,
+ 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, 88, -1, 90, 91, 92, -1, 94, 95, 96,
- -1, -1, -1, -1, 40, -1, -1, -1, -1, 106,
- 107, 108, 109, 110, -1, 112, 113, 114, 115, 116,
+ -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,
- 106, 107, 108, 109, 110, -1, 112, 113, 114, 115,
+ 96, -1, -1, -1, -1, -1, -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, 127
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
47, 48, 49, 52, 53, 55, 56, 63, 64, 70,
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, 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, 102,
- 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, 3, 54, 192, 54,
- 193, 3, 208, 209, 3, 5, 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,
- 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
+ 160, 161, 163, 171, 179, 182, 183, 186, 189, 190,
+ 191, 192, 196, 198, 207, 217, 220, 233, 234, 235,
+ 238, 239, 240, 241, 244, 246, 247, 89, 50, 122,
+ 122, 164, 122, 3, 4, 19, 126, 184, 185, 18,
+ 3, 240, 3, 219, 240, 122, 185, 223, 122, 126,
+ 122, 127, 240, 122, 237, 240, 242, 243, 240, 240,
+ 240, 240, 240, 238, 229, 230, 231, 237, 30, 32,
+ 37, 42, 46, 66, 99, 132, 143, 144, 145, 148,
+ 150, 165, 166, 181, 190, 236, 3, 0, 138, 126,
+ 3, 46, 150, 156, 157, 239, 145, 146, 18, 27,
+ 31, 32, 44, 46, 206, 245, 192, 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, 146, 172, 188, 126, 127, 184,
+ 185, 222, 223, 224, 232, 122, 238, 127, 240, 180,
+ 229, 3, 155, 105, 132, 100, 133, 125, 100, 237,
+ 3, 3, 151, 152, 238, 238, 151, 3, 132, 145,
+ 126, 136, 3, 99, 68, 99, 3, 35, 51, 216,
+ 3, 3, 208, 240, 240, 240, 240, 240, 240, 240,
+ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+ 240, 240, 240, 240, 240, 240, 3, 240, 240, 240,
+ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+ 240, 240, 229, 240, 3, 122, 128, 238, 14, 240,
+ 99, 139, 140, 141, 147, 148, 196, 198, 207, 217,
+ 187, 184, 127, 122, 228, 3, 93, 213, 214, 215,
+ 133, 115, 184, 133, 142, 143, 133, 238, 237, 237,
+ 105, 227, 100, 143, 132, 227, 238, 238, 102, 3,
+ 54, 193, 54, 194, 3, 209, 210, 105, 133, 125,
+ 89, 240, 3, 133, 122, 133, 132, 141, 126, 139,
+ 229, 102, 105, 211, 215, 133, 100, 132, 133, 105,
+ 36, 115, 224, 226, 102, 149, 152, 132, 99, 133,
+ 3, 5, 122, 224, 17, 195, 224, 225, 126, 227,
+ 100, 240, 3, 133, 146, 238, 126, 139, 132, 133,
+ 3, 5, 8, 9, 10, 12, 45, 55, 56, 212,
+ 226, 227, 93, 215, 28, 33, 173, 175, 177, 178,
+ 146, 237, 237, 239, 146, 213, 225, 126, 100, 199,
+ 149, 210, 133, 34, 62, 167, 168, 169, 170, 132,
+ 211, 126, 215, 126, 122, 173, 175, 65, 153, 133,
+ 133, 197, 224, 46, 99, 190, 203, 204, 205, 240,
+ 105, 132, 169, 170, 221, 176, 3, 146, 146, 227,
+ 99, 144, 148, 190, 200, 201, 202, 207, 217, 3,
+ 27, 132, 205, 105, 142, 142, 142, 227, 126, 126,
+ 132, 202, 216, 142, 132, 132, 133, 218, 200, 3,
+ 174, 142, 132, 122, 126, 132, 213, 142, 133, 132,
+ 227
};
#define yyerrok (yyerrstatus = 0)
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2020 "parser.y"
+#line 2151 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2021 "parser.y"
+#line 2152 "parser.y"
{(yyval.code)=code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2023 "parser.y"
+#line 2154 "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 2024 "parser.y"
+#line 2155 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2039 "parser.y"
+#line 2170 "parser.y"
{(yyval.code)=(yyvsp[(2) - (3)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2040 "parser.y"
+#line 2171 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2043 "parser.y"
+#line 2174 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2050 "parser.y"
+#line 2181 "parser.y"
{(yyval.code)=(yyvsp[(3) - (4)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2054 "parser.y"
+#line 2185 "parser.y"
{(yyval.code)=(yyvsp[(1) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2055 "parser.y"
+#line 2186 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2059 "parser.y"
+#line 2190 "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 2070 "parser.y"
+#line 2201 "parser.y"
{(yyval.value)=(yyvsp[(2) - (2)].value);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2071 "parser.y"
+#line 2202 "parser.y"
{(yyval.value).c=abc_pushundefined(0);
(yyval.value).t=TYPE_ANY;
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2075 "parser.y"
+#line 2206 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2076 "parser.y"
+#line 2207 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2078 "parser.y"
+#line 2209 "parser.y"
{(yyval.code) = (yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2079 "parser.y"
+#line 2210 "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 2082 "parser.y"
+#line 2213 "parser.y"
{
PASS12
if(variable_exists((yyvsp[(1) - (3)].id)))
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2142 "parser.y"
+#line 2273 "parser.y"
{(yyval.code) = code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2143 "parser.y"
+#line 2274 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2146 "parser.y"
+#line 2277 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2146 "parser.y"
+#line 2277 "parser.y"
{
(yyval.code) = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2165 "parser.y"
+#line 2296 "parser.y"
{(yyval.code)=code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2172 "parser.y"
+#line 2303 "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 2176 "parser.y"
+#line 2307 "parser.y"
{
PASS12
(yyval.id)=(yyvsp[(1) - (1)].id);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2181 "parser.y"
+#line 2312 "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 2182 "parser.y"
+#line 2313 "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 2184 "parser.y"
+#line 2315 "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 2204 "parser.y"
+#line 2335 "parser.y"
{
variable_t*var = find_variable(state, (yyvsp[(2) - (6)].id));
if(!var) {
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2252 "parser.y"
+#line 2383 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2252 "parser.y"
+#line 2383 "parser.y"
{
(yyval.code) = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2271 "parser.y"
+#line 2402 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2271 "parser.y"
+#line 2402 "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 2286 "parser.y"
+#line 2417 "parser.y"
{
(yyval.code) = abc___break__(0, "");
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2289 "parser.y"
+#line 2420 "parser.y"
{
(yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2292 "parser.y"
+#line 2423 "parser.y"
{
(yyval.code) = abc___continue__(0, "");
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2295 "parser.y"
+#line 2426 "parser.y"
{
(yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2299 "parser.y"
+#line 2430 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2300 "parser.y"
+#line 2431 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2301 "parser.y"
+#line 2432 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2302 "parser.y"
+#line 2433 "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 2303 "parser.y"
+#line 2434 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2304 "parser.y"
+#line 2435 "parser.y"
{(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2306 "parser.y"
+#line 2437 "parser.y"
{
- (yyval.code) = abc_dup(0);
+ (yyval.code) = abc_getlocal(0, state->switch_var);
(yyval.code) = code_append((yyval.code), (yyvsp[(2) - (4)].value).c);
code_t*j = (yyval.code) = abc_ifne((yyval.code), 0);
(yyval.code) = code_append((yyval.code), (yyvsp[(4) - (4)].code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2317 "parser.y"
+#line 2448 "parser.y"
{
(yyval.code) = (yyvsp[(3) - (3)].code);
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2320 "parser.y"
- {PASS12 new_state();}
+#line 2451 "parser.y"
+ {PASS12 new_state();state->switch_var=alloc_local();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2320 "parser.y"
+#line 2451 "parser.y"
{
(yyval.code)=(yyvsp[(4) - (8)].value).c;
+ (yyval.code) = abc_setlocal((yyval.code), state->switch_var);
(yyval.code) = code_append((yyval.code), (yyvsp[(7) - (8)].code));
- code_t*out = (yyval.code) = abc_pop((yyval.code));
+
+ code_t*out = (yyval.code) = abc_kill((yyval.code), state->switch_var);
breakjumpsto((yyval.code), (yyvsp[(1) - (8)].id), out);
code_t*c = (yyval.code),*lastblock=0;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2349 "parser.y"
+#line 2482 "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 2354 "parser.y"
+#line 2487 "parser.y"
{
namespace_t name_ns = {ACCESS_PACKAGE, ""};
multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)};
int i = find_variable_safe(state, (yyvsp[(3) - (9)].id))->index;
e->target = c = abc_nop(0);
c = abc_setlocal(c, i);
+ c = code_append(c, code_dup(state->method->scope_code));
c = code_append(c, (yyvsp[(8) - (9)].code));
c = abc_kill(c, i);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2373 "parser.y"
+#line 2507 "parser.y"
{PASS12 new_state();state->exception_name=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2373 "parser.y"
+#line 2507 "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 2389 "parser.y"
+#line 2523 "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 2390 "parser.y"
+#line 2524 "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 2391 "parser.y"
+#line 2525 "parser.y"
{(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2392 "parser.y"
+#line 2526 "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 2400 "parser.y"
+#line 2534 "parser.y"
{
(yyval.catch_list).l=list_new();
(yyval.catch_list).finally = 0;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2409 "parser.y"
- {PASS12 new_state();}
+#line 2543 "parser.y"
+ {PASS12 new_state();
+ state->method->has_exceptions=1;
+ state->method->late_binding=1;//for invariant scope_code
+ }
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2409 "parser.y"
+#line 2546 "parser.y"
{
code_t*out = abc_nop(0);
parserassert((ptroff_t)(yyvsp[(6) - (6)].catch_list).finally);
// finally block
e->target = (yyval.code) = abc_nop((yyval.code));
+ (yyval.code) = code_append((yyval.code), code_dup(state->method->scope_code));
(yyval.code) = abc___rethrow__((yyval.code));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2454 "parser.y"
+#line 2592 "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 2458 "parser.y"
+#line 2596 "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 2469 "parser.y"
+#line 2607 "parser.y"
{
- (yyval.code) = (yyvsp[(3) - (5)].value).c;
- (yyval.code) = abc_pushwith((yyval.code));
- (yyval.code) = code_append((yyval.code), (yyvsp[(5) - (5)].code));
- (yyval.code) = abc_popscope((yyval.code));
+ new_state();
+ if(state->method->has_exceptions) {
+ int v = alloc_local();
+ state->method->scope_code = abc_getlocal(state->method->scope_code, v);
+ state->method->scope_code = abc_pushwith(state->method->scope_code);
+ (yyval.value_list).number = v;
+ }
+ (yyval.value_list).cc = (yyvsp[(3) - (4)].value).c;
}
}
break;
- case 109:
+ case 108:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2479 "parser.y"
- {PASS12 (yyval.id)="package";}
+#line 2617 "parser.y"
+ {
+ /* remove getlocal;pushwith from scope code again */
+ state->method->scope_code = code_cutlast(code_cutlast(state->method->scope_code));
+
+ (yyval.code) = (yyvsp[(1) - (2)].value_list).cc;
+ if(state->method->has_exceptions) {
+ (yyval.code) = abc_dup((yyval.code));
+ (yyval.code) = abc_setlocal((yyval.code), (yyvsp[(1) - (2)].value_list).number);
+ }
+ (yyval.code) = abc_pushwith((yyval.code));
+ (yyval.code) = code_append((yyval.code), (yyvsp[(2) - (2)].code));
+ (yyval.code) = abc_popscope((yyval.code));
+ old_state();
+}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2481 "parser.y"
- {PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;}
+#line 2635 "parser.y"
+ {PASS12 (yyval.id)="package";}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2482 "parser.y"
- {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));}
+#line 2636 "parser.y"
+ {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2484 "parser.y"
- {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;}
+#line 2638 "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 2485 "parser.y"
- {PASS12 endpackage();(yyval.code)=0;}
+#line 2639 "parser.y"
+ {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2486 "parser.y"
- {PASS12 startpackage("");}
+#line 2641 "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 2487 "parser.y"
+#line 2642 "parser.y"
{PASS12 endpackage();(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2489 "parser.y"
+#line 2643 "parser.y"
+ {PASS12 startpackage("");}
+ }
+ break;
+
+
+
+ case 117:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2644 "parser.y"
+ {PASS12 endpackage();(yyval.code)=0;}
+ }
+ break;
+
+
+
+ case 118:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2646 "parser.y"
{
PASS12
slotinfo_t*s = registry_find((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name);
if(!s && as3_pass==1) {// || !(s->flags&FLAG_BUILTIN)) {
as3_schedule_class((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name);
}
-
- PASS2
classinfo_t*c = (yyvsp[(2) - (2)].classinfo);
if(!c)
syntaxerror("Couldn't import class\n");
- case 117:
+ case 119:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2505 "parser.y"
+#line 2660 "parser.y"
{
PASS12
if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6) && as3_pass==1) {
as3_schedule_package((yyvsp[(2) - (4)].id));
}
- PASS2
NEW(import_t,i);
i->package = (yyvsp[(2) - (4)].id);
state_has_imports();
- case 118:
+ case 120:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2522 "parser.y"
+#line 2676 "parser.y"
{PASS12 (yyval.flags).flags=0;(yyval.flags).ns=0;}
}
break;
- case 119:
+ case 121:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2523 "parser.y"
+#line 2677 "parser.y"
{PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
}
break;
- case 120:
+ case 122:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2524 "parser.y"
+#line 2678 "parser.y"
{PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
}
break;
- case 121:
+ case 123:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2525 "parser.y"
+#line 2679 "parser.y"
{
PASS12
(yyval.flags).flags=(yyvsp[(1) - (2)].flags).flags|(yyvsp[(2) - (2)].flags).flags;
- case 122:
+ case 124:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2533 "parser.y"
+#line 2686 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PUBLIC;(yyval.flags).ns=0;}
}
break;
- case 123:
+ case 125:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2534 "parser.y"
+#line 2687 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PRIVATE;(yyval.flags).ns=0;}
}
break;
- case 124:
+ case 126:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2535 "parser.y"
+#line 2688 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PROTECTED;(yyval.flags).ns=0;}
}
break;
- case 125:
+ case 127:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2536 "parser.y"
+#line 2689 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_STATIC;(yyval.flags).ns=0;}
}
break;
- case 126:
+ case 128:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2537 "parser.y"
+#line 2690 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_DYNAMIC;(yyval.flags).ns=0;}
}
break;
- case 127:
+ case 129:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2538 "parser.y"
+#line 2691 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_FINAL;(yyval.flags).ns=0;}
}
break;
- case 128:
+ case 130:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2539 "parser.y"
+#line 2692 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_OVERRIDE;(yyval.flags).ns=0;}
}
break;
- case 129:
+ case 131:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2540 "parser.y"
+#line 2693 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_NATIVE;(yyval.flags).ns=0;}
}
break;
- case 130:
+ case 132:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2541 "parser.y"
+#line 2694 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_PACKAGEINTERNAL;(yyval.flags).ns=0;}
}
break;
- case 131:
+ case 133:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2542 "parser.y"
+#line 2695 "parser.y"
{PASS12 (yyval.flags).flags=FLAG_NAMESPACE;
(yyval.flags).ns=(yyvsp[(1) - (1)].id);
}
- case 132:
+ case 134:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2546 "parser.y"
- {(yyval.classinfo)=0;}
+#line 2699 "parser.y"
+ {PASS12 (yyval.classinfo)=0;}
}
break;
- case 133:
+ case 135:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2547 "parser.y"
- {(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
+#line 2700 "parser.y"
+ {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
}
break;
- case 134:
+ case 136:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2549 "parser.y"
+#line 2702 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();}
}
break;
- case 135:
+ case 137:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2550 "parser.y"
+#line 2703 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
}
break;
- case 136:
+ case 138:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2552 "parser.y"
+#line 2705 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();}
}
break;
- case 137:
+ case 139:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2553 "parser.y"
+#line 2706 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
}
break;
- case 138:
+ case 140:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2557 "parser.y"
+#line 2710 "parser.y"
{PASS12 startclass(&(yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list));}
}
break;
- case 139:
+ case 141:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2559 "parser.y"
+#line 2712 "parser.y"
{PASS12 endclass();(yyval.code)=0;}
}
break;
- case 140:
+ case 142:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2563 "parser.y"
+#line 2716 "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));}
}
- case 141:
+ case 143:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2566 "parser.y"
+#line 2719 "parser.y"
{PASS12 endclass();(yyval.code)=0;}
}
break;
- case 150:
+ case 152:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2579 "parser.y"
+#line 2732 "parser.y"
{
code_t*c = state->cls->static_init->header;
c = code_append(c, (yyvsp[(1) - (1)].code));
- case 156:
+ case 158:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2590 "parser.y"
+#line 2743 "parser.y"
{
syntaxerror("variable declarations not allowed in interfaces");
}
- case 157:
+ case 159:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2593 "parser.y"
+#line 2746 "parser.y"
{
PASS12
(yyvsp[(1) - (8)].flags).flags |= FLAG_PUBLIC;
- case 160:
+ case 162:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2608 "parser.y"
+#line 2761 "parser.y"
{setslotstate(&(yyvsp[(1) - (2)].flags),(yyvsp[(2) - (2)].token));}
}
break;
- case 161:
+ case 163:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2608 "parser.y"
+#line 2761 "parser.y"
{(yyval.code)=(yyvsp[(4) - (4)].code);setslotstate(0, 0);}
}
break;
- case 162:
+ case 164:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2610 "parser.y"
+#line 2763 "parser.y"
{(yyval.code) = (yyvsp[(1) - (1)].code);}
}
break;
- case 163:
+ case 165:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2611 "parser.y"
+#line 2764 "parser.y"
{(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));}
}
break;
- case 164:
+ case 166:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2614 "parser.y"
+#line 2767 "parser.y"
{
int flags = slotstate_flags->flags;
namespace_t ns = modifiers2access(slotstate_flags);
- case 165:
+ case 167:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2688 "parser.y"
+#line 2841 "parser.y"
{(yyval.constant)=0;}
}
break;
- case 166:
+ case 168:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2689 "parser.y"
+#line 2842 "parser.y"
{(yyval.constant)=(yyvsp[(2) - (2)].constant);}
}
break;
- case 167:
+ case 169:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2691 "parser.y"
+#line 2844 "parser.y"
{(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_uint));}
}
break;
- case 168:
+ case 170:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2692 "parser.y"
+#line 2845 "parser.y"
{(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));}
}
break;
- case 169:
+ case 171:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2693 "parser.y"
+#line 2846 "parser.y"
{(yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint));}
}
break;
- case 170:
+ case 172:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2694 "parser.y"
+#line 2847 "parser.y"
{(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));}
}
break;
- case 171:
+ case 173:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2695 "parser.y"
+#line 2848 "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 172:
+ case 174:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2697 "parser.y"
+#line 2850 "parser.y"
{(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));}
}
break;
- case 173:
+ case 175:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2698 "parser.y"
+#line 2851 "parser.y"
{(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));}
}
break;
- case 174:
+ case 176:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2699 "parser.y"
+#line 2852 "parser.y"
{(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));}
}
break;
- case 175:
+ case 177:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2700 "parser.y"
+#line 2853 "parser.y"
{
if(!strcmp((yyvsp[(1) - (1)].id), "NaN")) {
(yyval.constant) = constant_new_float(__builtin_nan(""));
- case 176:
+ case 178:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2712 "parser.y"
+#line 2865 "parser.y"
{
PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
- case 177:
+ case 179:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2716 "parser.y"
+#line 2869 "parser.y"
{
PASS12
(yyval.params)=(yyvsp[(1) - (1)].params);
- case 178:
+ case 180:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2722 "parser.y"
+#line 2875 "parser.y"
{
PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
- case 179:
+ case 181:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2728 "parser.y"
+#line 2881 "parser.y"
{
PASS12
(yyval.params) =(yyvsp[(1) - (4)].params);
- case 180:
+ case 182:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2736 "parser.y"
+#line 2889 "parser.y"
{
PASS12
(yyval.params) = (yyvsp[(1) - (3)].params);
- case 181:
+ case 183:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2741 "parser.y"
+#line 2894 "parser.y"
{
PASS12
memset(&(yyval.params),0,sizeof((yyval.params)));
- case 182:
+ case 184:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2747 "parser.y"
+#line 2900 "parser.y"
{
PASS12
(yyval.param) = rfx_calloc(sizeof(param_t));
- case 183:
+ case 185:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2755 "parser.y"
+#line 2908 "parser.y"
{
PASS12
(yyval.param) = rfx_calloc(sizeof(param_t));
- case 186:
+ case 188:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2765 "parser.y"
+#line 2918 "parser.y"
{PASS12 (yyval.token)=0;}
}
break;
- case 187:
+ case 189:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2768 "parser.y"
+#line 2921 "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 188:
+ case 190:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2769 "parser.y"
+#line 2922 "parser.y"
{
PASS1
endfunction(&(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),0,0);
- case 190:
+ case 192:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2785 "parser.y"
+#line 2938 "parser.y"
{PASS12 (yyval.id)=0;}
}
break;
- case 191:
+ case 193:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2787 "parser.y"
+#line 2940 "parser.y"
{PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));}
}
break;
- case 192:
+ case 194:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2788 "parser.y"
+#line 2941 "parser.y"
{
PASS1
endfunction(0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),0,0);
- case 193:
+ case 195:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2810 "parser.y"
+#line 2963 "parser.y"
{
- 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) = &c;
-
- /* let the compiler know that we might be looking for this soon */
- as3_schedule_class_noerror(state->package, (yyvsp[(1) - (1)].id));
+ PASS1 NEW(unresolvedinfo_t,c);
+ memset(c, 0, sizeof(*c));
+ c->kind = INFOTYPE_UNRESOLVED;
+ c->name = (yyvsp[(1) - (1)].id);
+ c->package = get_package_from_name((yyvsp[(1) - (1)].id));
+ if(!c->package) {
+ c->nsset = get_current_imports();
+ /* make the compiler look for this class in the current directory,
+ just in case: */
+ //as3_schedule_class_noerror(state->package, $1);
+ }
+ (yyval.classinfo) = (classinfo_t*)c;
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 194:
+ case 196:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2826 "parser.y"
+#line 2982 "parser.y"
{
- 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) = &c;
+ PASS1 NEW(unresolvedinfo_t,c);
+ memset(c, 0, sizeof(*c));
+ c->kind = INFOTYPE_UNRESOLVED;
+ c->package = (yyvsp[(1) - (3)].id);
+ c->name = (yyvsp[(3) - (3)].id);
+ (yyval.classinfo) = (classinfo_t*)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 197:
+ case 199:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2844 "parser.y"
+#line 2999 "parser.y"
{PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));}
}
break;
- case 198:
+ case 200:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2845 "parser.y"
+#line 3000 "parser.y"
{PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));}
}
break;
- case 199:
+ case 201:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2847 "parser.y"
+#line 3002 "parser.y"
{PASS12 (yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);}
}
break;
- case 200:
+ case 202:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2848 "parser.y"
+#line 3003 "parser.y"
{PASS12 (yyval.classinfo)=registry_getanytype();}
}
break;
- case 201:
+ case 203:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2849 "parser.y"
+#line 3004 "parser.y"
{PASS12 (yyval.classinfo)=registry_getanytype();}
}
break;
- case 202:
+ case 204:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2858 "parser.y"
+#line 3013 "parser.y"
{PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
}
break;
- case 203:
+ case 205:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2859 "parser.y"
+#line 3014 "parser.y"
{PASS12 (yyval.classinfo)=0;}
}
break;
- case 204:
+ case 206:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2863 "parser.y"
- {(yyval.value_list).cc=0;(yyval.value_list).len=0;}
+#line 3018 "parser.y"
+ {(yyval.value_list).cc=0;(yyval.value_list).number=0;}
}
break;
- case 205:
+ case 207:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2864 "parser.y"
+#line 3019 "parser.y"
{(yyval.value_list)=(yyvsp[(2) - (3)].value_list);}
}
break;
- case 206:
+ case 208:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2866 "parser.y"
- {(yyval.value_list).cc=0;(yyval.value_list).len=0;}
+#line 3021 "parser.y"
+ {(yyval.value_list).cc=0;(yyval.value_list).number=0;}
}
break;
- case 209:
+ case 211:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2870 "parser.y"
- {(yyval.value_list).len=1;
+#line 3025 "parser.y"
+ {(yyval.value_list).number=1;
(yyval.value_list).cc = (yyvsp[(1) - (1)].value).c;
}
}
- case 210:
+ case 212:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2874 "parser.y"
+#line 3029 "parser.y"
{(yyval.value_list) = (yyvsp[(1) - (2)].value_list);}
}
break;
- case 211:
+ case 213:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2875 "parser.y"
+#line 3030 "parser.y"
{
- (yyval.value_list).len= (yyvsp[(1) - (2)].value_list).len+1;
+ (yyval.value_list).number= (yyvsp[(1) - (2)].value_list).number+1;
(yyval.value_list).cc = code_append((yyvsp[(1) - (2)].value_list).cc, (yyvsp[(2) - (2)].value).c);
}
}
- case 213:
+ case 215:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2881 "parser.y"
+#line 3036 "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);
multiname_t*name = (yyval.value).c->data[0];(yyval.value).c->data[0]=0;
(yyval.value).c = code_cutlast((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c, paramcode);
- (yyval.value).c = abc_constructprop2((yyval.value).c, name, (yyvsp[(4) - (4)].value_list).len);
+ (yyval.value).c = abc_constructprop2((yyval.value).c, name, (yyvsp[(4) - (4)].value_list).number);
multiname_destroy(name);
} else if((yyval.value).c->opcode == OPCODE_GETSLOT) {
int slot = (int)(ptroff_t)(yyval.value).c->data[0];
multiname_t*name = t->name;
(yyval.value).c = code_cutlast((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c, paramcode);
- (yyval.value).c = abc_constructprop2((yyval.value).c, name, (yyvsp[(4) - (4)].value_list).len);
+ (yyval.value).c = abc_constructprop2((yyval.value).c, name, (yyvsp[(4) - (4)].value_list).number);
} else {
(yyval.value).c = code_append((yyval.value).c, paramcode);
- (yyval.value).c = abc_construct((yyval.value).c, (yyvsp[(4) - (4)].value_list).len);
+ (yyval.value).c = abc_construct((yyval.value).c, (yyvsp[(4) - (4)].value_list).number);
}
(yyval.value).t = TYPE_ANY;
- case 214:
+ case 216:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2917 "parser.y"
+#line 3072 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
multiname_t*name = (yyval.value).c->data[0];(yyval.value).c->data[0]=0;
(yyval.value).c = code_cutlast((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c, paramcode);
- (yyval.value).c = abc_callproperty2((yyval.value).c, name, (yyvsp[(3) - (4)].value_list).len);
+ (yyval.value).c = abc_callproperty2((yyval.value).c, name, (yyvsp[(3) - (4)].value_list).number);
multiname_destroy(name);
} else if((yyval.value).c->opcode == OPCODE_GETSLOT && (yyval.value).c->prev->opcode != OPCODE_GETSCOPEOBJECT) {
int slot = (int)(ptroff_t)(yyval.value).c->data[0];
(yyval.value).c = code_cutlast((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c, paramcode);
//$$.c = abc_callmethod($$.c, t->method, len); //#1051 illegal early access binding
- (yyval.value).c = abc_callproperty2((yyval.value).c, name, (yyvsp[(3) - (4)].value_list).len);
+ (yyval.value).c = abc_callproperty2((yyval.value).c, name, (yyvsp[(3) - (4)].value_list).number);
} else if((yyval.value).c->opcode == OPCODE_GETSUPER) {
multiname_t*name = (yyval.value).c->data[0];(yyval.value).c->data[0]=0;
(yyval.value).c = code_cutlast((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c, paramcode);
- (yyval.value).c = abc_callsuper2((yyval.value).c, name, (yyvsp[(3) - (4)].value_list).len);
+ (yyval.value).c = abc_callsuper2((yyval.value).c, name, (yyvsp[(3) - (4)].value_list).number);
multiname_destroy(name);
} else {
(yyval.value).c = abc_getglobalscope((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c, paramcode);
- (yyval.value).c = abc_call((yyval.value).c, (yyvsp[(3) - (4)].value_list).len);
+ (yyval.value).c = abc_call((yyval.value).c, (yyvsp[(3) - (4)].value_list).number);
}
if(TYPE_IS_FUNCTION((yyvsp[(1) - (4)].value).t) && (yyvsp[(1) - (4)].value).t->data) {
- case 215:
+ case 217:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2963 "parser.y"
+#line 3118 "parser.y"
{
if(!state->cls) syntaxerror("super() not allowed outside of a class");
if(!state->method) syntaxerror("super() not allowed outside of a function");
*/
state->method->has_super = 1;
- (yyval.value).c = abc_constructsuper((yyval.value).c, (yyvsp[(3) - (4)].value_list).len);
+ (yyval.value).c = abc_constructsuper((yyval.value).c, (yyvsp[(3) - (4)].value_list).number);
(yyval.value).c = abc_pushundefined((yyval.value).c);
(yyval.value).t = TYPE_ANY;
}
- case 216:
+ case 218:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2984 "parser.y"
+#line 3139 "parser.y"
{
(yyval.value).c = (yyvsp[(2) - (2)].value).c;
if((yyval.value).c->opcode == OPCODE_COERCE_A) {
- case 217:
+ case 219:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3005 "parser.y"
+#line 3160 "parser.y"
{
(yyval.code) = abc_returnvoid(0);
}
- case 218:
+ case 220:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3008 "parser.y"
+#line 3163 "parser.y"
{
(yyval.code) = (yyvsp[(2) - (2)].value).c;
(yyval.code) = abc_returnvalue((yyval.code));
- case 219:
+ case 221:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3015 "parser.y"
+#line 3170 "parser.y"
{(yyval.value)=(yyvsp[(1) - (1)].value);}
}
break;
- case 220:
+ case 222:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3016 "parser.y"
+#line 3171 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 221:
+ case 223:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3017 "parser.y"
+#line 3172 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (3)].value).c;
(yyval.value).c = cut_last_push((yyval.value).c);
- case 222:
+ case 224:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3023 "parser.y"
+#line 3178 "parser.y"
{
(yyval.code)=cut_last_push((yyvsp[(1) - (1)].value).c);
}
- case 223:
+ case 225:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3029 "parser.y"
+#line 3184 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 225:
+ case 227:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3033 "parser.y"
+#line 3188 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 226:
+ case 228:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3035 "parser.y"
+#line 3190 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 227:
+ case 229:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3037 "parser.y"
+#line 3192 "parser.y"
{(yyval.value) = (yyvsp[(1) - (1)].value);}
}
break;
- case 229:
+ case 231:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3041 "parser.y"
+#line 3196 "parser.y"
{
(yyval.value).c = 0;
namespace_t ns = {ACCESS_PACKAGE, ""};
- case 230:
+ case 232:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3058 "parser.y"
+#line 3213 "parser.y"
{(yyval.value).c = abc_pushbyte(0, (yyvsp[(1) - (1)].number_uint));
//MULTINAME(m, registry_getintclass());
//$$.c = abc_coerce2($$.c, &m); // FIXME
- case 231:
+ case 233:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3063 "parser.y"
+#line 3218 "parser.y"
{(yyval.value).c = abc_pushshort(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_INT;
}
- case 232:
+ case 234:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3066 "parser.y"
+#line 3221 "parser.y"
{(yyval.value).c = abc_pushint(0, (yyvsp[(1) - (1)].number_int));
(yyval.value).t = TYPE_INT;
}
- case 233:
+ case 235:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3069 "parser.y"
+#line 3224 "parser.y"
{(yyval.value).c = abc_pushuint(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_UINT;
}
- case 234:
+ case 236:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3072 "parser.y"
+#line 3227 "parser.y"
{(yyval.value).c = abc_pushdouble(0, (yyvsp[(1) - (1)].number_float));
(yyval.value).t = TYPE_FLOAT;
}
- case 235:
+ case 237:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3075 "parser.y"
+#line 3230 "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 236:
+ case 238:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3078 "parser.y"
+#line 3233 "parser.y"
{(yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
}
- case 237:
+ case 239:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3081 "parser.y"
+#line 3236 "parser.y"
{(yyval.value).c = abc_pushtrue(0);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 238:
+ case 240:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3084 "parser.y"
+#line 3239 "parser.y"
{(yyval.value).c = abc_pushfalse(0);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 239:
+ case 241:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3087 "parser.y"
+#line 3242 "parser.y"
{(yyval.value).c = abc_pushnull(0);
(yyval.value).t = TYPE_NULL;
}
- case 240:
+ case 242:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3091 "parser.y"
+#line 3246 "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 241:
+ case 243:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3094 "parser.y"
+#line 3249 "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 242:
+ case 244:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3097 "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_greaterthan((yyval.value).c);(yyval.value).c=abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
}
- case 243:
+ case 245:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3100 "parser.y"
+#line 3255 "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 244:
+ case 246:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3103 "parser.y"
+#line 3258 "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 245:
+ case 247:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3106 "parser.y"
+#line 3261 "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 246:
+ case 248:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3109 "parser.y"
+#line 3264 "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 247:
+ case 249:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3112 "parser.y"
+#line 3267 "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 248:
+ case 250:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3116 "parser.y"
+#line 3271 "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 249:
+ case 251:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3127 "parser.y"
+#line 3282 "parser.y"
{
(yyval.value).t = join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, 'A');
/*printf("%08x:\n",$1.t);
- case 250:
+ case 252:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3145 "parser.y"
+#line 3300 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
- case 251:
+ case 253:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3150 "parser.y"
+#line 3305 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_bitnot((yyval.value).c);
(yyval.value).t = TYPE_INT;
- case 252:
+ case 254:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3155 "parser.y"
+#line 3310 "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 253:
+ case 255:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3160 "parser.y"
+#line 3315 "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 254:
+ case 256:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3165 "parser.y"
+#line 3320 "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 255:
+ case 257:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3170 "parser.y"
+#line 3325 "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 256:
+ case 258:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3174 "parser.y"
+#line 3329 "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 257:
+ case 259:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3178 "parser.y"
+#line 3333 "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 258:
+ case 260:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3183 "parser.y"
+#line 3338 "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 259:
+ case 261:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3187 "parser.y"
+#line 3342 "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 260:
+ case 262:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3191 "parser.y"
+#line 3346 "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 261:
+ case 263:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3200 "parser.y"
+#line 3355 "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 262:
+ case 264:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3209 "parser.y"
+#line 3364 "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 263:
+ case 265:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3219 "parser.y"
+#line 3374 "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 264:
+ case 266:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3224 "parser.y"
+#line 3379 "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 265:
+ case 267:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3237 "parser.y"
+#line 3392 "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 266:
+ case 268:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3242 "parser.y"
+#line 3397 "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 267:
+ case 269:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3247 "parser.y"
+#line 3402 "parser.y"
{
(yyval.value).c = (yyvsp[(3) - (4)].value).c;
(yyval.value).c = abc_typeof((yyval.value).c);
- case 268:
+ case 270:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3253 "parser.y"
+#line 3408 "parser.y"
{
(yyval.value).c = cut_last_push((yyvsp[(2) - (2)].value).c);
(yyval.value).c = abc_pushundefined((yyval.value).c);
- case 269:
+ case 271:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3259 "parser.y"
+#line 3414 "parser.y"
{ (yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
}
- case 270:
+ case 272:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3263 "parser.y"
+#line 3418 "parser.y"
{(yyval.value)=(yyvsp[(2) - (3)].value);}
}
break;
- case 271:
+ case 273:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3265 "parser.y"
+#line 3420 "parser.y"
{
(yyval.value)=(yyvsp[(2) - (2)].value);
if(IS_INT((yyvsp[(2) - (2)].value).t)) {
- case 272:
+ case 274:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3276 "parser.y"
+#line 3431 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(3) - (4)].value).c);
- case 273:
+ case 275:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3285 "parser.y"
+#line 3440 "parser.y"
{
(yyval.value).c = code_new();
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(2) - (3)].value_list).cc);
- (yyval.value).c = abc_newarray((yyval.value).c, (yyvsp[(2) - (3)].value_list).len);
+ (yyval.value).c = abc_newarray((yyval.value).c, (yyvsp[(2) - (3)].value_list).number);
(yyval.value).t = registry_getarrayclass();
}
}
- case 274:
+ case 276:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3292 "parser.y"
- {(yyval.value_list).cc=0;(yyval.value_list).len=0;}
+#line 3447 "parser.y"
+ {(yyval.value_list).cc=0;(yyval.value_list).number=0;}
}
break;
- case 275:
+ case 277:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3293 "parser.y"
+#line 3448 "parser.y"
{(yyval.value_list)=(yyvsp[(1) - (1)].value_list);}
}
break;
- case 276:
+ case 278:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3295 "parser.y"
+#line 3450 "parser.y"
{
(yyval.value_list).cc = 0;
(yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].value).c);
(yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(3) - (3)].value).c);
- (yyval.value_list).len = 2;
+ (yyval.value_list).number = 2;
}
}
break;
- case 277:
+ case 279:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3301 "parser.y"
+#line 3456 "parser.y"
{
(yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc;
- (yyval.value_list).len = (yyvsp[(1) - (5)].value_list).len+2;
+ (yyval.value_list).number = (yyvsp[(1) - (5)].value_list).number+2;
(yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(3) - (5)].value).c);
(yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(5) - (5)].value).c);
}
- case 278:
+ case 280:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3310 "parser.y"
+#line 3465 "parser.y"
{
(yyval.value).c = code_new();
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(2) - (3)].value_list).cc);
- (yyval.value).c = abc_newobject((yyval.value).c, (yyvsp[(2) - (3)].value_list).len/2);
+ (yyval.value).c = abc_newobject((yyval.value).c, (yyvsp[(2) - (3)].value_list).number/2);
(yyval.value).t = registry_getobjectclass();
}
}
- case 279:
+ case 281:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3317 "parser.y"
+#line 3472 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
if(BOTH_INT((yyvsp[(1) - (3)].value).t,(yyvsp[(3) - (3)].value).t)) {
- case 280:
+ case 282:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3329 "parser.y"
+#line 3484 "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 281:
+ case 283:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3335 "parser.y"
+#line 3490 "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 282:
+ case 284:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3341 "parser.y"
+#line 3496 "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 283:
+ case 285:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3347 "parser.y"
+#line 3502 "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 284:
+ case 286:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3353 "parser.y"
+#line 3508 "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 285:
+ case 287:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3359 "parser.y"
+#line 3514 "parser.y"
{
code_t*c = abc_bitor((yyvsp[(3) - (3)].value).c);
c=converttype(c, TYPE_INT, (yyvsp[(1) - (3)].value).t);
- case 286:
+ case 288:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3365 "parser.y"
+#line 3520 "parser.y"
{
code_t*c = abc_bitxor((yyvsp[(3) - (3)].value).c);
c=converttype(c, TYPE_INT, (yyvsp[(1) - (3)].value).t);
- case 287:
+ case 289:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3371 "parser.y"
+#line 3526 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
- case 288:
+ case 290:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3384 "parser.y"
+#line 3539 "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 289:
+ case 291:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3395 "parser.y"
+#line 3550 "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 290:
+ case 292:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3402 "parser.y"
+#line 3557 "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 291:
+ case 293:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3415 "parser.y"
+#line 3570 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(1) - (2)].value).t;
if(is_getlocal((yyvsp[(1) - (2)].value).c) && (TYPE_IS_INT((yyvsp[(1) - (2)].value).t) || TYPE_IS_NUMBER((yyvsp[(1) - (2)].value).t))) {
- case 292:
+ case 294:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3442 "parser.y"
+#line 3597 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(1) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 293:
+ case 295:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3456 "parser.y"
+#line 3611 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 294:
+ case 296:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3470 "parser.y"
+#line 3625 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
- case 295:
+ case 297:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3485 "parser.y"
+#line 3640 "parser.y"
{ if(!state->cls->info)
syntaxerror("super keyword not allowed outside a class");
classinfo_t*t = state->cls->info->superclass;
if(!t) t = TYPE_OBJECT;
- memberinfo_t*f = registry_findmember_nsset(t, state->active_namespaces, (yyvsp[(3) - (3)].id), 1);
+ memberinfo_t*f = findmember_nsset(t, (yyvsp[(3) - (3)].id), 1);
MEMBER_MULTINAME(m, f, (yyvsp[(3) - (3)].id));
(yyval.value).c = 0;
- case 296:
+ case 298:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3499 "parser.y"
+#line 3654 "parser.y"
{
// attribute TODO
(yyval.value).c = abc_pushundefined(0);
- case 297:
+ case 299:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3506 "parser.y"
+#line 3661 "parser.y"
{
// child attribute TODO
(yyval.value).c = abc_pushundefined(0);
- case 298:
+ case 300:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3513 "parser.y"
+#line 3668 "parser.y"
{
// namespace declaration TODO
(yyval.value).c = abc_pushundefined(0);
- case 299:
+ case 301:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3520 "parser.y"
+#line 3675 "parser.y"
{
// descendants TODO
(yyval.value).c = abc_pushundefined(0);
- case 300:
+ case 302:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3527 "parser.y"
+#line 3682 "parser.y"
{
// filter TODO
(yyval.value).c = abc_pushundefined(0);
- case 301:
+ case 303:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3538 "parser.y"
+#line 3693 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (3)].value).c;
classinfo_t*t = (yyvsp[(1) - (3)].value).t;
is_static = 1;
}
if(t) {
- if(t->subtype==0xff) {
+ if(t->subtype==INFOTYPE_UNRESOLVED) {
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);
+ memberinfo_t*f = findmember_nsset(t, (yyvsp[(3) - (3)].id), 1);
char noslot = 0;
if(f && !is_static != !(f->flags&FLAG_STATIC))
noslot=1;
} 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)) {
+
+ slotinfo_t*a = registry_find(package->str, (yyvsp[(3) - (3)].id));
+ if(a) {
+ (yyval.value) = push_class(a);
+ } else if(dict_contains(state->import_toplevel_packages, package2) ||
+ registry_ispackage(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);
+ syntaxerror("couldn't resolve %s", package2);
}
} else {
/* when resolving a property on an unknown type, we do know the
- case 302:
+ case 304:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3588 "parser.y"
+#line 3745 "parser.y"
{
PASS1
/* Queue unresolved identifiers for checking against the parent
unknown_variable((yyvsp[(1) - (1)].id));
}
- /* let the compiler know that it might check the current directory/package
+ /* let the compiler know that it might want to 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));
+ //as3_schedule_class_noerror(state->package, $1);
PASS2
(yyval.value).t = 0;
int i_am_static = (state->method && state->method->info)?(state->method->info->flags&FLAG_STATIC):FLAG_STATIC;
/* look at current class' members */
- if(state->cls && (f = registry_findmember_nsset(state->cls->info, state->active_namespaces, (yyvsp[(1) - (1)].id), 1)) &&
- (f->flags&FLAG_STATIC) >= i_am_static) {
+ if(!state->method->inner &&
+ state->cls &&
+ (f = findmember_nsset(state->cls->info, (yyvsp[(1) - (1)].id), 1)) &&
+ (f->flags&FLAG_STATIC) >= i_am_static)
+ {
// $1 is a function in this class
int var_is_static = (f->flags&FLAG_STATIC);
}
/* look through package prefixes */
- if(dict_contains(state->import_toplevel_packages, (yyvsp[(1) - (1)].id))) {
+ if(dict_contains(state->import_toplevel_packages, (yyvsp[(1) - (1)].id)) ||
+ registry_ispackage((yyvsp[(1) - (1)].id))) {
(yyval.value).c = abc___pushpackage__((yyval.value).c, (yyvsp[(1) - (1)].id));
(yyval.value).t = 0;
break;
- case 303:
+ case 305:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3693 "parser.y"
+#line 3854 "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 = (yyvsp[(2) - (2)].id);
+ (yyval.namespace_decl)=n;
}
}
break;
- case 304:
+ case 306:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3699 "parser.y"
+#line 3861 "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 305:
+ case 307:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3702 "parser.y"
+#line 3868 "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 306:
+ case 308:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3705 "parser.y"
+#line 3875 "parser.y"
{
+ PASS12
+ trie_put(active_namespaces, (yyvsp[(2) - (2)].namespace_decl)->name, (void*)(yyvsp[(2) - (2)].namespace_decl)->url);
+
+ namespace_t access = modifiers2access(&(yyvsp[(1) - (2)].flags));
+ varinfo_t* var = varinfo_register_global(access.access, state->package, (yyvsp[(2) - (2)].namespace_decl)->name);
+ var->type = TYPE_NAMESPACE;
+ namespace_t ns;
+ ns.access = ACCESS_NAMESPACE;
+ ns.name = (yyvsp[(2) - (2)].namespace_decl)->url;
+ var->value = constant_new_namespace(&ns);
+
(yyval.code)=0;
}
}
- case 307:
+ case 309:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3708 "parser.y"
+#line 3890 "parser.y"
{
- PASS12
- tokenizer_register_namespace((yyvsp[(3) - (3)].classinfo)->name);
+
+ const char*url = (yyvsp[(3) - (3)].classinfo)->name;
+ varinfo_t*s = (varinfo_t*)(yyvsp[(3) - (3)].classinfo);
+ if(!s || s->kind != INFOTYPE_SLOT)
+ syntaxerror("%s.%s is not a public namespace (%d)", (yyvsp[(3) - (3)].classinfo)->package, (yyvsp[(3) - (3)].classinfo)->name, s?s->kind:-1);
+ if(!s->value || !NS_TYPE(s->value->type))
+ syntaxerror("%s.%s is not a namespace", (yyvsp[(3) - (3)].classinfo)->package, (yyvsp[(3) - (3)].classinfo)->name);
+ url = s->value->ns->name;
+
+ trie_put(active_namespaces, (yyvsp[(3) - (3)].classinfo)->name, (void*)url);
+ add_active_url(url);
(yyval.code)=0;
}
}
/* Line 1464 of skeleton.m4 */
-#line 8059 "parser.tab.c"
+#line 8271 "parser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);