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
}
}
}
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);
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) {
new_variable(p->param->name, p->param->type, 0, 1);
}
}
-
+
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) {
+ v->type = (classinfo_t*)registry_resolve((slotinfo_t*)v->type);
+ if(!v->type || v->type->kind != INFOTYPE_CLASS) {
+ syntaxerror("Couldn't find class %s", v->type->name);
+ }
+ }
+ }
+ }
}
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 2127 "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, 2105, 2105, 2107, 2107, 2108, 2109, 2111, 2112, 2113,
+ 2114, 2115, 2116, 2117, 2118, 2120, 2120, 2121, 2122, 2124,
+ 2125, 2126, 2127, 2128, 2129, 2130, 2132, 2133, 2135, 2136,
+ 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148,
+ 2149, 2150, 2151, 2152, 2155, 2156, 2157, 2158, 2159, 2160,
+ 2161, 2162, 2166, 2167, 2171, 2178, 2182, 2183, 2187, 2188,
+ 2190, 2191, 2193, 2254, 2255, 2258, 2258, 2277, 2278, 2279,
+ 2284, 2288, 2293, 2294, 2296, 2316, 2364, 2364, 2383, 2383,
+ 2398, 2401, 2404, 2407, 2411, 2412, 2413, 2414, 2415, 2416,
+ 2418, 2429, 2432, 2432, 2463, 2463, 2488, 2488, 2504, 2505,
+ 2506, 2507, 2515, 2524, 2524, 2573, 2577, 2588, 2598, 2615,
+ 2616, 2617, 2619, 2620, 2622, 2622, 2624, 2624, 2627, 2643,
+ 2660, 2661, 2662, 2663, 2670, 2671, 2672, 2673, 2674, 2675,
+ 2676, 2677, 2678, 2679, 2683, 2684, 2686, 2687, 2689, 2690,
+ 2694, 2692, 2700, 2698, 2707, 2708, 2709, 2710, 2711, 2712,
+ 2713, 2714, 2716, 2722, 2723, 2724, 2725, 2726, 2727, 2730,
+ 2743, 2743, 2745, 2745, 2747, 2748, 2750, 2825, 2826, 2828,
+ 2829, 2830, 2831, 2832, 2834, 2835, 2836, 2837, 2849, 2853,
+ 2859, 2865, 2873, 2878, 2884, 2892, 2900, 2901, 2902, 2905,
+ 2904, 2921, 2922, 2924, 2923, 2947, 2966, 2980, 2981, 2983,
+ 2984, 2986, 2987, 2988, 2997, 2998, 3002, 3003, 3005, 3006,
+ 3007, 3009, 3013, 3014, 3019, 3020, 3056, 3102, 3123, 3144,
+ 3147, 3154, 3155, 3156, 3162, 3168, 3170, 3172, 3174, 3176,
+ 3178, 3180, 3197, 3202, 3205, 3208, 3211, 3214, 3217, 3220,
+ 3223, 3226, 3230, 3233, 3236, 3239, 3242, 3245, 3248, 3251,
+ 3255, 3266, 3284, 3289, 3294, 3299, 3304, 3309, 3313, 3317,
+ 3322, 3326, 3330, 3339, 3348, 3358, 3363, 3375, 3381, 3386,
+ 3392, 3398, 3402, 3404, 3415, 3424, 3431, 3432, 3434, 3440,
+ 3449, 3456, 3468, 3474, 3480, 3486, 3492, 3498, 3504, 3510,
+ 3523, 3534, 3541, 3554, 3581, 3595, 3609, 3623, 3638, 3645,
+ 3652, 3659, 3666, 3677, 3729, 3838, 3845, 3852, 3859, 3874
};
#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,
+ 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,
- 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, 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,
+ 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, 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,
- 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,
+ 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, 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,
- 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, 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,
- 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,
+ 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, 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, 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, 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, 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,
- 112, -1, -1, -1, -1, 117, 118, -1, -1, -1,
- 122, -1, 124, -1, 126, -1, 128, 3, 4, 5,
+ -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,
+ 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, 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,
+ -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 2132 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2021 "parser.y"
+#line 2133 "parser.y"
{(yyval.code)=code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2023 "parser.y"
+#line 2135 "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 2136 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2039 "parser.y"
+#line 2151 "parser.y"
{(yyval.code)=(yyvsp[(2) - (3)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2040 "parser.y"
+#line 2152 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2043 "parser.y"
+#line 2155 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2050 "parser.y"
+#line 2162 "parser.y"
{(yyval.code)=(yyvsp[(3) - (4)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2054 "parser.y"
+#line 2166 "parser.y"
{(yyval.code)=(yyvsp[(1) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2055 "parser.y"
+#line 2167 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2059 "parser.y"
+#line 2171 "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 2182 "parser.y"
{(yyval.value)=(yyvsp[(2) - (2)].value);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2071 "parser.y"
+#line 2183 "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 2187 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2076 "parser.y"
+#line 2188 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2078 "parser.y"
+#line 2190 "parser.y"
{(yyval.code) = (yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2079 "parser.y"
+#line 2191 "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 2194 "parser.y"
{
PASS12
if(variable_exists((yyvsp[(1) - (3)].id)))
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2142 "parser.y"
+#line 2254 "parser.y"
{(yyval.code) = code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2143 "parser.y"
+#line 2255 "parser.y"
{(yyval.code)=(yyvsp[(2) - (2)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2146 "parser.y"
+#line 2258 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2146 "parser.y"
+#line 2258 "parser.y"
{
(yyval.code) = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2165 "parser.y"
+#line 2277 "parser.y"
{(yyval.code)=code_new();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2172 "parser.y"
+#line 2284 "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 2288 "parser.y"
{
PASS12
(yyval.id)=(yyvsp[(1) - (1)].id);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2181 "parser.y"
+#line 2293 "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 2294 "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 2296 "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 2316 "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 2364 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2252 "parser.y"
+#line 2364 "parser.y"
{
(yyval.code) = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2271 "parser.y"
+#line 2383 "parser.y"
{PASS12 new_state();}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2271 "parser.y"
+#line 2383 "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 2398 "parser.y"
{
(yyval.code) = abc___break__(0, "");
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2289 "parser.y"
+#line 2401 "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 2404 "parser.y"
{
(yyval.code) = abc___continue__(0, "");
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2295 "parser.y"
+#line 2407 "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 2411 "parser.y"
{(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2300 "parser.y"
+#line 2412 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2301 "parser.y"
+#line 2413 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2302 "parser.y"
+#line 2414 "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 2415 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2304 "parser.y"
+#line 2416 "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 2418 "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 2429 "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 2432 "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 2432 "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 2463 "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 2468 "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 2488 "parser.y"
{PASS12 new_state();state->exception_name=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2373 "parser.y"
+#line 2488 "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 2504 "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 2505 "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 2506 "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 2507 "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 2515 "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 2524 "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 2527 "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 2573 "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 2577 "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 2588 "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 2598 "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 2616 "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 2617 "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 2619 "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 2620 "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 2622 "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 2623 "parser.y"
{PASS12 endpackage();(yyval.code)=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2489 "parser.y"
- {
- PASS12
- slotinfo_t*s = registry_find((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name);
+#line 2624 "parser.y"
+ {PASS12 startpackage("");}
+ }
+ break;
+
+
+
+ case 117:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2625 "parser.y"
+ {PASS12 endpackage();(yyval.code)=0;}
+ }
+ break;
+
+
+
+ case 118:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2627 "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);
}
- case 117:
+ case 119:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2505 "parser.y"
+#line 2643 "parser.y"
{
PASS12
if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6) && as3_pass==1) {
- case 118:
+ case 120:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2522 "parser.y"
+#line 2660 "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 2661 "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 2662 "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 2663 "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 2670 "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 2671 "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 2672 "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 2673 "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 2674 "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 2675 "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 2676 "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 2677 "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 2678 "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 2679 "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 2683 "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 2684 "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 2686 "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 2687 "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 2689 "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 2690 "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 2694 "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 2696 "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 2700 "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 2703 "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 2716 "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 2727 "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 2730 "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 2745 "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 2745 "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 2747 "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 2748 "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 2751 "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 2825 "parser.y"
{(yyval.constant)=0;}
}
break;
- case 166:
+ case 168:
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 2689 "parser.y"
+#line 2826 "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 2828 "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 2829 "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 2830 "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 2831 "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 2832 "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 2834 "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 2835 "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 2836 "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 2837 "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 2849 "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 2853 "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 2859 "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 2865 "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 2873 "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 2878 "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 2884 "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 2892 "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 2902 "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 2905 "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 2906 "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 2922 "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 2924 "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 2925 "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 2947 "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 2966 "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 2983 "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 2984 "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 2986 "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 2987 "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 2988 "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 2997 "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 2998 "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 3002 "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 3003 "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 3005 "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 3009 "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 3013 "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 3014 "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 3020 "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 3056 "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 3102 "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 3123 "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 3144 "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 3147 "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 3154 "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 3155 "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 3156 "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 3162 "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 3168 "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 3172 "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 3174 "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 3176 "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 3180 "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 3197 "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 3202 "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 3205 "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 3208 "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 3211 "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 3214 "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 3217 "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 3220 "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 3223 "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 3226 "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 3230 "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 3233 "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 3236 "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 3239 "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 3242 "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 3245 "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 3248 "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 3251 "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 3255 "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 3266 "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 3284 "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 3289 "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 3294 "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 3299 "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 3304 "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 3309 "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 3313 "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 3317 "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 3322 "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 3326 "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 3330 "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 3339 "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 3348 "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 3358 "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 3363 "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 3376 "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 3381 "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 3386 "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 3392 "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 3398 "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 3402 "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 3404 "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 3415 "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 3424 "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 3431 "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 3432 "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 3434 "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 3440 "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 3449 "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 3456 "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 3468 "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 3474 "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 3480 "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 3486 "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 3492 "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 3498 "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 3504 "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 3510 "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 3523 "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 3534 "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 3541 "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 3554 "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 3581 "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 3595 "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 3609 "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 3624 "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 3638 "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 3645 "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 3652 "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 3659 "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 3666 "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 3677 "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 3729 "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 3838 "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 3845 "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 3852 "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 3859 "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 3874 "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 8255 "parser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);