From 5a9b4530f6a84ce3666a94605270bddaf43c9ff2 Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Mon, 13 Apr 2009 22:11:39 +0200 Subject: [PATCH] as3compile: small bugfixes, added documentation --- lib/as3/expr.c | 2 +- lib/as3/ok/for-in.as | 20 +- lib/as3/ok/if.as | 7 + lib/as3/ok/namespaces2.as | 1 + lib/as3/ok/xml.as | 4 + lib/as3/parser.tab.c | 2312 +++++++++++++++++++++++---------------------- lib/as3/parser.y | 35 +- src/as3compile.1 | 46 +- src/as3compile.c | 21 +- src/as3compile.doc | 37 +- src/font2swf.1 | 2 +- src/font2swf.c | 1 - src/gif2swf.1 | 2 +- src/jpeg2swf.1 | 2 +- src/png2swf.1 | 2 +- src/swfbbox.1 | 2 +- src/swfc.1 | 2 +- src/swfcombine.1 | 2 +- src/swfdump.1 | 2 +- src/wav2swf.1 | 2 +- 20 files changed, 1317 insertions(+), 1187 deletions(-) diff --git a/lib/as3/expr.c b/lib/as3/expr.c index c07478b..30cb855 100644 --- a/lib/as3/expr.c +++ b/lib/as3/expr.c @@ -155,7 +155,7 @@ static code_t* toreadwrite(code_t*in, code_t*middlepart, char justassign, char r prefix = abc_dup(prefix); // we need the object, too } use_temp_var = 1; - } else if(m->type == MULTINAMEL) { + } else if(m->type == MULTINAMEL || m->type == MULTINAMELA) { if(!justassign) { /* dupping two values on the stack requires 5 operations and one register- couldn't adobe just have given us a dup2? */ diff --git a/lib/as3/ok/for-in.as b/lib/as3/ok/for-in.as index 3e17b38..849250a 100644 --- a/lib/as3/ok/for-in.as +++ b/lib/as3/ok/for-in.as @@ -1,33 +1,36 @@ package { import flash.display.MovieClip public class Main extends flash.display.MovieClip { + + var ci:int = 0; + function Main() { var a:Array = new Array(1,2,3,4,6,5,7,8,9,10); var j:int = 0; for(var x in a) { j += x; } - if(j==45) trace("ok 1/5"); + if(j==45) trace("ok 1/6"); var y; j = 0; for(y in a) { j += y; } - if(j==45) trace("ok 2/5"); + if(j==45) trace("ok 2/6"); j = 0; for each(var x in a) { j += x; } - if(j==55) trace("ok 3/5"); + if(j==55) trace("ok 3/6"); var z = 0; j = 0; for each(z in a) { j += z; } - if(j==55) trace("ok 4/5"); + if(j==55) trace("ok 4/6"); var i:int = 0; j = 0; @@ -38,7 +41,14 @@ package { else continue; } - if(j==16) trace("ok 5/5"); + if(j==16) trace("ok 5/6"); + + j = 0; + for each(ci in a) { + j += ci; + } + if(j == 55) trace("ok 6/6"); + trace("[exit]"); } } diff --git a/lib/as3/ok/if.as b/lib/as3/ok/if.as index 3b4d4dd..5a8e3f4 100644 --- a/lib/as3/ok/if.as +++ b/lib/as3/ok/if.as @@ -15,6 +15,13 @@ package { else if(false) trace("error"); else if(true) trace("ok 5/5"); else if(false) trace("error"); + + if(true) { + var x; + } else { + var x; + } + trace("[exit]"); } } diff --git a/lib/as3/ok/namespaces2.as b/lib/as3/ok/namespaces2.as index 6a065bd..bbb6e6d 100644 --- a/lib/as3/ok/namespaces2.as +++ b/lib/as3/ok/namespaces2.as @@ -23,6 +23,7 @@ package { { this.tf(1); tf(2); + var ns:Namespace = flash_proxy; trace("[exit]"); } diff --git a/lib/as3/ok/xml.as b/lib/as3/ok/xml.as index 6cda8fe..a9d79f3 100644 --- a/lib/as3/ok/xml.as +++ b/lib/as3/ok/xml.as @@ -117,6 +117,10 @@ package { assert(x10 != x11); x11.b.@a = "x"; assert(x10 == x11); + x11.b.@["a"] = "y"; + assert(x10 != x11); + x11.b.@["a"] = "x"; + assert(x10 == x11); var x12:XML = ; x12.a += ; diff --git a/lib/as3/parser.tab.c b/lib/as3/parser.tab.c index f03b96f..3e68d39 100644 --- a/lib/as3/parser.tab.c +++ b/lib/as3/parser.tab.c @@ -292,7 +292,7 @@ tokenunion /* Copy the second part of user declarations. */ /* Line 273 of skeleton.m4 */ -#line 275 "parser.y" +#line 276 "parser.y" static int a3_error(char*s) @@ -591,6 +591,7 @@ void initialize_file(char*filename) state->method->late_binding = 1; // init scripts use getglobalscope, so we need a getlocal0/pushscope } else { state->method = dict_lookup(global->token2info, (void*)(ptroff_t)as3_tokencount); + state->method->variable_count = 0; if(!state->method) syntaxerror("internal error: skewed tokencount"); function_initvars(state->method, 0, 0, 0, 1); @@ -967,6 +968,13 @@ static void function_initvars(methodstate_t*m, char has_params, params_t*params, index = new_variable((flags&FLAG_STATIC)?"class":"this", state->cls?state->cls->info:0, 0, 0); else index = new_variable("globalscope", 0, 0, 0); + if(index) { + printf("pass: %d\n", as3_pass); + DICT_ITERATE_ITEMS(state->vars, char*, name, variable_t*, v) { + printf("%d) %s\n", v->index, name); + } + printf("count: %d\n", state->method->variable_count); + } parserassert(!index); } @@ -1923,11 +1931,11 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 273 of skeleton.m4 */ -#line 1927 "parser.tab.c" +#line 1935 "parser.tab.c" /* Unqualified %code blocks. */ /* Line 274 of skeleton.m4 */ -#line 2008 "parser.y" +#line 2017 "parser.y" char is_subtype_of(classinfo_t*type, classinfo_t*supertype) { @@ -1936,7 +1944,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2458 "parser.y" +#line 2468 "parser.y" static void state_has_imports() { @@ -1959,7 +1967,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2591 "parser.y" +#line 2607 "parser.y" static int slotstate_varconst = 0; static modifiers_t*slotstate_flags = 0; @@ -2021,13 +2029,13 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2776 "parser.y" +#line 2787 "parser.y" static int xml_level = 0; /* Line 274 of skeleton.m4 */ -#line 3555 "parser.y" +#line 3566 "parser.y" node_t* resolve_identifier(char*name) { @@ -2144,7 +2152,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 3697 "parser.y" +#line 3708 "parser.y" void add_active_url(const char*url) { @@ -2156,7 +2164,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2160 "parser.tab.c" +#line 2168 "parser.tab.c" #ifdef short # undef short @@ -2369,16 +2377,16 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 161 +#define YYFINAL 163 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3421 +#define YYLAST 3351 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 136 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 135 /* YYNRULES -- Number of rules. */ -#define YYNRULES 351 +#define YYNRULES 353 /* YYNRULES -- Number of states. */ #define YYNSTATES 598 @@ -2447,31 +2455,31 @@ static const yytype_uint16 yyprhs[] = 204, 212, 214, 217, 219, 222, 223, 225, 227, 230, 232, 235, 240, 244, 245, 254, 255, 265, 266, 272, 274, 277, 279, 282, 284, 285, 292, 295, 297, 302, - 305, 307, 309, 311, 313, 317, 319, 320, 327, 328, - 334, 337, 342, 343, 345, 347, 350, 352, 354, 356, - 358, 360, 362, 364, 366, 368, 370, 371, 374, 375, - 378, 379, 382, 383, 393, 394, 403, 404, 406, 408, - 411, 413, 418, 420, 422, 424, 425, 427, 429, 432, - 434, 437, 446, 448, 450, 451, 456, 458, 462, 466, - 467, 470, 472, 474, 476, 478, 480, 482, 484, 486, - 488, 490, 492, 494, 495, 496, 501, 502, 507, 508, - 511, 514, 517, 520, 524, 526, 528, 539, 546, 558, - 559, 561, 563, 566, 568, 572, 576, 580, 584, 585, - 587, 590, 595, 599, 601, 606, 609, 611, 613, 614, - 615, 628, 630, 631, 632, 643, 645, 649, 651, 653, - 655, 659, 661, 663, 665, 668, 669, 670, 674, 675, - 677, 679, 681, 684, 687, 688, 693, 698, 703, 706, - 708, 711, 713, 715, 717, 721, 723, 727, 728, 730, - 732, 734, 736, 738, 740, 744, 750, 752, 754, 756, - 758, 760, 762, 764, 766, 768, 770, 774, 778, 782, - 786, 790, 794, 798, 802, 806, 810, 814, 818, 821, - 824, 828, 832, 836, 840, 844, 848, 852, 856, 860, - 864, 868, 872, 876, 880, 884, 889, 892, 894, 898, - 901, 906, 910, 914, 918, 922, 926, 930, 934, 938, - 942, 946, 950, 954, 960, 963, 966, 969, 972, 976, - 979, 980, 987, 989, 991, 993, 995, 997, 1003, 1007, - 1013, 1018, 1023, 1030, 1037, 1041, 1043, 1046, 1051, 1056, - 1059, 1064 + 305, 307, 309, 311, 313, 315, 319, 321, 322, 329, + 330, 336, 339, 342, 347, 348, 350, 352, 355, 357, + 359, 361, 363, 365, 367, 369, 371, 373, 375, 376, + 379, 380, 383, 384, 387, 388, 398, 399, 408, 409, + 411, 413, 416, 418, 423, 425, 427, 429, 430, 432, + 434, 437, 439, 442, 451, 453, 455, 456, 461, 463, + 467, 471, 472, 475, 477, 479, 481, 483, 485, 487, + 489, 491, 493, 495, 497, 499, 500, 501, 506, 507, + 512, 513, 516, 519, 522, 525, 529, 531, 533, 544, + 551, 563, 564, 566, 568, 571, 573, 577, 581, 585, + 589, 590, 592, 595, 600, 604, 606, 611, 614, 616, + 618, 619, 620, 633, 635, 636, 637, 648, 650, 654, + 656, 658, 660, 664, 666, 668, 670, 673, 674, 675, + 679, 680, 682, 684, 686, 689, 692, 693, 698, 703, + 708, 711, 713, 716, 718, 720, 722, 726, 728, 732, + 733, 735, 737, 739, 741, 743, 745, 749, 755, 757, + 759, 761, 763, 765, 767, 769, 771, 773, 775, 779, + 783, 787, 791, 795, 799, 803, 807, 811, 815, 819, + 823, 826, 829, 833, 837, 841, 845, 849, 853, 857, + 861, 865, 869, 873, 877, 881, 885, 889, 892, 895, + 897, 901, 904, 909, 913, 917, 921, 925, 929, 933, + 937, 941, 945, 949, 953, 957, 963, 966, 969, 972, + 975, 979, 982, 983, 990, 992, 994, 996, 998, 1000, + 1006, 1010, 1016, 1021, 1026, 1033, 1040, 1044, 1046, 1049, + 1054, 1059, 1062, 1067 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -2508,123 +2516,124 @@ static const yytype_int16 yyrhs[] = 177, -1, 177, -1, -1, 52, 128, 182, 144, 134, 180, -1, 37, 255, -1, 37, -1, 39, 124, 255, 135, -1, 184, 148, -1, 3, -1, 17, -1, 16, - -1, 4, -1, 187, 129, 186, -1, 186, -1, -1, - 17, 187, 128, 189, 141, 134, -1, -1, 17, 128, - 190, 141, 134, -1, 41, 240, -1, 41, 187, 129, - 117, -1, -1, 193, -1, 194, -1, 193, 194, -1, - 20, -1, 21, -1, 18, -1, 38, -1, 47, -1, - 49, -1, 48, -1, 25, -1, 23, -1, 4, -1, - -1, 54, 241, -1, -1, 54, 242, -1, -1, 15, - 242, -1, -1, 192, 31, 3, 195, 197, 128, 199, - 202, 134, -1, -1, 192, 44, 3, 196, 128, 201, - 205, 134, -1, -1, 203, -1, 204, -1, 203, 204, - -1, 101, -1, 150, 128, 202, 134, -1, 209, -1, - 234, -1, 146, -1, -1, 206, -1, 207, -1, 206, - 207, -1, 101, -1, 46, 3, -1, 192, 26, 233, - 3, 124, 230, 135, 244, -1, 46, -1, 32, -1, - -1, 192, 208, 210, 211, -1, 212, -1, 211, 102, - 212, -1, 3, 244, 151, -1, -1, 104, 261, -1, - 8, -1, 9, -1, 10, -1, 5, -1, 56, -1, - 55, -1, 45, -1, 28, -1, 29, -1, 226, -1, - 111, -1, 112, -1, -1, -1, 128, 261, 220, 134, - -1, -1, 128, 261, 222, 134, -1, -1, 223, 219, - -1, 223, 5, -1, 223, 112, -1, 226, 223, -1, - 224, 226, 223, -1, 3, -1, 221, -1, 216, 225, - 227, 217, 223, 111, 116, 225, 218, 112, -1, 216, - 225, 227, 116, 218, 112, -1, 216, 225, 227, 217, - 223, 224, 111, 116, 225, 218, 112, -1, -1, 228, - -1, 229, -1, 228, 229, -1, 221, -1, 221, 104, - 5, -1, 221, 104, 221, -1, 3, 104, 221, -1, - 3, 104, 5, -1, -1, 231, -1, 95, 232, -1, - 231, 102, 95, 232, -1, 231, 102, 232, -1, 232, - -1, 3, 106, 243, 213, -1, 3, 213, -1, 51, - -1, 35, -1, -1, -1, 192, 26, 233, 3, 124, - 230, 135, 244, 128, 235, 144, 134, -1, 3, -1, - -1, -1, 26, 236, 124, 230, 135, 244, 128, 238, - 144, 134, -1, 186, -1, 187, 129, 186, -1, 240, - -1, 239, -1, 241, -1, 242, 102, 241, -1, 241, - -1, 117, -1, 36, -1, 106, 243, -1, -1, -1, - 124, 246, 135, -1, -1, 247, -1, 248, -1, 254, - -1, 247, 102, -1, 248, 254, -1, -1, 24, 261, - 249, 245, -1, 261, 124, 246, 135, -1, 53, 124, - 246, 135, -1, 64, 261, -1, 42, -1, 42, 255, - -1, 261, -1, 256, -1, 261, -1, 256, 102, 261, - -1, 261, -1, 257, 102, 261, -1, -1, 260, -1, - 3, -1, 5, -1, 8, -1, 9, -1, 10, -1, - 259, 106, 254, -1, 260, 102, 259, 106, 254, -1, - 237, -1, 265, -1, 250, -1, 252, -1, 251, -1, - 266, -1, 214, -1, 215, -1, 6, -1, 19, -1, - 126, 246, 127, -1, 71, 258, 134, -1, 261, 111, - 261, -1, 261, 112, 261, -1, 261, 76, 261, -1, - 261, 77, 261, -1, 261, 72, 261, -1, 261, 73, - 261, -1, 261, 75, 261, -1, 261, 74, 261, -1, - 261, 89, 261, -1, 261, 90, 261, -1, 120, 261, - -1, 119, 261, -1, 261, 109, 261, -1, 261, 108, - 261, -1, 261, 107, 261, -1, 261, 98, 261, -1, - 261, 97, 261, -1, 261, 96, 261, -1, 261, 116, - 261, -1, 261, 118, 261, -1, 261, 115, 261, -1, - 261, 114, 261, -1, 261, 117, 261, -1, 261, 69, - 261, -1, 261, 70, 261, -1, 261, 40, 261, -1, - 261, 68, 261, -1, 43, 124, 261, 135, -1, 36, - 261, -1, 36, -1, 124, 256, 135, -1, 114, 261, - -1, 261, 126, 261, 127, -1, 261, 81, 261, -1, - 261, 80, 261, -1, 261, 87, 261, -1, 261, 86, - 261, -1, 261, 88, 261, -1, 261, 79, 261, -1, - 261, 78, 261, -1, 261, 85, 261, -1, 261, 82, - 261, -1, 261, 83, 261, -1, 261, 84, 261, -1, - 261, 104, 261, -1, 261, 105, 261, 106, 261, -1, - 261, 93, -1, 261, 92, -1, 93, 261, -1, 92, - 261, -1, 53, 129, 3, -1, 130, 3, -1, -1, - 261, 129, 124, 262, 261, 135, -1, 3, -1, 117, - -1, 4, -1, 186, -1, 117, -1, 261, 129, 263, - 91, 264, -1, 261, 94, 264, -1, 261, 129, 126, - 261, 127, -1, 261, 129, 130, 264, -1, 261, 94, - 130, 264, -1, 261, 129, 130, 126, 261, 127, -1, - 261, 94, 130, 126, 261, 127, -1, 261, 129, 264, - -1, 3, -1, 16, 3, -1, 16, 3, 104, 3, - -1, 16, 3, 104, 5, -1, 192, 267, -1, 63, - 16, 104, 261, -1, 22, 16, 241, -1 + -1, 29, -1, 4, -1, 187, 129, 186, -1, 186, + -1, -1, 17, 187, 128, 189, 141, 134, -1, -1, + 17, 128, 190, 141, 134, -1, 41, 3, -1, 41, + 240, -1, 41, 187, 129, 117, -1, -1, 193, -1, + 194, -1, 193, 194, -1, 20, -1, 21, -1, 18, + -1, 38, -1, 47, -1, 49, -1, 48, -1, 25, + -1, 23, -1, 4, -1, -1, 54, 241, -1, -1, + 54, 242, -1, -1, 15, 242, -1, -1, 192, 31, + 3, 195, 197, 128, 199, 202, 134, -1, -1, 192, + 44, 3, 196, 128, 201, 205, 134, -1, -1, 203, + -1, 204, -1, 203, 204, -1, 101, -1, 150, 128, + 202, 134, -1, 209, -1, 234, -1, 146, -1, -1, + 206, -1, 207, -1, 206, 207, -1, 101, -1, 46, + 3, -1, 192, 26, 233, 3, 124, 230, 135, 244, + -1, 46, -1, 32, -1, -1, 192, 208, 210, 211, + -1, 212, -1, 211, 102, 212, -1, 3, 244, 151, + -1, -1, 104, 261, -1, 8, -1, 9, -1, 10, + -1, 5, -1, 56, -1, 55, -1, 45, -1, 28, + -1, 29, -1, 226, -1, 111, -1, 112, -1, -1, + -1, 128, 261, 220, 134, -1, -1, 128, 261, 222, + 134, -1, -1, 223, 219, -1, 223, 5, -1, 223, + 112, -1, 226, 223, -1, 224, 226, 223, -1, 3, + -1, 221, -1, 216, 225, 227, 217, 223, 111, 116, + 225, 218, 112, -1, 216, 225, 227, 116, 218, 112, + -1, 216, 225, 227, 217, 223, 224, 111, 116, 225, + 218, 112, -1, -1, 228, -1, 229, -1, 228, 229, + -1, 221, -1, 221, 104, 5, -1, 221, 104, 221, + -1, 3, 104, 221, -1, 3, 104, 5, -1, -1, + 231, -1, 95, 232, -1, 231, 102, 95, 232, -1, + 231, 102, 232, -1, 232, -1, 3, 106, 243, 213, + -1, 3, 213, -1, 51, -1, 35, -1, -1, -1, + 192, 26, 233, 3, 124, 230, 135, 244, 128, 235, + 144, 134, -1, 3, -1, -1, -1, 26, 236, 124, + 230, 135, 244, 128, 238, 144, 134, -1, 186, -1, + 187, 129, 186, -1, 240, -1, 239, -1, 241, -1, + 242, 102, 241, -1, 241, -1, 117, -1, 36, -1, + 106, 243, -1, -1, -1, 124, 246, 135, -1, -1, + 247, -1, 248, -1, 254, -1, 247, 102, -1, 248, + 254, -1, -1, 24, 261, 249, 245, -1, 261, 124, + 246, 135, -1, 53, 124, 246, 135, -1, 64, 261, + -1, 42, -1, 42, 255, -1, 261, -1, 256, -1, + 261, -1, 256, 102, 261, -1, 261, -1, 257, 102, + 261, -1, -1, 260, -1, 3, -1, 5, -1, 8, + -1, 9, -1, 10, -1, 259, 106, 254, -1, 260, + 102, 259, 106, 254, -1, 237, -1, 265, -1, 250, + -1, 252, -1, 251, -1, 266, -1, 214, -1, 215, + -1, 6, -1, 19, -1, 126, 246, 127, -1, 71, + 258, 134, -1, 261, 111, 261, -1, 261, 112, 261, + -1, 261, 76, 261, -1, 261, 77, 261, -1, 261, + 72, 261, -1, 261, 73, 261, -1, 261, 75, 261, + -1, 261, 74, 261, -1, 261, 89, 261, -1, 261, + 90, 261, -1, 120, 261, -1, 119, 261, -1, 261, + 109, 261, -1, 261, 108, 261, -1, 261, 107, 261, + -1, 261, 98, 261, -1, 261, 97, 261, -1, 261, + 96, 261, -1, 261, 116, 261, -1, 261, 118, 261, + -1, 261, 115, 261, -1, 261, 114, 261, -1, 261, + 117, 261, -1, 261, 69, 261, -1, 261, 70, 261, + -1, 261, 40, 261, -1, 261, 68, 261, -1, 43, + 261, -1, 36, 261, -1, 36, -1, 124, 256, 135, + -1, 114, 261, -1, 261, 126, 261, 127, -1, 261, + 81, 261, -1, 261, 80, 261, -1, 261, 87, 261, + -1, 261, 86, 261, -1, 261, 88, 261, -1, 261, + 79, 261, -1, 261, 78, 261, -1, 261, 85, 261, + -1, 261, 82, 261, -1, 261, 83, 261, -1, 261, + 84, 261, -1, 261, 104, 261, -1, 261, 105, 261, + 106, 261, -1, 261, 93, -1, 261, 92, -1, 93, + 261, -1, 92, 261, -1, 53, 129, 3, -1, 130, + 3, -1, -1, 261, 129, 124, 262, 261, 135, -1, + 3, -1, 117, -1, 4, -1, 186, -1, 117, -1, + 261, 129, 263, 91, 264, -1, 261, 94, 264, -1, + 261, 129, 126, 261, 127, -1, 261, 129, 130, 264, + -1, 261, 94, 130, 264, -1, 261, 129, 130, 126, + 261, 127, -1, 261, 94, 130, 126, 261, 127, -1, + 261, 129, 264, -1, 3, -1, 16, 3, -1, 16, + 3, 104, 3, -1, 16, 3, 104, 5, -1, 192, + 267, -1, 63, 16, 104, 261, -1, 22, 16, 241, + -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1908, 1908, 1910, 1910, 1911, 1912, 1914, 1915, 1916, - 1917, 1918, 1919, 1920, 1921, 1923, 1923, 1924, 1925, 1927, - 1928, 1929, 1930, 1931, 1932, 1933, 1935, 1936, 1938, 1941, - 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, - 1954, 1955, 1956, 1957, 1958, 1961, 1962, 1963, 1964, 1965, - 1966, 1967, 1968, 1980, 1981, 1985, 1996, 2015, 2016, 2018, - 2019, 2021, 2022, 2024, 2084, 2085, 2088, 2088, 2107, 2108, - 2109, 2114, 2118, 2123, 2124, 2126, 2146, 2194, 2194, 2213, - 2213, 2228, 2231, 2234, 2237, 2241, 2242, 2243, 2244, 2245, - 2246, 2248, 2259, 2262, 2262, 2293, 2293, 2318, 2318, 2334, - 2335, 2336, 2337, 2345, 2354, 2354, 2403, 2407, 2418, 2428, - 2445, 2446, 2447, 2448, 2450, 2451, 2453, 2453, 2455, 2455, - 2478, 2492, 2508, 2509, 2510, 2511, 2518, 2519, 2520, 2521, - 2522, 2523, 2524, 2525, 2526, 2527, 2531, 2532, 2534, 2535, - 2537, 2538, 2542, 2540, 2548, 2546, 2555, 2556, 2557, 2558, - 2559, 2560, 2561, 2562, 2564, 2570, 2571, 2572, 2573, 2574, - 2575, 2578, 2651, 2651, 2653, 2653, 2655, 2656, 2658, 2742, - 2743, 2752, 2753, 2756, 2757, 2758, 2759, 2760, 2761, 2762, - 2780, 2782, 2783, 2784, 2786, 2786, 2790, 2790, 2794, 2795, - 2798, 2799, 2801, 2802, 2804, 2805, 2807, 2811, 2814, 2819, - 2820, 2821, 2822, 2824, 2827, 2831, 2834, 2837, 2847, 2851, - 2857, 2863, 2871, 2876, 2882, 2890, 2898, 2899, 2900, 2903, - 2902, 2919, 2920, 2922, 2921, 2945, 2964, 2978, 2979, 2981, - 2982, 2984, 2985, 2986, 2995, 2996, 3000, 3001, 3003, 3004, - 3005, 3007, 3011, 3012, 3017, 3018, 3062, 3112, 3133, 3155, - 3158, 3165, 3168, 3171, 3174, 3177, 3180, 3185, 3186, 3188, - 3189, 3190, 3191, 3192, 3194, 3200, 3209, 3210, 3211, 3212, - 3213, 3214, 3216, 3220, 3232, 3250, 3261, 3271, 3280, 3281, - 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, - 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, - 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, - 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, - 3322, 3323, 3324, 3325, 3327, 3328, 3329, 3330, 3332, 3347, - 3355, 3355, 3409, 3410, 3411, 3412, 3413, 3421, 3439, 3446, - 3457, 3464, 3471, 3481, 3492, 3670, 3706, 3713, 3720, 3727, - 3749, 3754 + 0, 1917, 1917, 1919, 1919, 1920, 1921, 1923, 1924, 1925, + 1926, 1927, 1928, 1929, 1930, 1932, 1932, 1933, 1934, 1936, + 1937, 1938, 1939, 1940, 1941, 1942, 1944, 1945, 1947, 1950, + 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, + 1963, 1964, 1965, 1966, 1967, 1970, 1971, 1972, 1973, 1974, + 1975, 1976, 1977, 1989, 1990, 1994, 2005, 2024, 2025, 2027, + 2028, 2030, 2031, 2033, 2093, 2094, 2097, 2097, 2116, 2117, + 2118, 2123, 2127, 2132, 2133, 2135, 2155, 2203, 2203, 2222, + 2222, 2237, 2240, 2243, 2246, 2250, 2251, 2252, 2253, 2254, + 2255, 2257, 2268, 2271, 2271, 2302, 2302, 2327, 2327, 2343, + 2344, 2345, 2346, 2354, 2363, 2363, 2412, 2416, 2427, 2437, + 2454, 2455, 2456, 2457, 2458, 2460, 2461, 2463, 2463, 2465, + 2465, 2489, 2497, 2508, 2524, 2525, 2526, 2527, 2534, 2535, + 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2547, 2548, + 2550, 2551, 2553, 2554, 2558, 2556, 2564, 2562, 2571, 2572, + 2573, 2574, 2575, 2576, 2577, 2578, 2580, 2586, 2587, 2588, + 2589, 2590, 2591, 2594, 2667, 2667, 2669, 2669, 2671, 2672, + 2674, 2758, 2759, 2768, 2769, 2772, 2773, 2774, 2775, 2776, + 2777, 2778, 2791, 2793, 2794, 2795, 2797, 2797, 2801, 2801, + 2805, 2806, 2809, 2810, 2812, 2813, 2815, 2816, 2818, 2822, + 2825, 2830, 2831, 2832, 2833, 2835, 2838, 2842, 2845, 2848, + 2858, 2862, 2868, 2874, 2882, 2887, 2893, 2901, 2909, 2910, + 2911, 2914, 2913, 2930, 2931, 2933, 2932, 2956, 2975, 2989, + 2990, 2992, 2993, 2995, 2996, 2997, 3006, 3007, 3011, 3012, + 3014, 3015, 3016, 3018, 3022, 3023, 3028, 3029, 3073, 3123, + 3144, 3166, 3169, 3176, 3179, 3182, 3185, 3188, 3191, 3196, + 3197, 3199, 3200, 3201, 3202, 3203, 3205, 3211, 3220, 3221, + 3222, 3223, 3224, 3225, 3227, 3231, 3243, 3261, 3272, 3282, + 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, + 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, + 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, + 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, + 3331, 3332, 3333, 3334, 3335, 3336, 3338, 3339, 3340, 3341, + 3343, 3358, 3366, 3366, 3420, 3421, 3422, 3423, 3424, 3432, + 3450, 3457, 3468, 3475, 3482, 3492, 3503, 3681, 3717, 3724, + 3731, 3738, 3760, 3766 }; #endif @@ -2725,31 +2734,31 @@ static const yytype_uint16 yyr1[] = 165, 167, 167, 168, 168, 169, 169, 169, 169, 170, 170, 171, 172, 174, 173, 176, 175, 178, 177, 179, 179, 180, 180, 180, 182, 181, 183, 183, 184, 185, - 186, 186, 186, 186, 187, 187, 189, 188, 190, 188, - 191, 191, 192, 192, 193, 193, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 195, 195, 196, 196, - 197, 197, 199, 198, 201, 200, 202, 202, 203, 203, - 204, 204, 204, 204, 204, 205, 205, 206, 206, 207, - 207, 207, 208, 208, 210, 209, 211, 211, 212, 213, - 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, - 215, 216, 217, 218, 220, 219, 222, 221, 223, 223, - 223, 223, 224, 224, 225, 225, 226, 226, 226, 227, - 227, 228, 228, 229, 229, 229, 229, 229, 230, 230, - 230, 230, 231, 231, 232, 232, 233, 233, 233, 235, - 234, 236, 236, 238, 237, 239, 240, 241, 241, 242, - 242, 243, 243, 243, 244, 244, 245, 245, 246, 246, - 246, 247, 248, 247, 249, 250, 251, 251, 252, 253, - 253, 254, 255, 256, 256, 257, 257, 258, 258, 259, - 259, 259, 259, 259, 260, 260, 261, 261, 261, 261, + 186, 186, 186, 186, 186, 187, 187, 189, 188, 190, + 188, 191, 191, 191, 192, 192, 193, 193, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 195, 195, + 196, 196, 197, 197, 199, 198, 201, 200, 202, 202, + 203, 203, 204, 204, 204, 204, 204, 205, 205, 206, + 206, 207, 207, 207, 208, 208, 210, 209, 211, 211, + 212, 213, 213, 214, 214, 214, 214, 214, 214, 214, + 214, 214, 215, 216, 217, 218, 220, 219, 222, 221, + 223, 223, 223, 223, 224, 224, 225, 225, 226, 226, + 226, 227, 227, 228, 228, 229, 229, 229, 229, 229, + 230, 230, 230, 230, 231, 231, 232, 232, 233, 233, + 233, 235, 234, 236, 236, 238, 237, 239, 240, 241, + 241, 242, 242, 243, 243, 243, 244, 244, 245, 245, + 246, 246, 246, 247, 248, 247, 249, 250, 251, 251, + 252, 253, 253, 254, 255, 256, 256, 257, 257, 258, + 258, 259, 259, 259, 259, 259, 260, 260, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 262, 261, 263, 263, 263, 264, 264, 261, 261, 261, - 261, 261, 261, 261, 265, 266, 267, 267, 267, 268, - 269, 270 + 261, 261, 262, 261, 263, 263, 263, 264, 264, 261, + 261, 261, 261, 261, 261, 261, 265, 266, 267, 267, + 267, 268, 269, 270 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -2766,31 +2775,31 @@ static const yytype_uint8 yyr2[] = 7, 1, 2, 1, 2, 0, 1, 1, 2, 1, 2, 4, 3, 0, 8, 0, 9, 0, 5, 1, 2, 1, 2, 1, 0, 6, 2, 1, 4, 2, - 1, 1, 1, 1, 3, 1, 0, 6, 0, 5, - 2, 4, 0, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 2, 0, 2, - 0, 2, 0, 9, 0, 8, 0, 1, 1, 2, - 1, 4, 1, 1, 1, 0, 1, 1, 2, 1, - 2, 8, 1, 1, 0, 4, 1, 3, 3, 0, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 4, 0, 4, 0, 2, - 2, 2, 2, 3, 1, 1, 10, 6, 11, 0, - 1, 1, 2, 1, 3, 3, 3, 3, 0, 1, - 2, 4, 3, 1, 4, 2, 1, 1, 0, 0, - 12, 1, 0, 0, 10, 1, 3, 1, 1, 1, - 3, 1, 1, 1, 2, 0, 0, 3, 0, 1, - 1, 1, 2, 2, 0, 4, 4, 4, 2, 1, - 2, 1, 1, 1, 3, 1, 3, 0, 1, 1, - 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 1, 1, 1, 1, 1, 3, 1, 0, 6, 0, + 5, 2, 2, 4, 0, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, + 0, 2, 0, 2, 0, 9, 0, 8, 0, 1, + 1, 2, 1, 4, 1, 1, 1, 0, 1, 1, + 2, 1, 2, 8, 1, 1, 0, 4, 1, 3, + 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 0, 4, 0, 4, + 0, 2, 2, 2, 2, 3, 1, 1, 10, 6, + 11, 0, 1, 1, 2, 1, 3, 3, 3, 3, + 0, 1, 2, 4, 3, 1, 4, 2, 1, 1, + 0, 0, 12, 1, 0, 0, 10, 1, 3, 1, + 1, 1, 3, 1, 1, 1, 2, 0, 0, 3, + 0, 1, 1, 1, 2, 2, 0, 4, 4, 4, + 2, 1, 2, 1, 1, 1, 3, 1, 3, 0, + 1, 1, 1, 1, 1, 1, 3, 5, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 4, 2, 1, 3, 2, - 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 5, 2, 2, 2, 2, 3, 2, - 0, 6, 1, 1, 1, 1, 1, 5, 3, 5, - 4, 4, 6, 6, 3, 1, 2, 4, 4, 2, - 4, 3 + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, + 3, 2, 4, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 5, 2, 2, 2, 2, + 3, 2, 0, 6, 1, 1, 1, 1, 1, 5, + 3, 5, 4, 4, 6, 6, 3, 1, 2, 4, + 4, 2, 4, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -2798,303 +2807,303 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 122, 345, 135, 174, 274, 171, 172, 173, 0, 0, - 79, 0, 0, 128, 275, 126, 127, 0, 134, 0, - 133, 222, 178, 179, 307, 129, 0, 0, 0, 177, - 130, 132, 131, 0, 0, 176, 175, 0, 0, 0, - 257, 0, 0, 14, 181, 0, 0, 0, 0, 238, - 122, 0, 0, 2, 122, 5, 55, 12, 0, 37, - 68, 32, 33, 34, 35, 36, 39, 122, 38, 7, - 31, 0, 123, 124, 9, 8, 11, 272, 273, 0, - 180, 10, 266, 268, 270, 269, 40, 255, 267, 271, - 42, 30, 41, 0, 0, 73, 77, 122, 93, 110, - 113, 112, 111, 118, 115, 0, 0, 345, 244, 221, - 0, 306, 0, 0, 120, 0, 104, 238, 0, 0, - 248, 66, 259, 260, 261, 262, 263, 0, 0, 258, - 327, 326, 309, 289, 288, 0, 253, 0, 239, 240, - 241, 251, 83, 0, 107, 249, 0, 81, 45, 44, - 122, 46, 29, 0, 47, 48, 49, 51, 0, 50, - 329, 1, 6, 122, 345, 0, 69, 0, 0, 70, - 54, 109, 0, 218, 0, 163, 0, 162, 164, 349, - 125, 194, 0, 195, 199, 0, 0, 0, 0, 0, + 124, 347, 137, 176, 276, 173, 174, 175, 0, 0, + 79, 0, 0, 130, 277, 128, 129, 0, 136, 0, + 135, 224, 180, 181, 309, 131, 0, 0, 0, 179, + 132, 134, 133, 0, 0, 178, 177, 0, 0, 0, + 259, 0, 0, 14, 183, 0, 0, 0, 0, 240, + 124, 0, 0, 2, 124, 5, 55, 12, 0, 37, + 68, 32, 33, 34, 35, 36, 39, 124, 38, 7, + 31, 0, 125, 126, 9, 8, 11, 274, 275, 0, + 182, 10, 268, 270, 272, 271, 40, 257, 269, 273, + 42, 30, 41, 0, 0, 73, 77, 124, 93, 110, + 114, 112, 111, 113, 119, 116, 0, 0, 347, 246, + 223, 0, 308, 0, 121, 0, 122, 307, 104, 240, + 0, 0, 250, 66, 261, 262, 263, 264, 265, 0, + 0, 260, 329, 328, 311, 291, 290, 0, 255, 0, + 241, 242, 243, 253, 83, 0, 107, 251, 0, 81, + 45, 44, 124, 46, 29, 0, 47, 48, 49, 51, + 0, 50, 331, 1, 6, 124, 347, 0, 69, 0, + 0, 70, 54, 109, 0, 220, 0, 165, 0, 164, + 166, 351, 127, 196, 0, 197, 201, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, - 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, - 56, 74, 0, 0, 0, 122, 116, 0, 225, 0, - 228, 227, 351, 236, 208, 0, 252, 0, 0, 27, - 0, 328, 0, 0, 277, 0, 0, 0, 308, 276, - 242, 243, 84, 235, 60, 61, 106, 250, 59, 82, - 43, 28, 122, 0, 235, 0, 0, 53, 346, 217, - 216, 0, 136, 138, 0, 186, 0, 203, 0, 200, - 201, 256, 303, 304, 301, 302, 282, 283, 285, 284, - 280, 281, 317, 316, 312, 311, 319, 320, 321, 318, - 314, 313, 315, 286, 287, 336, 0, 335, 338, 295, - 294, 293, 322, 0, 292, 291, 290, 278, 279, 299, - 298, 296, 300, 297, 0, 0, 110, 113, 336, 330, - 0, 0, 0, 344, 0, 0, 0, 25, 0, 122, - 17, 23, 0, 20, 19, 22, 21, 122, 114, 0, - 238, 245, 169, 0, 0, 209, 213, 108, 121, 226, - 305, 0, 26, 247, 350, 0, 264, 0, 254, 0, - 58, 0, 122, 13, 58, 0, 0, 0, 0, 0, - 140, 0, 0, 235, 165, 166, 0, 0, 0, 182, - 183, 188, 202, 0, 341, 0, 246, 310, 0, 0, - 0, 340, 0, 122, 0, 0, 119, 18, 122, 0, - 0, 0, 0, 215, 210, 235, 0, 0, 122, 0, - 233, 232, 231, 234, 0, 63, 62, 52, 0, 122, - 347, 348, 208, 137, 0, 0, 229, 139, 144, 58, - 0, 187, 207, 206, 204, 205, 0, 0, 0, 323, - 0, 339, 0, 337, 78, 0, 85, 0, 117, 237, - 170, 169, 0, 0, 212, 0, 0, 99, 103, 101, - 105, 64, 265, 57, 0, 76, 0, 141, 142, 0, - 122, 168, 167, 197, 190, 181, 191, 0, 189, 0, - 188, 343, 331, 342, 80, 0, 0, 0, 86, 89, - 87, 24, 214, 223, 211, 97, 0, 100, 102, 122, - 67, 122, 235, 122, 230, 0, 159, 0, 0, 122, - 157, 0, 184, 181, 188, 192, 0, 27, 94, 90, - 88, 27, 27, 235, 65, 75, 0, 150, 154, 0, - 0, 0, 122, 148, 152, 153, 160, 218, 145, 158, - 183, 0, 0, 193, 27, 92, 0, 0, 0, 219, - 122, 143, 149, 0, 0, 185, 183, 91, 224, 98, - 95, 27, 0, 0, 196, 0, 0, 0, 151, 208, - 198, 27, 220, 0, 0, 235, 96, 161 + 0, 327, 326, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 0, 0, 56, 74, 0, 0, 0, 124, 117, 0, + 227, 0, 230, 229, 353, 238, 210, 0, 254, 0, + 27, 0, 330, 0, 0, 279, 0, 0, 0, 310, + 278, 244, 245, 84, 237, 60, 61, 106, 252, 59, + 82, 43, 28, 124, 0, 237, 0, 0, 53, 348, + 219, 218, 0, 138, 140, 0, 188, 0, 205, 0, + 202, 203, 258, 305, 306, 303, 304, 284, 285, 287, + 286, 282, 283, 319, 318, 314, 313, 321, 322, 323, + 320, 316, 315, 317, 288, 289, 338, 0, 337, 340, + 297, 296, 295, 324, 0, 294, 293, 292, 280, 281, + 301, 300, 298, 302, 299, 0, 0, 110, 114, 338, + 332, 0, 0, 0, 346, 0, 0, 0, 25, 0, + 124, 17, 23, 0, 20, 19, 22, 21, 124, 115, + 0, 240, 247, 171, 0, 0, 211, 215, 108, 123, + 228, 0, 26, 249, 352, 0, 266, 0, 256, 0, + 58, 0, 124, 13, 58, 0, 0, 0, 0, 0, + 142, 0, 0, 237, 167, 168, 0, 0, 0, 184, + 185, 190, 204, 0, 343, 0, 248, 312, 0, 0, + 0, 342, 0, 124, 0, 0, 120, 18, 124, 0, + 0, 0, 0, 217, 212, 237, 0, 0, 124, 0, + 235, 234, 233, 236, 0, 63, 62, 52, 0, 124, + 349, 350, 210, 139, 0, 0, 231, 141, 146, 58, + 0, 189, 209, 208, 206, 207, 0, 0, 0, 325, + 0, 341, 0, 339, 78, 0, 85, 0, 118, 239, + 172, 171, 0, 0, 214, 0, 0, 99, 103, 101, + 105, 64, 267, 57, 0, 76, 0, 143, 144, 0, + 124, 170, 169, 199, 192, 183, 193, 0, 191, 0, + 190, 345, 333, 344, 80, 0, 0, 0, 86, 89, + 87, 24, 216, 225, 213, 97, 0, 100, 102, 124, + 67, 124, 237, 124, 232, 0, 161, 0, 0, 124, + 159, 0, 186, 183, 190, 194, 0, 27, 94, 90, + 88, 27, 27, 237, 65, 75, 0, 152, 156, 0, + 0, 0, 124, 150, 154, 155, 162, 220, 147, 160, + 185, 0, 0, 195, 27, 92, 0, 0, 0, 221, + 124, 145, 151, 0, 0, 187, 185, 91, 226, 98, + 95, 27, 0, 0, 198, 0, 0, 0, 153, 210, + 200, 27, 222, 0, 0, 237, 96, 163 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 52, 53, 54, 55, 348, 349, 350, 371, 372, - 151, 152, 171, 351, 153, 435, 154, 268, 265, 520, - 59, 253, 167, 168, 60, 61, 62, 63, 232, 64, - 97, 155, 156, 507, 508, 509, 510, 65, 234, 477, - 586, 478, 542, 479, 480, 66, 249, 157, 67, 68, - 238, 239, 69, 357, 235, 70, 158, 72, 73, 390, - 392, 445, 353, 523, 354, 490, 551, 552, 553, 528, - 529, 530, 178, 355, 284, 394, 395, 423, 77, 78, - 79, 401, 456, 498, 561, 183, 396, 457, 499, 184, - 80, 288, 289, 290, 364, 365, 366, 281, 356, 581, - 110, 82, 541, 240, 241, 432, 447, 433, 380, 361, - 137, 138, 139, 243, 83, 84, 85, 159, 140, 245, - 246, 86, 127, 128, 129, 87, 408, 342, 318, 88, - 89, 179, 90, 91, 92 + -1, 52, 53, 54, 55, 349, 350, 351, 371, 372, + 153, 154, 173, 352, 155, 435, 156, 269, 266, 520, + 59, 254, 169, 170, 60, 61, 62, 63, 234, 64, + 97, 157, 158, 507, 508, 509, 510, 65, 236, 477, + 586, 478, 542, 479, 480, 66, 250, 159, 67, 68, + 240, 241, 69, 358, 237, 70, 160, 72, 73, 390, + 392, 445, 354, 523, 355, 490, 551, 552, 553, 528, + 529, 530, 180, 356, 285, 394, 395, 423, 77, 78, + 79, 401, 456, 498, 561, 185, 396, 457, 499, 186, + 80, 289, 290, 291, 365, 366, 367, 282, 357, 581, + 111, 82, 541, 242, 243, 432, 447, 433, 380, 362, + 139, 140, 141, 245, 83, 84, 85, 161, 142, 247, + 248, 86, 129, 130, 131, 87, 408, 343, 319, 88, + 89, 181, 90, 91, 92 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -494 +#define YYPACT_NINF -490 static const yytype_int16 yypact[] = { - 1763, -21, -494, -494, -494, -494, -494, -494, -29, -45, - -494, -36, 68, -494, -494, -494, -494, 75, -494, 2217, - -494, 91, -494, -494, 438, -494, -15, 316, -5, -494, - -494, -494, -494, 7, -37, -494, -494, 107, 2217, 24, - 367, 2217, 2217, -494, -494, 2217, 2217, 2217, 2217, 2217, - 707, 127, 139, -494, 575, -494, -494, -494, 23, -494, - 2145, -494, -494, -494, -494, -494, -494, 2019, -494, -494, - -494, 488, 431, -494, -494, -494, -494, -494, -494, 17, - -494, -494, -494, -494, -494, -494, 57, 2920, -494, -494, - -494, -494, -494, 155, 36, -494, -494, 2019, -494, -494, - -494, -494, -494, -494, -494, 28, 316, -494, -48, -494, - 47, 213, 2217, 69, -494, 2217, -494, 2217, 194, 116, - 213, -494, -494, -494, -494, -494, -494, 92, 121, 132, - 213, 213, 379, 213, 213, -42, 2858, 114, 146, 2217, - -494, 2858, 246, 247, 2217, 2217, 247, 249, -494, -494, - 839, -494, -494, 125, -494, -494, -494, -494, 248, -494, - -494, -494, -494, 1103, 197, 264, -494, 168, 203, 57, - 173, -494, 274, 66, 276, -494, 278, -494, -494, -494, - -494, -494, 2217, -494, 21, 2217, 2217, 2217, 2217, 2217, + 1763, -22, -490, -490, -490, -490, -490, -490, -28, -44, + -490, -38, 94, -490, -490, -490, -490, 73, -490, 2217, + -490, 102, -490, -490, 247, -490, -12, 547, 2217, -490, + -490, -490, -490, 10, -36, -490, -490, 120, 2217, 5, + 147, 2217, 2217, -490, -490, 2217, 2217, 2217, 2217, 2217, + 707, 136, 141, -490, 575, -490, -490, -490, 20, -490, + 2145, -490, -490, -490, -490, -490, -490, 2019, -490, -490, + -490, 338, 286, -490, -490, -490, -490, -490, -490, 17, + -490, -490, -490, -490, -490, -490, 49, 2850, -490, -490, + -490, -490, -490, 151, 34, -490, -490, 2019, -490, -490, + -490, -490, -490, -490, -490, -490, -9, 671, -490, -27, + -490, 35, 406, 2217, 32, 41, -490, 406, -490, 2217, + 160, 68, 406, -490, -490, -490, -490, -490, -490, 39, + 92, 118, 406, 406, 378, 406, 406, -41, 2788, 99, + 125, 2217, -490, 2788, 225, 229, 2217, 2217, 229, 230, + -490, -490, 839, -490, -490, 103, -490, -490, -490, -490, + 218, -490, -490, -490, -490, 1103, 166, 233, -490, 145, + 178, 49, 161, -490, 258, 28, 264, -490, 265, -490, + -490, -490, -490, -490, 2217, -490, 18, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, - 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, -494, - -494, 138, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, - 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 130, - -494, -494, 2217, 273, 2217, 1235, -494, 316, 158, 160, - -494, -494, -494, 167, 15, 157, 192, 229, 2276, 1891, - 165, -494, 2217, 2217, -494, 2217, 367, 2217, -494, -494, - -494, -494, -494, 207, 212, -494, -494, -494, 212, -494, - -494, -494, 2019, 181, 207, 2217, 2217, -494, 217, -494, - -494, 314, 262, 269, 315, 2858, 220, 221, 6, 21, - -494, 2858, 1095, 567, 567, 567, 3292, 3292, 3292, 3292, - 1095, 1095, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, - 2858, 2858, 2858, 2982, 3044, -494, 214, -494, -494, 313, - 313, 313, 2858, 2486, 3106, 3168, 3230, 1095, 1095, 379, - 379, 213, 213, 213, 199, 2548, 238, 244, 245, -494, - 2217, 267, 254, -494, 226, 224, 2346, -494, 228, 1367, - -494, -494, 235, -494, -494, -494, -494, 1235, -494, 316, - 2217, -494, -55, 363, 232, 280, -494, -494, -494, 240, - -494, 237, 1891, -494, 2858, 243, -494, 277, 2858, 292, - 281, 247, 971, -494, -6, 279, 252, 135, 270, 316, - 376, 316, 268, 207, 296, -494, 265, 22, 34, -494, - -494, -494, -494, 2217, -494, 2217, -494, -494, 2217, 2610, - 2217, -494, 294, 2019, 2217, 272, -494, -494, 1235, 283, - 275, 2217, 292, -494, -494, 207, 19, 78, 2019, 2217, - -494, -494, -494, -494, 2217, -494, -494, -494, 2217, 2019, - -494, -494, 15, -494, 316, 284, -494, 300, -494, 281, - 315, -494, -494, -494, -494, -494, 291, 253, 2672, 2858, - 2416, -494, 2734, -494, -494, 287, 46, 289, -494, -494, - 2858, 309, 286, 363, -494, 297, 312, -494, -494, 78, - -494, 338, -494, 2858, -38, -494, 298, 300, -494, 316, - 27, -494, -494, -494, -494, 299, -494, 2217, -494, 327, - -494, -494, -494, -494, -494, 2217, 318, 306, 46, -494, - -494, -494, -494, -494, -494, -494, 442, -494, -494, 2019, - -494, 2019, 207, 1499, -494, 447, -494, 427, 321, 255, - -494, 17, 2858, 342, -494, 25, 2796, 1891, -494, -494, - -494, 1891, 1891, 207, -494, -494, 332, -494, -494, 335, - 328, 331, 1631, -494, -494, -494, -494, 66, -494, -494, - -494, 334, 17, 25, 1891, -494, 336, 340, 341, -494, - 1499, -494, -494, 472, 365, -494, -494, -494, -494, -494, - -494, 1891, 347, 358, -494, 373, 359, 352, -494, 15, - -494, 1891, -494, 353, 355, 207, -494, -494 + 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, + 2217, -490, -490, 23, 2217, 2217, 2217, 2217, 2217, 2217, + 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, + 2217, 327, -490, -490, 2217, 260, 2217, 1235, -490, 671, + 149, 150, -490, -490, -490, 146, 40, 153, 182, 358, + 1891, 154, -490, 2217, 2217, -490, 2217, 147, 2217, -490, + -490, -490, -490, -490, 179, 184, -490, -490, -490, 184, + -490, -490, -490, 2019, 163, 179, 2217, 2217, -490, 190, + -490, -490, 296, 251, 256, 298, 2788, 209, 210, -8, + 18, -490, 2788, 1095, 567, 567, 567, 3222, 3222, 3222, + 3222, 1095, 1095, 2788, 2788, 2788, 2788, 2788, 2788, 2788, + 2788, 2788, 2788, 2788, 2912, 2974, -490, 396, -490, -490, + 362, 362, 362, 2788, 2416, 3036, 3098, 3160, 1095, 1095, + 378, 378, 406, 406, 406, 181, 2478, 226, 232, 234, + -490, 2217, 420, 235, -490, 185, 195, 2276, -490, 193, + 1367, -490, -490, 201, -490, -490, -490, -490, 1235, -490, + 671, 2217, -490, 11, 334, 203, 239, -490, -490, -490, + 213, 211, 1891, -490, 2788, 214, -490, 257, 2788, 279, + 253, 229, 971, -490, -1, 266, 231, 113, 241, 671, + 357, 671, 248, 179, 276, -490, 249, 71, 72, -490, + -490, -490, -490, 2217, -490, 2217, -490, -490, 2217, 2540, + 2217, -490, 431, 2019, 2217, 261, -490, -490, 1235, 259, + 246, 2217, 279, -490, -490, 179, 42, 57, 2019, 2217, + -490, -490, -490, -490, 2217, -490, -490, -490, 2217, 2019, + -490, -490, 40, -490, 671, 275, -490, 283, -490, 253, + 298, -490, -490, -490, -490, -490, 282, 137, 2602, 2788, + 2346, -490, 2664, -490, -490, 271, 8, 277, -490, -490, + 2788, 306, 287, 334, -490, 289, 290, -490, -490, 57, + -490, 360, -490, 2788, -40, -490, 293, 283, -490, 671, + 26, -490, -490, -490, -490, 322, -490, 2217, -490, 328, + -490, -490, -490, -490, -490, 2217, 335, 308, 8, -490, + -490, -490, -490, -490, -490, -490, 437, -490, -490, 2019, + -490, 2019, 179, 1499, -490, 440, -490, 419, 312, 384, + -490, 17, 2788, 336, -490, 19, 2726, 1891, -490, -490, + -490, 1891, 1891, 179, -490, -490, 330, -490, -490, 337, + 228, 329, 1631, -490, -490, -490, -490, 28, -490, -490, + -490, 339, 17, 19, 1891, -490, 340, 347, 333, -490, + 1499, -490, -490, 461, 370, -490, -490, -490, -490, -490, + -490, 1891, 349, 345, -490, 375, 365, 363, -490, 40, + -490, 1891, -490, 366, 369, 179, -490, -490 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -494, -494, 337, -494, 444, -315, -494, 150, -475, -34, - 1, -60, -87, 53, 2, 52, 446, 364, 129, -494, - -494, -494, -494, -494, -494, -494, -494, -494, -494, -494, - -494, -494, -494, -494, -494, 5, 8, -494, -494, 32, - -494, 33, -494, -494, -494, -494, -494, -494, -494, -494, - 14, 56, -494, -494, -494, -494, 0, -494, 430, -494, - -494, -494, 59, -494, 61, -494, -53, -494, -31, -494, - -494, -14, -494, 3, -494, -494, 72, 62, -494, -494, - -494, -494, -464, -494, -494, -169, -494, -457, -494, -493, - -413, -494, -494, 239, -419, -494, -344, -39, 4, -494, - -494, -494, -494, -494, 508, -101, 93, 117, -257, -494, - -103, -494, -494, -494, -494, -494, -494, -494, -130, -132, - 490, -52, -494, 285, -494, -13, -494, -494, -189, -494, - -494, -494, -494, -494, -494 + -490, -490, 343, -490, 451, -327, -490, 159, -75, -31, + 1, -60, -92, 53, 2, 61, 452, 372, 130, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, 6, 7, -490, -490, 52, + -490, 55, -490, -490, -490, -490, -490, -490, -490, -490, + 38, 54, -490, -490, -490, -490, 0, -490, 447, -490, + -490, -490, 59, -490, 60, -490, -50, -490, -24, -490, + -490, 9, -490, 3, -490, -490, 83, 50, -490, -490, + -490, -490, -489, -490, -490, -168, -490, -452, -490, -453, + -416, -490, -490, 250, -425, -490, -341, -21, 4, -490, + -490, -490, -490, -490, 512, -98, 97, 121, -263, -490, + -103, -490, -490, -490, -490, -490, -490, -490, -131, -133, + 494, -52, -490, 288, -490, -13, -490, -490, -193, -490, + -490, -490, -490, -490, -490 }; /* 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 -335 +#define YYTABLE_NINF -337 static const yytype_int16 yytable[] = { - 71, 56, 58, 76, 81, 242, 108, 170, 169, 261, - 233, 111, 266, 267, 250, 287, 150, 384, 362, 424, - 181, 94, 362, 486, 286, 120, 104, 452, 130, 131, - 494, 2, 132, 133, 134, 136, 141, 170, 560, 454, - 343, 104, 419, 535, 500, 13, 211, 15, 16, 421, - 18, 422, 20, 57, 71, 56, 58, 76, 81, 74, - 257, 75, 565, -71, 185, 25, 566, 567, 105, 576, - 93, 99, 100, 525, 30, 31, 32, 563, 228, 96, - 505, 229, 474, 113, 101, 102, 534, 117, 98, 577, - 271, 106, 118, 258, 109, 95, 574, 521, 434, 136, - 344, 279, 248, 467, 141, 475, 587, 57, 506, 112, - 363, 476, 585, 74, 473, 75, 594, 280, 399, 115, - 287, 375, 400, 119, 334, 376, 141, 404, 526, 514, - 160, 136, 136, 336, 337, 116, 449, 496, 440, 161, - 441, 99, 100, 385, 386, 182, 101, 102, 121, 182, - 182, 163, 411, 497, 101, 102, 236, 237, 230, 185, - 231, -155, 182, 71, 56, 58, 76, 81, 472, 285, - 593, 244, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 103, 251, 247, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 141, 335, 57, 99, 100, 136, - 252, 346, 74, 463, 75, 317, 254, 255, 453, 455, - 101, 102, 99, 100, 256, 71, 56, 352, 382, 374, - 136, 259, 141, 317, 378, 101, 102, 338, 260, 262, - 263, 358, 269, 272, 339, 315, 340, 420, 494, 2, - 341, 369, 136, 136, 172, 546, -72, 274, 316, 275, - 99, 100, 276, 13, 277, 15, 16, 278, 18, 282, - 20, 283, 465, 101, 102, 345, 568, -115, 443, 359, - 446, 360, 367, 25, 257, 99, 100, 99, 100, 482, - 373, 525, 30, 31, 32, 209, 210, 211, 101, 102, - 101, 102, 271, 379, 381, 383, 389, 388, 393, 99, - 100, 387, 271, 391, 397, 398, 464, 409, 430, -332, - 317, 315, 101, 102, 406, -334, -333, 227, 597, 228, - 403, 481, 229, 446, 172, 412, 368, 141, 414, 71, - 56, 352, 485, 170, 173, 317, 526, 71, 56, 352, - 175, 413, 416, 418, 495, 496, 362, 425, 170, -114, - 122, 427, 123, 369, 177, 124, 125, 126, 428, 170, - 438, 497, 426, 429, 315, 434, 484, 439, 524, -156, - 458, 444, 459, 410, 442, 460, 448, 462, 450, 451, - 466, 136, 489, 493, 519, 209, 210, 211, 470, 431, - 469, 315, 488, 421, 513, 531, 141, 468, 71, 56, - 352, 483, 504, 511, 537, 515, 317, 222, 223, 224, - 225, 226, 544, 522, 545, 2, 516, 227, 533, 228, - 538, 107, 229, 3, 4, 543, 5, 6, 7, 13, - 556, 15, 16, 557, 18, 558, 20, 14, 562, 170, - 569, 170, 19, 570, 21, 571, 22, 23, 575, 25, - 578, 209, 210, 211, 579, 583, 580, 584, 30, 31, - 32, 588, 589, 29, 532, 590, 592, 591, 595, 596, - 527, 34, 536, 35, 36, 224, 225, 226, 162, 417, - 273, 491, 180, 227, 172, 228, 166, 264, 229, 40, - 436, 517, 518, 539, 173, 559, 540, 582, 573, 174, - 175, 572, 492, 550, 548, 549, 554, 555, 402, 527, - 41, 42, 176, 512, 177, 114, 0, 487, 135, 471, - 0, 377, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 550, 548, 549, 554, 555, 0, 0, 0, - 0, 0, 48, 0, 49, 0, 0, 0, 51, 0, - 550, 548, 549, 554, 555, -4, 0, 0, 1, 2, + 71, 56, 58, 76, 81, 235, 109, 172, 171, 244, + 262, 112, 384, 267, 268, 117, 251, 486, 288, 152, + 183, 287, 94, 424, 494, 122, 99, 100, 132, 133, + 2, 419, 134, 135, 136, 138, 143, 172, 344, 101, + 102, 500, 505, 363, 13, 363, 15, 16, 535, 18, + 105, 20, 103, 57, 71, 56, 58, 76, 81, 74, + 75, 258, 187, 280, 25, 105, 106, 213, -71, 93, + 506, 574, 525, 30, 31, 32, 452, 454, 560, 281, + 96, 115, 563, 534, 475, 474, 98, 585, 119, 107, + 476, 467, 272, 120, 259, 521, 95, 99, 100, 230, + 138, 345, 231, 434, 399, 110, 143, 57, 400, 576, + 101, 102, 113, 74, 75, 421, 440, 422, 441, 238, + 239, 375, 288, 103, 404, 376, 335, 526, 143, 123, + 449, 496, 514, 138, 138, 364, 121, 473, 118, 162, + 316, 163, 494, 385, 386, 184, 184, 497, 165, 411, + 124, 187, 125, 317, 232, 126, 127, 128, 233, 246, + -157, -110, 472, 252, 593, 71, 56, 58, 76, 81, + 249, 286, 253, 255, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 256, 184, + 184, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 143, 336, 57, 463, + 257, 138, 104, 347, 74, 75, 260, 261, 263, 453, + 455, 273, 264, 270, 174, -72, 275, 71, 56, 353, + 374, 138, 382, 143, 174, 378, 276, 277, 495, 496, + 108, 318, 3, 4, 175, 5, 6, 7, 420, 546, + 177, 279, 278, 138, 138, 497, 14, 283, 284, 318, + 361, 19, 346, 21, 179, 22, 23, 359, -116, 360, + 568, 465, 99, 100, 258, 379, 381, 370, 368, 373, + 2, 443, 29, 446, 387, 101, 102, 383, 482, 388, + 34, 393, 35, 36, 13, 389, 15, 16, 103, 18, + 391, 20, 272, 397, 398, 430, 406, -334, 40, 414, + 413, 464, 272, -336, 25, -335, 412, 416, 409, 418, + 337, 338, 597, 30, 31, 32, 481, 363, 425, 41, + 42, 426, -115, 101, 102, 427, 446, 485, 143, 428, + 71, 56, 353, 172, 174, 318, 103, 434, 71, 56, + 353, 99, 100, 429, 175, 442, 439, 438, 172, 176, + 177, 48, 444, 49, 101, 102, 448, 51, 450, 172, + 318, 469, 178, 451, 179, 489, 484, 103, 2, 466, + 458, 524, 459, 468, 493, 460, 431, 462, 370, 99, + 100, 138, 13, 488, 15, 16, 504, 18, 470, 20, + 421, 511, 101, 102, 516, 513, 143, 515, 71, 56, + 353, 483, 25, 99, 100, 103, 519, 544, 522, 545, + 525, 30, 31, 32, 99, 100, 101, 102, 531, 533, + 543, 537, 538, 556, 339, 557, 558, 101, 102, 103, + 318, 340, 562, 341, 211, 212, 213, 342, 569, 172, + 103, 172, 565, 571, 583, 570, 566, 567, 580, 589, + 211, 212, 213, 575, 578, 369, 224, 225, 226, 227, + 228, 579, 584, 588, 532, 526, 229, 590, 230, 577, + 527, 231, 536, 591, 226, 227, 228, 592, 211, 212, + 213, 595, 229, 596, 230, 164, 587, 231, 274, 417, + 491, 436, 168, 316, 539, 540, 594, 265, -158, 182, + 582, 512, 403, 550, 548, 549, 554, 555, 572, 527, + 229, 517, 230, 492, 518, 231, 573, 316, 559, 116, + 402, 487, 137, 471, 0, 377, 410, 0, 316, 0, + 114, 100, 550, 548, 549, 554, 555, 0, 0, 0, + 0, 0, 0, 101, 102, 0, 0, 0, 0, 0, + 550, 548, 549, 554, 555, -4, 103, 0, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 0, 0, 22, 23, 0, 0, 186, 0, 0, + 20, 0, 0, 22, 23, 0, 0, 188, 0, 0, 0, 24, 0, 25, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, 0, - 35, 36, 0, 0, 0, -335, -335, -335, 37, 38, - 39, 0, 0, 194, 195, 0, 40, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, - 210, 211, 0, 212, 213, 214, 0, 41, 42, 0, - 0, 0, 0, 0, 0, 0, 43, 0, 220, 221, - 0, 222, 223, 224, 225, 226, 44, 0, 0, 45, - 0, 227, 0, 228, 46, 47, 229, 0, 0, 48, - 0, 49, 0, 50, 0, 51, 0, 0, 0, -4, + 35, 36, 0, 0, 0, -337, -337, -337, 37, 38, + 39, 0, 0, 196, 197, 0, 40, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, + 212, 213, 0, 214, 215, 216, 0, 41, 42, 0, + 0, 0, 0, 0, 99, 100, 43, 0, 222, 223, + 0, 224, 225, 226, 227, 228, 44, 101, 102, 45, + 0, 229, 0, 230, 46, 47, 231, 0, 0, 48, + 103, 49, 0, 50, 0, 51, 0, 0, 0, -4, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 0, 22, 23, 142, 0, 143, - 0, 0, 0, 24, 144, 25, 26, 0, 27, 145, - 28, 0, 29, 146, 30, 31, 32, 0, 0, 33, + 18, 19, 20, 21, 0, 22, 23, 144, 0, 145, + 0, 0, 0, 24, 146, 25, 26, 0, 27, 147, + 28, 0, 29, 148, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, - 37, 38, 39, 0, 147, 0, 0, 0, 40, 0, + 37, 38, 39, 0, 149, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, - 42, 0, 0, 0, 0, 0, 0, 0, 148, 0, + 42, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, 0, 0, - 0, 149, 1, 2, 3, 4, 0, 5, 6, 7, + 0, 151, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 22, 23, 142, - 0, 143, 0, 0, 0, 24, 144, 25, 26, 0, - 27, 145, 28, 0, 29, 146, 30, 31, 32, 0, + 16, 17, 18, 19, 20, 21, 0, 22, 23, 144, + 0, 145, 0, 0, 0, 24, 146, 25, 26, 0, + 27, 147, 28, 0, 29, 148, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, - 0, 0, 37, 38, 39, 0, 147, 0, 0, 0, + 0, 0, 37, 38, 39, 0, 149, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, - 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, - 0, 0, 0, 270, 1, 2, 3, 4, 0, 5, + 0, 0, 0, 271, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 22, - 23, 142, 0, 143, 0, 0, 0, 24, 144, 25, - 26, 0, 27, 145, 28, 0, 29, 146, 30, 31, + 23, 144, 0, 145, 0, 0, 0, 24, 146, 25, + 26, 0, 27, 147, 28, 0, 29, 148, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, - 0, 0, 0, 0, 37, 38, 39, 0, 147, 0, + 0, 0, 0, 0, 37, 38, 39, 0, 149, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, - 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, 0, 0, 0, 437, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, - 0, 22, 23, 0, 0, -335, 0, 0, 0, 24, + 0, 22, 23, 0, 0, -337, 0, 0, 0, 24, 0, 25, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, 38, 39, 0, - 0, -335, -335, 0, 40, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 209, 210, 211, - 0, 212, 213, 214, 0, 41, 42, 0, 0, 0, - 0, 0, 0, 0, 43, 0, -335, -335, 0, 222, - 223, 224, 225, 226, 44, 0, 0, 45, 0, 227, - 0, 228, 46, 47, 229, 0, 0, 48, 0, 49, + 0, -337, -337, 0, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 211, 212, 213, + 0, 214, 215, 216, 0, 41, 42, 0, 0, 0, + 0, 0, 0, 0, 43, 0, -337, -337, 0, 224, + 225, 226, 227, 228, 44, 0, 0, 45, 0, 229, + 0, 230, 46, 47, 231, 0, 0, 48, 0, 49, 0, 50, 0, 51, 0, 0, 0, -3, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, @@ -3105,7 +3114,7 @@ static const yytype_int16 yytable[] = 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, - 0, 0, 0, 0, 0, 0, 347, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, 0, 0, 0, -15, @@ -3118,7 +3127,7 @@ static const yytype_int16 yytable[] = 37, 38, 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, - 42, 0, 0, 0, 0, 0, 0, 0, 347, 0, + 42, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, 0, 0, @@ -3135,7 +3144,7 @@ static const yytype_int16 yytable[] = 547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, - 0, 0, 0, -146, 1, 2, 3, 4, 0, 5, + 0, 0, 0, -148, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, 0, 25, @@ -3148,7 +3157,7 @@ static const yytype_int16 yytable[] = 0, 0, 547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, - 0, 51, 0, -3, 0, -147, 1, 2, 3, 4, + 0, 51, 0, -3, 0, -149, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, @@ -3162,39 +3171,39 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, 1, 2, 3, 4, 0, 5, - 6, 7, 8, 9, 10, 11, 0, -122, 0, 13, + 6, 7, 8, 9, 10, 11, 0, -124, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 22, - 23, 142, 0, 143, 0, 0, 0, 24, 144, 25, - 26, 0, 27, 145, 28, 0, 29, 146, 30, 31, + 23, 144, 0, 145, 0, 0, 0, 24, 146, 25, + 26, 0, 27, 147, 28, 0, 29, 148, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, - 0, 0, 0, 0, 37, 38, 39, 0, 147, 0, + 0, 0, 0, 0, 37, 38, 39, 0, 149, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, - 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, 49, 0, 50, 0, 51, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 22, 23, 142, - 0, 143, 0, 0, 0, 24, 144, 25, 26, 0, - 27, 145, 28, 0, 29, 146, 30, 31, 32, 0, + 16, 17, 18, 19, 20, 21, 0, 22, 23, 144, + 0, 145, 0, 0, 0, 24, 146, 25, 26, 0, + 27, 147, 28, 0, 29, 148, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, - 0, 0, 37, 38, 39, 0, 147, 0, 0, 0, + 0, 0, 37, 38, 39, 0, 149, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, - 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, - 0, 0, 0, 48, 0, 49, 0, 50, 164, 51, + 0, 0, 0, 48, 0, 49, 0, 50, 166, 51, 3, 4, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 19, - 0, 21, 0, 22, 23, 0, 0, 143, 0, 0, + 0, 21, 0, 22, 23, 0, 0, 145, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 28, 0, - 29, 165, 0, 0, 0, 0, 0, 0, 34, 0, + 29, 167, 0, 0, 0, 0, 0, 0, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, - 107, 0, 3, 4, 0, 5, 6, 7, 0, 0, + 108, 0, 3, 4, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 14, 41, 42, 0, 0, 19, 0, 21, 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, 0, 0, 44, 0, 0, 45, @@ -3203,180 +3212,173 @@ static const yytype_int16 yytable[] = 0, 38, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, - 42, 0, 0, 0, 0, 0, 186, 0, 0, 0, + 42, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, 0, - 0, 48, 0, 49, 187, 188, 189, 51, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, - 211, 0, 212, 213, 214, 0, 0, 0, 0, 0, - 215, 216, 0, 217, 218, 219, 186, 220, 221, 0, - 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, - 227, 0, 228, 0, 0, 229, 0, 0, 0, 0, - 0, 370, 0, 0, 187, 188, 189, 0, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, - 211, 0, 212, 213, 214, 0, 0, 0, 0, 0, - 215, 216, 0, 217, 218, 219, 186, 220, 221, 0, - 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, - 227, 0, 228, 0, 0, 229, 0, 0, 0, 0, - 0, 415, 0, 0, 187, 188, 189, 0, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, - 211, 0, 212, 213, 214, 0, 0, 0, 0, 0, - 215, 216, 0, 217, 218, 219, 186, 220, 221, 0, - 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, - 227, 0, 228, 0, 0, 229, 0, 0, 0, 0, - 0, 502, 0, 0, 187, 188, 189, 0, 190, 191, + 0, 48, 0, 49, 189, 190, 191, 51, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 0, 211, 212, + 213, 0, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 0, 219, 220, 221, 188, 222, 223, 0, + 224, 225, 226, 227, 228, 0, 0, 0, 0, 0, + 229, 0, 230, 0, 0, 231, 0, 0, 0, 0, + 0, 415, 0, 0, 189, 190, 191, 0, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 0, 211, 212, + 213, 0, 214, 215, 216, 0, 0, 0, 0, 0, + 217, 218, 0, 219, 220, 221, 188, 222, 223, 0, + 224, 225, 226, 227, 228, 0, 0, 0, 0, 0, + 229, 0, 230, 0, 0, 231, 0, 0, 0, 0, + 0, 502, 0, 0, 189, 190, 191, 0, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 0, 211, 212, + 213, 0, 214, 215, 216, 0, 0, 0, 188, 0, + 217, 218, 405, 219, 220, 221, 0, 222, 223, 0, + 224, 225, 226, 227, 228, 0, 0, 0, 0, 0, + 229, 0, 230, 0, 0, 231, 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, - 211, 0, 212, 213, 214, 0, 0, 0, 186, 0, - 215, 216, 405, 217, 218, 219, 0, 220, 221, 0, - 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, - 227, 0, 228, 0, 0, 229, 187, 188, 189, 0, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 0, - 209, 210, 211, 0, 212, 213, 214, 0, 0, 0, - 186, 0, 215, 216, 0, 217, 218, 219, 0, 220, - 221, 0, 222, 223, 224, 225, 226, 0, 0, 0, - 0, 0, 227, 0, 228, 407, 0, 229, 187, 188, - 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 0, + 211, 212, 213, 0, 214, 215, 216, 0, 0, 0, + 188, 0, 217, 218, 0, 219, 220, 221, 0, 222, + 223, 0, 224, 225, 226, 227, 228, 0, 0, 0, + 0, 0, 229, 0, 230, 407, 0, 231, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 0, 211, 212, 213, 0, 214, 215, 216, 0, + 0, 0, 188, 0, 217, 218, 0, 219, 220, 221, + 0, 222, 223, 0, 224, 225, 226, 227, 228, 0, + 0, 0, 0, 0, 229, 0, 230, 461, 0, 231, + 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 0, 209, 210, 211, 0, 212, 213, 214, 0, - 0, 0, 186, 0, 215, 216, 0, 217, 218, 219, - 0, 220, 221, 0, 222, 223, 224, 225, 226, 0, - 0, 0, 0, 0, 227, 0, 228, 461, 0, 229, - 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, + 208, 209, 210, 0, 211, 212, 213, 0, 214, 215, + 216, 0, 0, 0, 188, 0, 217, 218, 0, 219, + 220, 221, 0, 222, 223, 0, 224, 225, 226, 227, + 228, 0, 0, 0, 0, 0, 229, 0, 230, 501, + 0, 231, 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 0, 209, 210, 211, 0, 212, 213, - 214, 0, 0, 0, 186, 0, 215, 216, 0, 217, - 218, 219, 0, 220, 221, 0, 222, 223, 224, 225, - 226, 0, 0, 0, 0, 0, 227, 0, 228, 501, - 0, 229, 187, 188, 189, 0, 190, 191, 192, 193, + 206, 207, 208, 209, 210, 0, 211, 212, 213, 0, + 214, 215, 216, 0, 0, 0, 188, 0, 217, 218, + 0, 219, 220, 221, 0, 222, 223, 0, 224, 225, + 226, 227, 228, 0, 0, 0, 0, 0, 229, 0, + 230, 503, 0, 231, 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 0, 209, 210, 211, 0, - 212, 213, 214, 0, 0, 0, 186, 0, 215, 216, - 0, 217, 218, 219, 0, 220, 221, 0, 222, 223, - 224, 225, 226, 0, 0, 0, 0, 0, 227, 0, - 228, 503, 0, 229, 187, 188, 189, 0, 190, 191, + 204, 205, 206, 207, 208, 209, 210, 0, 211, 212, + 213, 0, 214, 215, 216, 0, 0, 0, 188, 0, + 217, 218, 564, 219, 220, 221, 0, 222, 223, 0, + 224, 225, 226, 227, 228, 0, 0, 0, 0, 0, + 229, 0, 230, 0, 0, 231, 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 0, 209, 210, - 211, 0, 212, 213, 214, 0, 0, 0, 186, 0, - 215, 216, 564, 217, 218, 219, 0, 220, 221, 0, - 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, - 227, 0, 228, 0, 0, 229, 187, 188, 189, 0, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 0, - 209, 210, 211, 0, 212, 213, 214, 0, 0, 0, - 186, 0, 215, 216, 0, 217, 218, 219, 0, 220, - 221, 0, 222, 223, 224, 225, 226, 0, 0, 0, - 0, 0, 227, 0, 228, 0, 0, 229, 187, 188, - 189, 0, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 0, 209, 210, 211, 0, 212, 213, 214, 0, - 0, 0, 186, 0, 215, 216, 0, 217, 218, 219, - 0, 0, 221, 0, 222, 223, 224, 225, 226, 0, - 0, 0, 0, 0, 227, 0, 228, 0, 0, 229, - 187, 188, 189, 0, 190, 191, 192, 193, 194, 195, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 0, + 211, 212, 213, 0, 214, 215, 216, 0, 0, 0, + 188, 0, 217, 218, 0, 219, 220, 221, 0, 222, + 223, 0, 224, 225, 226, 227, 228, 0, 0, 0, + 0, 0, 229, 0, 230, 0, 0, 231, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 0, 211, 212, 213, 0, 214, 215, 216, 0, + 0, 0, 188, 0, 217, 218, 0, 219, 220, 221, + 0, 0, 223, 0, 224, 225, 226, 227, 228, 0, + 0, 0, 0, 0, 229, 0, 230, 0, 0, 231, + 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 208, 0, 209, 210, 211, 0, 212, 213, - 214, 0, 0, 0, 186, 0, 0, 0, 0, 217, - 218, 219, 0, 220, 221, 0, 222, 223, 224, 225, - 226, 0, 0, 0, 0, 0, 227, 0, 228, 0, - 0, 229, 187, 188, 189, 0, 190, 191, 192, 193, - 194, 195, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 209, 210, 211, 0, - 212, 213, 214, 0, 0, 0, 186, 0, 0, 0, - 0, 217, 218, 219, 0, 220, 221, 0, 222, 223, - 224, 225, 226, 0, 0, 0, 0, 0, 227, 0, - 228, 0, 0, 229, 187, 188, 189, 0, 190, 191, - 192, 193, 194, 195, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 209, 210, - 211, 0, 212, 213, 214, 0, 0, 0, 186, 0, - 0, 0, 0, 0, 218, 219, 0, 220, 221, 0, - 222, 223, 224, 225, 226, 0, 0, 0, 0, 0, - 227, 0, 228, 0, 0, 229, 187, 188, 189, 0, - 190, 191, 192, 193, 194, 195, 0, 0, 0, 0, + 0, 0, 210, 0, 211, 212, 213, 0, 214, 215, + 216, 0, 0, 0, 188, 0, 0, 0, 0, 219, + 220, 221, 0, 222, 223, 0, 224, 225, 226, 227, + 228, 0, 0, 0, 0, 0, 229, 0, 230, 0, + 0, 231, 189, 190, 191, 0, 192, 193, 194, 195, + 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 211, 212, 213, 0, + 214, 215, 216, 0, 0, 0, 188, 0, 0, 0, + 0, 219, 220, 221, 0, 222, 223, 0, 224, 225, + 226, 227, 228, 0, 0, 0, 0, 0, 229, 0, + 230, 0, 0, 231, 189, 190, 191, 0, 192, 193, + 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 211, 212, + 213, 0, 214, 215, 216, 0, 0, 0, 188, 0, + 0, 0, 0, 0, 220, 221, 0, 222, 223, 0, + 224, 225, 226, 227, 228, 0, 0, 0, 0, 0, + 229, 0, 230, 0, 0, 231, 189, 190, 191, 0, + 192, 193, 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 209, 210, 211, 0, 212, 213, 214, 0, 0, 0, - 186, 0, 0, 0, 0, 0, 0, 219, 0, 220, - 221, 0, 222, 223, 224, 225, 226, 0, 0, 0, - 0, 0, 227, 0, 228, 0, 0, 229, 187, 188, - 189, 0, 190, 191, 192, 193, 194, 195, 0, 0, + 211, 212, 213, 0, 214, 215, 216, 0, 0, 0, + 188, 0, 0, 0, 0, 0, 0, 221, 0, 222, + 223, 0, 224, 225, 226, 227, 228, 0, 0, 0, + 0, 0, 229, 0, 230, 0, 0, 231, 189, 190, + 191, 0, 192, 193, 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 209, 210, 211, 0, 212, 213, 214, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, -335, - 0, 220, 221, 0, 222, 223, 224, 225, 226, 0, - 0, 0, 0, 0, 227, 0, 228, 0, 0, 229, - 187, 188, 189, 0, -335, -335, -335, -335, 194, 195, + 0, 0, 211, 212, 213, 0, 214, 215, 216, 0, + 0, 0, 188, 0, 0, 0, 0, 0, 0, -337, + 0, 222, 223, 0, 224, 225, 226, 227, 228, 0, + 0, 0, 0, 0, 229, 0, 230, 0, 0, 231, + 189, 190, 191, 0, -337, -337, -337, -337, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 209, 210, 211, 0, 212, 213, - 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 220, 221, 0, 222, 223, 224, 225, - 226, 0, 0, 0, 0, 0, 227, 0, 228, 0, - 0, 229 + 0, 0, 0, 0, 211, 212, 213, 0, 214, 215, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 222, 223, 0, 224, 225, 226, 227, + 228, 0, 0, 0, 0, 0, 229, 0, 230, 0, + 0, 231 }; static const yytype_int16 yycheck[] = { - 0, 0, 0, 0, 0, 106, 19, 67, 60, 139, - 97, 24, 144, 145, 117, 184, 50, 274, 3, 363, - 3, 50, 3, 442, 3, 38, 12, 5, 41, 42, - 5, 4, 45, 46, 47, 48, 49, 97, 531, 5, - 229, 27, 357, 500, 457, 18, 94, 20, 21, 104, - 23, 106, 25, 0, 54, 54, 54, 54, 54, 0, - 102, 0, 537, 69, 102, 38, 541, 542, 12, 562, - 91, 3, 4, 46, 47, 48, 49, 534, 126, 124, - 34, 129, 426, 27, 16, 17, 499, 124, 124, 564, - 150, 16, 129, 135, 3, 124, 560, 135, 104, 112, - 232, 35, 115, 418, 117, 27, 581, 54, 62, 124, - 95, 33, 576, 54, 95, 54, 591, 51, 112, 124, - 289, 253, 116, 16, 227, 255, 139, 316, 101, 473, - 3, 144, 145, 3, 4, 128, 393, 112, 3, 0, - 5, 3, 4, 275, 276, 128, 16, 17, 124, 128, - 128, 128, 341, 128, 16, 17, 128, 129, 3, 102, - 124, 134, 128, 163, 163, 163, 163, 163, 425, 182, - 589, 124, 185, 186, 187, 188, 189, 190, 191, 192, + 0, 0, 0, 0, 0, 97, 19, 67, 60, 107, + 141, 24, 275, 146, 147, 28, 119, 442, 186, 50, + 3, 3, 50, 364, 5, 38, 3, 4, 41, 42, + 4, 358, 45, 46, 47, 48, 49, 97, 231, 16, + 17, 457, 34, 3, 18, 3, 20, 21, 500, 23, + 12, 25, 29, 0, 54, 54, 54, 54, 54, 0, + 0, 102, 102, 35, 38, 27, 12, 94, 69, 91, + 62, 560, 46, 47, 48, 49, 5, 5, 531, 51, + 124, 27, 534, 499, 27, 426, 124, 576, 124, 16, + 33, 418, 152, 129, 135, 135, 124, 3, 4, 126, + 113, 234, 129, 104, 112, 3, 119, 54, 116, 562, + 16, 17, 124, 54, 54, 104, 3, 106, 5, 128, + 129, 254, 290, 29, 317, 256, 229, 101, 141, 124, + 393, 112, 473, 146, 147, 95, 16, 95, 128, 3, + 117, 0, 5, 276, 277, 128, 128, 128, 128, 342, + 3, 102, 5, 130, 3, 8, 9, 10, 124, 124, + 134, 129, 425, 3, 589, 165, 165, 165, 165, 165, + 129, 184, 104, 134, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 128, 3, 129, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 163, 3, 4, 232, - 104, 234, 163, 412, 163, 211, 134, 106, 397, 398, - 16, 17, 3, 4, 102, 235, 235, 235, 272, 252, - 253, 127, 255, 229, 257, 16, 17, 117, 102, 3, - 3, 237, 3, 128, 124, 117, 126, 360, 5, 4, - 130, 247, 275, 276, 16, 522, 69, 3, 130, 101, - 3, 4, 69, 18, 101, 20, 21, 3, 23, 3, - 25, 3, 414, 16, 17, 12, 543, 129, 389, 129, - 391, 124, 135, 38, 102, 3, 4, 3, 4, 429, - 135, 46, 47, 48, 49, 92, 93, 94, 16, 17, - 16, 17, 372, 106, 102, 134, 54, 3, 3, 3, - 4, 104, 382, 54, 104, 104, 413, 340, 36, 91, - 316, 117, 16, 17, 135, 91, 91, 124, 595, 126, - 126, 428, 129, 444, 16, 91, 117, 360, 124, 349, - 349, 349, 439, 413, 26, 341, 101, 357, 357, 357, - 32, 135, 134, 128, 111, 112, 3, 135, 428, 129, - 3, 134, 5, 359, 46, 8, 9, 10, 135, 439, - 101, 128, 102, 106, 117, 104, 438, 135, 489, 134, - 403, 15, 405, 126, 124, 408, 128, 410, 102, 134, - 128, 414, 102, 112, 66, 92, 93, 94, 421, 117, - 135, 117, 128, 104, 128, 116, 429, 134, 418, 418, - 418, 434, 135, 134, 106, 128, 412, 114, 115, 116, - 117, 118, 519, 135, 521, 4, 124, 124, 111, 126, - 134, 3, 129, 5, 6, 3, 8, 9, 10, 18, - 3, 20, 21, 26, 23, 134, 25, 19, 116, 519, - 128, 521, 24, 128, 26, 134, 28, 29, 134, 38, - 134, 92, 93, 94, 134, 3, 135, 112, 47, 48, - 49, 134, 124, 45, 497, 112, 134, 128, 135, 134, - 490, 53, 505, 55, 56, 116, 117, 118, 54, 349, - 163, 449, 72, 124, 16, 126, 60, 143, 129, 71, - 381, 479, 479, 508, 26, 529, 508, 570, 557, 31, - 32, 552, 450, 523, 523, 523, 523, 523, 289, 529, - 92, 93, 44, 471, 46, 27, -1, 444, 48, 422, - -1, 256, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 552, 552, 552, 552, 552, -1, -1, -1, - -1, -1, 124, -1, 126, -1, -1, -1, 130, -1, - 570, 570, 570, 570, 570, 0, -1, -1, 3, 4, + 203, 204, 205, 206, 207, 208, 209, 210, 106, 128, + 128, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 165, 412, + 102, 234, 128, 236, 165, 165, 127, 102, 3, 397, + 398, 128, 3, 3, 16, 69, 3, 237, 237, 237, + 253, 254, 273, 256, 16, 258, 101, 69, 111, 112, + 3, 213, 5, 6, 26, 8, 9, 10, 361, 522, + 32, 3, 101, 276, 277, 128, 19, 3, 3, 231, + 124, 24, 12, 26, 46, 28, 29, 239, 129, 129, + 543, 414, 3, 4, 102, 106, 102, 249, 135, 135, + 4, 389, 45, 391, 104, 16, 17, 134, 429, 3, + 53, 3, 55, 56, 18, 54, 20, 21, 29, 23, + 54, 25, 372, 104, 104, 36, 135, 91, 71, 124, + 135, 413, 382, 91, 38, 91, 91, 134, 341, 128, + 3, 4, 595, 47, 48, 49, 428, 3, 135, 92, + 93, 102, 129, 16, 17, 134, 444, 439, 361, 135, + 350, 350, 350, 413, 16, 317, 29, 104, 358, 358, + 358, 3, 4, 106, 26, 124, 135, 101, 428, 31, + 32, 124, 15, 126, 16, 17, 128, 130, 102, 439, + 342, 135, 44, 134, 46, 102, 438, 29, 4, 128, + 403, 489, 405, 134, 112, 408, 117, 410, 360, 3, + 4, 414, 18, 128, 20, 21, 135, 23, 421, 25, + 104, 134, 16, 17, 124, 128, 429, 128, 418, 418, + 418, 434, 38, 3, 4, 29, 66, 519, 135, 521, + 46, 47, 48, 49, 3, 4, 16, 17, 116, 111, + 3, 106, 134, 3, 117, 26, 134, 16, 17, 29, + 412, 124, 116, 126, 92, 93, 94, 130, 128, 519, + 29, 521, 537, 134, 3, 128, 541, 542, 135, 124, + 92, 93, 94, 134, 134, 117, 114, 115, 116, 117, + 118, 134, 112, 134, 497, 101, 124, 112, 126, 564, + 490, 129, 505, 128, 116, 117, 118, 134, 92, 93, + 94, 135, 124, 134, 126, 54, 581, 129, 165, 350, + 449, 381, 60, 117, 508, 508, 591, 145, 134, 72, + 570, 471, 126, 523, 523, 523, 523, 523, 552, 529, + 124, 479, 126, 450, 479, 129, 557, 117, 529, 27, + 290, 444, 48, 422, -1, 257, 126, -1, 117, -1, + 3, 4, 552, 552, 552, 552, 552, -1, -1, -1, + -1, -1, -1, 16, 17, -1, -1, -1, -1, -1, + 570, 570, 570, 570, 570, 0, 29, -1, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, 28, 29, -1, -1, 40, -1, -1, @@ -3386,10 +3388,10 @@ static const yytype_int16 yycheck[] = 65, -1, -1, 76, 77, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, 96, 97, 98, -1, 92, 93, -1, - -1, -1, -1, -1, -1, -1, 101, -1, 111, 112, - -1, 114, 115, 116, 117, 118, 111, -1, -1, 114, + -1, -1, -1, -1, 3, 4, 101, -1, 111, 112, + -1, 114, 115, 116, 117, 118, 111, 16, 17, 114, -1, 124, -1, 126, 119, 120, 129, -1, -1, 124, - -1, 126, -1, 128, -1, 130, -1, -1, -1, 134, + 29, 126, -1, 128, -1, 130, -1, -1, -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, -1, 32, @@ -3570,13 +3572,6 @@ static const yytype_int16 yycheck[] = -1, 135, -1, -1, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, - 94, -1, 96, 97, 98, -1, -1, -1, -1, -1, - 104, 105, -1, 107, 108, 109, 40, 111, 112, -1, - 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, - 124, -1, 126, -1, -1, 129, -1, -1, -1, -1, - -1, 135, -1, -1, 68, 69, 70, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, -1, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 40, -1, 104, 105, 106, 107, 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, @@ -3678,34 +3673,34 @@ static const yytype_uint16 yystos[] = 191, 192, 193, 194, 198, 200, 209, 214, 215, 216, 226, 234, 237, 250, 251, 252, 257, 261, 265, 266, 268, 269, 270, 91, 50, 124, 124, 166, 124, 3, - 4, 16, 17, 128, 186, 187, 16, 3, 261, 3, - 236, 261, 124, 187, 240, 124, 128, 124, 129, 16, - 261, 124, 3, 5, 8, 9, 10, 258, 259, 260, - 261, 261, 261, 261, 261, 256, 261, 246, 247, 248, - 254, 261, 30, 32, 37, 42, 46, 67, 101, 134, - 145, 146, 147, 150, 152, 167, 168, 183, 192, 253, - 3, 0, 140, 128, 3, 46, 152, 158, 159, 257, - 147, 148, 16, 26, 31, 32, 44, 46, 208, 267, - 194, 3, 128, 221, 225, 102, 40, 68, 69, 70, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, - 93, 94, 96, 97, 98, 104, 105, 107, 108, 109, - 111, 112, 114, 115, 116, 117, 118, 124, 126, 129, - 3, 124, 164, 148, 174, 190, 128, 129, 186, 187, - 239, 240, 241, 249, 124, 255, 256, 129, 261, 182, - 246, 3, 104, 157, 134, 106, 102, 102, 135, 127, - 102, 254, 3, 3, 153, 154, 255, 255, 153, 3, - 134, 147, 128, 138, 3, 101, 69, 101, 3, 35, - 51, 233, 3, 3, 210, 261, 3, 221, 227, 228, - 229, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 4, 16, 17, 29, 128, 186, 187, 16, 3, 261, + 3, 236, 261, 124, 3, 187, 240, 261, 128, 124, + 129, 16, 261, 124, 3, 5, 8, 9, 10, 258, + 259, 260, 261, 261, 261, 261, 261, 256, 261, 246, + 247, 248, 254, 261, 30, 32, 37, 42, 46, 67, + 101, 134, 145, 146, 147, 150, 152, 167, 168, 183, + 192, 253, 3, 0, 140, 128, 3, 46, 152, 158, + 159, 257, 147, 148, 16, 26, 31, 32, 44, 46, + 208, 267, 194, 3, 128, 221, 225, 102, 40, 68, + 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 92, 93, 94, 96, 97, 98, 104, 105, 107, + 108, 109, 111, 112, 114, 115, 116, 117, 118, 124, + 126, 129, 3, 124, 164, 148, 174, 190, 128, 129, + 186, 187, 239, 240, 241, 249, 124, 255, 256, 129, + 182, 246, 3, 104, 157, 134, 106, 102, 102, 135, + 127, 102, 254, 3, 3, 153, 154, 255, 255, 153, + 3, 134, 147, 128, 138, 3, 101, 69, 101, 3, + 35, 51, 233, 3, 3, 210, 261, 3, 221, 227, + 228, 229, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 261, 261, 261, 261, 261, 117, 130, 186, 264, 261, + 261, 261, 261, 261, 261, 261, 117, 130, 186, 264, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 261, 261, 261, 261, 246, 261, 3, 4, 117, 124, - 126, 130, 263, 264, 255, 12, 261, 101, 141, 142, - 143, 149, 150, 198, 200, 209, 234, 189, 186, 129, - 124, 245, 3, 95, 230, 231, 232, 135, 117, 186, - 135, 144, 145, 135, 261, 255, 254, 259, 261, 106, + 261, 261, 261, 261, 261, 246, 261, 3, 4, 117, + 124, 126, 130, 263, 264, 255, 12, 261, 101, 141, + 142, 143, 149, 150, 198, 200, 209, 234, 189, 186, + 129, 124, 245, 3, 95, 230, 231, 232, 135, 117, + 186, 144, 145, 135, 261, 255, 254, 259, 261, 106, 244, 102, 145, 134, 244, 255, 255, 104, 3, 54, 195, 54, 196, 3, 211, 212, 222, 104, 104, 112, 116, 217, 229, 126, 264, 106, 135, 127, 262, 261, @@ -4543,7 +4538,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1920 "parser.y" +#line 1929 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4554,7 +4549,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1932 "parser.y" +#line 1941 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4565,7 +4560,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1935 "parser.y" +#line 1944 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4576,7 +4571,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1936 "parser.y" +#line 1945 "parser.y" {(yyval.code)=code_new();} } break; @@ -4587,7 +4582,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1938 "parser.y" +#line 1947 "parser.y" { (yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code)); } @@ -4600,7 +4595,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1941 "parser.y" +#line 1950 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4611,7 +4606,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1957 "parser.y" +#line 1966 "parser.y" {(yyval.code)=(yyvsp[(2) - (3)].code);} } break; @@ -4622,7 +4617,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1958 "parser.y" +#line 1967 "parser.y" {(yyval.code)=0;} } break; @@ -4633,7 +4628,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1961 "parser.y" +#line 1970 "parser.y" {(yyval.code)=0;} } break; @@ -4644,7 +4639,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1968 "parser.y" +#line 1977 "parser.y" { PASS_ALWAYS if(as3_pass) { @@ -4663,7 +4658,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1980 "parser.y" +#line 1989 "parser.y" {(yyval.code)=(yyvsp[(1) - (2)].code);} } break; @@ -4674,7 +4669,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1981 "parser.y" +#line 1990 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4685,7 +4680,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1985 "parser.y" +#line 1994 "parser.y" { if((yyvsp[(1) - (1)].code)) { if(!global->init) @@ -4703,7 +4698,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1996 "parser.y" +#line 2005 "parser.y" { PASS12 (yyval.number_int)=as3_pass; @@ -4722,7 +4717,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2015 "parser.y" +#line 2024 "parser.y" {(yyval.node)=(yyvsp[(2) - (2)].node);} } break; @@ -4733,7 +4728,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2016 "parser.y" +#line 2025 "parser.y" {(yyval.node)=mkdummynode();} } break; @@ -4744,7 +4739,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2018 "parser.y" +#line 2027 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -4755,7 +4750,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2019 "parser.y" +#line 2028 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -4766,7 +4761,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2021 "parser.y" +#line 2030 "parser.y" {(yyval.code) = (yyvsp[(1) - (1)].code);} } break; @@ -4777,7 +4772,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2022 "parser.y" +#line 2031 "parser.y" {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));} } break; @@ -4788,7 +4783,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2025 "parser.y" +#line 2034 "parser.y" { PASS12 if(variable_exists((yyvsp[(1) - (3)].id))) @@ -4854,7 +4849,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2084 "parser.y" +#line 2093 "parser.y" {(yyval.code) = code_new();} } break; @@ -4865,7 +4860,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2085 "parser.y" +#line 2094 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -4876,7 +4871,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2088 "parser.y" +#line 2097 "parser.y" {PASS12 new_state();} } break; @@ -4887,7 +4882,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2088 "parser.y" +#line 2097 "parser.y" { (yyval.code) = code_new(); @@ -4915,7 +4910,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2107 "parser.y" +#line 2116 "parser.y" {(yyval.code)=code_new();} } break; @@ -4926,7 +4921,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2114 "parser.y" +#line 2123 "parser.y" { PASS1 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),0,1,0); PASS2 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].classinfo),1,0); @@ -4940,7 +4935,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2118 "parser.y" +#line 2127 "parser.y" { PASS12 (yyval.id)=(yyvsp[(1) - (1)].id); @@ -4954,7 +4949,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2123 "parser.y" +#line 2132 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;} } break; @@ -4965,7 +4960,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2124 "parser.y" +#line 2133 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;} } break; @@ -4976,7 +4971,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2126 "parser.y" +#line 2135 "parser.y" { if((yyvsp[(1) - (8)].for_start).each) syntaxerror("invalid syntax: ; not allowed in for each statement"); (yyval.code) = code_new(); @@ -5005,7 +5000,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2146 "parser.y" +#line 2155 "parser.y" { variable_t*var = find_variable(state, (yyvsp[(2) - (6)].id)); if(!var) { @@ -5062,7 +5057,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2194 "parser.y" +#line 2203 "parser.y" {PASS12 new_state();} } break; @@ -5073,7 +5068,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2194 "parser.y" +#line 2203 "parser.y" { (yyval.code) = code_new(); @@ -5101,7 +5096,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2213 "parser.y" +#line 2222 "parser.y" {PASS12 new_state();} } break; @@ -5112,7 +5107,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2213 "parser.y" +#line 2222 "parser.y" { (yyval.code) = code_new(); code_t*loopstart = (yyval.code) = abc_label((yyval.code)); @@ -5136,7 +5131,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2228 "parser.y" +#line 2237 "parser.y" { (yyval.code) = abc___break__(0, ""); } @@ -5149,7 +5144,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2231 "parser.y" +#line 2240 "parser.y" { (yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id)); } @@ -5162,7 +5157,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2234 "parser.y" +#line 2243 "parser.y" { (yyval.code) = abc___continue__(0, ""); } @@ -5175,7 +5170,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2237 "parser.y" +#line 2246 "parser.y" { (yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id)); } @@ -5188,7 +5183,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2241 "parser.y" +#line 2250 "parser.y" {(yyval.code)=0;} } break; @@ -5199,7 +5194,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2242 "parser.y" +#line 2251 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5210,7 +5205,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2243 "parser.y" +#line 2252 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5221,7 +5216,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2244 "parser.y" +#line 2253 "parser.y" {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));} } break; @@ -5232,7 +5227,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2245 "parser.y" +#line 2254 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5243,7 +5238,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2246 "parser.y" +#line 2255 "parser.y" {(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));} } break; @@ -5254,7 +5249,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2248 "parser.y" +#line 2257 "parser.y" { (yyval.code) = abc_getlocal(0, state->switch_var); (yyval.code) = code_append((yyval.code), node_read((yyvsp[(2) - (4)].node)).c); @@ -5275,7 +5270,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2259 "parser.y" +#line 2268 "parser.y" { (yyval.code) = (yyvsp[(3) - (3)].code); } @@ -5288,7 +5283,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2262 "parser.y" +#line 2271 "parser.y" {PASS12 new_state();state->switch_var=alloc_local();} } break; @@ -5299,7 +5294,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2262 "parser.y" +#line 2271 "parser.y" { (yyval.code) = node_read((yyvsp[(4) - (8)].node)).c; (yyval.code) = abc_setlocal((yyval.code), state->switch_var); @@ -5337,7 +5332,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2293 "parser.y" +#line 2302 "parser.y" {PASS12 new_state(); state->exception_name=(yyvsp[(3) - (5)].id); PASS1 new_variable((yyvsp[(3) - (5)].id), 0, 0, 0); @@ -5352,7 +5347,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2298 "parser.y" +#line 2307 "parser.y" { namespace_t name_ns = {ACCESS_PACKAGE, ""}; multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)}; @@ -5382,7 +5377,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2318 "parser.y" +#line 2327 "parser.y" {PASS12 new_state();state->exception_name=0;} } break; @@ -5393,7 +5388,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2318 "parser.y" +#line 2327 "parser.y" { (yyvsp[(4) - (5)].code) = var_block((yyvsp[(4) - (5)].code)); if(!(yyvsp[(4) - (5)].code)) { @@ -5418,7 +5413,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2334 "parser.y" +#line 2343 "parser.y" {(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));} } break; @@ -5429,7 +5424,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2335 "parser.y" +#line 2344 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));} } break; @@ -5440,7 +5435,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2336 "parser.y" +#line 2345 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);} } break; @@ -5451,7 +5446,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2337 "parser.y" +#line 2346 "parser.y" { (yyval.catch_list) = (yyvsp[(1) - (2)].catch_list); (yyval.catch_list).finally = 0; @@ -5469,7 +5464,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2345 "parser.y" +#line 2354 "parser.y" { (yyval.catch_list).l=list_new(); (yyval.catch_list).finally = 0; @@ -5487,7 +5482,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2354 "parser.y" +#line 2363 "parser.y" {PASS12 new_state(); state->method->has_exceptions=1; state->method->late_binding=1;//for invariant scope_code @@ -5501,7 +5496,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2357 "parser.y" +#line 2366 "parser.y" { code_t*out = abc_nop(0); @@ -5554,7 +5549,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2403 "parser.y" +#line 2412 "parser.y" { (yyval.code)=(yyvsp[(2) - (2)].value).c; (yyval.code)=abc_throw((yyval.code)); @@ -5568,7 +5563,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2407 "parser.y" +#line 2416 "parser.y" { if(!state->exception_name) syntaxerror("re-throw only possible within a catch block"); @@ -5586,7 +5581,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2418 "parser.y" +#line 2427 "parser.y" { new_state(); if(state->method->has_exceptions) { @@ -5606,7 +5601,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2428 "parser.y" +#line 2437 "parser.y" { /* remove getlocal;pushwith from scope code again */ state->method->scope_code = code_cutlast(code_cutlast(state->method->scope_code)); @@ -5630,7 +5625,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2446 "parser.y" +#line 2455 "parser.y" {PASS12 (yyval.id)="package";} } break; @@ -5641,7 +5636,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2447 "parser.y" +#line 2456 "parser.y" {PASS12 (yyval.id)="namespace";} } break; @@ -5652,8 +5647,8 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2448 "parser.y" - {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);} +#line 2457 "parser.y" + {PASS12 (yyval.id)="NaN";} } break; @@ -5663,8 +5658,8 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2450 "parser.y" - {PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;} +#line 2458 "parser.y" + {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);} } break; @@ -5674,8 +5669,8 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2451 "parser.y" - {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));} +#line 2460 "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; @@ -5685,8 +5680,8 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2453 "parser.y" - {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;} +#line 2461 "parser.y" + {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));} } break; @@ -5696,8 +5691,8 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2454 "parser.y" - {PASS12 endpackage();(yyval.code)=0;} +#line 2463 "parser.y" + {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;} } break; @@ -5707,8 +5702,8 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2455 "parser.y" - {PASS12 startpackage("");} +#line 2464 "parser.y" + {PASS12 endpackage();(yyval.code)=0;} } break; @@ -5718,8 +5713,8 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2456 "parser.y" - {PASS12 endpackage();(yyval.code)=0;} +#line 2465 "parser.y" + {PASS12 startpackage("");} } break; @@ -5729,19 +5724,45 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2478 "parser.y" +#line 2466 "parser.y" + {PASS12 endpackage();(yyval.code)=0;} + } + break; + + + + case 121: + if(as3_pass==2) { + +/* Line 1464 of skeleton.m4 */ +#line 2489 "parser.y" + { + PASS12 + slotinfo_t*s = registry_find(state->package, (yyvsp[(2) - (2)].id)); + if(!s && as3_pass==1) {as3_schedule_class(state->package, (yyvsp[(2) - (2)].id));} + state_has_imports(); + dict_put(state->imports, state->package, (yyvsp[(2) - (2)].id)); + (yyval.code)=0; +} + } + break; + + + + case 122: + if(as3_pass==2) { + +/* Line 1464 of skeleton.m4 */ +#line 2497 "parser.y" { PASS12 slotinfo_t*s = registry_find((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name); if(!s && as3_pass==1) {// || !(s->flags&FLAG_BUILTIN)) { as3_schedule_class((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name); } - classinfo_t*c = (yyvsp[(2) - (2)].classinfo); - if(!c) - syntaxerror("Couldn't import class\n"); state_has_imports(); - dict_put(state->imports, c->name, c); - import_toplevel(c->package); + dict_put(state->imports, (yyvsp[(2) - (2)].classinfo)->name, (yyvsp[(2) - (2)].classinfo)); + import_toplevel((yyvsp[(2) - (2)].classinfo)->package); (yyval.code)=0; } } @@ -5749,11 +5770,11 @@ PASS2 - case 121: + case 123: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2492 "parser.y" +#line 2508 "parser.y" { PASS12 if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6) && as3_pass==1) { @@ -5772,44 +5793,44 @@ PASS2 - case 122: + case 124: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2508 "parser.y" +#line 2524 "parser.y" {PASS12 (yyval.flags).flags=0;(yyval.flags).ns=0;} } break; - case 123: + case 125: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2509 "parser.y" +#line 2525 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; - case 124: + case 126: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2510 "parser.y" +#line 2526 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; - case 125: + case 127: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2511 "parser.y" +#line 2527 "parser.y" { PASS12 (yyval.flags).flags=(yyvsp[(1) - (2)].flags).flags|(yyvsp[(2) - (2)].flags).flags; @@ -5822,110 +5843,110 @@ PASS2 - case 126: + case 128: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2518 "parser.y" +#line 2534 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PUBLIC;(yyval.flags).ns=0;} } break; - case 127: + case 129: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2519 "parser.y" +#line 2535 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PRIVATE;(yyval.flags).ns=0;} } break; - case 128: + case 130: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2520 "parser.y" +#line 2536 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PROTECTED;(yyval.flags).ns=0;} } break; - case 129: + case 131: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2521 "parser.y" +#line 2537 "parser.y" {PASS12 (yyval.flags).flags=FLAG_STATIC;(yyval.flags).ns=0;} } break; - case 130: + case 132: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2522 "parser.y" +#line 2538 "parser.y" {PASS12 (yyval.flags).flags=FLAG_DYNAMIC;(yyval.flags).ns=0;} } break; - case 131: + case 133: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2523 "parser.y" +#line 2539 "parser.y" {PASS12 (yyval.flags).flags=FLAG_FINAL;(yyval.flags).ns=0;} } break; - case 132: + case 134: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2524 "parser.y" +#line 2540 "parser.y" {PASS12 (yyval.flags).flags=FLAG_OVERRIDE;(yyval.flags).ns=0;} } break; - case 133: + case 135: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2525 "parser.y" +#line 2541 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NATIVE;(yyval.flags).ns=0;} } break; - case 134: + case 136: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2526 "parser.y" +#line 2542 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PACKAGEINTERNAL;(yyval.flags).ns=0;} } break; - case 135: + case 137: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2527 "parser.y" +#line 2543 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NAMESPACE; (yyval.flags).ns=(yyvsp[(1) - (1)].id); } @@ -5934,99 +5955,99 @@ PASS2 - case 136: + case 138: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2531 "parser.y" +#line 2547 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; - case 137: + case 139: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2532 "parser.y" +#line 2548 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; - case 138: + case 140: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2534 "parser.y" +#line 2550 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; - case 139: + case 141: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2535 "parser.y" +#line 2551 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; - case 140: + case 142: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2537 "parser.y" +#line 2553 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; - case 141: + case 143: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2538 "parser.y" +#line 2554 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; - case 142: + case 144: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2542 "parser.y" +#line 2558 "parser.y" {PASS12 startclass(&(yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list));} } break; - case 143: + case 145: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2544 "parser.y" +#line 2560 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; - case 144: + case 146: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2548 "parser.y" +#line 2564 "parser.y" {PASS12 (yyvsp[(1) - (5)].flags).flags|=FLAG_INTERFACE; startclass(&(yyvsp[(1) - (5)].flags),(yyvsp[(3) - (5)].id),0,(yyvsp[(4) - (5)].classinfo_list));} } @@ -6034,33 +6055,33 @@ PASS2 - case 145: + case 147: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2551 "parser.y" +#line 2567 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; - case 151: + case 153: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2560 "parser.y" +#line 2576 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; - case 154: + case 156: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2564 "parser.y" +#line 2580 "parser.y" { code_t*c = state->cls->static_init->header; c = code_append(c, (yyvsp[(1) - (1)].code)); @@ -6071,11 +6092,11 @@ PASS2 - case 160: + case 162: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2575 "parser.y" +#line 2591 "parser.y" { syntaxerror("variable declarations not allowed in interfaces"); } @@ -6084,11 +6105,11 @@ PASS2 - case 161: + case 163: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2578 "parser.y" +#line 2594 "parser.y" { PASS12 (yyvsp[(1) - (8)].flags).flags |= FLAG_PUBLIC; @@ -6104,55 +6125,55 @@ PASS2 - case 164: + case 166: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2653 "parser.y" +#line 2669 "parser.y" {PASS12 setslotstate(&(yyvsp[(1) - (2)].flags),(yyvsp[(2) - (2)].token));} } break; - case 165: + case 167: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2653 "parser.y" +#line 2669 "parser.y" {PASS12 (yyval.code)=(yyvsp[(4) - (4)].code);setslotstate(0, 0);} } break; - case 166: + case 168: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2655 "parser.y" +#line 2671 "parser.y" {PASS12 (yyval.code)=0;} } break; - case 167: + case 169: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2656 "parser.y" +#line 2672 "parser.y" {PASS12 (yyval.code)=0;} } break; - case 168: + case 170: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2659 "parser.y" +#line 2675 "parser.y" { PASS12 int flags = slotstate_flags->flags; @@ -6238,22 +6259,22 @@ PASS12 - case 169: + case 171: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2742 "parser.y" +#line 2758 "parser.y" {(yyval.constant)=0;} } break; - case 170: + case 172: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2743 "parser.y" +#line 2759 "parser.y" { (yyval.constant) = malloc(sizeof(constant_t)); *(yyval.constant) = node_eval((yyvsp[(2) - (2)].node)); @@ -6266,22 +6287,22 @@ PASS12 - case 171: + case 173: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2752 "parser.y" +#line 2768 "parser.y" {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));} } break; - case 172: + case 174: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2753 "parser.y" +#line 2769 "parser.y" { (yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint)); } @@ -6290,132 +6311,132 @@ PASS12 - case 173: + case 175: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2756 "parser.y" +#line 2772 "parser.y" {(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));} } break; - case 174: + case 176: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2757 "parser.y" +#line 2773 "parser.y" {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);free((char*)(yyvsp[(1) - (1)].str).str);} } break; - case 175: + case 177: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2758 "parser.y" +#line 2774 "parser.y" {(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));} } break; - case 176: + case 178: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2759 "parser.y" +#line 2775 "parser.y" {(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));} } break; - case 177: + case 179: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2760 "parser.y" +#line 2776 "parser.y" {(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));} } break; - case 178: + case 180: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2761 "parser.y" +#line 2777 "parser.y" {(yyval.constant) = constant_new_undefined((yyvsp[(1) - (1)].token));} } break; - case 179: + case 181: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2762 "parser.y" +#line 2778 "parser.y" {(yyval.constant) = constant_new_float(__builtin_nan(""));} } break; - case 181: + case 183: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2782 "parser.y" +#line 2793 "parser.y" {PASS_ALWAYS if(!xml_level++) tokenizer_begin_xml();} } break; - case 182: + case 184: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2783 "parser.y" +#line 2794 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; - case 183: + case 185: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2784 "parser.y" +#line 2795 "parser.y" {PASS_ALWAYS if(!--xml_level) tokenizer_end_xml(); else tokenizer_begin_xmltext();} } break; - case 184: + case 186: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2786 "parser.y" +#line 2797 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; - case 185: + case 187: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2786 "parser.y" +#line 2797 "parser.y" { (yyval.id)=strdup("{...}"); as3_warning("xml string substitution not yet supported"); @@ -6425,22 +6446,22 @@ PASS12 - case 186: + case 188: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2790 "parser.y" +#line 2801 "parser.y" {PASS_ALWAYS tokenizer_begin_xml();} } break; - case 187: + case 189: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2790 "parser.y" +#line 2801 "parser.y" { (yyval.id)=strdup("{...}"); as3_warning("xml string substitution not yet supported"); @@ -6450,22 +6471,22 @@ PASS12 - case 188: + case 190: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2794 "parser.y" +#line 2805 "parser.y" {(yyval.id)="";} } break; - case 189: + case 191: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2795 "parser.y" +#line 2806 "parser.y" { (yyval.id) = concat2((yyvsp[(1) - (2)].id), "{...}"); } @@ -6474,77 +6495,77 @@ PASS12 - case 190: + case 192: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2798 "parser.y" +#line 2809 "parser.y" {(yyval.id)=concat2((yyvsp[(1) - (2)].id), string_cstr(&(yyvsp[(2) - (2)].str)));} } break; - case 191: + case 193: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2799 "parser.y" +#line 2810 "parser.y" {(yyval.id)=concat2((yyvsp[(1) - (2)].id), ">");} } break; - case 192: + case 194: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2801 "parser.y" +#line 2812 "parser.y" {(yyval.id)=concat2((yyvsp[(1) - (2)].id),(yyvsp[(2) - (2)].id));} } break; - case 193: + case 195: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2802 "parser.y" +#line 2813 "parser.y" {(yyval.id)=concat3((yyvsp[(1) - (3)].id),(yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));free((yyvsp[(2) - (3)].id));free((yyvsp[(3) - (3)].id));} } break; - case 194: + case 196: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2804 "parser.y" +#line 2815 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 195: + case 197: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2805 "parser.y" +#line 2816 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 196: + case 198: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2807 "parser.y" +#line 2818 "parser.y" { (yyval.id) = allocprintf("<%s%s>%s", (yyvsp[(2) - (10)].id), (yyvsp[(3) - (10)].id), (yyvsp[(5) - (10)].id), (yyvsp[(8) - (10)].id)); free((yyvsp[(2) - (10)].id));free((yyvsp[(3) - (10)].id));free((yyvsp[(5) - (10)].id));free((yyvsp[(8) - (10)].id)); @@ -6554,11 +6575,11 @@ PASS12 - case 197: + case 199: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2811 "parser.y" +#line 2822 "parser.y" { (yyval.id) = allocprintf("<%s%s/>", (yyvsp[(2) - (6)].id), (yyvsp[(3) - (6)].id)); } @@ -6567,11 +6588,11 @@ PASS12 - case 198: + case 200: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2814 "parser.y" +#line 2825 "parser.y" { (yyval.id) = allocprintf("<%s%s>%s%s", (yyvsp[(2) - (11)].id), (yyvsp[(3) - (11)].id), (yyvsp[(5) - (11)].id), (yyvsp[(6) - (11)].id), (yyvsp[(9) - (11)].id)); free((yyvsp[(2) - (11)].id));free((yyvsp[(3) - (11)].id));free((yyvsp[(5) - (11)].id));free((yyvsp[(6) - (11)].id));free((yyvsp[(9) - (11)].id)); @@ -6581,55 +6602,55 @@ PASS12 - case 199: + case 201: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2819 "parser.y" +#line 2830 "parser.y" {(yyval.id)=strdup("");} } break; - case 200: + case 202: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2820 "parser.y" +#line 2831 "parser.y" {(yyval.id)=concat2(" ",(yyvsp[(1) - (1)].id));} } break; - case 201: + case 203: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2821 "parser.y" +#line 2832 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 202: + case 204: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2822 "parser.y" +#line 2833 "parser.y" {(yyval.id)=concat3((yyvsp[(1) - (2)].id)," ",(yyvsp[(2) - (2)].id));free((yyvsp[(1) - (2)].id));free((yyvsp[(2) - (2)].id));} } break; - case 203: + case 205: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2824 "parser.y" +#line 2835 "parser.y" { (yyval.id) = strdup("{...}"); } @@ -6638,11 +6659,11 @@ PASS12 - case 204: + case 206: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2827 "parser.y" +#line 2838 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); (yyval.id) = concat2("{...}=",str); @@ -6652,11 +6673,11 @@ PASS12 - case 205: + case 207: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2831 "parser.y" +#line 2842 "parser.y" { (yyval.id) = strdup("{...}={...}"); } @@ -6665,11 +6686,11 @@ PASS12 - case 206: + case 208: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2834 "parser.y" +#line 2845 "parser.y" { (yyval.id) = concat2((yyvsp[(1) - (3)].id),"={...}"); } @@ -6678,11 +6699,11 @@ PASS12 - case 207: + case 209: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2837 "parser.y" +#line 2848 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); (yyval.id)=allocprintf("%s=%s", (yyvsp[(1) - (3)].id),str); @@ -6694,11 +6715,11 @@ PASS12 - case 208: + case 210: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2847 "parser.y" +#line 2858 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6708,11 +6729,11 @@ PASS12 - case 209: + case 211: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2851 "parser.y" +#line 2862 "parser.y" { PASS12 (yyval.params)=(yyvsp[(1) - (1)].params); @@ -6722,11 +6743,11 @@ PASS12 - case 210: + case 212: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2857 "parser.y" +#line 2868 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6738,11 +6759,11 @@ PASS12 - case 211: + case 213: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2863 "parser.y" +#line 2874 "parser.y" { PASS12 (yyval.params) =(yyvsp[(1) - (4)].params); @@ -6754,11 +6775,11 @@ PASS12 - case 212: + case 214: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2871 "parser.y" +#line 2882 "parser.y" { PASS12 (yyval.params) = (yyvsp[(1) - (3)].params); @@ -6769,11 +6790,11 @@ PASS12 - case 213: + case 215: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2876 "parser.y" +#line 2887 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6784,11 +6805,11 @@ PASS12 - case 214: + case 216: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2882 "parser.y" +#line 2893 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -6802,11 +6823,11 @@ PASS12 - case 215: + case 217: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2890 "parser.y" +#line 2901 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -6820,33 +6841,33 @@ PASS12 - case 218: + case 220: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2900 "parser.y" +#line 2911 "parser.y" {PASS12 (yyval.token)=0;} } break; - case 219: + case 221: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2903 "parser.y" +#line 2914 "parser.y" {PASS12 startfunction(&(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));} } break; - case 220: + case 222: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2904 "parser.y" +#line 2915 "parser.y" { PASS1 endfunction(&(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),0,0); @@ -6866,33 +6887,33 @@ PASS12 - case 222: + case 224: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2920 "parser.y" +#line 2931 "parser.y" {PASS12 (yyval.id)=0;} } break; - case 223: + case 225: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2922 "parser.y" +#line 2933 "parser.y" {PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));} } break; - case 224: + case 226: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2923 "parser.y" +#line 2934 "parser.y" { PASS1 endfunction(0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),0,0); @@ -6916,11 +6937,11 @@ PASS12 - case 225: + case 227: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2945 "parser.y" +#line 2956 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -6944,11 +6965,11 @@ PASS12 - case 226: + case 228: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2964 "parser.y" +#line 2975 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -6967,121 +6988,121 @@ PASS12 - case 229: + case 231: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2981 "parser.y" +#line 2992 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));} } break; - case 230: + case 232: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2982 "parser.y" +#line 2993 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));} } break; - case 231: + case 233: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2984 "parser.y" +#line 2995 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);} } break; - case 232: + case 234: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2985 "parser.y" +#line 2996 "parser.y" {PASS12 (yyval.classinfo)=TYPE_ANY;} } break; - case 233: + case 235: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2986 "parser.y" +#line 2997 "parser.y" {PASS12 (yyval.classinfo)=TYPE_VOID;} } break; - case 234: + case 236: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2995 "parser.y" +#line 3006 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; - case 235: + case 237: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2996 "parser.y" +#line 3007 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; - case 236: + case 238: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3000 "parser.y" +#line 3011 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; - case 237: + case 239: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3001 "parser.y" +#line 3012 "parser.y" {(yyval.value_list)=(yyvsp[(2) - (3)].value_list);} } break; - case 238: + case 240: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3003 "parser.y" +#line 3014 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; - case 241: + case 243: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3007 "parser.y" +#line 3018 "parser.y" {(yyval.value_list).number=1; (yyval.value_list).cc = (yyvsp[(1) - (1)].value).c; } @@ -7090,22 +7111,22 @@ PASS12 - case 242: + case 244: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3011 "parser.y" +#line 3022 "parser.y" {(yyval.value_list) = (yyvsp[(1) - (2)].value_list);} } break; - case 243: + case 245: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3012 "parser.y" +#line 3023 "parser.y" { (yyval.value_list).number= (yyvsp[(1) - (2)].value_list).number+1; (yyval.value_list).cc = code_append((yyvsp[(1) - (2)].value_list).cc, (yyvsp[(2) - (2)].value).c); @@ -7115,11 +7136,11 @@ PASS12 - case 245: + case 247: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3018 "parser.y" +#line 3029 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (4)].node)); (yyval.value).c = v.c; @@ -7164,11 +7185,11 @@ PASS12 - case 246: + case 248: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3062 "parser.y" +#line 3073 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); @@ -7223,11 +7244,11 @@ PASS12 - case 247: + case 249: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3112 "parser.y" +#line 3123 "parser.y" { if(!state->cls) syntaxerror("super() not allowed outside of a class"); if(!state->method) syntaxerror("super() not allowed outside of a function"); @@ -7253,11 +7274,11 @@ PASS12 - case 248: + case 250: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3133 "parser.y" +#line 3144 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (2)].node)); (yyval.value).c = v.c; @@ -7284,11 +7305,11 @@ PASS12 - case 249: + case 251: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3155 "parser.y" +#line 3166 "parser.y" { (yyval.code) = abc_returnvoid(0); } @@ -7297,11 +7318,11 @@ PASS12 - case 250: + case 252: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3158 "parser.y" +#line 3169 "parser.y" { (yyval.code) = (yyvsp[(2) - (2)].value).c; (yyval.code) = abc_returnvalue((yyval.code)); @@ -7311,11 +7332,11 @@ PASS12 - case 251: + case 253: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3165 "parser.y" +#line 3176 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7324,11 +7345,11 @@ PASS12 - case 252: + case 254: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3168 "parser.y" +#line 3179 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7337,11 +7358,11 @@ PASS12 - case 253: + case 255: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3171 "parser.y" +#line 3182 "parser.y" { (yyval.node) = mkmultinode(&node_comma, (yyvsp[(1) - (1)].node)); } @@ -7350,11 +7371,11 @@ PASS12 - case 254: + case 256: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3174 "parser.y" +#line 3185 "parser.y" { (yyval.node) = multinode_extend((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); } @@ -7363,11 +7384,11 @@ PASS12 - case 255: + case 257: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3177 "parser.y" +#line 3188 "parser.y" { (yyval.code) = node_exec((yyvsp[(1) - (1)].node)); } @@ -7376,11 +7397,11 @@ PASS12 - case 256: + case 258: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3180 "parser.y" +#line 3191 "parser.y" { (yyval.code) = (yyvsp[(1) - (3)].code); (yyval.code) = code_append((yyval.code), node_exec((yyvsp[(3) - (3)].node))); @@ -7390,88 +7411,88 @@ PASS12 - case 257: + case 259: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3185 "parser.y" +#line 3196 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; - case 258: + case 260: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3186 "parser.y" +#line 3197 "parser.y" {(yyval.value_list)=(yyvsp[(1) - (1)].value_list);} } break; - case 259: + case 261: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3188 "parser.y" +#line 3199 "parser.y" {(yyval.code)=abc_pushstring(0,(yyvsp[(1) - (1)].id));} } break; - case 260: + case 262: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3189 "parser.y" +#line 3200 "parser.y" {(yyval.code)=abc_pushstring2(0,&(yyvsp[(1) - (1)].str));} } break; - case 261: + case 263: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3190 "parser.y" +#line 3201 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; - case 262: + case 264: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3191 "parser.y" +#line 3202 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; - case 263: + case 265: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3192 "parser.y" +#line 3203 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; - case 264: + case 266: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3194 "parser.y" +#line 3205 "parser.y" { (yyval.value_list).cc = 0; (yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].code)); @@ -7483,11 +7504,11 @@ PASS12 - case 265: + case 267: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3200 "parser.y" +#line 3211 "parser.y" { (yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc; (yyval.value_list).number = (yyvsp[(1) - (5)].value_list).number+2; @@ -7499,77 +7520,77 @@ PASS12 - case 266: + case 268: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3209 "parser.y" +#line 3220 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 267: + case 269: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3210 "parser.y" +#line 3221 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 268: + case 270: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3211 "parser.y" +#line 3222 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 269: + case 271: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3212 "parser.y" +#line 3223 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 270: + case 272: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3213 "parser.y" +#line 3224 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; - case 271: + case 273: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3214 "parser.y" +#line 3225 "parser.y" {(yyval.node) = (yyvsp[(1) - (1)].node);} } break; - case 272: + case 274: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3216 "parser.y" +#line 3227 "parser.y" { (yyval.node) = mkconstnode((yyvsp[(1) - (1)].constant)); } @@ -7578,11 +7599,11 @@ PASS12 - case 273: + case 275: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3220 "parser.y" +#line 3231 "parser.y" { typedcode_t v; v.c = 0; @@ -7598,11 +7619,11 @@ PASS12 - case 274: + case 276: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3232 "parser.y" +#line 3243 "parser.y" { typedcode_t v; v.c = 0; @@ -7625,11 +7646,11 @@ PASS12 - case 275: + case 277: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3250 "parser.y" +#line 3261 "parser.y" { PASS1 state->method->need_arguments = 1; @@ -7644,11 +7665,11 @@ PASS12 - case 276: + case 278: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3261 "parser.y" +#line 3272 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7662,11 +7683,11 @@ PASS12 - case 277: + case 279: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3271 "parser.y" +#line 3282 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7680,561 +7701,561 @@ PASS12 - case 278: + case 280: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3280 "parser.y" +#line 3291 "parser.y" {(yyval.node) = mknode2(&node_lt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 279: + case 281: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3281 "parser.y" +#line 3292 "parser.y" {(yyval.node) = mknode2(&node_gt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 280: + case 282: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3282 "parser.y" +#line 3293 "parser.y" {(yyval.node) = mknode2(&node_le,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 281: + case 283: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3283 "parser.y" +#line 3294 "parser.y" {(yyval.node) = mknode2(&node_ge,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 282: + case 284: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3284 "parser.y" +#line 3295 "parser.y" {(yyval.node) = mknode2(&node_eqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 283: + case 285: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3285 "parser.y" +#line 3296 "parser.y" {(yyval.node) = mknode2(&node_eqeqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 284: + case 286: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3286 "parser.y" +#line 3297 "parser.y" {(yyval.node) = mknode2(&node_noteqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 285: + case 287: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3287 "parser.y" +#line 3298 "parser.y" {(yyval.node) = mknode2(&node_noteq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 286: + case 288: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3288 "parser.y" +#line 3299 "parser.y" {(yyval.node) = mknode2(&node_oror,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 287: + case 289: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3289 "parser.y" +#line 3300 "parser.y" {(yyval.node) = mknode2(&node_andand,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; - case 288: + case 290: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3290 "parser.y" +#line 3301 "parser.y" {(yyval.node) = mknode1(&node_not, (yyvsp[(2) - (2)].node));} } break; - case 289: + case 291: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3291 "parser.y" +#line 3302 "parser.y" {(yyval.node) = mknode1(&node_bitnot, (yyvsp[(2) - (2)].node));} } break; - case 290: + case 292: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3292 "parser.y" +#line 3303 "parser.y" {(yyval.node) = mknode2(&node_bitand, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 291: + case 293: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3293 "parser.y" +#line 3304 "parser.y" {(yyval.node) = mknode2(&node_bitxor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 292: + case 294: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3294 "parser.y" +#line 3305 "parser.y" {(yyval.node) = mknode2(&node_bitor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 293: + case 295: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3295 "parser.y" +#line 3306 "parser.y" {(yyval.node) = mknode2(&node_shr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 294: + case 296: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3296 "parser.y" +#line 3307 "parser.y" {(yyval.node) = mknode2(&node_ushr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 295: + case 297: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3297 "parser.y" +#line 3308 "parser.y" {(yyval.node) = mknode2(&node_shl, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 296: + case 298: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3298 "parser.y" +#line 3309 "parser.y" {(yyval.node) = mknode2(&node_div, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 297: + case 299: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3299 "parser.y" +#line 3310 "parser.y" {(yyval.node) = mknode2(&node_mod, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 298: + case 300: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3300 "parser.y" +#line 3311 "parser.y" {(yyval.node) = mknode2(&node_plus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 299: + case 301: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3301 "parser.y" +#line 3312 "parser.y" {(yyval.node) = mknode2(&node_minus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 300: + case 302: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3302 "parser.y" +#line 3313 "parser.y" {(yyval.node) = mknode2(&node_multiply, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 301: + case 303: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3303 "parser.y" +#line 3314 "parser.y" {(yyval.node) = mknode2(&node_in, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 302: + case 304: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3304 "parser.y" +#line 3315 "parser.y" {(yyval.node) = mknode2(&node_as, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 303: + case 305: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3305 "parser.y" +#line 3316 "parser.y" {(yyval.node) = mknode2(&node_instanceof, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 304: + case 306: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3306 "parser.y" +#line 3317 "parser.y" {(yyval.node) = mknode2(&node_is, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 305: + case 307: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3307 "parser.y" - {(yyval.node) = mknode1(&node_typeof, (yyvsp[(3) - (4)].node));} +#line 3318 "parser.y" + {(yyval.node) = mknode1(&node_typeof, (yyvsp[(2) - (2)].node));} } break; - case 306: + case 308: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3308 "parser.y" +#line 3319 "parser.y" {(yyval.node) = mknode1(&node_void, (yyvsp[(2) - (2)].node));} } break; - case 307: + case 309: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3309 "parser.y" +#line 3320 "parser.y" { (yyval.node) = mkconstnode(constant_new_undefined());} } break; - case 308: + case 310: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3310 "parser.y" +#line 3321 "parser.y" { (yyval.node)=(yyvsp[(2) - (3)].node);} } break; - case 309: + case 311: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3311 "parser.y" +#line 3322 "parser.y" {(yyval.node) = mknode1(&node_neg, (yyvsp[(2) - (2)].node));} } break; - case 310: + case 312: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3312 "parser.y" +#line 3323 "parser.y" {(yyval.node) = mknode2(&node_arraylookup, (yyvsp[(1) - (4)].node),(yyvsp[(3) - (4)].node));} } break; - case 311: + case 313: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3313 "parser.y" +#line 3324 "parser.y" {(yyval.node) = mknode2(&node_muleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 312: + case 314: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3314 "parser.y" +#line 3325 "parser.y" {(yyval.node) = mknode2(&node_modeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 313: + case 315: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3315 "parser.y" +#line 3326 "parser.y" {(yyval.node) = mknode2(&node_shleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 314: + case 316: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3316 "parser.y" +#line 3327 "parser.y" {(yyval.node) = mknode2(&node_shreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 315: + case 317: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3317 "parser.y" +#line 3328 "parser.y" {(yyval.node) = mknode2(&node_ushreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 316: + case 318: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3318 "parser.y" +#line 3329 "parser.y" { (yyval.node) = mknode2(&node_diveq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 317: + case 319: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3319 "parser.y" +#line 3330 "parser.y" { (yyval.node) = mknode2(&node_bitoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 318: + case 320: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3320 "parser.y" +#line 3331 "parser.y" { (yyval.node) = mknode2(&node_bitxoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 319: + case 321: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3321 "parser.y" +#line 3332 "parser.y" { (yyval.node) = mknode2(&node_bitandeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 320: + case 322: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3322 "parser.y" +#line 3333 "parser.y" { (yyval.node) = mknode2(&node_pluseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 321: + case 323: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3323 "parser.y" +#line 3334 "parser.y" { (yyval.node) = mknode2(&node_minuseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 322: + case 324: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3324 "parser.y" +#line 3335 "parser.y" { (yyval.node) = mknode2(&node_assign, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; - case 323: + case 325: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3325 "parser.y" +#line 3336 "parser.y" { (yyval.node) = mknode3(&node_tenary, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));} } break; - case 324: + case 326: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3327 "parser.y" +#line 3338 "parser.y" { (yyval.node) = mknode1(&node_rplusplus, (yyvsp[(1) - (2)].node));} } break; - case 325: + case 327: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3328 "parser.y" +#line 3339 "parser.y" { (yyval.node) = mknode1(&node_rminusminus, (yyvsp[(1) - (2)].node));} } break; - case 326: + case 328: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3329 "parser.y" +#line 3340 "parser.y" {(yyval.node) = mknode1(&node_lplusplus, (yyvsp[(2) - (2)].node)); } } break; - case 327: + case 329: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3330 "parser.y" +#line 3341 "parser.y" {(yyval.node) = mknode1(&node_lminusminus, (yyvsp[(2) - (2)].node)); } } break; - case 328: + case 330: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3333 "parser.y" +#line 3344 "parser.y" { if(!state->cls->info) syntaxerror("super keyword not allowed outside a class"); classinfo_t*t = state->cls->info->superclass; @@ -8253,11 +8274,11 @@ PASS12 - case 329: + case 331: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3347 "parser.y" +#line 3358 "parser.y" { typedcode_t v; multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(2) - (2)].id)}; @@ -8270,22 +8291,22 @@ PASS12 - case 330: + case 332: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3355 "parser.y" +#line 3366 "parser.y" {PASS12 new_state();state->xmlfilter=1;} } break; - case 331: + case 333: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3355 "parser.y" +#line 3366 "parser.y" { PASS1 old_state(); PASS2 @@ -8344,55 +8365,55 @@ PASS12 - case 332: + case 334: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3409 "parser.y" +#line 3420 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; - case 333: + case 335: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3410 "parser.y" +#line 3421 "parser.y" {(yyval.id)="*";} } break; - case 334: + case 336: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3411 "parser.y" +#line 3422 "parser.y" {(yyval.id)=(char*)(yyvsp[(1) - (1)].id);} } break; - case 336: + case 338: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3413 "parser.y" +#line 3424 "parser.y" {(yyval.id)="*";} } break; - case 337: + case 339: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3421 "parser.y" +#line 3432 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (5)].node)); typedcode_t w = node_read(resolve_identifier((yyvsp[(3) - (5)].id))); @@ -8416,11 +8437,11 @@ PASS12 - case 338: + case 340: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3439 "parser.y" +#line 3450 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (3)].node)); multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)}; @@ -8433,11 +8454,11 @@ PASS12 - case 339: + case 341: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3446 "parser.y" +#line 3457 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (5)].node)); typedcode_t w = node_read((yyvsp[(4) - (5)].node)); @@ -8453,11 +8474,11 @@ PASS12 - case 340: + case 342: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3457 "parser.y" +#line 3468 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8470,11 +8491,11 @@ PASS12 - case 341: + case 343: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3464 "parser.y" +#line 3475 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8487,11 +8508,11 @@ PASS12 - case 342: + case 344: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3471 "parser.y" +#line 3482 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8507,11 +8528,11 @@ PASS12 - case 343: + case 345: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3481 "parser.y" +#line 3492 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8527,11 +8548,11 @@ PASS12 - case 344: + case 346: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3492 "parser.y" +#line 3503 "parser.y" { typedcode_t v1 = node_read((yyvsp[(1) - (3)].node)); (yyval.value).c = v1.c; @@ -8599,11 +8620,11 @@ PASS12 - case 345: + case 347: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3670 "parser.y" +#line 3681 "parser.y" { PASS1 /* Queue unresolved identifiers for checking against the parent @@ -8633,11 +8654,11 @@ PASS12 - case 346: + case 348: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3706 "parser.y" +#line 3717 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8650,11 +8671,11 @@ PASS12 - case 347: + case 349: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3713 "parser.y" +#line 3724 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8667,11 +8688,11 @@ PASS12 - case 348: + case 350: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3720 "parser.y" +#line 3731 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8684,11 +8705,11 @@ PASS12 - case 349: + case 351: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3727 "parser.y" +#line 3738 "parser.y" { PASS12 trie_put(active_namespaces, (yyvsp[(2) - (2)].namespace_decl)->name, (void*)(yyvsp[(2) - (2)].namespace_decl)->url); @@ -8715,24 +8736,25 @@ PASS12 - case 350: + case 352: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3750 "parser.y" +#line 3761 "parser.y" { as3_warning("default xml namespaces not supported yet"); + (yyval.code) = 0; } } break; - case 351: + case 353: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3754 "parser.y" +#line 3766 "parser.y" { PASS12 const char*url = (yyvsp[(3) - (3)].classinfo)->name; @@ -8761,7 +8783,7 @@ PASS12 /* Line 1464 of skeleton.m4 */ -#line 8765 "parser.tab.c" +#line 8787 "parser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/lib/as3/parser.y b/lib/as3/parser.y index 37ad268..d21da23 100644 --- a/lib/as3/parser.y +++ b/lib/as3/parser.y @@ -266,7 +266,8 @@ extern int a3_lex(); // needed for "return" precedence: %nonassoc T_STRING T_REGEXP -%nonassoc T_INT T_UINT T_FLOAT KW_NAN +%nonassoc T_INT T_UINT T_FLOAT KW_NAN +%left T_NAMESPACE %nonassoc "false" "true" "null" "undefined" "super" "function" %left above_function @@ -570,6 +571,7 @@ void initialize_file(char*filename) state->method->late_binding = 1; // init scripts use getglobalscope, so we need a getlocal0/pushscope } else { state->method = dict_lookup(global->token2info, (void*)(ptroff_t)as3_tokencount); + state->method->variable_count = 0; if(!state->method) syntaxerror("internal error: skewed tokencount"); function_initvars(state->method, 0, 0, 0, 1); @@ -2445,6 +2447,7 @@ WITH : WITH_HEAD CODEBLOCK { X_IDENTIFIER: T_IDENTIFIER | "package" {PASS12 $$="package";} | "namespace" {PASS12 $$="namespace";} + | "NaN" {PASS12 $$="NaN";} | T_NAMESPACE {PASS12 $$=$1;} PACKAGE: PACKAGE '.' X_IDENTIFIER {PASS12 $$ = concat3($1,".",$3);free($1);$1=0;} @@ -2475,18 +2478,24 @@ PACKAGE_DECLARATION : "package" '{' {PASS12 startpackage("");} free(s); } }; + +IMPORT : "import" T_IDENTIFIER { + PASS12 + slotinfo_t*s = registry_find(state->package, $2); + if(!s && as3_pass==1) {as3_schedule_class(state->package, $2);} + state_has_imports(); + dict_put(state->imports, state->package, $2); + $$=0; +} IMPORT : "import" PACKAGEANDCLASS { PASS12 slotinfo_t*s = registry_find($2->package, $2->name); if(!s && as3_pass==1) {// || !(s->flags&FLAG_BUILTIN)) { as3_schedule_class($2->package, $2->name); } - classinfo_t*c = $2; - if(!c) - syntaxerror("Couldn't import class\n"); state_has_imports(); - dict_put(state->imports, c->name, c); - import_toplevel(c->package); + dict_put(state->imports, $2->name, $2); + import_toplevel($2->package); $$=0; } IMPORT : "import" PACKAGE '.' '*' { @@ -2761,14 +2770,9 @@ CONSTANT : "null" {$$ = constant_new_null($1);} CONSTANT : "undefined" {$$ = constant_new_undefined($1);} CONSTANT : KW_NAN {$$ = constant_new_float(__builtin_nan(""));} -/* -CONSTANT : T_IDENTIFIER { - if(!strcmp($1, "NaN")) { - $$ = constant_new_float(__builtin_nan("")); - } else { - as3_warning("Couldn't evaluate constant value of %s", $1); - $$ = constant_new_null($1); - } +/*CONSTANT : T_NAMESPACE { + // TODO + $$ = constant_new_namespace(namespace_new_namespace($1.url)); }*/ /* ---------------------------xml ------------------------------ */ @@ -3304,7 +3308,7 @@ E : E "in" E {$$ = mknode2(&node_in, $1, $3);} E : E "as" E {$$ = mknode2(&node_as, $1, $3);} E : E "instanceof" E {$$ = mknode2(&node_instanceof, $1, $3);} E : E "is" E {$$ = mknode2(&node_is, $1, $3);} -E : "typeof" '(' E ')' {$$ = mknode1(&node_typeof, $3);} +E : "typeof" E {$$ = mknode1(&node_typeof, $2);} E : "void" E {$$ = mknode1(&node_void, $2);} E : "void" { $$ = mkconstnode(constant_new_undefined());} E : '(' COMMA_EXPRESSION ')' { $$=$2;} @@ -3749,6 +3753,7 @@ NAMESPACE_DECLARATION : MAYBE_MODIFIERS NAMESPACE_ID { DEFAULT_NAMESPACE : "default xml" "namespace" '=' E { as3_warning("default xml namespaces not supported yet"); + $$ = 0; } USE_NAMESPACE : "use" "namespace" CLASS_SPEC { diff --git a/src/as3compile.1 b/src/as3compile.1 index c8b1de1..e39f65e 100644 --- a/src/as3compile.1 +++ b/src/as3compile.1 @@ -1,4 +1,4 @@ -.TH as3compile "1" "February 2009" "as3compile" "swftools" +.TH as3compile "1" "April 2009" "as3compile" "swftools" .SH NAME as3compile - Compile .as ActionScript 3.0 files to swf. @@ -6,7 +6,7 @@ as3compile - Compile .as ActionScript 3.0 files to swf. .B as3compile file.as [-o file.swf] .SH DESCRIPTION -Compiles a file written in ActionScript to a SWF file. +Compiles a file written in ActionScript 3.0 to a SWF file. .SH OPTIONS .TP @@ -25,6 +25,12 @@ Compiles a file written in ActionScript to a SWF file. \fB\-C\fR, \fB\-\-cgi\fR Output to stdout (for use in CGI environments) .TP +\fB\-R\fR, \fB\-\-resolve\fR + This flag will cause the compiler to try filenames like "FooBar.as" for classes named "FooBar". +.TP +\fB\-D\fR, \fB\-\-define\fR \fInamespace::variable\fR + Set a compile time variable (for doing conditional compilation) +.TP \fB\-X\fR, \fB\-\-width\fR Set target SWF width .TP @@ -35,16 +41,48 @@ Compiles a file written in ActionScript to a SWF file. Set target SWF framerate .TP \fB\-l\fR, \fB\-\-library\fR \fIfile\fR - Include library file \fIfile\fR + Include library file \fIfile\fR. can be an .abc or .swf file. .TP \fB\-I\fR, \fB\-\-include\fR \fIdir\fR - Add include dir \fIdir\fR + Add additional include dir \fIdir\fR. +.TP +\fB\-N\fR, \fB\-\-local-with-network\fR + Make output file "local with networking" +.TP +\fB\-L\fR, \fB\-\-local-with-filesystem\fR + Make output file "local with filesystem" .TP \fB\-T\fR, \fB\-\-flashversion\fR \fInum\fR \fInum\fR must be >= 9. .TP \fB\-o\fR, \fB\-\-output\fR \fIfilename\fR Set output file to \fIfilename\fR. +.SH EXAMPLE + + The following is a basic as3 file that can be compiled e.g. + with \fBas3compile -X 400 -Y 400 smiley.as\fR + + // smiley.as + package + { + import flash.display.MovieClip + + public class Main extends MovieClip + { + function Main() + { + this.graphics.beginFill(0xcccc00) + this.graphics.drawCircle(200,200,200) + this.graphics.endFill() + this.graphics.beginFill(0x000000) + this.graphics.drawCircle(140,150,50) + this.graphics.drawCircle(260,150,50) + this.graphics.drawRoundRect(140,270,120,10,20); + this.graphics.endFill() + } + } + } + .SH AUTHOR Matthias Kramm diff --git a/src/as3compile.c b/src/as3compile.c index e59f691..5d20d31 100644 --- a/src/as3compile.c +++ b/src/as3compile.c @@ -40,6 +40,7 @@ static int flashversion = 9; static int verbose = 1; static char local_with_networking = 0; static char local_with_filesystem = 0; +static char*mainclass = 0; static struct options_t options[] = { {"h", "help"}, @@ -47,14 +48,16 @@ static struct options_t options[] = { {"v", "verbose"}, {"q", "quiet"}, {"C", "cgi"}, +{"R", "resolve"}, {"D", "define"}, {"X", "width"}, {"Y", "height"}, {"r", "rate"}, {"l", "library"}, {"I", "include"}, +{"N", "local-with-network"}, +{"L", "local-with-filesystem"}, {"T", "flashversion"}, -{"R", "recurse"}, {"o", "output"}, {0,0} }; @@ -74,6 +77,10 @@ int args_callback_option(char*name,char*val) framerate = atof(val); return 1; } + else if(!strcmp(name, "M")) { + mainclass = val; + return 1; + } else if(!strcmp(name, "v")) { verbose++; return 0; @@ -144,11 +151,15 @@ void args_callback_usage(char *name) printf("-v , --verbose Increase verbosity\n"); printf("-q , --quiet Decrease verbosity\n"); printf("-C , --cgi Output to stdout (for use in CGI environments)\n"); + printf("-R , --resolve Try to resolve undefined classes automatically.\n"); + printf("-D , --define Set a compile time variable (for doing conditional compilation)\n"); printf("-X , --width Set target SWF width\n"); printf("-Y , --height Set target SWF width\n"); printf("-r , --rate Set target SWF framerate\n"); - printf("-l , --library Include library file \n"); - printf("-I , --include Add include dir \n"); + printf("-l , --library Include library file . can be an .abc or .swf file.\n"); + printf("-I , --include Add additional include dir .\n"); + printf("-N , --local-with-network Make output file \"local with networking\"\n"); + printf("-L , --local-with-filesystem Make output file \"local with filesystem\"\n"); printf("-T , --flashversion Set target SWF flash version to .\n"); printf("-o , --output Set output file to .\n"); printf("\n"); @@ -225,7 +236,9 @@ int main (int argc,char ** argv) TAG*tag = swf.firstTag = swf_InsertTag(0, ST_DOABC); swf_WriteABC(tag, code); - if(as3_getglobalclass()) { + if(!mainclass) + mainclass = as3_getglobalclass(); + if(mainclass) { tag = swf_InsertTag(tag, ST_SYMBOLCLASS); swf_SetU16(tag, 1); swf_SetU16(tag, 0); diff --git a/src/as3compile.doc b/src/as3compile.doc index b370903..c6c007c 100644 --- a/src/as3compile.doc +++ b/src/as3compile.doc @@ -2,7 +2,7 @@ Usage: %s file.as [-o file.swf] Compile .as ActionScript 3.0 files to swf. -Compiles a file written in ActionScript to a SWF file. +Compiles a file written in ActionScript 3.0 to a SWF file. -h, --help Print short help message and exit @@ -14,6 +14,11 @@ Compiles a file written in ActionScript to a SWF file. Decrease verbosity -C, --cgi Output to stdout (for use in CGI environments) +-R, --resolve + Try to resolve undefined classes automatically. + This flag will cause the compiler to try filenames like "FooBar.as" for classes named "FooBar". +-D, --define + Set a compile time variable (for doing conditional compilation) -X, --width Set target SWF width -Y, --height @@ -21,9 +26,9 @@ Compiles a file written in ActionScript to a SWF file. -r, --rate Set target SWF framerate -l, --library - Include library file + Include library file . can be an .abc or .swf file. -I, --include - Add include dir + Add additional include dir . -N, --local-with-network Make output file "local with networking" -L, --local-with-filesystem @@ -34,6 +39,32 @@ Compiles a file written in ActionScript to a SWF file. -o, --output Set output file to . +.SH EXAMPLE + + The following is a basic as3 file that can be compiled e.g. + with \fBas3compile -X 400 -Y 400 smiley.as\fR + + // smiley.as + package + { + import flash.display.MovieClip + + public class Main extends MovieClip + { + function Main() + { + this.graphics.beginFill(0xcccc00) + this.graphics.drawCircle(200,200,200) + this.graphics.endFill() + this.graphics.beginFill(0x000000) + this.graphics.drawCircle(140,150,50) + this.graphics.drawCircle(260,150,50) + this.graphics.drawRoundRect(140,270,120,10,20); + this.graphics.endFill() + } + } + } + .SH AUTHOR Matthias Kramm diff --git a/src/font2swf.1 b/src/font2swf.1 index bbb31e3..9b4a9f6 100644 --- a/src/font2swf.1 +++ b/src/font2swf.1 @@ -1,4 +1,4 @@ -.TH font2swf "1" "January 2009" "font2swf" "swftools" +.TH font2swf "1" "April 2009" "font2swf" "swftools" .SH NAME font2swf - Converts a font to SWF. diff --git a/src/font2swf.c b/src/font2swf.c index 36ac40b..cd30118 100644 --- a/src/font2swf.c +++ b/src/font2swf.c @@ -79,7 +79,6 @@ void args_callback_usage(char *name) printf("\n"); printf("-h , --help Print short help message and exit\n"); printf("-v , --verbose Be verbose. Use more than one -v for greater effect.\n"); - printf("-n , --name Name of the font (class) in the output file\n"); printf("-o , --output Write output to file .\n"); printf("-V , --version Print version info and exit\n"); printf("\n"); diff --git a/src/gif2swf.1 b/src/gif2swf.1 index 62f9fce..56fd09d 100644 --- a/src/gif2swf.1 +++ b/src/gif2swf.1 @@ -1,4 +1,4 @@ -.TH gif2swf "1" "January 2009" "gif2swf" "swftools" +.TH gif2swf "1" "April 2009" "gif2swf" "swftools" .SH NAME gif2swf - Takes a number of gif files and converts them to a swf movie, one picture per frame. diff --git a/src/jpeg2swf.1 b/src/jpeg2swf.1 index 0cea6c4..e9a854b 100644 --- a/src/jpeg2swf.1 +++ b/src/jpeg2swf.1 @@ -1,4 +1,4 @@ -.TH jpeg2swf "1" "January 2009" "jpeg2swf" "swftools" +.TH jpeg2swf "1" "April 2009" "jpeg2swf" "swftools" .SH NAME jpeg2swf - Converts jpeg images to SWF. diff --git a/src/png2swf.1 b/src/png2swf.1 index 9a8f899..e69679f 100644 --- a/src/png2swf.1 +++ b/src/png2swf.1 @@ -1,4 +1,4 @@ -.TH png2swf "1" "January 2009" "png2swf" "swftools" +.TH png2swf "1" "April 2009" "png2swf" "swftools" .SH NAME png2swf - Takes a number of png files and converts them to a swf movie, one picture per frame. diff --git a/src/swfbbox.1 b/src/swfbbox.1 index d710ff1..636a3b1 100644 --- a/src/swfbbox.1 +++ b/src/swfbbox.1 @@ -1,4 +1,4 @@ -.TH swfbbox "1" "January 2009" "swfbbox" "swftools" +.TH swfbbox "1" "April 2009" "swfbbox" "swftools" .SH NAME swfbbox - Tool for playing around with SWF bounding boxes. diff --git a/src/swfc.1 b/src/swfc.1 index 6e2a6ac..efca89c 100644 --- a/src/swfc.1 +++ b/src/swfc.1 @@ -1,4 +1,4 @@ -.TH swfc "1" "January 2009" "swfc" "swftools" +.TH swfc "1" "April 2009" "swfc" "swftools" .SH NAME swfc - compile .sc files to swf. diff --git a/src/swfcombine.1 b/src/swfcombine.1 index d2c2ebb..350ecf6 100644 --- a/src/swfcombine.1 +++ b/src/swfcombine.1 @@ -1,4 +1,4 @@ -.TH swfcombine "1" "January 2009" "swfcombine" "swftools" +.TH swfcombine "1" "April 2009" "swfcombine" "swftools" .SH NAME swfcombine - a tool for combining swf (flash) files diff --git a/src/swfdump.1 b/src/swfdump.1 index f89b2cf..0bde677 100644 --- a/src/swfdump.1 +++ b/src/swfdump.1 @@ -1,4 +1,4 @@ -.TH swfdump "1" "January 2009" "swfdump" "swftools" +.TH swfdump "1" "April 2009" "swfdump" "swftools" .SH NAME swfdump - Display an SWF file's content. diff --git a/src/wav2swf.1 b/src/wav2swf.1 index e06b02c..c837680 100644 --- a/src/wav2swf.1 +++ b/src/wav2swf.1 @@ -1,4 +1,4 @@ -.TH wav2swf "1" "January 2009" "wav2swf" "swftools" +.TH wav2swf "1" "April 2009" "wav2swf" "swftools" .SH NAME wav2swf - convert a WAV file to an SWF animation. -- 1.7.10.4