#define YYBISON_VERSION "2.4"
/* Skeleton name. */
-#define YYSKELETON_NAME "yacc.c"
+#define YYSKELETON_NAME "./skeleton.m4"
/* Pure parsers. */
#define YYPURE 0
/* Copy the first part of user declarations. */
-/* Line 189 of yacc.c */
+/* Line 198 of skeleton.m4 */
#line 23 "parser.y"
#include <stdlib.h>
-/* Line 189 of yacc.c */
+/* Line 198 of skeleton.m4 */
#line 96 "parser.tab.c"
/* Enabling traces. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union
-/* Line 214 of yacc.c */
+/* Line 223 of skeleton.m4 */
#line 41 "parser.y"
tokenunion
{
-/* Line 214 of yacc.c */
+/* Line 223 of skeleton.m4 */
#line 41 "parser.y"
enum yytokentype token;
-/* Line 214 of yacc.c */
+/* Line 223 of skeleton.m4 */
#line 268 "parser.tab.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
/* Copy the second part of user declarations. */
-/* Line 264 of yacc.c */
+/* Line 273 of skeleton.m4 */
#line 251 "parser.y"
char is_constructor;
char has_super;
char is_global;
+ char inner;
abc_exception_list_t*exceptions;
} methodstate_t;
state_t*leaving = state;
state = state->old;
+
+ if(leaving->method && leaving->method != state->method) {
+ free(leaving->method);
+ leaving->method=0;
+ }
+ if(leaving->cls && leaving->cls != state->cls) {
+ free(leaving->cls);
+ leaving->cls=0;
+ }
+
state_destroy(leaving);
}
old_state();
}
+void parserassert(int b)
+{
+ if(!b) syntaxerror("internal error: assertion failed");
+}
+
+
char*as3_globalclass=0;
static void startclass(int flags, char*classname, classinfo_t*extends, classinfo_list_t*implements, char interface)
{
syntaxerror("public classes only allowed inside a package");
}
- if(registry_findclass(package, classname)) {
- syntaxerror("Package \"%s\" already contains a class called \"%s\"", package, classname);
- }
-
-
- /* build info struct */
- int num_interfaces = (list_length(implements));
- state->cls->info = classinfo_register(access, package, classname, num_interfaces);
- state->cls->info->superclass = extends?extends:TYPE_OBJECT;
- 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==1) {
+ if(registry_findclass(package, classname)) {
+ syntaxerror("Package \"%s\" already contains a class called \"%s\"", package, classname);
+ }
+ /* build info struct */
+ int num_interfaces = (list_length(implements));
+ state->cls->info = classinfo_register(access, package, classname, num_interfaces);
}
- multiname_t*extends2 = sig2mname(extends);
+ if(as3_pass == 2) {
+ state->cls->info = registry_findclass(package, classname);
+ parserassert((int)state->cls->info);
+
+ /* fill out interfaces and extends (we couldn't resolve those during the first pass) */
+ state->cls->info->superclass = extends?extends:TYPE_OBJECT;
+ int pos = 0;
+ classinfo_list_t*l = implements;
+ for(l=implements;l;l=l->next) {
+ state->cls->info->interfaces[pos++] = l->classinfo;
+ }
- MULTINAME(classname2,state->cls->info);
+ /* generate the abc code for this class */
+ MULTINAME(classname2,state->cls->info);
+ multiname_t*extends2 = sig2mname(extends);
- /*if(extends) {
- state->cls_init = abc_getlocal_0(state->cls_init);
- state->cls_init = abc_constructsuper(state->cls_init, 0);
- }*/
+ state->cls->abc = abc_class_new(global->file, &classname2, extends2);
+ if(flags&FLAG_FINAL) abc_class_final(state->cls->abc);
+ if(!(flags&FLAG_DYNAMIC)) abc_class_sealed(state->cls->abc);
+ if(interface) {
+ state->cls->info->flags |= CLASS_INTERFACE;
+ abc_class_interface(state->cls->abc);
+ }
- state->cls->abc = abc_class_new(global->file, &classname2, extends2);
- if(flags&FLAG_FINAL) abc_class_final(state->cls->abc);
- if(!(flags&FLAG_DYNAMIC)) abc_class_sealed(state->cls->abc);
- if(interface) {
- state->cls->info->flags |= CLASS_INTERFACE;
- abc_class_interface(state->cls->abc);
- }
+ abc_class_protectedNS(state->cls->abc, classname);
- abc_class_protectedNS(state->cls->abc, classname);
+ for(mlist=implements;mlist;mlist=mlist->next) {
+ MULTINAME(m, mlist->classinfo);
+ abc_class_add_interface(state->cls->abc, &m);
+ }
- for(mlist=implements;mlist;mlist=mlist->next) {
- MULTINAME(m, mlist->classinfo);
- abc_class_add_interface(state->cls->abc, &m);
- }
+ /* write the construction code for this class to the global init
+ function */
+ int slotindex = abc_initscript_addClassTrait(global->init, &classname2, state->cls->abc);
- /* now write the construction code for this class */
- int slotindex = abc_initscript_addClassTrait(global->init, &classname2, state->cls->abc);
+ abc_method_body_t*m = global->init->method->body;
+ __ getglobalscope(m);
+ classinfo_t*s = extends;
- abc_method_body_t*m = global->init->method->body;
- __ getglobalscope(m);
- classinfo_t*s = extends;
+ int count=0;
+
+ while(s) {
+ //TODO: take a look at the current scope stack, maybe
+ // we can re-use something
+ s = s->superclass;
+ if(!s)
+ break;
+
+ multiname_t*s2 = sig2mname(s);
+ __ getlex2(m, s2);
+ multiname_destroy(s2);
- int count=0;
-
- while(s) {
- //TODO: take a look at the current scope stack, maybe
- // we can re-use something
- s = s->superclass;
- if(!s)
- break;
-
- multiname_t*s2 = sig2mname(s);
- __ getlex2(m, s2);
- multiname_destroy(s2);
-
- __ pushscope(m); count++;
- m->code = m->code->prev->prev; // invert
- }
- /* continue appending after last op end */
- while(m->code && m->code->next) m->code = m->code->next;
-
- /* TODO: if this is one of *our* classes, we can also
- do a getglobalscope/getslot <nr> (which references
- the init function's slots) */
- if(extends2) {
- __ getlex2(m, extends2);
- __ dup(m);
- /* notice: we get a Verify Error #1107 if the top elemnt on the scope
- stack is not the superclass */
- __ pushscope(m);count++;
- } else {
- __ pushnull(m);
- /* notice: we get a verify error #1107 if the top element on the scope
- stack is not the global object */
- __ getlocal_0(m);
- __ pushscope(m);count++;
- }
- __ newclass(m,state->cls->abc);
- while(count--) {
- __ popscope(m);
- }
- __ setslot(m, slotindex);
-
- /* flash.display.MovieClip handling */
- if(!as3_globalclass && (flags&FLAG_PUBLIC) && classinfo_equals(registry_getMovieClip(),extends)) {
- if(state->package && state->package[0]) {
- as3_globalclass = concat3(state->package, ".", classname);
+ __ pushscope(m); count++;
+ m->code = m->code->prev->prev; // invert
+ }
+ /* continue appending after last op end */
+ while(m->code && m->code->next) m->code = m->code->next;
+
+ /* TODO: if this is one of *our* classes, we can also
+ do a getglobalscope/getslot <nr> (which references
+ the init function's slots) */
+ if(extends2) {
+ __ getlex2(m, extends2);
+ __ dup(m);
+ /* notice: we get a Verify Error #1107 if the top elemnt on the scope
+ stack is not the superclass */
+ __ pushscope(m);count++;
} else {
- as3_globalclass = strdup(classname);
+ __ pushnull(m);
+ /* notice: we get a verify error #1107 if the top element on the scope
+ stack is not the global object */
+ __ getlocal_0(m);
+ __ pushscope(m);count++;
+ }
+ __ newclass(m,state->cls->abc);
+ while(count--) {
+ __ popscope(m);
+ }
+ __ setslot(m, slotindex);
+ multiname_destroy(extends2);
+
+ /* flash.display.MovieClip handling */
+
+ if(!as3_globalclass && (flags&FLAG_PUBLIC) && classinfo_equals(registry_getMovieClip(),extends)) {
+ if(state->package && state->package[0]) {
+ as3_globalclass = concat3(state->package, ".", classname);
+ } else {
+ as3_globalclass = strdup(classname);
+ }
}
}
- multiname_destroy(extends2);
}
static void endclass()
{
- if(!state->cls->has_constructor && !(state->cls->info->flags&CLASS_INTERFACE)) {
- code_t*c = 0;
- c = abc_getlocal_0(c);
- c = abc_constructsuper(c, 0);
- state->cls->init = code_append(state->cls->init, c);
- }
- if(!state->method->late_binding) {
- // class initialization code uses late binding
- code_t*c = 0;
- c = abc_getlocal_0(c);
- c = abc_pushscope(c);
- state->cls->static_init = code_append(c, state->cls->static_init);
- }
+ if(as3_pass == 2) {
+ if(!state->cls->has_constructor && !(state->cls->info->flags&CLASS_INTERFACE)) {
+ code_t*c = 0;
+ c = abc_getlocal_0(c);
+ c = abc_constructsuper(c, 0);
+ state->cls->init = code_append(state->cls->init, c);
+ }
+ if(!state->method->late_binding) {
+ // class initialization code uses late binding
+ code_t*c = 0;
+ c = abc_getlocal_0(c);
+ c = abc_pushscope(c);
+ state->cls->static_init = code_append(c, state->cls->static_init);
+ }
- if(state->cls->init) {
- abc_method_t*m = abc_class_getconstructor(state->cls->abc, 0);
- m->body->code = wrap_function(0, state->cls->init, m->body->code);
- }
- if(state->cls->static_init) {
- abc_method_t*m = abc_class_getstaticconstructor(state->cls->abc, 0);
- m->body->code = wrap_function(0, state->cls->static_init, m->body->code);
+ if(state->cls->init) {
+ abc_method_t*m = abc_class_getconstructor(state->cls->abc, 0);
+ m->body->code = wrap_function(0, state->cls->init, m->body->code);
+ }
+ if(state->cls->static_init) {
+ abc_method_t*m = abc_class_getstaticconstructor(state->cls->abc, 0);
+ m->body->code = wrap_function(0, state->cls->static_init, m->body->code);
+ }
}
- free(state->cls);state->cls=0;
- free(state->method);state->method=0;
old_state();
}
return minfo;
}
+static void innerfunction(char*name, params_t*params, classinfo_t*return_type)
+{
+ parserassert(state->method && state->method->info);
+ memberinfo_t*parent_method = state->method->info;
+
+ if(as3_pass==1) {
+ // not valid yet
+ params = 0;
+ return_type = 0;
+ }
+
+ new_state();
+ state->method = rfx_calloc(sizeof(methodstate_t));
+ state->method->inner = 1;
+
+ NEW(memberinfo_t,minfo);
+ minfo->return_type = return_type;
+ minfo->name = name;
+
+ if(!parent_method->subfunctions)
+ parent_method->subfunctions = dict_new();
+
+ dict_put(parent_method->subfunctions, name, minfo);
+ state->method->info = minfo;
+}
+
static void startfunction(token_t*ns, int flags, enum yytokentype getset, char*name,
params_t*params, classinfo_t*return_type)
{
syntaxerror("not able to start another method scope");
}
new_state();
- global->variable_count = 0;
state->method = rfx_calloc(sizeof(methodstate_t));
state->method->has_super = 0;
if(state->cls) {
state->method->is_constructor = !strcmp(state->cls->info->name,name);
state->cls->has_constructor |= state->method->is_constructor;
-
- new_variable((flags&FLAG_STATIC)?"class":"this", state->cls->info, 0);
} else {
state->method->is_global = 1;
state->method->late_binding = 1; // for global methods, always push local_0 on the scope stack
-
- new_variable("globalscope", 0, 0);
- }
-
- /* state->vars is initialized by state_new */
-
- param_list_t*p=0;
- for(p=params->list;p;p=p->next) {
- new_variable(p->param->name, p->param->type, 0);
}
if(state->method->is_constructor)
name = "__as3_constructor__";
- state->method->info = registerfunction(getset, flags, name, params, return_type, 0);
+
+ if(as3_pass == 1) {
+ return_type = 0;
+ state->method->info = registerfunction(getset, flags, name, params, return_type, 0);
+ }
+
+ if(as3_pass == 2) {
+ /* retrieve the member info that we stored in the first pass.
+ TODO: better getter/setter support? */
+ if(!state->cls) state->method->info = registry_findclass(state->package, name)->function;
+ else state->method->info = registry_findmember(state->cls->info, name, 0);
+ state->method->info->return_type = return_type;
+
+ global->variable_count = 0;
+ /* state->vars is initialized by state_new */
+ if(!state->method->is_global)
+ new_variable((flags&FLAG_STATIC)?"class":"this", state->cls->info, 0);
+ else
+ new_variable("globalscope", 0, 0);
+ param_list_t*p=0;
+ for(p=params->list;p;p=p->next) {
+ new_variable(p->param->name, p->param->type, 0);
+ }
+ }
}
-static void endfunction(token_t*ns, int flags, enum yytokentype getset, char*name,
+static abc_method_t* endfunction(token_t*ns, int flags, enum yytokentype getset, char*name,
params_t*params, classinfo_t*return_type, code_t*body)
{
+ if(as3_pass==1) {
+ old_state();
+ return 0;
+ }
+
abc_method_t*f = 0;
multiname_t*type2 = sig2mname(return_type);
int slot = 0;
- if(state->method->is_constructor) {
+ if(state->method->inner) {
+ f = abc_method_new(global->file, type2, 1);
+ //trait_t*t = trait_new_method(&global->init->traits, 0, f);
+ } else if(state->method->is_constructor) {
f = abc_class_getconstructor(state->cls->abc, type2);
} else if(!state->method->is_global) {
namespace_t mname_ns = flags2namespace(flags, "");
syntaxerror("interface methods can't have a method body");
}
- free(state->method);state->method=0;
old_state();
+ return f;
}
-
-
char is_subtype_of(classinfo_t*type, classinfo_t*supertype)
{
return 1; // FIXME
return (c && !c->prev && !c->next && c->opcode == OPCODE_PUSHUNDEFINED);
}
-void parserassert(int b)
-{
- if(!b) syntaxerror("internal error: assertion failed");
-}
-
static classinfo_t* find_class(char*name)
{
classinfo_t*c=0;
if(c) return c;
/* try local "filename" package */
- c = registry_findclass(current_filename, name);
+ c = registry_findclass(current_filename_short, name);
if(c) return c;
return 0;
}
}
+#define PASS1 }} if(as3_pass == 1) {{
+#define PASS1END }} if(as3_pass == 2) {{
+#define PASS2 }} if(as3_pass == 2) {{
+#define PASS12 }} {{
+#define PASS12END }} if(as3_pass == 2) {{
-/* Line 264 of yacc.c */
-#line 1509 "parser.tab.c"
+
+/* Line 273 of skeleton.m4 */
+#line 1574 "parser.tab.c"
#ifdef short
# undef short
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 130
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 105
+#define YYNNTS 106
/* YYNRULES -- Number of rules. */
-#define YYNRULES 285
+#define YYNRULES 286
/* YYNRULES -- Number of states. */
-#define YYNSTATES 478
+#define YYNSTATES 479
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
400, 403, 412, 414, 416, 422, 423, 426, 428, 430,
432, 434, 436, 438, 440, 442, 443, 445, 448, 453,
457, 459, 464, 467, 469, 471, 472, 473, 486, 488,
- 489, 499, 501, 505, 507, 509, 511, 515, 517, 519,
- 521, 524, 525, 526, 530, 531, 533, 535, 539, 543,
- 548, 553, 556, 558, 561, 563, 565, 569, 571, 573,
+ 489, 490, 501, 503, 507, 509, 511, 513, 517, 519,
+ 521, 523, 526, 527, 528, 532, 533, 535, 537, 541,
+ 545, 550, 555, 558, 560, 563, 565, 567, 571, 573,
575, 577, 579, 581, 583, 585, 587, 589, 591, 593,
- 595, 597, 599, 601, 603, 605, 609, 613, 617, 621,
- 625, 629, 633, 637, 641, 645, 648, 651, 655, 659,
- 663, 667, 671, 675, 679, 683, 687, 691, 695, 699,
- 703, 707, 711, 716, 719, 721, 725, 728, 733, 737,
- 738, 740, 744, 750, 754, 758, 762, 766, 770, 774,
- 778, 782, 786, 790, 794, 800, 803, 806, 809, 812,
- 816, 820, 822, 826, 832, 838
+ 595, 597, 599, 601, 603, 605, 607, 611, 615, 619,
+ 623, 627, 631, 635, 639, 643, 647, 650, 653, 657,
+ 661, 665, 669, 673, 677, 681, 685, 689, 693, 697,
+ 701, 705, 709, 713, 718, 721, 723, 727, 730, 735,
+ 739, 740, 742, 746, 752, 756, 760, 764, 768, 772,
+ 776, 780, 784, 788, 792, 796, 802, 805, 808, 811,
+ 814, 818, 822, 824, 828, 834, 840
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-1, 201, -1, 143, -1, 96, -1, 139, -1, -1,
139, 141, -1, 141, -1, 183, -1, 154, -1, 155,
-1, 156, -1, 158, -1, 166, -1, 149, -1, 177,
- -1, 174, -1, 227, -1, 96, -1, 140, -1, 145,
- -1, 160, -1, 161, -1, 224, -1, 176, -1, 233,
- -1, 234, -1, 122, 139, 128, -1, 122, 128, -1,
- 141, 96, -1, 141, -1, 140, -1, 99, 225, -1,
+ -1, 174, -1, 228, -1, 96, -1, 140, -1, 145,
+ -1, 160, -1, 161, -1, 225, -1, 176, -1, 234,
+ -1, 235, -1, 122, 139, 128, -1, 122, 128, -1,
+ 141, 96, -1, 141, -1, 140, -1, 99, 226, -1,
-1, 45, 146, -1, 31, 146, -1, 147, -1, 146,
- 97, 147, -1, 3, 217, 144, -1, -1, 64, 142,
- -1, -1, 63, 126, 150, 226, 129, 142, 148, -1,
- -1, 145, -1, 227, -1, 45, 3, 217, -1, 3,
+ 97, 147, -1, 3, 218, 144, -1, -1, 64, 142,
+ -1, -1, 63, 126, 150, 227, 129, 142, 148, -1,
+ -1, 145, -1, 228, -1, 45, 3, 218, -1, 3,
-1, 12, 126, -1, 12, 49, 126, -1, 153, 151,
- 96, 226, 96, 227, 129, 142, -1, 153, 152, 67,
- 226, 129, 142, -1, -1, 13, 126, 157, 226, 129,
- 142, -1, -1, 14, 159, 142, 13, 126, 226, 129,
+ 96, 227, 96, 228, 129, 142, -1, 153, 152, 67,
+ 227, 129, 142, -1, -1, 13, 126, 157, 227, 129,
+ 142, -1, -1, 14, 159, 142, 13, 126, 227, 129,
-1, 65, -1, 65, 3, -1, 29, -1, 29, 3,
-1, -1, 163, -1, 165, -1, 163, 165, -1, 164,
- -1, 163, 164, -1, 33, 228, 103, 138, -1, 61,
- 103, 138, -1, -1, 15, 126, 167, 228, 129, 122,
- 162, 128, -1, -1, 32, 126, 3, 217, 129, 169,
+ -1, 163, 164, -1, 33, 229, 103, 138, -1, 61,
+ 103, 138, -1, -1, 15, 126, 167, 229, 129, 122,
+ 162, 128, -1, -1, 32, 126, 3, 218, 129, 169,
122, 138, 128, -1, -1, 27, 122, 171, 138, 128,
-1, 168, -1, 172, 168, -1, 172, -1, 172, 170,
-1, 170, -1, -1, 51, 122, 175, 138, 128, 173,
- -1, 36, 226, -1, 36, -1, 38, 126, 226, 129,
+ -1, 36, 227, -1, 36, -1, 38, 126, 227, 129,
142, -1, 3, -1, 18, -1, 179, 123, 178, -1,
178, -1, -1, 18, 179, 122, 181, 135, 128, -1,
- -1, 18, 122, 182, 135, 128, -1, 40, 214, -1,
+ -1, 18, 122, 182, 135, 128, -1, 40, 215, -1,
40, 179, 123, 113, -1, -1, 185, -1, 186, -1,
185, 186, -1, 20, -1, 21, -1, 19, -1, 37,
-1, 46, -1, 48, -1, 47, -1, 25, -1, 23,
- -1, -1, 53, 214, -1, -1, 53, 215, -1, -1,
- 16, 215, -1, -1, 184, 30, 3, 187, 189, 122,
+ -1, -1, 53, 215, -1, -1, 53, 216, -1, -1,
+ 16, 216, -1, -1, 184, 30, 3, 187, 189, 122,
191, 194, 128, -1, -1, 184, 43, 3, 188, 122,
193, 197, 128, -1, -1, 195, -1, 196, -1, 195,
196, -1, 96, -1, 201, -1, 208, -1, 140, -1,
-1, 198, -1, 199, -1, 198, 199, -1, 96, -1,
45, 3, -1, 184, 26, 207, 3, 126, 204, 129,
- 217, -1, 45, -1, 31, -1, 184, 200, 3, 217,
+ 218, -1, 45, -1, 31, -1, 184, 200, 3, 218,
144, -1, -1, 99, 203, -1, 9, -1, 7, -1,
8, -1, 11, -1, 4, -1, 55, -1, 54, -1,
44, -1, -1, 205, -1, 90, 206, -1, 205, 97,
90, 206, -1, 205, 97, 206, -1, 206, -1, 3,
- 103, 216, 202, -1, 3, 202, -1, 50, -1, 34,
+ 103, 217, 202, -1, 3, 202, -1, 50, -1, 34,
-1, -1, -1, 184, 26, 207, 3, 126, 204, 129,
- 217, 122, 209, 138, 128, -1, 3, -1, -1, 26,
- 210, 126, 204, 129, 217, 122, 138, 128, -1, 3,
- -1, 179, 123, 3, -1, 213, -1, 212, -1, 214,
- -1, 215, 97, 214, -1, 214, -1, 113, -1, 35,
- -1, 103, 216, -1, -1, -1, 126, 219, 129, -1,
- -1, 220, -1, 225, -1, 220, 97, 225, -1, 24,
- 212, 218, -1, 228, 126, 219, 129, -1, 52, 126,
- 219, 129, -1, 62, 228, -1, 41, -1, 41, 226,
- -1, 228, -1, 228, -1, 226, 97, 228, -1, 226,
- -1, 211, -1, 229, -1, 232, -1, 221, -1, 223,
- -1, 5, -1, 9, -1, 10, -1, 7, -1, 8,
- -1, 11, -1, 4, -1, 28, -1, 55, -1, 54,
- -1, 44, -1, 222, -1, 228, 107, 228, -1, 228,
- 108, 228, -1, 228, 73, 228, -1, 228, 74, 228,
- -1, 228, 69, 228, -1, 228, 70, 228, -1, 228,
- 72, 228, -1, 228, 71, 228, -1, 228, 84, 228,
- -1, 228, 85, 228, -1, 116, 228, -1, 115, 228,
- -1, 228, 106, 228, -1, 228, 105, 228, -1, 228,
- 104, 228, -1, 228, 93, 228, -1, 228, 92, 228,
- -1, 228, 91, 228, -1, 228, 112, 228, -1, 228,
- 114, 228, -1, 228, 111, 228, -1, 228, 110, 228,
- -1, 228, 113, 228, -1, 228, 67, 228, -1, 228,
- 68, 228, -1, 228, 39, 228, -1, 228, 66, 228,
- -1, 42, 126, 228, 129, -1, 35, 228, -1, 35,
- -1, 126, 226, 129, -1, 110, 228, -1, 228, 120,
- 228, 121, -1, 120, 219, 121, -1, -1, 231, -1,
- 225, 103, 225, -1, 231, 97, 225, 103, 225, -1,
- 122, 230, 128, -1, 228, 78, 228, -1, 228, 77,
- 228, -1, 228, 82, 228, -1, 228, 81, 228, -1,
- 228, 83, 228, -1, 228, 76, 228, -1, 228, 75,
- 228, -1, 228, 79, 228, -1, 228, 80, 228, -1,
- 228, 99, 228, -1, 228, 102, 228, 103, 228, -1,
- 228, 88, -1, 228, 87, -1, 88, 228, -1, 87,
- 228, -1, 52, 123, 3, -1, 228, 123, 3, -1,
- 3, -1, 184, 17, 3, -1, 184, 17, 3, 99,
- 3, -1, 184, 17, 3, 99, 4, -1, 22, 17,
- 3, -1
+ 218, 122, 209, 138, 128, -1, 3, -1, -1, -1,
+ 26, 210, 126, 204, 129, 218, 122, 212, 138, 128,
+ -1, 3, -1, 179, 123, 3, -1, 214, -1, 213,
+ -1, 215, -1, 216, 97, 215, -1, 215, -1, 113,
+ -1, 35, -1, 103, 217, -1, -1, -1, 126, 220,
+ 129, -1, -1, 221, -1, 226, -1, 221, 97, 226,
+ -1, 24, 213, 219, -1, 229, 126, 220, 129, -1,
+ 52, 126, 220, 129, -1, 62, 229, -1, 41, -1,
+ 41, 227, -1, 229, -1, 229, -1, 227, 97, 229,
+ -1, 227, -1, 211, -1, 230, -1, 233, -1, 222,
+ -1, 224, -1, 5, -1, 9, -1, 10, -1, 7,
+ -1, 8, -1, 11, -1, 4, -1, 28, -1, 55,
+ -1, 54, -1, 44, -1, 223, -1, 229, 107, 229,
+ -1, 229, 108, 229, -1, 229, 73, 229, -1, 229,
+ 74, 229, -1, 229, 69, 229, -1, 229, 70, 229,
+ -1, 229, 72, 229, -1, 229, 71, 229, -1, 229,
+ 84, 229, -1, 229, 85, 229, -1, 116, 229, -1,
+ 115, 229, -1, 229, 106, 229, -1, 229, 105, 229,
+ -1, 229, 104, 229, -1, 229, 93, 229, -1, 229,
+ 92, 229, -1, 229, 91, 229, -1, 229, 112, 229,
+ -1, 229, 114, 229, -1, 229, 111, 229, -1, 229,
+ 110, 229, -1, 229, 113, 229, -1, 229, 67, 229,
+ -1, 229, 68, 229, -1, 229, 39, 229, -1, 229,
+ 66, 229, -1, 42, 126, 229, 129, -1, 35, 229,
+ -1, 35, -1, 126, 227, 129, -1, 110, 229, -1,
+ 229, 120, 229, 121, -1, 120, 220, 121, -1, -1,
+ 232, -1, 226, 103, 226, -1, 232, 97, 226, 103,
+ 226, -1, 122, 231, 128, -1, 229, 78, 229, -1,
+ 229, 77, 229, -1, 229, 82, 229, -1, 229, 81,
+ 229, -1, 229, 83, 229, -1, 229, 76, 229, -1,
+ 229, 75, 229, -1, 229, 79, 229, -1, 229, 80,
+ 229, -1, 229, 99, 229, -1, 229, 102, 229, 103,
+ 229, -1, 229, 88, -1, 229, 87, -1, 88, 229,
+ -1, 87, 229, -1, 52, 123, 3, -1, 229, 123,
+ 3, -1, 3, -1, 184, 17, 3, -1, 184, 17,
+ 3, 99, 3, -1, 184, 17, 3, 99, 4, -1,
+ 22, 17, 3, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1484, 1484, 1486, 1486, 1487, 1488, 1490, 1491, 1492,
- 1493, 1494, 1495, 1496, 1498, 1498, 1499, 1500, 1502, 1503,
- 1504, 1505, 1506, 1507, 1509, 1510, 1512, 1513, 1516, 1517,
- 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1528, 1529,
- 1530, 1531, 1532, 1533, 1534, 1536, 1537, 1539, 1540, 1541,
- 1542, 1546, 1553, 1554, 1558, 1559, 1561, 1562, 1564, 1605,
- 1606, 1609, 1609, 1628, 1629, 1630, 1633, 1636, 1640, 1641,
- 1643, 1663, 1706, 1706, 1725, 1725, 1740, 1743, 1746, 1749,
- 1753, 1754, 1755, 1756, 1757, 1758, 1760, 1771, 1774, 1774,
- 1803, 1803, 1823, 1823, 1840, 1841, 1842, 1843, 1851, 1860,
- 1860, 1905, 1909, 1920, 1929, 1930, 1932, 1933, 1935, 1935,
- 1936, 1936, 1938, 1946, 1956, 1957, 1958, 1959, 1961, 1962,
- 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1971, 1972, 1974,
- 1975, 1977, 1978, 1982, 1980, 1988, 1986, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000, 2002, 2008, 2009, 2010, 2011, 2012,
- 2013, 2016, 2027, 2027, 2029, 2087, 2088, 2090, 2091, 2092,
- 2093, 2094, 2096, 2097, 2098, 2103, 2106, 2111, 2116, 2123,
- 2127, 2132, 2138, 2144, 2145, 2146, 2149, 2148, 2166, 2167,
- 2168, 2176, 2183, 2189, 2190, 2192, 2193, 2195, 2196, 2197,
- 2206, 2207, 2211, 2212, 2214, 2215, 2216, 2219, 2224, 2248,
- 2296, 2316, 2337, 2340, 2347, 2348, 2349, 2355, 2361, 2363,
- 2365, 2367, 2369, 2371, 2388, 2393, 2396, 2399, 2402, 2405,
- 2408, 2411, 2414, 2417, 2421, 2422, 2425, 2428, 2431, 2434,
- 2437, 2440, 2443, 2447, 2458, 2476, 2481, 2486, 2491, 2496,
- 2501, 2505, 2509, 2514, 2518, 2522, 2531, 2540, 2550, 2555,
- 2567, 2573, 2578, 2584, 2590, 2594, 2596, 2607, 2616, 2623,
- 2624, 2626, 2632, 2641, 2648, 2660, 2666, 2672, 2678, 2684,
- 2690, 2696, 2709, 2720, 2727, 2740, 2767, 2781, 2795, 2809,
- 2824, 2858, 2956, 2957, 2958, 2960
+ 0, 1548, 1548, 1550, 1550, 1551, 1552, 1554, 1555, 1556,
+ 1557, 1558, 1559, 1560, 1562, 1562, 1563, 1564, 1566, 1567,
+ 1568, 1569, 1570, 1571, 1573, 1574, 1576, 1577, 1580, 1581,
+ 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1592, 1593,
+ 1594, 1595, 1596, 1597, 1598, 1600, 1601, 1603, 1604, 1605,
+ 1606, 1610, 1617, 1618, 1622, 1623, 1625, 1626, 1628, 1669,
+ 1670, 1673, 1673, 1692, 1693, 1694, 1697, 1700, 1704, 1705,
+ 1707, 1727, 1770, 1770, 1789, 1789, 1804, 1807, 1810, 1813,
+ 1817, 1818, 1819, 1820, 1821, 1822, 1824, 1835, 1838, 1838,
+ 1867, 1867, 1887, 1887, 1904, 1905, 1906, 1907, 1915, 1924,
+ 1924, 1969, 1973, 1984, 1993, 1994, 1996, 1997, 1999, 1999,
+ 2001, 2001, 2004, 2012, 2022, 2023, 2024, 2025, 2027, 2028,
+ 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2037, 2038, 2040,
+ 2041, 2043, 2044, 2048, 2046, 2054, 2052, 2060, 2061, 2062,
+ 2063, 2064, 2065, 2066, 2068, 2074, 2075, 2076, 2077, 2078,
+ 2079, 2082, 2094, 2094, 2096, 2155, 2156, 2158, 2159, 2160,
+ 2161, 2162, 2164, 2165, 2166, 2171, 2174, 2179, 2184, 2191,
+ 2195, 2200, 2206, 2212, 2213, 2214, 2217, 2216, 2238, 2239,
+ 2241, 2240, 2260, 2268, 2276, 2277, 2279, 2280, 2282, 2283,
+ 2284, 2293, 2294, 2298, 2299, 2301, 2302, 2303, 2306, 2311,
+ 2335, 2383, 2403, 2424, 2427, 2434, 2435, 2436, 2442, 2448,
+ 2450, 2452, 2454, 2456, 2458, 2475, 2480, 2483, 2486, 2489,
+ 2492, 2495, 2498, 2501, 2504, 2508, 2509, 2512, 2515, 2518,
+ 2521, 2524, 2527, 2530, 2534, 2545, 2563, 2568, 2573, 2578,
+ 2583, 2588, 2592, 2596, 2601, 2605, 2609, 2618, 2627, 2637,
+ 2642, 2654, 2660, 2665, 2671, 2677, 2681, 2683, 2694, 2703,
+ 2710, 2711, 2713, 2719, 2728, 2735, 2747, 2753, 2759, 2765,
+ 2771, 2777, 2783, 2796, 2807, 2814, 2827, 2854, 2868, 2882,
+ 2896, 2911, 2945, 3043, 3044, 3045, 3047
};
#endif
"SLOT_DECLARATION", "MAYBESTATICCONSTANT", "STATICCONSTANT",
"MAYBE_PARAM_LIST", "PARAM_LIST", "PARAM", "GETSET",
"FUNCTION_DECLARATION", "$@12", "MAYBE_IDENTIFIER", "INNERFUNCTION",
- "CLASS", "PACKAGEANDCLASS", "QNAME", "QNAME_LIST", "TYPE", "MAYBETYPE",
- "MAYBE_PARAM_VALUES", "MAYBE_EXPRESSION_LIST", "EXPRESSION_LIST", "NEW",
- "FUNCTIONCALL", "DELETE", "RETURN", "NONCOMMAEXPRESSION", "EXPRESSION",
- "VOIDEXPRESSION", "E", "CONSTANT", "MAYBE_EXPRPAIR_LIST",
- "EXPRPAIR_LIST", "VAR_READ", "NAMESPACE_DECLARATION", "USE_NAMESPACE", 0
+ "$@13", "CLASS", "PACKAGEANDCLASS", "QNAME", "QNAME_LIST", "TYPE",
+ "MAYBETYPE", "MAYBE_PARAM_VALUES", "MAYBE_EXPRESSION_LIST",
+ "EXPRESSION_LIST", "NEW", "FUNCTIONCALL", "DELETE", "RETURN",
+ "NONCOMMAEXPRESSION", "EXPRESSION", "VOIDEXPRESSION", "E", "CONSTANT",
+ "MAYBE_EXPRPAIR_LIST", "EXPRPAIR_LIST", "VAR_READ",
+ "NAMESPACE_DECLARATION", "USE_NAMESPACE", 0
};
#endif
199, 199, 200, 200, 201, 202, 202, 203, 203, 203,
203, 203, 203, 203, 203, 204, 204, 204, 204, 205,
205, 206, 206, 207, 207, 207, 209, 208, 210, 210,
- 211, 212, 213, 214, 214, 215, 215, 216, 216, 216,
- 217, 217, 218, 218, 219, 219, 220, 220, 221, 222,
- 222, 223, 224, 224, 225, 226, 226, 227, 228, 228,
- 228, 228, 228, 228, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 229, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 230,
- 230, 231, 231, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 232, 233, 233, 233, 234
+ 212, 211, 213, 214, 215, 215, 216, 216, 217, 217,
+ 217, 218, 218, 219, 219, 220, 220, 221, 221, 222,
+ 223, 223, 224, 225, 225, 226, 227, 227, 228, 229,
+ 229, 229, 229, 229, 229, 230, 230, 230, 230, 230,
+ 230, 230, 230, 230, 230, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 231, 231, 232, 232, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 233, 234, 234, 234, 235
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
2, 8, 1, 1, 5, 0, 2, 1, 1, 1,
1, 1, 1, 1, 1, 0, 1, 2, 4, 3,
1, 4, 2, 1, 1, 0, 0, 12, 1, 0,
- 9, 1, 3, 1, 1, 1, 3, 1, 1, 1,
- 2, 0, 0, 3, 0, 1, 1, 3, 3, 4,
- 4, 2, 1, 2, 1, 1, 3, 1, 1, 1,
+ 0, 10, 1, 3, 1, 1, 1, 3, 1, 1,
+ 1, 2, 0, 0, 3, 0, 1, 1, 3, 3,
+ 4, 4, 2, 1, 2, 1, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 2, 2, 3, 3, 3,
+ 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, 4, 2, 1, 3, 2, 4, 3, 0,
- 1, 3, 5, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 5, 2, 2, 2, 2, 3,
- 3, 1, 3, 5, 5, 3
+ 3, 3, 3, 4, 2, 1, 3, 2, 4, 3,
+ 0, 1, 3, 5, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 5, 2, 2, 2, 2,
+ 3, 3, 1, 3, 5, 5, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 114, 281, 219, 213, 216, 217, 214, 215, 218, 0,
+ 114, 282, 220, 214, 217, 218, 215, 216, 219, 0,
0, 74, 0, 0, 120, 118, 119, 126, 0, 125,
- 179, 220, 254, 121, 0, 0, 0, 223, 122, 124,
- 123, 0, 0, 222, 221, 0, 0, 0, 0, 13,
- 0, 0, 0, 194, 259, 0, 0, 2, 114, 5,
+ 179, 221, 255, 121, 0, 0, 0, 224, 122, 124,
+ 123, 0, 0, 223, 222, 0, 0, 0, 0, 13,
+ 0, 0, 0, 195, 260, 0, 0, 2, 114, 5,
51, 12, 34, 63, 29, 30, 31, 32, 33, 36,
35, 7, 28, 0, 115, 116, 9, 8, 11, 10,
- 208, 211, 224, 212, 207, 37, 205, 209, 210, 0,
- 68, 72, 114, 88, 104, 105, 110, 107, 0, 181,
- 192, 178, 0, 253, 0, 181, 0, 184, 183, 112,
- 0, 99, 0, 194, 201, 61, 278, 277, 256, 236,
- 235, 0, 195, 196, 204, 0, 0, 260, 0, 1,
- 6, 281, 0, 0, 64, 0, 0, 65, 175, 0,
+ 209, 212, 225, 213, 208, 37, 206, 210, 211, 0,
+ 68, 72, 114, 88, 104, 105, 110, 107, 0, 182,
+ 193, 178, 0, 254, 0, 182, 0, 185, 184, 112,
+ 0, 99, 0, 195, 202, 61, 279, 278, 257, 237,
+ 236, 0, 196, 197, 205, 0, 0, 261, 0, 1,
+ 6, 282, 0, 0, 64, 0, 0, 65, 175, 0,
153, 0, 152, 0, 117, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 276, 275, 0,
+ 0, 0, 0, 0, 0, 0, 0, 277, 276, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 194, 69, 0, 0,
- 78, 102, 202, 0, 76, 38, 114, 39, 50, 0,
+ 0, 0, 0, 0, 0, 0, 195, 69, 0, 0,
+ 78, 102, 203, 0, 76, 38, 114, 39, 50, 0,
40, 41, 42, 44, 0, 43, 45, 46, 0, 114,
- 108, 0, 194, 198, 165, 0, 0, 0, 25, 279,
- 0, 0, 258, 0, 0, 263, 0, 255, 191, 55,
- 56, 191, 54, 0, 0, 174, 173, 0, 127, 129,
- 191, 206, 250, 251, 248, 249, 229, 230, 232, 231,
- 227, 228, 270, 269, 265, 264, 271, 272, 267, 266,
- 268, 233, 234, 242, 241, 240, 273, 0, 239, 238,
- 237, 225, 226, 246, 245, 243, 247, 244, 0, 280,
- 0, 0, 0, 79, 101, 203, 77, 48, 114, 27,
- 205, 49, 0, 0, 0, 23, 0, 114, 16, 22,
+ 108, 0, 195, 199, 165, 0, 0, 0, 25, 280,
+ 0, 0, 259, 0, 0, 264, 0, 256, 192, 55,
+ 56, 192, 54, 0, 0, 174, 173, 0, 127, 129,
+ 192, 207, 251, 252, 249, 250, 230, 231, 233, 232,
+ 228, 229, 271, 270, 266, 265, 272, 273, 268, 267,
+ 269, 234, 235, 243, 242, 241, 274, 0, 240, 239,
+ 238, 226, 227, 247, 246, 244, 248, 245, 0, 281,
+ 0, 0, 0, 79, 101, 204, 77, 48, 114, 27,
+ 206, 49, 0, 0, 0, 23, 0, 114, 16, 22,
19, 18, 21, 20, 114, 106, 0, 155, 0, 0,
- 166, 170, 114, 182, 113, 252, 0, 24, 200, 0,
- 197, 261, 0, 0, 53, 0, 53, 0, 0, 0,
- 0, 131, 0, 0, 53, 0, 257, 199, 114, 285,
- 47, 26, 0, 282, 0, 111, 17, 0, 193, 0,
- 0, 172, 167, 191, 0, 103, 0, 114, 0, 189,
- 188, 0, 187, 190, 0, 58, 57, 0, 114, 165,
- 128, 0, 0, 185, 130, 135, 154, 274, 73, 0,
+ 166, 170, 114, 183, 113, 253, 0, 24, 201, 0,
+ 198, 262, 0, 0, 53, 0, 53, 0, 0, 0,
+ 0, 131, 0, 0, 53, 0, 258, 200, 114, 286,
+ 47, 26, 0, 283, 0, 111, 17, 0, 194, 0,
+ 0, 172, 167, 192, 0, 103, 0, 114, 0, 190,
+ 189, 0, 188, 191, 0, 58, 57, 0, 114, 165,
+ 128, 0, 0, 186, 130, 135, 154, 275, 73, 0,
0, 80, 109, 161, 158, 159, 157, 160, 164, 163,
162, 156, 155, 0, 0, 169, 0, 0, 94, 98,
- 96, 100, 59, 262, 0, 52, 0, 71, 0, 132,
- 133, 0, 114, 75, 283, 284, 0, 0, 0, 81,
- 84, 82, 171, 25, 168, 92, 0, 95, 97, 114,
- 62, 114, 191, 114, 186, 0, 149, 0, 0, 114,
- 147, 0, 25, 89, 85, 83, 0, 25, 191, 60,
+ 96, 100, 59, 263, 0, 52, 0, 71, 0, 132,
+ 133, 0, 114, 75, 284, 285, 0, 0, 0, 81,
+ 84, 82, 171, 180, 168, 92, 0, 95, 97, 114,
+ 62, 114, 192, 114, 187, 0, 149, 0, 0, 114,
+ 147, 0, 25, 89, 85, 83, 25, 25, 192, 60,
70, 0, 141, 144, 0, 0, 114, 139, 142, 143,
- 150, 175, 136, 148, 25, 87, 180, 0, 0, 176,
- 134, 140, 0, 86, 93, 90, 25, 0, 0, 0,
- 165, 25, 177, 0, 0, 191, 91, 151
+ 150, 175, 136, 148, 25, 87, 0, 0, 0, 176,
+ 134, 140, 0, 86, 181, 93, 90, 25, 0, 0,
+ 0, 165, 25, 177, 0, 0, 192, 91, 151
};
/* YYDEFGOTO[NTERM-NUM]. */
-1, 46, 47, 48, 49, 286, 287, 288, 306, 307,
187, 279, 189, 289, 355, 190, 222, 220, 420, 52,
211, 125, 126, 53, 54, 55, 56, 178, 57, 82,
- 191, 192, 408, 409, 410, 411, 58, 198, 388, 468,
+ 191, 192, 408, 409, 410, 411, 58, 198, 388, 469,
389, 437, 390, 391, 59, 208, 193, 60, 87, 351,
61, 294, 199, 62, 194, 64, 65, 321, 323, 362,
290, 423, 291, 402, 445, 446, 447, 428, 429, 430,
- 133, 292, 341, 381, 299, 300, 301, 227, 293, 466,
- 92, 70, 97, 98, 352, 364, 353, 314, 203, 111,
- 112, 71, 72, 73, 195, 113, 74, 75, 76, 77,
- 116, 117, 78, 196, 197
+ 133, 292, 341, 381, 299, 300, 301, 227, 293, 467,
+ 92, 70, 436, 97, 98, 352, 364, 353, 314, 203,
+ 111, 112, 71, 72, 73, 195, 113, 74, 75, 76,
+ 77, 116, 117, 78, 196, 197
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -308
+#define YYPACT_NINF -306
static const yytype_int16 yypact[] =
{
- 349, -308, -308, -308, -308, -308, -308, -308, -308, -38,
- -86, -308, -72, 35, -308, -308, -308, -308, 30, -308,
- 97, -308, 52, -308, -14, 18, 36, -308, -308, -308,
- -308, 57, 44, -308, -308, 1538, 40, 1538, 1538, -308,
- 1538, 1538, 1538, 1538, 1538, 1538, 102, -308, 473, -308,
- -308, -308, -308, 211, -308, -308, -308, -308, -308, -308,
- -308, -308, -308, 275, 640, -308, -308, -308, -308, -308,
- -308, -308, -308, -308, 96, -308, 1971, -308, -308, 82,
- -308, -308, 1469, -308, -308, -308, -308, -308, -32, -308,
- 83, -308, 84, 104, 1538, 88, 89, -308, -308, -308,
- 1538, -308, 186, 1538, 104, -308, 104, 104, 163, 104,
- 104, 108, 116, -308, 1971, 114, 105, 128, -88, -308,
- -308, 165, 231, 233, -308, 144, 174, -308, -5, 240,
- -308, 241, -308, 244, -308, 1538, 1538, 1538, 1538, 1538,
+ 349, -306, -306, -306, -306, -306, -306, -306, -306, -40,
+ -85, -306, -37, 35, -306, -306, -306, -306, 30, -306,
+ 68, -306, 52, -306, -24, 18, -16, -306, -306, -306,
+ -306, -22, -35, -306, -306, 1538, -14, 1538, 1538, -306,
+ 1538, 1538, 1538, 1538, 1538, 1538, 167, -306, 473, -306,
+ -306, -306, -306, 211, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, 217, 640, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, 76, -306, 1971, -306, -306, 60,
+ -306, -306, 1469, -306, -306, -306, -306, -306, -28, -306,
+ 67, -306, 71, 141, 1538, 69, 81, -306, -306, -306,
+ 1538, -306, 186, 1538, 141, -306, 141, 141, 163, 141,
+ 141, 87, 115, -306, 1971, 120, 96, 128, -86, -306,
+ -306, 165, 227, 230, -306, 138, 169, -306, -5, 238,
+ -306, 241, -306, 246, -306, 1538, 1538, 1538, 1538, 1538,
1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
- 1538, 1538, 1538, 1538, 1538, 1538, 1538, -308, -308, 1538,
+ 1538, 1538, 1538, 1538, 1538, 1538, 1538, -306, -306, 1538,
1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
- 1538, 1538, 1538, 1538, 1538, 245, 1538, -308, 1538, 232,
- 255, 1538, 1538, 231, 256, -308, 593, -308, 164, 248,
- -308, -308, -308, -308, 247, -308, -308, -308, 1538, 845,
- -308, 90, 1538, -308, 9, -82, 68, 1599, 1349, -308,
- 138, 1538, -308, 1538, 1538, -308, 1538, -308, 166, 171,
- -308, 166, 171, 1538, 1538, -308, -308, 267, 219, 221,
- 166, 1971, 962, 836, 836, 836, 2337, 2337, 2337, 2337,
+ 1538, 1538, 1538, 1538, 1538, 254, 1538, -306, 1538, 242,
+ 255, 1538, 1538, 227, 265, -306, 593, -306, 173, 257,
+ -306, -306, -306, -306, 261, -306, -306, -306, 1538, 845,
+ -306, 72, 1538, -306, 9, -82, 49, 1599, 1349, -306,
+ 143, 1538, -306, 1538, 1538, -306, 1538, -306, 171, 182,
+ -306, 171, 182, 1538, 1538, -306, -306, 277, 228, 231,
+ 171, 1971, 962, 836, 836, 836, 2337, 2337, 2337, 2337,
962, 962, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971,
1971, 2032, 2093, 340, 340, 340, 1971, 1727, 2154, 2215,
- 2276, 962, 962, 163, 163, 104, 104, 104, 1788, -308,
- 149, -62, 276, -308, 96, 96, -308, -308, 719, -308,
- 1849, -308, 154, 278, 1663, -308, 156, 971, -308, -308,
- -308, -308, -308, -308, 845, -308, 161, -69, 282, 167,
- 195, -308, 1469, 88, -308, -308, 169, 1349, -308, -55,
- -308, -308, 190, 63, 204, 231, -24, 86, 74, 178,
- 18, 292, 18, 187, 204, 1538, -308, -308, 1469, -308,
- -308, -308, 1538, 213, 188, -308, -308, 185, -308, 61,
- 63, -308, -308, 166, 11, -308, 62, 1469, 1538, -308,
- -308, 191, -308, -308, 1538, -308, -308, 1538, 1469, 9,
- -308, 18, 194, -308, 220, -308, -308, 1971, -308, 76,
- 182, 136, -308, -308, -308, -308, -308, -308, -308, -308,
- -308, -308, 224, 197, 282, -308, 202, 199, -308, -308,
- 62, -308, 265, -308, 92, -308, 203, -308, 205, 220,
- -308, 18, 394, -308, -308, -308, 1538, 235, 207, 136,
- -308, -308, -308, 1349, -308, -308, 336, -308, -308, 1469,
- -308, 1469, 166, 1097, -308, 337, -308, 316, 216, 529,
- -308, 1910, 1349, -308, -308, -308, 218, 1349, 166, -308,
- -308, 225, -308, -308, 66, 222, 1223, -308, -308, -308,
- -308, -5, -308, -308, 1349, -308, -308, 223, 226, -308,
- -308, -308, 345, -308, -308, -308, 1349, 239, 249, 238,
- 9, 1349, -308, 246, 250, 166, -308, -308
+ 2276, 962, 962, 163, 163, 141, 141, 141, 1788, -306,
+ 156, -55, 287, -306, 76, 76, -306, -306, 719, -306,
+ 1849, -306, 170, 288, 1663, -306, 175, 971, -306, -306,
+ -306, -306, -306, -306, 845, -306, 164, -69, 294, 172,
+ 207, -306, 1469, 69, -306, -306, 177, 1349, -306, 74,
+ -306, -306, 203, 63, 209, 227, 112, 73, 84, 183,
+ 18, 296, 18, 188, 209, 1538, -306, -306, 1469, -306,
+ -306, -306, 1538, 214, 192, -306, -306, 189, -306, 61,
+ 63, -306, -306, 171, 11, -306, 8, 1469, 1538, -306,
+ -306, 193, -306, -306, 1538, -306, -306, 1538, 1469, 9,
+ -306, 18, 196, -306, 222, -306, -306, 1971, -306, 88,
+ 179, 130, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, 221, 201, 294, -306, 202, 199, -306, -306,
+ 8, -306, 268, -306, 90, -306, 200, -306, 205, 222,
+ -306, 18, 394, -306, -306, -306, 1538, 232, 210, 130,
+ -306, -306, -306, -306, -306, -306, 336, -306, -306, 1469,
+ -306, 1469, 171, 1097, -306, 337, -306, 316, 216, 529,
+ -306, 1910, 1349, -306, -306, -306, 1349, 1349, 171, -306,
+ -306, 224, -306, -306, 66, 219, 1223, -306, -306, -306,
+ -306, -5, -306, -306, 1349, -306, 220, 223, 226, -306,
+ -306, -306, 347, -306, -306, -306, -306, 1349, 239, 244,
+ 243, 9, 1349, -306, 247, 250, 171, -306, -306
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -308, -308, -308, -308, 328, 85, -308, 93, -209, 196,
- 1, -76, -244, 16, 59, 332, 268, 77, -308, -308,
- -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
- -308, -308, -308, -308, -15, -11, -308, -308, 15, -308,
- 17, -308, -308, -308, -308, -308, -308, -308, -193, 19,
- -308, -308, -308, -308, 0, -308, 335, -308, -308, -308,
- 31, -308, 39, -308, -308, -308, -40, -308, -308, -21,
- -308, 2, 27, -308, -307, -308, -271, -41, 3, -308,
- -308, -308, 398, -308, -20, 60, 78, -184, -308, -93,
- -308, -308, -308, -308, -308, -26, -17, -46, -18, -308,
- -308, -308, -308, -308, -308
+ -306, -306, -306, -306, 327, 85, -306, 93, -227, 197,
+ 1, -76, -244, 16, 58, 332, 270, 75, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -15, -11, -306, -306, 15, -306,
+ 17, -306, -306, -306, -306, -306, -306, -306, -193, 19,
+ -306, -306, -306, -306, 0, -306, 335, -306, -306, -306,
+ 31, -306, 39, -306, -306, -306, -38, -306, -306, -23,
+ -306, 2, 27, -306, -305, -306, -271, -41, 3, -306,
+ -306, -306, -306, 398, -306, -20, 57, 80, -184, -306,
+ -93, -306, -306, -306, -306, -306, -26, -17, -46, -18,
+ -306, -306, -306, -306, -306, -306
};
/* 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 -205
+#define YYTABLE_NINF -206
static const yytype_int16 yytable[] =
{
- 63, 50, 68, 69, 93, 99, 188, 127, 295, 135,
- 210, 79, 297, 295, 297, 135, 51, 104, 115, 106,
+ 63, 50, 68, 69, 93, 99, 188, 127, 295, 79,
+ 210, 135, 297, 295, 297, 135, 51, 104, 115, 106,
107, 95, 108, 109, 110, 114, 114, 342, 118, 225,
- 339, 66, 88, 89, 340, 135, 85, 316, 84, 67,
- 81, 217, 135, -66, 96, 226, 324, 302, 63, 50,
- 68, 69, 398, 85, 83, 1, 2, 3, 345, 4,
- 5, 6, 7, 8, 51, 373, 95, 328, 374, 375,
- 376, 303, 377, 385, 347, 354, 18, 205, 20, 66,
- 21, 85, 207, 270, 368, 114, 85, 67, 80, 386,
- 200, 201, 128, 84, 387, 303, 27, 130, 349, 298,
- 91, 384, 119, 392, 32, 378, 33, 34, 85, 296,
- 85, 132, 94, 414, 397, 379, 380, 231, 232, 233,
+ 339, 66, 88, 89, 340, 386, 85, 316, 84, 67,
+ 387, 81, 135, 217, 96, 226, 324, 302, 63, 50,
+ 68, 69, 303, 85, 398, 1, 2, 3, 345, 4,
+ 5, 6, 7, 8, 51, 373, 95, 85, 374, 375,
+ 376, 91, 377, 385, 328, 84, 18, 205, 20, 66,
+ 21, 85, 207, 270, 368, 114, 80, 67, 102, 83,
+ 85, 103, 128, 303, 200, 201, 27, 130, 349, 298,
+ 101, 384, 94, 392, 32, 378, 33, 34, 85, 296,
+ 100, 132, 105, 414, 397, 379, 380, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 37,
38, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 86, 114, 383,
- 115, 271, 100, 473, 274, 275, 105, 102, 280, 406,
- 103, 135, 43, 135, 44, 439, 350, 440, 45, 101,
- 284, 304, 357, 135, 114, 404, 405, 310, 311, 209,
- 312, 157, 158, 135, 309, 114, 114, 407, 114, 63,
- 50, 295, 331, 358, 436, 403, 317, 318, 177, 202,
- 204, -104, 206, 213, 121, 2, 3, 214, 4, 5,
- 6, 7, 8, 455, 174, 216, 188, 175, 457, 212,
- 176, 331, -67, 215, 218, 18, 221, 20, 441, 21,
- 223, 224, 122, 228, 229, 463, 22, 230, 269, 272,
- 157, 158, 188, 26, 458, 27, 123, 469, 273, 276,
- 281, 282, 474, 32, 283, 33, 34, 308, 315, 313,
- 319, 188, 320, 35, 322, 171, 172, 173, 327, 329,
- 332, 333, 188, 174, 335, 297, 175, 63, 50, 176,
- 338, 477, 344, 348, 63, 50, 343, 346, 37, 38,
- 360, 128, 363, 354, 359, 129, 130, 367, 361, 365,
- 371, 396, 370, 372, 394, 369, 400, 401, 131, 413,
- 132, 40, 393, 339, 415, 416, 41, 42, 395, 419,
- 114, 43, 421, 44, 422, 433, 114, 45, 432, 438,
- 450, 363, 451, 188, 452, 188, 456, 459, 467, -3,
- 460, 464, 1, 2, 3, 465, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 470, 472, 13, 14, 15,
- 16, 471, 17, 18, 19, 475, 120, 21, 476, 337,
- 336, 424, 278, 366, 22, 124, 23, 24, 431, 25,
- 219, 26, 356, 27, 434, 28, 29, 30, 435, 134,
- 31, 32, 427, 33, 34, 417, 461, 418, 453, 412,
- 462, 35, 36, 14, 15, 16, 90, 17, 382, 19,
- 0, 399, 0, 444, 443, 448, 449, 157, 158, 427,
+ 115, 271, 304, 406, 274, 275, 474, 119, 280, 357,
+ 135, 135, 43, 135, 44, 439, 350, 440, 45, -66,
+ 284, 135, 404, 405, 114, 135, 177, 310, 311, 209,
+ 312, 407, -104, 202, 309, 114, 114, 204, 114, 63,
+ 50, 295, 331, 347, 206, 455, 317, 318, 212, 456,
+ 457, 354, 213, 358, 121, 2, 3, 403, 4, 5,
+ 6, 7, 8, 214, 215, 216, 188, 463, 157, 158,
+ 218, 331, -67, 221, 223, 18, 224, 20, 441, 21,
+ 470, 228, 122, 128, 229, 475, 22, 129, 130, 230,
+ 157, 158, 188, 26, 458, 27, 123, 269, 273, 272,
+ 131, 174, 132, 32, 175, 33, 34, 176, 276, 281,
+ 282, 188, 308, 35, 313, 171, 172, 173, 283, 315,
+ 319, 320, 188, 174, 322, 327, 175, 63, 50, 176,
+ 329, 333, 478, 338, 63, 50, 332, 297, 37, 38,
+ 360, 343, 363, 335, 344, 346, 348, 367, 354, 359,
+ 365, 396, 361, 370, 371, 369, 394, 372, 400, 401,
+ 339, 40, 393, 413, 415, 416, 41, 42, 395, 421,
+ 114, 43, 419, 44, 422, 432, 114, 45, 433, 438,
+ 450, 363, 451, 188, 452, 188, 459, 460, 464, -3,
+ 468, 465, 1, 2, 3, 466, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 471, 472, 13, 14, 15,
+ 16, 473, 17, 18, 19, 120, 476, 21, 477, 337,
+ 336, 424, 366, 278, 22, 124, 23, 24, 431, 25,
+ 356, 26, 219, 27, 434, 28, 29, 30, 435, 134,
+ 31, 32, 427, 33, 34, 417, 453, 418, 461, 412,
+ 462, 35, 36, 14, 15, 16, 90, 17, 399, 19,
+ 382, 0, 0, 444, 443, 448, 449, 157, 158, 427,
0, 23, 0, 0, 0, 0, 37, 38, 0, 425,
28, 29, 30, 0, 0, 39, 444, 443, 448, 449,
169, 170, 171, 172, 173, 0, 0, 0, 0, 40,
19, 0, 0, 21, 0, 136, 0, 0, 0, 0,
22, 0, 23, 24, 0, 25, 0, 26, 0, 27,
0, 28, 29, 30, 0, 0, 31, 32, 0, 33,
- 34, 0, -205, -205, -205, 0, 0, 35, 36, 144,
+ 34, 0, -206, -206, -206, 0, 0, 35, 36, 144,
145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 157, 158, 0, 0, 159, 160, 161,
0, 0, 37, 38, 0, 0, 0, 0, 0, 0,
0, 45, 0, -14, 1, 2, 3, 0, 4, 5,
6, 7, 8, 9, 10, 11, 12, 0, 0, 0,
14, 15, 16, 0, 17, 18, 19, 0, 0, 21,
- 0, -205, 0, 0, 0, 0, 22, 0, 23, 24,
+ 0, -206, 0, 0, 0, 0, 22, 0, 23, 24,
0, 25, 0, 26, 0, 27, 0, 28, 29, 30,
0, 0, 31, 32, 0, 33, 34, 0, 0, 0,
- 0, 0, 0, 35, 36, -205, -205, 0, 0, 0,
+ 0, 0, 0, 35, 36, -206, -206, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
158, 0, 0, 159, 160, 161, 0, 0, 37, 38,
- 0, 0, 0, 0, 0, 0, 0, 285, 0, -205,
- -205, 0, 169, 170, 171, 172, 173, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 285, 0, -206,
+ -206, 0, 169, 170, 171, 172, 173, 0, 0, 0,
0, 40, 174, 0, 0, 175, 41, 42, 176, 0,
0, 43, 0, 44, 0, 0, 0, 45, 0, -15,
1, 2, 3, 0, 4, 5, 6, 7, 8, 9,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 0, 157, 158, 0, 0,
159, 160, 161, 0, 0, 0, 0, 0, 162, 136,
- 0, 163, -204, 164, 165, 166, 167, 168, 0, 169,
+ 0, 163, -205, 164, 165, 166, 167, 168, 0, 169,
170, 171, 172, 173, 0, 0, 0, 0, 0, 174,
0, 0, 175, 0, 0, 176, 137, 138, 139, 140,
141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 157, 158, 0, 0, 159, 160, 161,
0, 0, 0, 0, 0, 0, 136, 0, 0, 0,
- 0, 0, -205, 167, 168, 0, 169, 170, 171, 172,
+ 0, 0, -206, 167, 168, 0, 169, 170, 171, 172,
173, 0, 0, 0, 0, 0, 174, 0, 0, 175,
- 0, 0, 176, 137, 138, 139, -205, -205, -205, -205,
+ 0, 0, 176, 137, 138, 139, -206, -206, -206, -206,
144, 145, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 157, 158, 0, 0, 159, 160,
161, 0, 0, 0, 0, 0, 0, 0, 0, 0,
static const yytype_int16 yycheck[] =
{
- 0, 0, 0, 0, 22, 25, 82, 53, 201, 97,
- 103, 49, 3, 206, 3, 97, 0, 35, 44, 37,
+ 0, 0, 0, 0, 22, 25, 82, 53, 201, 49,
+ 103, 97, 3, 206, 3, 97, 0, 35, 44, 37,
38, 3, 40, 41, 42, 43, 44, 298, 45, 34,
- 99, 0, 13, 3, 103, 97, 18, 221, 3, 0,
- 126, 129, 97, 67, 25, 50, 230, 129, 48, 48,
- 48, 48, 359, 18, 126, 3, 4, 5, 302, 7,
- 8, 9, 10, 11, 48, 4, 3, 129, 7, 8,
- 9, 3, 11, 344, 129, 99, 24, 94, 26, 48,
- 28, 18, 100, 176, 328, 103, 18, 48, 126, 27,
- 122, 123, 26, 3, 32, 3, 44, 31, 35, 90,
- 3, 90, 0, 347, 52, 44, 54, 55, 18, 202,
- 18, 45, 126, 384, 358, 54, 55, 135, 136, 137,
+ 99, 0, 13, 3, 103, 27, 18, 221, 3, 0,
+ 32, 126, 97, 129, 25, 50, 230, 129, 48, 48,
+ 48, 48, 3, 18, 359, 3, 4, 5, 302, 7,
+ 8, 9, 10, 11, 48, 4, 3, 18, 7, 8,
+ 9, 3, 11, 344, 129, 3, 24, 94, 26, 48,
+ 28, 18, 100, 176, 328, 103, 126, 48, 123, 126,
+ 18, 126, 26, 3, 122, 123, 44, 31, 35, 90,
+ 122, 90, 126, 347, 52, 44, 54, 55, 18, 202,
+ 126, 45, 126, 384, 358, 54, 55, 135, 136, 137,
138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, 156, 87,
88, 159, 160, 161, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 122, 176, 343,
- 186, 178, 126, 470, 181, 182, 126, 123, 186, 33,
- 126, 97, 120, 97, 122, 419, 113, 421, 126, 122,
- 198, 113, 96, 97, 202, 3, 4, 213, 214, 3,
- 216, 87, 88, 97, 211, 213, 214, 61, 216, 199,
- 199, 394, 278, 129, 413, 129, 223, 224, 126, 126,
- 126, 123, 123, 97, 3, 4, 5, 103, 7, 8,
- 9, 10, 11, 432, 120, 97, 302, 123, 437, 121,
- 126, 307, 67, 128, 3, 24, 3, 26, 422, 28,
- 96, 67, 31, 3, 3, 454, 35, 3, 3, 17,
- 87, 88, 328, 42, 438, 44, 45, 466, 3, 3,
- 96, 13, 471, 52, 17, 54, 55, 129, 97, 103,
- 3, 347, 53, 62, 53, 112, 113, 114, 129, 3,
- 126, 3, 358, 120, 128, 3, 123, 287, 287, 126,
- 129, 475, 97, 103, 294, 294, 129, 128, 87, 88,
- 320, 26, 322, 99, 126, 30, 31, 325, 16, 122,
- 122, 357, 99, 128, 123, 332, 122, 97, 43, 122,
- 45, 110, 348, 99, 122, 126, 115, 116, 354, 64,
- 348, 120, 129, 122, 129, 128, 354, 126, 103, 3,
- 3, 361, 26, 419, 128, 421, 128, 122, 3, 0,
- 128, 128, 3, 4, 5, 129, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 126, 128, 18, 19, 20,
- 21, 122, 23, 24, 25, 129, 48, 28, 128, 294,
- 287, 401, 186, 324, 35, 53, 37, 38, 406, 40,
- 122, 42, 315, 44, 409, 46, 47, 48, 409, 64,
- 51, 52, 402, 54, 55, 390, 446, 390, 429, 382,
- 451, 62, 63, 19, 20, 21, 18, 23, 340, 25,
- -1, 361, -1, 423, 423, 423, 423, 87, 88, 429,
+ 186, 178, 113, 33, 181, 182, 471, 0, 186, 96,
+ 97, 97, 120, 97, 122, 419, 113, 421, 126, 67,
+ 198, 97, 3, 4, 202, 97, 126, 213, 214, 3,
+ 216, 61, 123, 126, 211, 213, 214, 126, 216, 199,
+ 199, 394, 278, 129, 123, 432, 223, 224, 121, 436,
+ 437, 99, 97, 129, 3, 4, 5, 129, 7, 8,
+ 9, 10, 11, 103, 128, 97, 302, 454, 87, 88,
+ 3, 307, 67, 3, 96, 24, 67, 26, 422, 28,
+ 467, 3, 31, 26, 3, 472, 35, 30, 31, 3,
+ 87, 88, 328, 42, 438, 44, 45, 3, 3, 17,
+ 43, 120, 45, 52, 123, 54, 55, 126, 3, 96,
+ 13, 347, 129, 62, 103, 112, 113, 114, 17, 97,
+ 3, 53, 358, 120, 53, 129, 123, 287, 287, 126,
+ 3, 3, 476, 129, 294, 294, 126, 3, 87, 88,
+ 320, 129, 322, 128, 97, 128, 103, 325, 99, 126,
+ 122, 357, 16, 99, 122, 332, 123, 128, 122, 97,
+ 99, 110, 348, 122, 122, 126, 115, 116, 354, 129,
+ 348, 120, 64, 122, 129, 103, 354, 126, 128, 3,
+ 3, 361, 26, 419, 128, 421, 122, 128, 128, 0,
+ 3, 128, 3, 4, 5, 129, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 126, 122, 18, 19, 20,
+ 21, 128, 23, 24, 25, 48, 129, 28, 128, 294,
+ 287, 401, 324, 186, 35, 53, 37, 38, 406, 40,
+ 315, 42, 122, 44, 409, 46, 47, 48, 409, 64,
+ 51, 52, 402, 54, 55, 390, 429, 390, 446, 382,
+ 451, 62, 63, 19, 20, 21, 18, 23, 361, 25,
+ 340, -1, -1, 423, 423, 423, 423, 87, 88, 429,
-1, 37, -1, -1, -1, -1, 87, 88, -1, 45,
46, 47, 48, -1, -1, 96, 446, 446, 446, 446,
110, 111, 112, 113, 114, -1, -1, -1, -1, 110,
110, 115, 116, 120, 122, 126, 131, 132, 133, 134,
140, 143, 149, 153, 154, 155, 156, 158, 166, 174,
177, 180, 183, 184, 185, 186, 190, 192, 201, 208,
- 211, 221, 222, 223, 226, 227, 228, 229, 232, 49,
+ 211, 222, 223, 224, 227, 228, 229, 230, 233, 49,
126, 126, 159, 126, 3, 18, 122, 178, 179, 3,
- 212, 3, 210, 228, 126, 3, 179, 212, 213, 214,
- 126, 122, 123, 126, 228, 126, 228, 228, 228, 228,
- 228, 219, 220, 225, 228, 225, 230, 231, 226, 0,
- 134, 3, 31, 45, 145, 151, 152, 227, 26, 30,
+ 213, 3, 210, 229, 126, 3, 179, 213, 214, 215,
+ 126, 122, 123, 126, 229, 126, 229, 229, 229, 229,
+ 229, 220, 221, 226, 229, 226, 231, 232, 227, 0,
+ 134, 3, 31, 45, 145, 151, 152, 228, 26, 30,
31, 43, 45, 200, 186, 97, 39, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 87, 88, 91,
92, 93, 99, 102, 104, 105, 106, 107, 108, 110,
111, 112, 113, 114, 120, 123, 126, 126, 157, 22,
29, 36, 41, 45, 65, 96, 122, 140, 141, 142,
- 145, 160, 161, 176, 184, 224, 233, 234, 167, 182,
- 122, 123, 126, 218, 126, 226, 123, 228, 175, 3,
- 219, 150, 121, 97, 103, 128, 97, 129, 3, 146,
+ 145, 160, 161, 176, 184, 225, 234, 235, 167, 182,
+ 122, 123, 126, 219, 126, 227, 123, 229, 175, 3,
+ 220, 150, 121, 97, 103, 128, 97, 129, 3, 146,
147, 3, 146, 96, 67, 34, 50, 207, 3, 3,
- 3, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 228, 228, 228, 228, 228, 3,
- 219, 226, 17, 3, 226, 226, 3, 128, 139, 141,
- 228, 96, 13, 17, 228, 96, 135, 136, 137, 143,
- 190, 192, 201, 208, 181, 178, 219, 3, 90, 204,
- 205, 206, 129, 3, 113, 129, 138, 139, 129, 226,
- 225, 225, 225, 103, 217, 97, 217, 226, 226, 3,
- 53, 187, 53, 188, 217, 103, 121, 129, 129, 3,
+ 3, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 229, 3,
+ 220, 227, 17, 3, 227, 227, 3, 128, 139, 141,
+ 229, 96, 13, 17, 229, 96, 135, 136, 137, 143,
+ 190, 192, 201, 208, 181, 178, 220, 3, 90, 204,
+ 205, 206, 129, 3, 113, 129, 138, 139, 129, 227,
+ 226, 226, 226, 103, 218, 97, 218, 227, 227, 3,
+ 53, 187, 53, 188, 218, 103, 121, 129, 129, 3,
128, 141, 126, 3, 129, 128, 137, 135, 129, 99,
103, 202, 206, 129, 97, 142, 128, 129, 103, 35,
- 113, 179, 214, 216, 99, 144, 147, 96, 129, 126,
- 214, 16, 189, 214, 215, 122, 144, 228, 142, 226,
+ 113, 179, 215, 217, 99, 144, 147, 96, 129, 126,
+ 215, 16, 189, 215, 216, 122, 144, 229, 142, 227,
99, 122, 128, 4, 7, 8, 9, 11, 44, 54,
- 55, 203, 216, 217, 90, 206, 27, 32, 168, 170,
- 172, 173, 142, 225, 123, 225, 227, 142, 204, 215,
+ 55, 203, 217, 218, 90, 206, 27, 32, 168, 170,
+ 172, 173, 142, 226, 123, 226, 228, 142, 204, 216,
122, 97, 193, 129, 3, 4, 33, 61, 162, 163,
164, 165, 202, 122, 206, 122, 126, 168, 170, 64,
- 148, 129, 129, 191, 214, 45, 96, 184, 197, 198,
- 199, 228, 103, 128, 164, 165, 138, 171, 3, 142,
- 142, 217, 96, 140, 184, 194, 195, 196, 201, 208,
- 3, 26, 128, 199, 103, 138, 128, 138, 217, 122,
- 128, 196, 207, 138, 128, 129, 209, 3, 169, 138,
- 126, 122, 128, 204, 138, 129, 128, 217
+ 148, 129, 129, 191, 215, 45, 96, 184, 197, 198,
+ 199, 229, 103, 128, 164, 165, 212, 171, 3, 142,
+ 142, 218, 96, 140, 184, 194, 195, 196, 201, 208,
+ 3, 26, 128, 199, 103, 138, 138, 138, 218, 122,
+ 128, 196, 207, 138, 128, 128, 129, 209, 3, 169,
+ 138, 126, 122, 128, 204, 138, 129, 128, 218
};
#define yyerrok (yyerrstatus = 0)
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 24:
+
+ case 24:
+ if(as3_pass==2) {
-/* Line 1455 of yacc.c */
-#line 1509 "parser.y"
- {(yyval.code)=(yyvsp[(1) - (1)].code);;}
+/* Line 1464 of skeleton.m4 */
+#line 1573 "parser.y"
+ {(yyval.code)=(yyvsp[(1) - (1)].code);}
+ }
break;
- case 25:
-/* Line 1455 of yacc.c */
-#line 1510 "parser.y"
- {(yyval.code)=code_new();;}
+
+ case 25:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1574 "parser.y"
+ {(yyval.code)=code_new();}
+ }
break;
- case 26:
-/* Line 1455 of yacc.c */
-#line 1512 "parser.y"
- {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));;}
+
+ case 26:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1576 "parser.y"
+ {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));}
+ }
break;
- case 27:
-/* Line 1455 of yacc.c */
-#line 1513 "parser.y"
- {(yyval.code)=(yyvsp[(1) - (1)].code);;}
+
+ case 27:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1577 "parser.y"
+ {(yyval.code)=(yyvsp[(1) - (1)].code);}
+ }
break;
- case 38:
-/* Line 1455 of yacc.c */
-#line 1528 "parser.y"
- {(yyval.code)=0;;}
+
+ case 38:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1592 "parser.y"
+ {(yyval.code)=0;}
+ }
break;
- case 45:
-/* Line 1455 of yacc.c */
-#line 1536 "parser.y"
- {/*TODO*/(yyval.code)=0;;}
+
+ case 45:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1600 "parser.y"
+ {/*TODO*/(yyval.code)=0;}
+ }
break;
- case 46:
-/* Line 1455 of yacc.c */
-#line 1537 "parser.y"
- {/*TODO*/(yyval.code)=0;;}
+
+ case 46:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1601 "parser.y"
+ {/*TODO*/(yyval.code)=0;}
+ }
break;
- case 47:
-/* Line 1455 of yacc.c */
-#line 1539 "parser.y"
- {(yyval.code)=(yyvsp[(2) - (3)].code);;}
+
+ case 47:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1603 "parser.y"
+ {(yyval.code)=(yyvsp[(2) - (3)].code);}
+ }
break;
- case 48:
-/* Line 1455 of yacc.c */
-#line 1540 "parser.y"
- {(yyval.code)=0;;}
+
+ case 48:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1604 "parser.y"
+ {(yyval.code)=0;}
+ }
break;
- case 49:
-/* Line 1455 of yacc.c */
-#line 1541 "parser.y"
- {(yyval.code)=(yyvsp[(1) - (2)].code);;}
+
+ case 49:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1605 "parser.y"
+ {(yyval.code)=(yyvsp[(1) - (2)].code);}
+ }
break;
- case 50:
-/* Line 1455 of yacc.c */
-#line 1542 "parser.y"
- {(yyval.code)=(yyvsp[(1) - (1)].code);;}
+
+ case 50:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1606 "parser.y"
+ {(yyval.code)=(yyvsp[(1) - (1)].code);}
+ }
break;
- case 51:
-/* Line 1455 of yacc.c */
-#line 1546 "parser.y"
+
+ case 51:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1610 "parser.y"
{
code_t**cc = &global->init->method->body->code;
*cc = code_append(*cc, (yyvsp[(1) - (1)].code));
-;}
+}
+ }
break;
- case 52:
-/* Line 1455 of yacc.c */
-#line 1553 "parser.y"
- {(yyval.value)=(yyvsp[(2) - (2)].value);;}
+
+ case 52:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1617 "parser.y"
+ {(yyval.value)=(yyvsp[(2) - (2)].value);}
+ }
break;
- case 53:
-/* Line 1455 of yacc.c */
-#line 1554 "parser.y"
+
+ case 53:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1618 "parser.y"
{(yyval.value).c=abc_pushundefined(0);
(yyval.value).t=TYPE_ANY;
- ;}
+ }
+ }
break;
- case 54:
-/* Line 1455 of yacc.c */
-#line 1558 "parser.y"
- {(yyval.code)=(yyvsp[(2) - (2)].code);;}
+
+ case 54:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1622 "parser.y"
+ {(yyval.code)=(yyvsp[(2) - (2)].code);}
+ }
break;
- case 55:
-/* Line 1455 of yacc.c */
-#line 1559 "parser.y"
- {(yyval.code)=(yyvsp[(2) - (2)].code);;}
+
+ case 55:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1623 "parser.y"
+ {(yyval.code)=(yyvsp[(2) - (2)].code);}
+ }
break;
- case 56:
-/* Line 1455 of yacc.c */
-#line 1561 "parser.y"
- {(yyval.code) = (yyvsp[(1) - (1)].code);;}
+
+ case 56:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1625 "parser.y"
+ {(yyval.code) = (yyvsp[(1) - (1)].code);}
+ }
break;
- case 57:
-/* Line 1455 of yacc.c */
-#line 1562 "parser.y"
- {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));;}
+
+ case 57:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1626 "parser.y"
+ {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));}
+ }
break;
- case 58:
-/* Line 1455 of yacc.c */
-#line 1565 "parser.y"
+
+ case 58:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1629 "parser.y"
{
if(variable_exists((yyvsp[(1) - (3)].id)))
syntaxerror("Variable %s already defined", (yyvsp[(1) - (3)].id));
state->method->initcode = abc_setlocal(state->method->initcode, index);
}*/
//printf("variable %s -> %d (%s)\n", $2->text, index, $4.t?$4.t->name:"");
-;}
+}
+ }
break;
- case 59:
-/* Line 1455 of yacc.c */
-#line 1605 "parser.y"
- {(yyval.code) = code_new();;}
+
+ case 59:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1669 "parser.y"
+ {(yyval.code) = code_new();}
+ }
break;
- case 60:
-/* Line 1455 of yacc.c */
-#line 1606 "parser.y"
- {(yyval.code)=(yyvsp[(2) - (2)].code);;}
+
+ case 60:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1670 "parser.y"
+ {(yyval.code)=(yyvsp[(2) - (2)].code);}
+ }
break;
- case 61:
-/* Line 1455 of yacc.c */
-#line 1609 "parser.y"
- {new_state();;}
+
+ case 61:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1673 "parser.y"
+ {new_state();}
+ }
break;
- case 62:
-/* Line 1455 of yacc.c */
-#line 1609 "parser.y"
+
+ case 62:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1673 "parser.y"
{
(yyval.code) = code_new();
}
(yyval.code) = var_block((yyval.code));
old_state();
-;}
+}
+ }
break;
- case 63:
-/* Line 1455 of yacc.c */
-#line 1628 "parser.y"
- {(yyval.code)=code_new();;}
+
+ case 63:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1692 "parser.y"
+ {(yyval.code)=code_new();}
+ }
break;
- case 66:
-/* Line 1455 of yacc.c */
-#line 1633 "parser.y"
+
+ case 66:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1697 "parser.y"
{
(yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].classinfo),1);
-;}
+}
+ }
break;
- case 67:
-/* Line 1455 of yacc.c */
-#line 1636 "parser.y"
+
+ case 67:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1700 "parser.y"
{
(yyval.id)=(yyvsp[(1) - (1)].id);
-;}
+}
+ }
break;
- case 68:
-/* Line 1455 of yacc.c */
-#line 1640 "parser.y"
- {new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;;}
+
+ case 68:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1704 "parser.y"
+ {new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;}
+ }
break;
- case 69:
-/* Line 1455 of yacc.c */
-#line 1641 "parser.y"
- {new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;;}
+
+ case 69:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1705 "parser.y"
+ {new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;}
+ }
break;
- case 70:
-/* Line 1455 of yacc.c */
-#line 1643 "parser.y"
+
+ case 70:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1707 "parser.y"
{
if((yyvsp[(1) - (8)].for_start).each) syntaxerror("invalid syntax: ; not allowed in for each statement");
(yyval.code) = code_new();
(yyval.code) = var_block((yyval.code));
old_state();
-;}
+}
+ }
break;
- case 71:
-/* Line 1455 of yacc.c */
-#line 1663 "parser.y"
+
+ case 71:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1727 "parser.y"
{
variable_t*var = find_variable((yyvsp[(2) - (6)].id));
char*tmp1name = concat2((yyvsp[(2) - (6)].id), "__tmp1__");
free(tmp1name);
free(tmp2name);
-;}
+}
+ }
break;
- case 72:
-/* Line 1455 of yacc.c */
-#line 1706 "parser.y"
- {new_state();;}
+
+ case 72:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1770 "parser.y"
+ {new_state();}
+ }
break;
- case 73:
-/* Line 1455 of yacc.c */
-#line 1706 "parser.y"
+
+ case 73:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1770 "parser.y"
{
(yyval.code) = code_new();
(yyval.code) = var_block((yyval.code));
old_state();
-;}
+}
+ }
break;
- case 74:
-/* Line 1455 of yacc.c */
-#line 1725 "parser.y"
- {new_state();;}
+
+ case 74:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1789 "parser.y"
+ {new_state();}
+ }
break;
- case 75:
-/* Line 1455 of yacc.c */
-#line 1725 "parser.y"
+
+ case 75:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1789 "parser.y"
{
(yyval.code) = code_new();
code_t*loopstart = (yyval.code) = abc_label((yyval.code));
(yyval.code) = var_block((yyval.code));
old_state();
-;}
+}
+ }
break;
- case 76:
-/* Line 1455 of yacc.c */
-#line 1740 "parser.y"
+
+ case 76:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1804 "parser.y"
{
(yyval.code) = abc___break__(0, "");
-;}
+}
+ }
break;
- case 77:
-/* Line 1455 of yacc.c */
-#line 1743 "parser.y"
+
+ case 77:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1807 "parser.y"
{
(yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id));
-;}
+}
+ }
break;
- case 78:
-/* Line 1455 of yacc.c */
-#line 1746 "parser.y"
+
+ case 78:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1810 "parser.y"
{
(yyval.code) = abc___continue__(0, "");
-;}
+}
+ }
break;
- case 79:
-/* Line 1455 of yacc.c */
-#line 1749 "parser.y"
+
+ case 79:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1813 "parser.y"
{
(yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id));
-;}
+}
+ }
break;
- case 80:
-/* Line 1455 of yacc.c */
-#line 1753 "parser.y"
- {(yyval.code)=0;;}
+
+ case 80:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1817 "parser.y"
+ {(yyval.code)=0;}
+ }
break;
- case 81:
-/* Line 1455 of yacc.c */
-#line 1754 "parser.y"
- {(yyval.code)=(yyvsp[(1) - (1)].code);;}
+
+ case 81:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1818 "parser.y"
+ {(yyval.code)=(yyvsp[(1) - (1)].code);}
+ }
break;
- case 82:
-/* Line 1455 of yacc.c */
-#line 1755 "parser.y"
- {(yyval.code)=(yyvsp[(1) - (1)].code);;}
+
+ case 82:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1819 "parser.y"
+ {(yyval.code)=(yyvsp[(1) - (1)].code);}
+ }
break;
- case 83:
-/* Line 1455 of yacc.c */
-#line 1756 "parser.y"
- {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));;}
+
+ case 83:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1820 "parser.y"
+ {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));}
+ }
break;
- case 84:
-/* Line 1455 of yacc.c */
-#line 1757 "parser.y"
+
+ case 84:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1821 "parser.y"
{(yyval.code)=(yyvsp[(1) - (1)].code);}
+ }
break;
- case 85:
-/* Line 1455 of yacc.c */
-#line 1758 "parser.y"
- {(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));;}
+
+ case 85:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1822 "parser.y"
+ {(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));}
+ }
break;
- case 86:
-/* Line 1455 of yacc.c */
-#line 1760 "parser.y"
+
+ case 86:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1824 "parser.y"
{
(yyval.code) = abc_dup(0);
(yyval.code) = code_append((yyval.code), (yyvsp[(2) - (4)].value).c);
}
code_t*e = (yyval.code) = abc_nop((yyval.code));
j->branch = e;
-;}
+}
+ }
break;
- case 87:
-/* Line 1455 of yacc.c */
-#line 1771 "parser.y"
+
+ case 87:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1835 "parser.y"
{
(yyval.code) = (yyvsp[(3) - (3)].code);
-;}
+}
+ }
break;
- case 88:
-/* Line 1455 of yacc.c */
-#line 1774 "parser.y"
- {new_state();;}
+
+ case 88:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1838 "parser.y"
+ {new_state();}
+ }
break;
- case 89:
-/* Line 1455 of yacc.c */
-#line 1774 "parser.y"
+
+ case 89:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1838 "parser.y"
{
(yyval.code)=(yyvsp[(4) - (8)].value).c;
(yyval.code) = code_append((yyval.code), (yyvsp[(7) - (8)].code));
(yyval.code) = var_block((yyval.code));
old_state();
-;}
+}
+ }
break;
- case 90:
-/* Line 1455 of yacc.c */
-#line 1803 "parser.y"
- {new_state();state->exception_name=(yyvsp[(3) - (5)].id);new_variable((yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].classinfo), 0);;}
+
+ case 90:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1867 "parser.y"
+ {new_state();state->exception_name=(yyvsp[(3) - (5)].id);new_variable((yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].classinfo), 0);}
+ }
break;
- case 91:
-/* Line 1455 of yacc.c */
-#line 1804 "parser.y"
+
+ case 91:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1868 "parser.y"
{
namespace_t name_ns = {ACCESS_PACKAGE, ""};
multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)};
c = var_block(c);
old_state();
-;}
+}
+ }
break;
- case 92:
-/* Line 1455 of yacc.c */
-#line 1823 "parser.y"
- {new_state();state->exception_name=0;;}
+
+ case 92:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1887 "parser.y"
+ {new_state();state->exception_name=0;}
+ }
break;
- case 93:
-/* Line 1455 of yacc.c */
-#line 1823 "parser.y"
+
+ case 93:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1887 "parser.y"
{
(yyvsp[(4) - (5)].code) = var_block((yyvsp[(4) - (5)].code));
if(!(yyvsp[(4) - (5)].code)) {
old_state();
(yyval.exception) = e;
}
-;}
+}
+ }
break;
- case 94:
-/* Line 1455 of yacc.c */
-#line 1840 "parser.y"
- {(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));;}
+
+ case 94:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1904 "parser.y"
+ {(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));}
+ }
break;
- case 95:
-/* Line 1455 of yacc.c */
-#line 1841 "parser.y"
- {(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));;}
+
+ case 95:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1905 "parser.y"
+ {(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));}
+ }
break;
- case 96:
-/* Line 1455 of yacc.c */
-#line 1842 "parser.y"
+
+ case 96:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1906 "parser.y"
{(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);}
+ }
break;
- case 97:
-/* Line 1455 of yacc.c */
-#line 1843 "parser.y"
+
+ case 97:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1907 "parser.y"
{
(yyval.catch_list) = (yyvsp[(1) - (2)].catch_list);
(yyval.catch_list).finally = 0;
list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));
(yyval.catch_list).finally = (yyvsp[(2) - (2)].exception)->to;(yyvsp[(2) - (2)].exception)->to=0;
}
-;}
+}
+ }
break;
- case 98:
-/* Line 1455 of yacc.c */
-#line 1851 "parser.y"
+
+ case 98:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1915 "parser.y"
{
(yyval.catch_list).l=list_new();
(yyval.catch_list).finally = 0;
list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));
(yyval.catch_list).finally = (yyvsp[(1) - (1)].exception)->to;(yyvsp[(1) - (1)].exception)->to=0;
}
-;}
+}
+ }
break;
- case 99:
-/* Line 1455 of yacc.c */
-#line 1860 "parser.y"
- {new_state();;}
+
+ case 99:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1924 "parser.y"
+ {new_state();}
+ }
break;
- case 100:
-/* Line 1455 of yacc.c */
-#line 1860 "parser.y"
+
+ case 100:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1924 "parser.y"
{
code_t*out = abc_nop(0);
(yyval.code) = var_block((yyval.code));
old_state();
-;}
+}
+ }
break;
- case 101:
-/* Line 1455 of yacc.c */
-#line 1905 "parser.y"
+
+ case 101:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1969 "parser.y"
{
(yyval.code)=(yyvsp[(2) - (2)].value).c;
(yyval.code)=abc_throw((yyval.code));
-;}
+}
+ }
break;
- case 102:
-/* Line 1455 of yacc.c */
-#line 1909 "parser.y"
+
+ case 102:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1973 "parser.y"
{
if(!state->exception_name)
syntaxerror("re-throw only possible within a catch block");
(yyval.code)=code_new();
(yyval.code)=abc_getlocal((yyval.code), v->index);
(yyval.code)=abc_throw((yyval.code));
-;}
+}
+ }
break;
- case 103:
-/* Line 1455 of yacc.c */
-#line 1920 "parser.y"
+
+ case 103:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1984 "parser.y"
{
(yyval.code) = (yyvsp[(3) - (5)].value).c;
(yyval.code) = abc_pushscope((yyval.code));
(yyval.code) = code_append((yyval.code), (yyvsp[(5) - (5)].code));
(yyval.code) = abc_popscope((yyval.code));
-;}
+}
+ }
break;
- case 105:
-/* Line 1455 of yacc.c */
-#line 1930 "parser.y"
- {(yyval.id)="package";;}
+
+ case 105:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1994 "parser.y"
+ {PASS12 (yyval.id)="package";}
+ }
break;
- case 106:
-/* Line 1455 of yacc.c */
-#line 1932 "parser.y"
- {(yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;;}
+
+ case 106:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1996 "parser.y"
+ {PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;}
+ }
break;
- case 107:
-/* Line 1455 of yacc.c */
-#line 1933 "parser.y"
- {(yyval.id)=strdup((yyvsp[(1) - (1)].id));;}
+
+ case 107:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1997 "parser.y"
+ {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));}
+ }
break;
- case 108:
-/* Line 1455 of yacc.c */
-#line 1935 "parser.y"
- {startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;;}
+
+ case 108:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 1999 "parser.y"
+ {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;}
+ }
break;
- case 109:
-/* Line 1455 of yacc.c */
-#line 1935 "parser.y"
- {endpackage();(yyval.code)=0;;}
+
+ case 109:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2000 "parser.y"
+ {PASS12 endpackage();(yyval.code)=0;}
+ }
break;
- case 110:
-/* Line 1455 of yacc.c */
-#line 1936 "parser.y"
- {startpackage("");}
+
+ case 110:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2001 "parser.y"
+ {PASS12 startpackage("");}
+ }
break;
- case 111:
-/* Line 1455 of yacc.c */
-#line 1936 "parser.y"
- {endpackage();(yyval.code)=0;;}
+
+ case 111:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2002 "parser.y"
+ {PASS12 endpackage();(yyval.code)=0;}
+ }
break;
- case 112:
-/* Line 1455 of yacc.c */
-#line 1938 "parser.y"
+
+ case 112:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2004 "parser.y"
{
classinfo_t*c = (yyvsp[(2) - (2)].classinfo);
if(!c)
state_has_imports();
dict_put(state->imports, c->name, c);
(yyval.code)=0;
-;}
+}
+ }
break;
- case 113:
-/* Line 1455 of yacc.c */
-#line 1946 "parser.y"
+
+ case 113:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2012 "parser.y"
{
NEW(import_t,i);
i->package = (yyvsp[(2) - (4)].id);
state_has_imports();
list_append(state->wildcard_imports, i);
(yyval.code)=0;
-;}
+}
+ }
break;
- case 114:
-/* Line 1455 of yacc.c */
-#line 1956 "parser.y"
- {(yyval.flags)=0;;}
+
+ case 114:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2022 "parser.y"
+ {PASS12 (yyval.flags)=0;}
+ }
break;
- case 115:
-/* Line 1455 of yacc.c */
-#line 1957 "parser.y"
- {(yyval.flags)=(yyvsp[(1) - (1)].flags);}
+
+ case 115:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2023 "parser.y"
+ {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
+ }
break;
- case 116:
-/* Line 1455 of yacc.c */
-#line 1958 "parser.y"
- {(yyval.flags)=(yyvsp[(1) - (1)].token);;}
+
+ case 116:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2024 "parser.y"
+ {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].token);}
+ }
break;
- case 117:
-/* Line 1455 of yacc.c */
-#line 1959 "parser.y"
- {(yyval.flags)=(yyvsp[(1) - (2)].flags)|(yyvsp[(2) - (2)].token);;}
+
+ case 117:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2025 "parser.y"
+ {PASS12 (yyval.flags)=(yyvsp[(1) - (2)].flags)|(yyvsp[(2) - (2)].token);}
+ }
break;
- case 118:
-/* Line 1455 of yacc.c */
-#line 1961 "parser.y"
- {(yyval.token)=FLAG_PUBLIC;;}
+
+ case 118:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2027 "parser.y"
+ {PASS12 (yyval.token)=FLAG_PUBLIC;}
+ }
break;
- case 119:
-/* Line 1455 of yacc.c */
-#line 1962 "parser.y"
- {(yyval.token)=FLAG_PRIVATE;;}
+
+ case 119:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2028 "parser.y"
+ {PASS12 (yyval.token)=FLAG_PRIVATE;}
+ }
break;
- case 120:
-/* Line 1455 of yacc.c */
-#line 1963 "parser.y"
- {(yyval.token)=FLAG_PROTECTED;;}
+
+ case 120:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2029 "parser.y"
+ {PASS12 (yyval.token)=FLAG_PROTECTED;}
+ }
break;
- case 121:
-/* Line 1455 of yacc.c */
-#line 1964 "parser.y"
- {(yyval.token)=FLAG_STATIC;;}
+
+ case 121:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2030 "parser.y"
+ {PASS12 (yyval.token)=FLAG_STATIC;}
+ }
break;
- case 122:
-/* Line 1455 of yacc.c */
-#line 1965 "parser.y"
- {(yyval.token)=FLAG_DYNAMIC;;}
+
+ case 122:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2031 "parser.y"
+ {PASS12 (yyval.token)=FLAG_DYNAMIC;}
+ }
break;
- case 123:
-/* Line 1455 of yacc.c */
-#line 1966 "parser.y"
- {(yyval.token)=FLAG_FINAL;;}
+
+ case 123:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2032 "parser.y"
+ {PASS12 (yyval.token)=FLAG_FINAL;}
+ }
break;
- case 124:
-/* Line 1455 of yacc.c */
-#line 1967 "parser.y"
- {(yyval.token)=FLAG_OVERRIDE;;}
+
+ case 124:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2033 "parser.y"
+ {PASS12 (yyval.token)=FLAG_OVERRIDE;}
+ }
break;
- case 125:
-/* Line 1455 of yacc.c */
-#line 1968 "parser.y"
- {(yyval.token)=FLAG_NATIVE;;}
+
+ case 125:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2034 "parser.y"
+ {PASS12 (yyval.token)=FLAG_NATIVE;}
+ }
break;
- case 126:
-/* Line 1455 of yacc.c */
-#line 1969 "parser.y"
- {(yyval.token)=FLAG_PACKAGEINTERNAL;;}
+
+ case 126:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2035 "parser.y"
+ {PASS12 (yyval.token)=FLAG_PACKAGEINTERNAL;}
+ }
break;
- case 127:
-/* Line 1455 of yacc.c */
-#line 1971 "parser.y"
- {(yyval.classinfo)=registry_getobjectclass();;}
+
+ case 127:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2037 "parser.y"
+ {(yyval.classinfo)=registry_getobjectclass();}
+ }
break;
- case 128:
-/* Line 1455 of yacc.c */
-#line 1972 "parser.y"
- {(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);;}
+
+ case 128:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2038 "parser.y"
+ {(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
+ }
break;
- case 129:
-/* Line 1455 of yacc.c */
-#line 1974 "parser.y"
- {(yyval.classinfo_list)=list_new();;}
+
+ case 129:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2040 "parser.y"
+ {PASS12 (yyval.classinfo_list)=list_new();}
+ }
break;
- case 130:
-/* Line 1455 of yacc.c */
-#line 1975 "parser.y"
- {(yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);;}
+
+ case 130:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2041 "parser.y"
+ {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
+ }
break;
- case 131:
-/* Line 1455 of yacc.c */
-#line 1977 "parser.y"
- {(yyval.classinfo_list)=list_new();;}
+
+ case 131:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2043 "parser.y"
+ {PASS12 (yyval.classinfo_list)=list_new();}
+ }
break;
- case 132:
-/* Line 1455 of yacc.c */
-#line 1978 "parser.y"
- {(yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);;}
+
+ case 132:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2044 "parser.y"
+ {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
+ }
break;
- case 133:
-/* Line 1455 of yacc.c */
-#line 1982 "parser.y"
- {startclass((yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list), 0);;}
+
+ case 133:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2048 "parser.y"
+ {PASS12 startclass((yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list), 0);}
+ }
break;
- case 134:
-/* Line 1455 of yacc.c */
-#line 1984 "parser.y"
- {endclass();(yyval.code)=0;;}
+
+ case 134:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2050 "parser.y"
+ {PASS12 endclass();(yyval.code)=0;}
+ }
break;
- case 135:
-/* Line 1455 of yacc.c */
-#line 1988 "parser.y"
- {startclass((yyvsp[(1) - (5)].flags),(yyvsp[(3) - (5)].id),0,(yyvsp[(4) - (5)].classinfo_list),1);;}
+
+ case 135:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2054 "parser.y"
+ {PASS12 startclass((yyvsp[(1) - (5)].flags),(yyvsp[(3) - (5)].id),0,(yyvsp[(4) - (5)].classinfo_list),1);}
+ }
break;
- case 136:
-/* Line 1455 of yacc.c */
-#line 1990 "parser.y"
- {endclass();(yyval.code)=0;;}
+
+ case 136:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2056 "parser.y"
+ {PASS12 endclass();(yyval.code)=0;}
+ }
break;
- case 144:
-/* Line 1455 of yacc.c */
-#line 2002 "parser.y"
+
+ case 144:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2068 "parser.y"
{
code_t*c = state->cls->static_init;
c = code_append(c, (yyvsp[(1) - (1)].code));
state->cls->static_init = c;
-;}
+}
+ }
break;
- case 150:
-/* Line 1455 of yacc.c */
-#line 2013 "parser.y"
+
+ case 150:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2079 "parser.y"
{
syntaxerror("variable declarations not allowed in interfaces");
-;}
+}
+ }
break;
- case 151:
-/* Line 1455 of yacc.c */
-#line 2016 "parser.y"
+
+ case 151:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2082 "parser.y"
{
+ PASS12
(yyvsp[(1) - (8)].flags) |= FLAG_PUBLIC;
if((yyvsp[(1) - (8)].flags)&(FLAG_PRIVATE|FLAG_PACKAGEINTERNAL|FLAG_PROTECTED)) {
syntaxerror("invalid method modifiers: interface methods always need to be public");
}
startfunction(0,(yyvsp[(1) - (8)].flags),(yyvsp[(3) - (8)].token),(yyvsp[(4) - (8)].id),&(yyvsp[(6) - (8)].params),(yyvsp[(8) - (8)].classinfo));
endfunction(0,(yyvsp[(1) - (8)].flags),(yyvsp[(3) - (8)].token),(yyvsp[(4) - (8)].id),&(yyvsp[(6) - (8)].params),(yyvsp[(8) - (8)].classinfo), 0);
-;}
+}
+ }
break;
- case 154:
-/* Line 1455 of yacc.c */
-#line 2029 "parser.y"
+
+ case 154:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2096 "parser.y"
{
int flags = (yyvsp[(1) - (5)].flags);
memberinfo_t* info = state->cls?
code_t**code;
if(!state->cls) {
// global variable
+ mname_ns.name = state->package;
traits = &global->init->traits;
code = &global->init->method->body->code;
} else if(flags&FLAG_STATIC) {
}
(yyval.code)=0;
-;}
+}
+ }
break;
- case 155:
-/* Line 1455 of yacc.c */
-#line 2087 "parser.y"
- {(yyval.constant)=0;;}
+
+ case 155:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2155 "parser.y"
+ {(yyval.constant)=0;}
+ }
break;
- case 156:
-/* Line 1455 of yacc.c */
-#line 2088 "parser.y"
- {(yyval.constant)=(yyvsp[(2) - (2)].constant);;}
+
+ case 156:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2156 "parser.y"
+ {(yyval.constant)=(yyvsp[(2) - (2)].constant);}
+ }
break;
- case 157:
-/* Line 1455 of yacc.c */
-#line 2090 "parser.y"
- {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_uint));;}
+
+ case 157:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2158 "parser.y"
+ {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_uint));}
+ }
break;
- case 158:
-/* Line 1455 of yacc.c */
-#line 2091 "parser.y"
- {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));;}
+
+ case 158:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2159 "parser.y"
+ {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));}
+ }
break;
- case 159:
-/* Line 1455 of yacc.c */
-#line 2092 "parser.y"
- {(yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint));;}
+
+ case 159:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2160 "parser.y"
+ {(yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint));}
+ }
break;
- case 160:
-/* Line 1455 of yacc.c */
-#line 2093 "parser.y"
- {(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));;}
+
+ case 160:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2161 "parser.y"
+ {(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));}
+ }
break;
- case 161:
-/* Line 1455 of yacc.c */
-#line 2094 "parser.y"
- {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);;}
+
+ case 161:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2162 "parser.y"
+ {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);}
+ }
break;
- case 162:
-/* Line 1455 of yacc.c */
-#line 2096 "parser.y"
- {(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));;}
+
+ case 162:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2164 "parser.y"
+ {(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));}
+ }
break;
- case 163:
-/* Line 1455 of yacc.c */
-#line 2097 "parser.y"
- {(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));;}
+
+ case 163:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2165 "parser.y"
+ {(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));}
+ }
break;
- case 164:
-/* Line 1455 of yacc.c */
-#line 2098 "parser.y"
- {(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));;}
+
+ case 164:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2166 "parser.y"
+ {(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));}
+ }
break;
- case 165:
-/* Line 1455 of yacc.c */
-#line 2103 "parser.y"
+
+ case 165:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2171 "parser.y"
{
memset(&(yyval.params),0,sizeof((yyval.params)));
-;}
+}
+ }
break;
- case 166:
-/* Line 1455 of yacc.c */
-#line 2106 "parser.y"
+
+ case 166:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2174 "parser.y"
{
(yyval.params)=(yyvsp[(1) - (1)].params);
-;}
+}
+ }
break;
- case 167:
-/* Line 1455 of yacc.c */
-#line 2111 "parser.y"
+
+ case 167:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2179 "parser.y"
{
memset(&(yyval.params),0,sizeof((yyval.params)));
(yyval.params).varargs=1;
list_append((yyval.params).list, (yyvsp[(2) - (2)].param));
-;}
+}
+ }
break;
- case 168:
-/* Line 1455 of yacc.c */
-#line 2116 "parser.y"
+
+ case 168:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2184 "parser.y"
{
(yyval.params) =(yyvsp[(1) - (4)].params);
(yyval.params).varargs=1;
list_append((yyval.params).list, (yyvsp[(4) - (4)].param));
-;}
+}
+ }
break;
- case 169:
-/* Line 1455 of yacc.c */
-#line 2123 "parser.y"
+
+ case 169:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2191 "parser.y"
{
(yyval.params) = (yyvsp[(1) - (3)].params);
list_append((yyval.params).list, (yyvsp[(3) - (3)].param));
-;}
+}
+ }
break;
- case 170:
-/* Line 1455 of yacc.c */
-#line 2127 "parser.y"
+
+ case 170:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2195 "parser.y"
{
memset(&(yyval.params),0,sizeof((yyval.params)));
list_append((yyval.params).list, (yyvsp[(1) - (1)].param));
-;}
+}
+ }
break;
- case 171:
-/* Line 1455 of yacc.c */
-#line 2132 "parser.y"
+
+ case 171:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2200 "parser.y"
{
(yyval.param) = malloc(sizeof(param_t));
(yyval.param)->name=(yyvsp[(1) - (4)].id);
(yyval.param)->type = (yyvsp[(3) - (4)].classinfo);
(yyval.param)->value = (yyvsp[(4) - (4)].constant);
-;}
+}
+ }
break;
- case 172:
-/* Line 1455 of yacc.c */
-#line 2138 "parser.y"
+
+ case 172:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2206 "parser.y"
{
(yyval.param) = malloc(sizeof(param_t));
(yyval.param)->name=(yyvsp[(1) - (2)].id);
(yyval.param)->type = TYPE_ANY;
(yyval.param)->value = (yyvsp[(2) - (2)].constant);
-;}
+}
+ }
break;
- case 173:
-/* Line 1455 of yacc.c */
-#line 2144 "parser.y"
- {(yyval.token)=(yyvsp[(1) - (1)].token);;}
+
+ case 173:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2212 "parser.y"
+ {(yyval.token)=(yyvsp[(1) - (1)].token);}
+ }
break;
- case 174:
-/* Line 1455 of yacc.c */
-#line 2145 "parser.y"
- {(yyval.token)=(yyvsp[(1) - (1)].token);;}
+
+ case 174:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2213 "parser.y"
+ {(yyval.token)=(yyvsp[(1) - (1)].token);}
+ }
break;
- case 175:
-/* Line 1455 of yacc.c */
-#line 2146 "parser.y"
- {(yyval.token)=0;;}
+
+ case 175:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2214 "parser.y"
+ {(yyval.token)=0;}
+ }
break;
- case 176:
-/* Line 1455 of yacc.c */
-#line 2149 "parser.y"
- {startfunction(0,(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));}
+
+ case 176:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2217 "parser.y"
+ {PASS12 startfunction(0,(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));}
+ }
break;
- case 177:
-/* Line 1455 of yacc.c */
-#line 2150 "parser.y"
+
+ case 177:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2218 "parser.y"
{
+ PASS1 old_state();
+ PASS2
+ if(!state->method->info) syntaxerror("internal error");
code_t*c = 0;
if(state->method->late_binding) {
c = abc_getlocal_0(c);
c = abc_constructsuper(c, 0);
}
c = wrap_function(c, 0, (yyvsp[(11) - (12)].code));
+
endfunction(0,(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),(yyvsp[(8) - (12)].classinfo),c);
(yyval.code)=0;
-;}
+}
+ }
break;
- case 179:
-/* Line 1455 of yacc.c */
-#line 2167 "parser.y"
- {(yyval.id)=0;;}
+
+ case 179:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2239 "parser.y"
+ {(yyval.id)=0;}
+ }
break;
- case 180:
-/* Line 1455 of yacc.c */
-#line 2169 "parser.y"
- {
- syntaxerror("nested functions not supported yet");
-;}
+
+ case 180:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2241 "parser.y"
+ {PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));}
+ }
break;
- case 181:
-/* Line 1455 of yacc.c */
-#line 2176 "parser.y"
+
+ case 181:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2242 "parser.y"
{
+ PASS1 old_state();
+ PASS2
+ memberinfo_t*f = state->method->info;
+ if(!f) syntaxerror("internal error");
+
+ code_t*c = 0;
+ c = wrap_function(c, 0, (yyvsp[(9) - (10)].code));
+
+ abc_method_t*abc = endfunction(0,0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),(yyvsp[(6) - (10)].classinfo),c);
+
+ (yyval.value).c = abc_newfunction(0, abc);
+ (yyval.value).t = TYPE_FUNCTION(f);
+}
+ }
+ break;
+
+
+
+ case 182:
+ if(as3_pass==2) {
+/* Line 1464 of skeleton.m4 */
+#line 2260 "parser.y"
+ {
+ PASS1 (yyval.classinfo)=0;
+ PASS2
/* try current package */
(yyval.classinfo) = find_class((yyvsp[(1) - (1)].id));
if(!(yyval.classinfo)) syntaxerror("Could not find class %s\n", (yyvsp[(1) - (1)].id));
-;}
+}
+ }
break;
- case 182:
-/* Line 1455 of yacc.c */
-#line 2183 "parser.y"
+
+ case 183:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2268 "parser.y"
{
+ PASS1 (yyval.classinfo)=0;
+ PASS2
(yyval.classinfo) = registry_findclass((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].id));
if(!(yyval.classinfo)) syntaxerror("Couldn't find class %s.%s\n", (yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].id));
free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;
-;}
+}
+ }
break;
- case 185:
-/* Line 1455 of yacc.c */
-#line 2192 "parser.y"
- {(yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));;}
+
+ case 186:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2279 "parser.y"
+ {PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));}
+ }
break;
- case 186:
-/* Line 1455 of yacc.c */
-#line 2193 "parser.y"
- {(yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));;}
+
+ case 187:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2280 "parser.y"
+ {PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));}
+ }
break;
- case 187:
-/* Line 1455 of yacc.c */
-#line 2195 "parser.y"
- {(yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);;}
+
+ case 188:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2282 "parser.y"
+ {(yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);}
+ }
break;
- case 188:
-/* Line 1455 of yacc.c */
-#line 2196 "parser.y"
- {(yyval.classinfo)=registry_getanytype();;}
+
+ case 189:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2283 "parser.y"
+ {(yyval.classinfo)=registry_getanytype();}
+ }
break;
- case 189:
-/* Line 1455 of yacc.c */
-#line 2197 "parser.y"
- {(yyval.classinfo)=registry_getanytype();;}
+
+ case 190:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2284 "parser.y"
+ {(yyval.classinfo)=registry_getanytype();}
+ }
break;
- case 190:
-/* Line 1455 of yacc.c */
-#line 2206 "parser.y"
- {(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);;}
+
+ case 191:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2293 "parser.y"
+ {(yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
+ }
break;
- case 191:
-/* Line 1455 of yacc.c */
-#line 2207 "parser.y"
- {(yyval.classinfo)=0;;}
+
+ case 192:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2294 "parser.y"
+ {(yyval.classinfo)=0;}
+ }
break;
- case 192:
-/* Line 1455 of yacc.c */
-#line 2211 "parser.y"
- {(yyval.value_list).cc=0;(yyval.value_list).len=0;;}
+
+ case 193:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2298 "parser.y"
+ {(yyval.value_list).cc=0;(yyval.value_list).len=0;}
+ }
break;
- case 193:
-/* Line 1455 of yacc.c */
-#line 2212 "parser.y"
+
+ case 194:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2299 "parser.y"
{(yyval.value_list)=(yyvsp[(2) - (3)].value_list);}
+ }
break;
- case 194:
-/* Line 1455 of yacc.c */
-#line 2214 "parser.y"
- {(yyval.value_list).cc=0;(yyval.value_list).len=0;;}
+
+ case 195:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2301 "parser.y"
+ {(yyval.value_list).cc=0;(yyval.value_list).len=0;}
+ }
break;
- case 196:
-/* Line 1455 of yacc.c */
-#line 2216 "parser.y"
+
+ case 197:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2303 "parser.y"
{(yyval.value_list).len=1;
(yyval.value_list).cc = (yyvsp[(1) - (1)].value).c;
- ;}
+ }
+ }
break;
- case 197:
-/* Line 1455 of yacc.c */
-#line 2219 "parser.y"
+
+ case 198:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2306 "parser.y"
{
(yyval.value_list).len= (yyvsp[(1) - (3)].value_list).len+1;
(yyval.value_list).cc = code_append((yyvsp[(1) - (3)].value_list).cc, (yyvsp[(3) - (3)].value).c);
- ;}
+ }
+ }
break;
- case 198:
-/* Line 1455 of yacc.c */
-#line 2224 "parser.y"
+
+ case 199:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2311 "parser.y"
{
MULTINAME(m, (yyvsp[(2) - (3)].classinfo));
(yyval.value).c = code_new();
else
(yyval.value).c = abc_constructprop2((yyval.value).c, &m, (yyvsp[(3) - (3)].value_list).len);
(yyval.value).t = (yyvsp[(2) - (3)].classinfo);
-;}
+}
+ }
break;
- case 199:
-/* Line 1455 of yacc.c */
-#line 2248 "parser.y"
+
+ case 200:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2335 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
(yyval.value).t = TYPE_ANY;
}
-;}
+}
+ }
break;
- case 200:
-/* Line 1455 of yacc.c */
-#line 2296 "parser.y"
+
+ case 201:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2383 "parser.y"
{
if(!state->cls) syntaxerror("super() not allowed outside of a class");
if(!state->method) syntaxerror("super() not allowed outside of a function");
(yyval.value).c = abc_constructsuper((yyval.value).c, (yyvsp[(3) - (4)].value_list).len);
(yyval.value).c = abc_pushundefined((yyval.value).c);
(yyval.value).t = TYPE_ANY;
-;}
+}
+ }
break;
- case 201:
-/* Line 1455 of yacc.c */
-#line 2316 "parser.y"
+
+ case 202:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2403 "parser.y"
{
(yyval.value).c = (yyvsp[(2) - (2)].value).c;
if((yyval.value).c->opcode == OPCODE_COERCE_A) {
(yyval.value).c = abc_deleteproperty2((yyval.value).c, &m);
}
(yyval.value).t = TYPE_BOOLEAN;
-;}
+}
+ }
break;
- case 202:
-/* Line 1455 of yacc.c */
-#line 2337 "parser.y"
+
+ case 203:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2424 "parser.y"
{
(yyval.code) = abc_returnvoid(0);
-;}
+}
+ }
break;
- case 203:
-/* Line 1455 of yacc.c */
-#line 2340 "parser.y"
+
+ case 204:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2427 "parser.y"
{
(yyval.code) = (yyvsp[(2) - (2)].value).c;
(yyval.code) = abc_returnvalue((yyval.code));
-;}
+}
+ }
break;
- case 204:
-/* Line 1455 of yacc.c */
-#line 2347 "parser.y"
- {(yyval.value)=(yyvsp[(1) - (1)].value);;}
+
+ case 205:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2434 "parser.y"
+ {(yyval.value)=(yyvsp[(1) - (1)].value);}
+ }
break;
- case 205:
-/* Line 1455 of yacc.c */
-#line 2348 "parser.y"
- {(yyval.value) = (yyvsp[(1) - (1)].value);;}
+
+ case 206:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2435 "parser.y"
+ {(yyval.value) = (yyvsp[(1) - (1)].value);}
+ }
break;
- case 206:
-/* Line 1455 of yacc.c */
-#line 2349 "parser.y"
+
+ case 207:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2436 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (3)].value).c;
(yyval.value).c = cut_last_push((yyval.value).c);
(yyval.value).c = code_append((yyval.value).c,(yyvsp[(3) - (3)].value).c);
(yyval.value).t = (yyvsp[(3) - (3)].value).t;
-;}
+}
+ }
break;
- case 207:
-/* Line 1455 of yacc.c */
-#line 2355 "parser.y"
+
+ case 208:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2442 "parser.y"
{
(yyval.code)=cut_last_push((yyvsp[(1) - (1)].value).c);
-;}
+}
+ }
break;
- case 208:
-/* Line 1455 of yacc.c */
-#line 2361 "parser.y"
- {(yyval.value) = (yyvsp[(1) - (1)].value);;}
+
+ case 209:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2448 "parser.y"
+ {(yyval.value) = (yyvsp[(1) - (1)].value);}
+ }
break;
- case 210:
-/* Line 1455 of yacc.c */
-#line 2365 "parser.y"
- {(yyval.value) = (yyvsp[(1) - (1)].value);;}
+
+ case 211:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2452 "parser.y"
+ {(yyval.value) = (yyvsp[(1) - (1)].value);}
+ }
break;
- case 211:
-/* Line 1455 of yacc.c */
-#line 2367 "parser.y"
- {(yyval.value) = (yyvsp[(1) - (1)].value);;}
+
+ case 212:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2454 "parser.y"
+ {(yyval.value) = (yyvsp[(1) - (1)].value);}
+ }
break;
- case 212:
-/* Line 1455 of yacc.c */
-#line 2369 "parser.y"
- {(yyval.value) = (yyvsp[(1) - (1)].value);;}
+
+ case 213:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2456 "parser.y"
+ {(yyval.value) = (yyvsp[(1) - (1)].value);}
+ }
break;
- case 213:
-/* Line 1455 of yacc.c */
-#line 2371 "parser.y"
+
+ case 214:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2458 "parser.y"
{
(yyval.value).c = 0;
namespace_t ns = {ACCESS_PACKAGE, ""};
(yyval.value).c = abc_construct((yyval.value).c, 2);
}
(yyval.value).t = TYPE_REGEXP;
-;}
+}
+ }
break;
- case 214:
-/* Line 1455 of yacc.c */
-#line 2388 "parser.y"
+
+ case 215:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2475 "parser.y"
{(yyval.value).c = abc_pushbyte(0, (yyvsp[(1) - (1)].number_uint));
//MULTINAME(m, registry_getintclass());
//$$.c = abc_coerce2($$.c, &m); // FIXME
(yyval.value).t = TYPE_INT;
- ;}
+ }
+ }
break;
- case 215:
-/* Line 1455 of yacc.c */
-#line 2393 "parser.y"
+
+ case 216:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2480 "parser.y"
{(yyval.value).c = abc_pushshort(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_INT;
- ;}
+ }
+ }
break;
- case 216:
-/* Line 1455 of yacc.c */
-#line 2396 "parser.y"
+
+ case 217:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2483 "parser.y"
{(yyval.value).c = abc_pushint(0, (yyvsp[(1) - (1)].number_int));
(yyval.value).t = TYPE_INT;
- ;}
+ }
+ }
break;
- case 217:
-/* Line 1455 of yacc.c */
-#line 2399 "parser.y"
+
+ case 218:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2486 "parser.y"
{(yyval.value).c = abc_pushuint(0, (yyvsp[(1) - (1)].number_uint));
(yyval.value).t = TYPE_UINT;
- ;}
+ }
+ }
break;
- case 218:
-/* Line 1455 of yacc.c */
-#line 2402 "parser.y"
+
+ case 219:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2489 "parser.y"
{(yyval.value).c = abc_pushdouble(0, (yyvsp[(1) - (1)].number_float));
(yyval.value).t = TYPE_FLOAT;
- ;}
+ }
+ }
break;
- case 219:
-/* Line 1455 of yacc.c */
-#line 2405 "parser.y"
+
+ case 220:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2492 "parser.y"
{(yyval.value).c = abc_pushstring2(0, &(yyvsp[(1) - (1)].str));
(yyval.value).t = TYPE_STRING;
- ;}
+ }
+ }
break;
- case 220:
-/* Line 1455 of yacc.c */
-#line 2408 "parser.y"
+
+ case 221:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2495 "parser.y"
{(yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
- ;}
+ }
+ }
break;
- case 221:
-/* Line 1455 of yacc.c */
-#line 2411 "parser.y"
+
+ case 222:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2498 "parser.y"
{(yyval.value).c = abc_pushtrue(0);
(yyval.value).t = TYPE_BOOLEAN;
- ;}
+ }
+ }
break;
- case 222:
-/* Line 1455 of yacc.c */
-#line 2414 "parser.y"
+
+ case 223:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2501 "parser.y"
{(yyval.value).c = abc_pushfalse(0);
(yyval.value).t = TYPE_BOOLEAN;
- ;}
+ }
+ }
break;
- case 223:
-/* Line 1455 of yacc.c */
-#line 2417 "parser.y"
+
+ case 224:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2504 "parser.y"
{(yyval.value).c = abc_pushnull(0);
(yyval.value).t = TYPE_NULL;
- ;}
+ }
+ }
break;
- case 225:
-/* Line 1455 of yacc.c */
-#line 2422 "parser.y"
+
+ case 226:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2509 "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;
- ;}
+ }
+ }
break;
- case 226:
-/* Line 1455 of yacc.c */
-#line 2425 "parser.y"
+
+ case 227:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2512 "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;
- ;}
+ }
+ }
break;
- case 227:
-/* Line 1455 of yacc.c */
-#line 2428 "parser.y"
+
+ case 228:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2515 "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;
- ;}
+ }
+ }
break;
- case 228:
-/* Line 1455 of yacc.c */
-#line 2431 "parser.y"
+
+ case 229:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2518 "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;
- ;}
+ }
+ }
break;
- case 229:
-/* Line 1455 of yacc.c */
-#line 2434 "parser.y"
+
+ case 230:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2521 "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;
- ;}
+ }
+ }
break;
- case 230:
-/* Line 1455 of yacc.c */
-#line 2437 "parser.y"
+
+ case 231:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2524 "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;
- ;}
+ }
+ }
break;
- case 231:
-/* Line 1455 of yacc.c */
-#line 2440 "parser.y"
+
+ case 232:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2527 "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;
- ;}
+ }
+ }
break;
- case 232:
-/* Line 1455 of yacc.c */
-#line 2443 "parser.y"
+
+ case 233:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2530 "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;
- ;}
+ }
+ }
break;
- case 233:
-/* Line 1455 of yacc.c */
-#line 2447 "parser.y"
+
+ case 234:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2534 "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);
(yyval.value).c = converttype((yyval.value).c, (yyvsp[(3) - (3)].value).t, (yyval.value).t);
code_t*label = (yyval.value).c = abc_label((yyval.value).c);
jmp->branch = label;
- ;}
+ }
+ }
break;
- case 234:
-/* Line 1455 of yacc.c */
-#line 2458 "parser.y"
+
+ case 235:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2545 "parser.y"
{
(yyval.value).t = join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, 'A');
/*printf("%08x:\n",$1.t);
(yyval.value).c = converttype((yyval.value).c, (yyvsp[(3) - (3)].value).t, (yyval.value).t);
code_t*label = (yyval.value).c = abc_label((yyval.value).c);
jmp->branch = label;
- ;}
+ }
+ }
break;
- case 235:
-/* Line 1455 of yacc.c */
-#line 2476 "parser.y"
+
+ case 236:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2563 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_not((yyval.value).c);
(yyval.value).t = TYPE_BOOLEAN;
- ;}
+ }
+ }
break;
- case 236:
-/* Line 1455 of yacc.c */
-#line 2481 "parser.y"
+
+ case 237:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2568 "parser.y"
{(yyval.value).c=(yyvsp[(2) - (2)].value).c;
(yyval.value).c = abc_bitnot((yyval.value).c);
(yyval.value).t = TYPE_INT;
- ;}
+ }
+ }
break;
- case 237:
-/* Line 1455 of yacc.c */
-#line 2486 "parser.y"
+
+ case 238:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2573 "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;
- ;}
+ }
+ }
break;
- case 238:
-/* Line 1455 of yacc.c */
-#line 2491 "parser.y"
+
+ case 239:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2578 "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;
- ;}
+ }
+ }
break;
- case 239:
-/* Line 1455 of yacc.c */
-#line 2496 "parser.y"
+
+ case 240:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2583 "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;
- ;}
+ }
+ }
break;
- case 240:
-/* Line 1455 of yacc.c */
-#line 2501 "parser.y"
+
+ case 241:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2588 "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;
- ;}
+ }
+ }
break;
- case 241:
-/* Line 1455 of yacc.c */
-#line 2505 "parser.y"
+
+ case 242:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2592 "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;
- ;}
+ }
+ }
break;
- case 242:
-/* Line 1455 of yacc.c */
-#line 2509 "parser.y"
+
+ case 243:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2596 "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;
- ;}
+ }
+ }
break;
- case 243:
-/* Line 1455 of yacc.c */
-#line 2514 "parser.y"
+
+ case 244:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2601 "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;
- ;}
+ }
+ }
break;
- case 244:
-/* Line 1455 of yacc.c */
-#line 2518 "parser.y"
+
+ case 245:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2605 "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;
- ;}
+ }
+ }
break;
- case 245:
-/* Line 1455 of yacc.c */
-#line 2522 "parser.y"
+
+ case 246:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2609 "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);
(yyval.value).c = abc_add((yyval.value).c);
(yyval.value).t = join_types((yyvsp[(1) - (3)].value).t,(yyvsp[(3) - (3)].value).t,'+');
}
- ;}
+ }
+ }
break;
- case 246:
-/* Line 1455 of yacc.c */
-#line 2531 "parser.y"
+
+ case 247:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2618 "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);
(yyval.value).c = abc_subtract((yyval.value).c);
(yyval.value).t = TYPE_NUMBER;
}
- ;}
+ }
+ }
break;
- case 247:
-/* Line 1455 of yacc.c */
-#line 2540 "parser.y"
+
+ case 248:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2627 "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);
(yyval.value).c = abc_multiply((yyval.value).c);
(yyval.value).t = TYPE_NUMBER;
}
- ;}
+ }
+ }
break;
- case 248:
-/* Line 1455 of yacc.c */
-#line 2550 "parser.y"
+
+ case 249:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2637 "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;
- ;}
+ }
+ }
break;
- case 249:
-/* Line 1455 of yacc.c */
-#line 2555 "parser.y"
+
+ case 250:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2642 "parser.y"
{char use_astype=0; // flash player's astype works differently than astypelate
if(use_astype && TYPE_IS_CLASS((yyvsp[(3) - (3)].value).t)) {
MULTINAME(m,(yyvsp[(3) - (3)].value).t->cls);
(yyval.value).c = abc_astypelate((yyval.value).c);
(yyval.value).t = TYPE_ANY;
}
- ;}
+ }
+ }
break;
- case 250:
-/* Line 1455 of yacc.c */
-#line 2568 "parser.y"
+
+ case 251:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2655 "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;
- ;}
+ }
+ }
break;
- case 251:
-/* Line 1455 of yacc.c */
-#line 2573 "parser.y"
+
+ case 252:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2660 "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;
- ;}
+ }
+ }
break;
- case 252:
-/* Line 1455 of yacc.c */
-#line 2578 "parser.y"
+
+ case 253:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2665 "parser.y"
{
(yyval.value).c = (yyvsp[(3) - (4)].value).c;
(yyval.value).c = abc_typeof((yyval.value).c);
(yyval.value).t = TYPE_STRING;
- ;}
+ }
+ }
break;
- case 253:
-/* Line 1455 of yacc.c */
-#line 2584 "parser.y"
+
+ case 254:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2671 "parser.y"
{
(yyval.value).c = cut_last_push((yyvsp[(2) - (2)].value).c);
(yyval.value).c = abc_pushundefined((yyval.value).c);
(yyval.value).t = TYPE_ANY;
- ;}
+ }
+ }
break;
- case 254:
-/* Line 1455 of yacc.c */
-#line 2590 "parser.y"
+
+ case 255:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2677 "parser.y"
{ (yyval.value).c = abc_pushundefined(0);
(yyval.value).t = TYPE_ANY;
- ;}
+ }
+ }
break;
- case 255:
-/* Line 1455 of yacc.c */
-#line 2594 "parser.y"
- {(yyval.value)=(yyvsp[(2) - (3)].value);;}
+
+ case 256:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2681 "parser.y"
+ {(yyval.value)=(yyvsp[(2) - (3)].value);}
+ }
break;
- case 256:
-/* Line 1455 of yacc.c */
-#line 2596 "parser.y"
+
+ case 257:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2683 "parser.y"
{
(yyval.value)=(yyvsp[(2) - (2)].value);
if(IS_INT((yyvsp[(2) - (2)].value).t)) {
(yyval.value).c=abc_negate((yyval.value).c);
(yyval.value).t = TYPE_NUMBER;
}
-;}
+}
+ }
break;
- case 257:
-/* Line 1455 of yacc.c */
-#line 2607 "parser.y"
+
+ case 258:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2694 "parser.y"
{
(yyval.value).c = (yyvsp[(1) - (4)].value).c;
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(3) - (4)].value).c);
-
+
MULTINAME_LATE(m, (yyvsp[(1) - (4)].value).t?(yyvsp[(1) - (4)].value).t->access:ACCESS_PACKAGE, "");
(yyval.value).c = abc_getproperty2((yyval.value).c, &m);
(yyval.value).t = 0; // array elements have unknown type
-;}
+}
+ }
break;
- case 258:
-/* Line 1455 of yacc.c */
-#line 2616 "parser.y"
+
+ case 259:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2703 "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).t = registry_getarrayclass();
-;}
+}
+ }
break;
- case 259:
-/* Line 1455 of yacc.c */
-#line 2623 "parser.y"
- {(yyval.value_list).cc=0;(yyval.value_list).len=0;;}
+
+ case 260:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2710 "parser.y"
+ {(yyval.value_list).cc=0;(yyval.value_list).len=0;}
+ }
break;
- case 260:
-/* Line 1455 of yacc.c */
-#line 2624 "parser.y"
+
+ case 261:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2711 "parser.y"
{(yyval.value_list)=(yyvsp[(1) - (1)].value_list);}
+ }
break;
- case 261:
-/* Line 1455 of yacc.c */
-#line 2626 "parser.y"
+
+ case 262:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2713 "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;
-;}
+}
+ }
break;
- case 262:
-/* Line 1455 of yacc.c */
-#line 2632 "parser.y"
+
+ case 263:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2719 "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).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);
-;}
+}
+ }
break;
- case 263:
-/* Line 1455 of yacc.c */
-#line 2641 "parser.y"
+
+ case 264:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2728 "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).t = registry_getobjectclass();
-;}
+}
+ }
break;
- case 264:
-/* Line 1455 of yacc.c */
-#line 2648 "parser.y"
+
+ case 265:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2735 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
if(BOTH_INT((yyvsp[(1) - (3)].value).t,(yyvsp[(3) - (3)].value).t)) {
c=converttype(c, join_types((yyvsp[(1) - (3)].value).t, (yyvsp[(3) - (3)].value).t, '*'), (yyvsp[(1) - (3)].value).t);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 265:
-/* Line 1455 of yacc.c */
-#line 2660 "parser.y"
+
+ case 266:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2747 "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);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 266:
-/* Line 1455 of yacc.c */
-#line 2666 "parser.y"
+
+ case 267:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2753 "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);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 267:
-/* Line 1455 of yacc.c */
-#line 2672 "parser.y"
+
+ case 268:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2759 "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);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 268:
-/* Line 1455 of yacc.c */
-#line 2678 "parser.y"
+
+ case 269:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2765 "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);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 269:
-/* Line 1455 of yacc.c */
-#line 2684 "parser.y"
+
+ case 270:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2771 "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);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 270:
-/* Line 1455 of yacc.c */
-#line 2690 "parser.y"
+
+ case 271:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2777 "parser.y"
{
code_t*c = abc_bitor((yyvsp[(3) - (3)].value).c);
c=converttype(c, TYPE_INT, (yyvsp[(1) - (3)].value).t);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 271:
-/* Line 1455 of yacc.c */
-#line 2696 "parser.y"
+
+ case 272:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2783 "parser.y"
{
code_t*c = (yyvsp[(3) - (3)].value).c;
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 272:
-/* Line 1455 of yacc.c */
-#line 2709 "parser.y"
+
+ case 273:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2796 "parser.y"
{ code_t*c = (yyvsp[(3) - (3)].value).c;
if(TYPE_IS_INT((yyvsp[(1) - (3)].value).t)) {
c=abc_subtract_i(c);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 273:
-/* Line 1455 of yacc.c */
-#line 2720 "parser.y"
+
+ case 274:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2807 "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);
(yyval.value).c = toreadwrite((yyvsp[(1) - (3)].value).c, c, 1, 0);
(yyval.value).t = (yyvsp[(1) - (3)].value).t;
- ;}
+ }
+ }
break;
- case 274:
-/* Line 1455 of yacc.c */
-#line 2727 "parser.y"
+
+ case 275:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2814 "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;
(yyval.value).c = code_append((yyval.value).c, (yyvsp[(5) - (5)].value).c);
(yyval.value).c = converttype((yyval.value).c, (yyvsp[(3) - (5)].value).t, (yyval.value).t);
(yyval.value).c = j2->branch = abc_label((yyval.value).c);
- ;}
+ }
+ }
break;
- case 275:
-/* Line 1455 of yacc.c */
-#line 2740 "parser.y"
+
+ case 276:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2827 "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)) {
(yyval.value).c = toreadwrite((yyvsp[(1) - (2)].value).c, c, 0, 1);
(yyval.value).t = (yyvsp[(1) - (2)].value).t;
}
- ;}
+ }
+ }
break;
- case 276:
-/* Line 1455 of yacc.c */
-#line 2767 "parser.y"
+
+ case 277:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2854 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(1) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
c=converttype(c, type, (yyvsp[(1) - (2)].value).t);
(yyval.value).c = toreadwrite((yyvsp[(1) - (2)].value).c, c, 0, 1);
(yyval.value).t = (yyvsp[(1) - (2)].value).t;
- ;}
+ }
+ }
break;
- case 277:
-/* Line 1455 of yacc.c */
-#line 2781 "parser.y"
+
+ case 278:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2868 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
c=converttype(c, type, (yyvsp[(2) - (2)].value).t);
(yyval.value).c = toreadwrite((yyvsp[(2) - (2)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(2) - (2)].value).t;
- ;}
+ }
+ }
break;
- case 278:
-/* Line 1455 of yacc.c */
-#line 2795 "parser.y"
+
+ case 279:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2882 "parser.y"
{ code_t*c = 0;
classinfo_t*type = (yyvsp[(2) - (2)].value).t;
if(TYPE_IS_INT(type) || TYPE_IS_UINT(type)) {
c=converttype(c, type, (yyvsp[(2) - (2)].value).t);
(yyval.value).c = toreadwrite((yyvsp[(2) - (2)].value).c, c, 0, 0);
(yyval.value).t = (yyvsp[(2) - (2)].value).t;
- ;}
+ }
+ }
break;
- case 279:
-/* Line 1455 of yacc.c */
-#line 2810 "parser.y"
+
+ case 280:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2897 "parser.y"
{ if(!state->cls->info)
syntaxerror("super keyword not allowed outside a class");
classinfo_t*t = state->cls->info->superclass;
(yyval.value).c = abc_getlocal_0((yyval.value).c);
(yyval.value).c = abc_getsuper2((yyval.value).c, &m);
(yyval.value).t = memberinfo_gettype(f);
- ;}
+ }
+ }
break;
- case 280:
-/* Line 1455 of yacc.c */
-#line 2825 "parser.y"
+
+ case 281:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2912 "parser.y"
{(yyval.value).c = (yyvsp[(1) - (3)].value).c;
classinfo_t*t = (yyvsp[(1) - (3)].value).t;
char is_static = 0;
(yyval.value).c = abc_coerce_a((yyval.value).c);
(yyval.value).t = registry_getanytype();
}
- ;}
+ }
+ }
break;
- case 281:
-/* Line 1455 of yacc.c */
-#line 2858 "parser.y"
+
+ case 282:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 2945 "parser.y"
{
(yyval.value).t = 0;
(yyval.value).c = 0;
(yyval.value).c = abc_findpropstrict2((yyval.value).c, &m);
(yyval.value).c = abc_getproperty2((yyval.value).c, &m);
}
-;}
+}
+ }
break;
- case 282:
-/* Line 1455 of yacc.c */
-#line 2956 "parser.y"
- {(yyval.code)=0;;}
+
+ case 283:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 3043 "parser.y"
+ {(yyval.code)=0;}
+ }
break;
- case 283:
-/* Line 1455 of yacc.c */
-#line 2957 "parser.y"
- {(yyval.code)=0;;}
+
+ case 284:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 3044 "parser.y"
+ {(yyval.code)=0;}
+ }
break;
- case 284:
-/* Line 1455 of yacc.c */
-#line 2958 "parser.y"
- {(yyval.code)=0;;}
+
+ case 285:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 3045 "parser.y"
+ {(yyval.code)=0;}
+ }
break;
- case 285:
-/* Line 1455 of yacc.c */
-#line 2960 "parser.y"
- {(yyval.token)=0;;}
+
+ case 286:
+ if(as3_pass==2) {
+
+/* Line 1464 of skeleton.m4 */
+#line 3047 "parser.y"
+ {(yyval.token)=0;}
+ }
break;
-/* Line 1455 of yacc.c */
-#line 6181 "parser.tab.c"
+
+/* Line 1464 of skeleton.m4 */
+#line 7170 "parser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);