From 4acbf1df5b59caabee47e8015c4e32d25dc039cb Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Sat, 14 Nov 2009 20:06:51 -0800 Subject: [PATCH] fixed as3/namespaces2.as --- lib/as3/notes.txt | 153 ++++ lib/as3/ok/namespaces2.as | 12 +- lib/as3/optimizations.txt | 1 + lib/as3/parser.tab.c | 1950 +++++++++++++++++++++++---------------------- lib/as3/parser.y | 6 +- 5 files changed, 1151 insertions(+), 971 deletions(-) create mode 100644 lib/as3/notes.txt diff --git a/lib/as3/notes.txt b/lib/as3/notes.txt new file mode 100644 index 0000000..200f980 --- /dev/null +++ b/lib/as3/notes.txt @@ -0,0 +1,153 @@ +----------------------------------------------------------------------- + + var x = a + [ExcludeClass(...)] + +[x=a at [ExcludeClass(...)] or x=a, then embed command?] + +----------------------------------------------------------------------- + + if(1==2) + return + i++ + +[return i++ or just return?] + +----------------------------------------------------------------------- + + x = 3 + /abc/ + y++ + +[x=3;regexp abc;y++ or x divided by abc divided by y++?] + +----------------------------------------------------------------------- + + x = 5 + -obj + +[x=5, evaluate "minus obj" or x=5-obj?] + +----------------------------------------------------------------------- + + x = y as X.z + +[coerce y to static field z of X, or coerce y to X, then evaluate member z?] + +----------------------------------------------------------------------- + if(1==2) + return + { myloop: i++;} + +[return object:{myloop:i++} or execute code block with myloop label?] + + +----------------------------------------------------------------------- + + for(i in a in a; ...) + +[only after encountering the first ; it becomes clear that this is in + fact *not* a for-in loop] + +----------------------------------------------------------------------- + + var x = + namespace1 ++ namespace2 + function test() + { + } + +[x = namespace1, increment namespace2? or is test in namespace2?] + +----------------------------------------------------------------------- + + + x = (a[Math.random(100)] += 10) + +code needed for this: + + [calculate Math.random(100), gives us two stack values] + dup2 [a.k.a. setlocal tmp, dup , getlocal tmp, swap, getlocal tmp] + getproperty (consumes two stack values) + [code for adding 10] + setlocal tmp (we don't have *any* kind of useful stack exchange operations, so no way around a local register) + setproperty (consumes two stack values again) + getlocal tmp + kill tmp (so the verifier is happy) + setlocal x (finally!) + +----------------------------------------------------------------------- + +VerifyError: Error #1030: Stack depth is unbalanced. 0 != 1. + +0 : local position +1 : position I'm jumping to + +----------------------------------------------------------------------- + +Verifier is buggy: + +verify test.package::Main() + stack: + scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] + locals: test.package::Main + 0:getlocal0 + stack: test.package::Main + scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] + locals: test.package::Main + 1:pushscope + stack: + scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main + locals: test.package::Main + 2:jump 7 +B0: + stack: + scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main + locals: test.package::Main? + 6:label +B1: + stack: + scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main? + locals: test.package::Main? + 7:label + stack: + scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main? + locals: test.package::Main? + 8:pushfalse + stack: Boolean + scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ test.package::Main$] test.package::Main? + locals: test.package::Main? + 9:iftrue 6 +VerifyError: Error #1068: test.package.Main and test.package.Main cannot be reconciled. + + at test.package::Main() + + +static void xx_scopetest() +{ + /* findpropstrict doesn't just return a scope object- it + also makes it "active" somehow. Push local_0 on the + scope stack and read it back with findpropstrict, it'll + contain properties like "trace". Trying to find the same + property on a "vanilla" local_0 yields only a "undefined" */ + //c = abc_findpropstrict(c, "[package]::trace"); + + /*c = abc_getlocal_0(c); + c = abc_findpropstrict(c, "[package]::trace"); + c = abc_coerce_a(c); + c = abc_setlocal_1(c); + + c = abc_pushbyte(c, 0); + c = abc_setlocal_2(c); + + code_t*xx = c = abc_label(c); + c = abc_findpropstrict(c, "[package]::trace"); + c = abc_pushstring(c, "prop:"); + c = abc_hasnext2(c, 1, 2); + c = abc_dup(c); + c = abc_setlocal_3(c); + c = abc_callpropvoid(c, "[package]::trace", 2); + c = abc_getlocal_3(c); + c = abc_kill(c, 3); + c = abc_iftrue(c,xx);*/ +} diff --git a/lib/as3/ok/namespaces2.as b/lib/as3/ok/namespaces2.as index bbb6e6d..d9a029f 100644 --- a/lib/as3/ok/namespaces2.as +++ b/lib/as3/ok/namespaces2.as @@ -4,17 +4,21 @@ package { import flash.display.MovieClip; use namespace flash_proxy; + dynamic public class OverrideProxy extends Proxy { flash_proxy override function callProperty($name:*, ...$args:Array):* { - return none; + return null; } } + + var ns2:Namespace = flash_proxy; + dynamic public class Main extends flash.display.MovieClip { flash_proxy function tf(x:int):* { - trace("ok "+x+"/2"); + trace("ok "+x+"/3"); return null; } @@ -24,6 +28,10 @@ package { this.tf(1); tf(2); var ns:Namespace = flash_proxy; + + if(ns == ns2) + trace("ok 3/3"); + trace("[exit]"); } diff --git a/lib/as3/optimizations.txt b/lib/as3/optimizations.txt index 4c37b9f..44a4ebb 100644 --- a/lib/as3/optimizations.txt +++ b/lib/as3/optimizations.txt @@ -16,4 +16,5 @@ * a jump to a jump can be redirected * sort variable indices by usage * coerce*;returnvalue can be reduced to returnvalue +* a kill before a return can be eliminated * setlocal_i;getlocal_j;getlocal_i can be changed to dup;setlocal_i;getlocal_j,swap (makes it possible to remove i if not otherwise used) diff --git a/lib/as3/parser.tab.c b/lib/as3/parser.tab.c index 5e6b060..07942e1 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 276 "parser.y" +#line 275 "parser.y" static int a3_error(char*s) @@ -1986,7 +1986,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Unqualified %code blocks. */ /* Line 274 of skeleton.m4 */ -#line 2077 "parser.y" +#line 2076 "parser.y" char is_subtype_of(classinfo_t*type, classinfo_t*supertype) { @@ -2003,7 +2003,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2528 "parser.y" +#line 2527 "parser.y" static void state_has_imports() { @@ -2026,7 +2026,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2667 "parser.y" +#line 2666 "parser.y" static int slotstate_varconst = 0; static modifiers_t*slotstate_flags = 0; @@ -2088,13 +2088,13 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 2847 "parser.y" +#line 2846 "parser.y" static int xml_level = 0; /* Line 274 of skeleton.m4 */ -#line 3655 "parser.y" +#line 3654 "parser.y" node_t* var_read(variable_t*v) { @@ -2217,7 +2217,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar) /* Line 274 of skeleton.m4 */ -#line 3801 "parser.y" +#line 3805 "parser.y" void add_active_url(const char*url) { @@ -2442,18 +2442,18 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 164 +#define YYFINAL 165 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3411 +#define YYLAST 3415 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 136 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 135 /* YYNRULES -- Number of rules. */ -#define YYNRULES 354 +#define YYNRULES 355 /* YYNRULES -- Number of states. */ -#define YYNSTATES 601 +#define YYNSTATES 603 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -2544,7 +2544,7 @@ static const yytype_uint16 yyprhs[] = 937, 941, 945, 949, 953, 957, 961, 967, 970, 973, 976, 979, 983, 986, 987, 994, 996, 998, 1000, 1002, 1004, 1010, 1014, 1020, 1025, 1030, 1037, 1044, 1048, 1050, - 1053, 1058, 1063, 1066, 1071 + 1052, 1055, 1060, 1065, 1068, 1073 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -2654,51 +2654,51 @@ static const yytype_int16 yyrhs[] = 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 + 126, 261, 127, -1, 261, 129, 264, -1, 4, -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, 1968, 1968, 1970, 1970, 1971, 1972, 1974, 1975, 1976, - 1977, 1978, 1979, 1980, 1981, 1983, 1983, 1984, 1985, 1987, - 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1999, - 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, - 2014, 2015, 2016, 2017, 2018, 2019, 2022, 2023, 2024, 2025, - 2026, 2027, 2028, 2029, 2041, 2042, 2046, 2057, 2065, 2092, - 2093, 2095, 2096, 2098, 2099, 2101, 2162, 2162, 2166, 2167, - 2170, 2186, 2187, 2188, 2193, 2197, 2202, 2203, 2205, 2225, - 2269, 2285, 2297, 2300, 2303, 2306, 2310, 2311, 2312, 2313, - 2314, 2315, 2317, 2328, 2331, 2331, 2362, 2362, 2387, 2387, - 2403, 2404, 2405, 2406, 2414, 2423, 2423, 2472, 2476, 2487, - 2497, 2514, 2515, 2516, 2517, 2518, 2520, 2521, 2523, 2523, - 2525, 2525, 2549, 2557, 2568, 2584, 2585, 2586, 2587, 2594, - 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2607, - 2608, 2610, 2611, 2613, 2614, 2618, 2616, 2624, 2622, 2631, - 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2640, 2646, 2647, - 2648, 2649, 2650, 2651, 2654, 2727, 2727, 2729, 2729, 2731, - 2732, 2734, 2818, 2819, 2828, 2829, 2832, 2833, 2834, 2835, - 2836, 2837, 2838, 2851, 2862, 2863, 2864, 2866, 2866, 2869, - 2869, 2872, 2873, 2876, 2881, 2884, 2887, 2890, 2893, 2897, - 2900, 2904, 2908, 2913, 2919, 2922, 2925, 2928, 2933, 2936, - 2939, 2949, 2953, 2959, 2965, 2973, 2978, 2984, 2992, 3000, - 3001, 3002, 3005, 3004, 3021, 3022, 3024, 3023, 3047, 3066, - 3080, 3081, 3083, 3084, 3086, 3087, 3088, 3097, 3098, 3102, - 3103, 3105, 3106, 3107, 3109, 3113, 3114, 3119, 3120, 3167, - 3217, 3238, 3260, 3263, 3270, 3273, 3276, 3279, 3282, 3285, - 3290, 3291, 3293, 3294, 3295, 3296, 3297, 3299, 3305, 3314, - 3315, 3316, 3317, 3318, 3319, 3321, 3325, 3330, 3348, 3359, - 3369, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, - 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, - 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, - 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, - 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3425, 3426, 3427, - 3428, 3430, 3445, 3453, 3453, 3507, 3508, 3509, 3510, 3511, - 3519, 3537, 3544, 3555, 3562, 3569, 3579, 3590, 3776, 3810, - 3817, 3824, 3831, 3853, 3859 + 0, 1967, 1967, 1969, 1969, 1970, 1971, 1973, 1974, 1975, + 1976, 1977, 1978, 1979, 1980, 1982, 1982, 1983, 1984, 1986, + 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1996, 1998, + 2001, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, + 2013, 2014, 2015, 2016, 2017, 2018, 2021, 2022, 2023, 2024, + 2025, 2026, 2027, 2028, 2040, 2041, 2045, 2056, 2064, 2091, + 2092, 2094, 2095, 2097, 2098, 2100, 2161, 2161, 2165, 2166, + 2169, 2185, 2186, 2187, 2192, 2196, 2201, 2202, 2204, 2224, + 2268, 2284, 2296, 2299, 2302, 2305, 2309, 2310, 2311, 2312, + 2313, 2314, 2316, 2327, 2330, 2330, 2361, 2361, 2386, 2386, + 2402, 2403, 2404, 2405, 2413, 2422, 2422, 2471, 2475, 2486, + 2496, 2513, 2514, 2515, 2516, 2517, 2519, 2520, 2522, 2522, + 2524, 2524, 2548, 2556, 2567, 2583, 2584, 2585, 2586, 2593, + 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2606, + 2607, 2609, 2610, 2612, 2613, 2617, 2615, 2623, 2621, 2630, + 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2639, 2645, 2646, + 2647, 2648, 2649, 2650, 2653, 2726, 2726, 2728, 2728, 2730, + 2731, 2733, 2817, 2818, 2827, 2828, 2831, 2832, 2833, 2834, + 2835, 2836, 2837, 2850, 2861, 2862, 2863, 2865, 2865, 2868, + 2868, 2871, 2872, 2875, 2880, 2883, 2886, 2889, 2892, 2896, + 2899, 2903, 2907, 2912, 2918, 2921, 2924, 2927, 2932, 2935, + 2938, 2948, 2952, 2958, 2964, 2972, 2977, 2983, 2991, 2999, + 3000, 3001, 3004, 3003, 3020, 3021, 3023, 3022, 3046, 3065, + 3079, 3080, 3082, 3083, 3085, 3086, 3087, 3096, 3097, 3101, + 3102, 3104, 3105, 3106, 3108, 3112, 3113, 3118, 3119, 3166, + 3216, 3237, 3259, 3262, 3269, 3272, 3275, 3278, 3281, 3284, + 3289, 3290, 3292, 3293, 3294, 3295, 3296, 3298, 3304, 3313, + 3314, 3315, 3316, 3317, 3318, 3320, 3324, 3329, 3347, 3358, + 3368, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, + 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, + 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, + 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, + 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3424, 3425, 3426, + 3427, 3429, 3444, 3452, 3452, 3506, 3507, 3508, 3509, 3510, + 3518, 3536, 3543, 3554, 3561, 3568, 3578, 3589, 3776, 3780, + 3814, 3821, 3828, 3835, 3857, 3863 }; #endif @@ -2822,8 +2822,8 @@ static const yytype_uint16 yyr1[] = 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, 261, 261, 261, 261, 261, 265, 266, 266, + 267, 267, 267, 268, 269, 270 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -2863,8 +2863,8 @@ static const yytype_uint8 yyr2[] = 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 + 5, 3, 5, 4, 4, 6, 6, 3, 1, 1, + 2, 4, 4, 2, 4, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -2872,7 +2872,7 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 125, 348, 138, 177, 277, 174, 175, 176, 0, 0, + 125, 349, 348, 177, 277, 174, 175, 176, 0, 0, 66, 0, 0, 131, 278, 129, 130, 0, 137, 0, 136, 225, 181, 182, 310, 132, 0, 0, 0, 180, 133, 135, 134, 0, 0, 179, 178, 0, 0, 0, @@ -2882,163 +2882,163 @@ static const yytype_uint16 yydefact[] = 32, 0, 126, 127, 9, 8, 11, 275, 276, 0, 183, 10, 269, 271, 273, 272, 41, 258, 270, 274, 43, 31, 42, 0, 0, 76, 0, 0, 125, 94, - 111, 115, 113, 112, 114, 120, 117, 0, 0, 348, - 247, 224, 0, 309, 0, 122, 0, 123, 308, 105, - 241, 0, 0, 251, 0, 262, 263, 264, 265, 266, - 0, 0, 261, 330, 329, 312, 292, 291, 0, 256, - 0, 242, 243, 244, 254, 84, 0, 108, 252, 0, - 82, 46, 45, 125, 47, 30, 0, 48, 49, 50, - 52, 0, 51, 332, 1, 6, 125, 348, 0, 72, - 0, 0, 73, 55, 110, 0, 221, 0, 166, 0, - 165, 167, 352, 128, 197, 0, 198, 199, 0, 0, + 111, 115, 113, 112, 114, 120, 117, 0, 0, 349, + 348, 247, 224, 0, 309, 0, 122, 0, 123, 308, + 105, 241, 0, 0, 251, 0, 262, 263, 264, 265, + 266, 0, 0, 261, 330, 329, 312, 292, 291, 0, + 256, 0, 242, 243, 244, 254, 84, 0, 108, 252, + 0, 82, 46, 45, 125, 47, 30, 0, 48, 49, + 50, 52, 0, 51, 332, 1, 6, 125, 349, 0, + 72, 0, 0, 73, 55, 110, 0, 221, 0, 166, + 0, 165, 167, 353, 138, 128, 197, 0, 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 328, 327, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 328, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 0, 0, 58, 77, 0, 255, 0, 67, 0, - 125, 118, 0, 228, 0, 231, 230, 354, 239, 211, - 0, 0, 28, 0, 331, 0, 0, 280, 0, 0, - 0, 311, 279, 245, 246, 85, 238, 62, 63, 107, - 253, 61, 83, 44, 29, 125, 0, 238, 0, 0, - 54, 349, 220, 219, 0, 139, 141, 0, 189, 0, - 206, 0, 200, 204, 259, 306, 307, 304, 305, 285, - 286, 288, 287, 283, 284, 320, 319, 315, 314, 322, - 323, 324, 321, 317, 316, 318, 289, 290, 339, 0, - 338, 341, 298, 297, 296, 325, 0, 295, 294, 293, - 281, 282, 302, 301, 299, 303, 300, 0, 0, 111, - 115, 339, 333, 0, 0, 0, 347, 66, 0, 0, - 26, 57, 0, 125, 17, 23, 0, 20, 19, 22, - 21, 125, 116, 0, 241, 248, 172, 0, 0, 212, - 216, 109, 124, 229, 0, 27, 250, 353, 66, 267, - 0, 257, 0, 60, 0, 125, 13, 60, 0, 0, - 0, 0, 0, 143, 0, 0, 238, 168, 169, 0, - 0, 0, 185, 186, 191, 205, 0, 344, 0, 249, - 313, 0, 0, 0, 343, 0, 80, 0, 0, 0, - 121, 18, 125, 0, 0, 0, 0, 218, 213, 238, - 0, 0, 68, 0, 236, 235, 234, 237, 0, 65, - 64, 53, 0, 66, 350, 351, 211, 140, 0, 0, - 232, 142, 147, 60, 0, 190, 210, 209, 207, 208, - 0, 0, 0, 326, 0, 342, 0, 340, 81, 86, - 0, 0, 119, 240, 173, 172, 0, 0, 215, 0, - 0, 100, 104, 102, 106, 66, 70, 268, 59, 0, - 79, 0, 144, 145, 0, 125, 171, 170, 201, 193, - 184, 194, 0, 192, 0, 191, 346, 334, 345, 0, - 0, 0, 87, 90, 88, 25, 24, 217, 226, 214, - 98, 0, 101, 103, 69, 66, 238, 125, 233, 0, - 162, 0, 0, 125, 160, 0, 187, 184, 191, 195, - 0, 28, 95, 91, 89, 28, 28, 238, 78, 0, - 153, 157, 0, 0, 0, 125, 151, 155, 156, 163, - 221, 148, 161, 186, 0, 0, 196, 28, 93, 0, - 0, 0, 222, 125, 146, 152, 0, 0, 188, 186, - 92, 227, 99, 96, 28, 0, 0, 202, 0, 0, - 0, 154, 211, 203, 28, 223, 0, 0, 238, 97, - 164 + 0, 0, 241, 0, 0, 58, 77, 0, 255, 0, + 67, 0, 125, 118, 0, 228, 0, 231, 230, 355, + 239, 211, 0, 0, 28, 0, 331, 0, 0, 280, + 0, 0, 0, 311, 279, 245, 246, 85, 238, 62, + 63, 107, 253, 61, 83, 44, 29, 125, 0, 238, + 0, 0, 54, 350, 220, 219, 0, 139, 141, 0, + 189, 0, 206, 0, 200, 204, 259, 306, 307, 304, + 305, 285, 286, 288, 287, 283, 284, 320, 319, 315, + 314, 322, 323, 324, 321, 317, 316, 318, 289, 290, + 339, 0, 338, 341, 298, 297, 296, 325, 0, 295, + 294, 293, 281, 282, 302, 301, 299, 303, 300, 0, + 0, 111, 115, 339, 333, 0, 0, 0, 347, 66, + 0, 0, 26, 57, 0, 125, 17, 23, 0, 20, + 19, 22, 21, 125, 116, 0, 241, 248, 172, 0, + 0, 212, 216, 109, 124, 229, 0, 27, 250, 354, + 66, 267, 0, 257, 0, 60, 0, 125, 13, 60, + 0, 0, 0, 0, 0, 143, 0, 0, 238, 168, + 169, 0, 0, 0, 185, 186, 191, 205, 0, 344, + 0, 249, 313, 0, 0, 0, 343, 0, 80, 0, + 0, 0, 121, 18, 125, 0, 0, 0, 0, 218, + 213, 238, 0, 0, 68, 0, 236, 235, 234, 237, + 0, 65, 64, 53, 0, 66, 351, 352, 211, 140, + 0, 0, 232, 142, 147, 60, 0, 190, 210, 209, + 207, 208, 0, 0, 0, 326, 0, 342, 0, 340, + 81, 86, 0, 0, 119, 240, 173, 172, 0, 0, + 215, 0, 0, 100, 104, 102, 106, 66, 70, 268, + 59, 0, 79, 0, 144, 145, 0, 125, 171, 170, + 201, 193, 184, 194, 0, 192, 0, 191, 346, 334, + 345, 0, 0, 0, 87, 90, 88, 25, 24, 217, + 226, 214, 98, 0, 101, 103, 69, 66, 238, 125, + 233, 0, 162, 0, 0, 125, 160, 0, 187, 184, + 191, 195, 0, 28, 95, 91, 89, 28, 28, 238, + 78, 0, 153, 157, 0, 0, 0, 125, 151, 155, + 156, 163, 221, 148, 161, 186, 0, 0, 196, 28, + 93, 0, 0, 0, 222, 125, 146, 152, 0, 0, + 188, 186, 92, 227, 99, 96, 28, 0, 0, 202, + 0, 0, 0, 154, 211, 203, 28, 223, 0, 0, + 238, 97, 164 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 52, 53, 54, 55, 352, 353, 354, 374, 375, - 154, 155, 174, 355, 419, 156, 439, 157, 271, 268, - 97, 98, 486, 59, 170, 171, 60, 61, 62, 63, - 64, 158, 159, 511, 512, 513, 514, 65, 239, 481, - 589, 482, 546, 483, 484, 66, 252, 160, 67, 68, - 243, 244, 69, 361, 240, 70, 161, 72, 73, 393, - 395, 449, 357, 527, 358, 495, 554, 555, 556, 532, - 533, 534, 181, 359, 287, 397, 398, 427, 77, 78, - 79, 404, 460, 503, 564, 186, 399, 461, 504, 187, - 291, 80, 292, 293, 368, 369, 370, 284, 360, 584, - 112, 82, 545, 245, 246, 436, 451, 437, 383, 365, - 140, 141, 142, 248, 83, 84, 85, 162, 143, 235, - 236, 86, 130, 131, 132, 87, 411, 345, 321, 88, - 89, 182, 90, 91, 92 + -1, 52, 53, 54, 55, 354, 355, 356, 376, 377, + 155, 156, 175, 357, 421, 157, 441, 158, 273, 270, + 97, 98, 488, 59, 171, 172, 60, 61, 62, 63, + 64, 159, 160, 513, 514, 515, 516, 65, 241, 483, + 591, 484, 548, 485, 486, 66, 254, 161, 67, 68, + 245, 246, 69, 363, 242, 70, 162, 72, 73, 395, + 397, 451, 359, 529, 360, 497, 556, 557, 558, 534, + 535, 536, 182, 361, 289, 399, 400, 429, 77, 78, + 79, 406, 462, 505, 566, 188, 401, 463, 506, 189, + 293, 80, 294, 295, 370, 371, 372, 286, 362, 586, + 113, 82, 547, 247, 248, 438, 453, 439, 385, 367, + 141, 142, 143, 250, 83, 84, 85, 163, 144, 237, + 238, 86, 131, 132, 133, 87, 413, 347, 323, 88, + 89, 183, 90, 91, 92 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -515 +#define YYPACT_NINF -487 static const yytype_int16 yypact[] = { - 1766, 12, -515, -515, -515, -515, -515, -515, -28, -6, - -515, 16, 94, -515, -515, -515, -515, 108, -515, 2220, - -515, 122, -515, -515, 2277, -515, 17, 363, 2220, -515, - -515, -515, -515, 24, 27, -515, -515, 112, 2220, 29, - 332, 2220, 2220, -515, -515, 2220, 2220, 2220, 2220, 2220, - 710, 158, 165, -515, 578, -515, -515, -515, 44, -515, - 2148, -515, -515, -515, -515, -515, -515, 2022, -515, -515, - -515, 288, 766, -515, -515, -515, -515, -515, -515, 11, - -515, -515, -515, -515, -515, -515, 118, 2972, -515, -515, - -515, -515, -515, 218, 101, -515, 2220, 221, 2022, -515, - -515, -515, -515, -515, -515, -515, -515, -83, 373, -515, - -50, -515, 111, -51, 2220, 110, 124, -515, -51, -515, - 2220, 253, 155, -51, 2220, -515, -515, -515, -515, -515, - 127, 159, 162, -51, -51, 702, -51, -51, -52, 2910, - 141, 168, 2220, -515, 2910, 268, 272, 2220, 2220, 272, - 273, -515, -515, 842, -515, -515, 149, -515, -515, -515, - -515, 266, -515, -515, -515, -515, 1106, 214, 282, -515, - 191, 225, 118, 202, -515, 302, 54, 304, -515, 305, - -515, -515, -515, -515, -515, 2220, -515, 20, 2220, 2220, - 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, - 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, - 2220, 2220, -515, -515, 130, 2220, 2220, 2220, 2220, 2220, - 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, - 2220, 2220, 128, -515, -515, 174, 209, 188, -515, 2220, - 1238, -515, 373, 184, 187, -515, -515, -515, 194, 21, - 186, 84, 1894, 193, -515, 2220, 198, -515, 2220, 332, - 2220, -515, -515, -515, -515, -515, 216, 236, -515, -515, - -515, 236, -515, -515, -515, 2022, 226, 216, 2220, 2220, - -515, 239, -515, -515, 345, 311, 314, 366, 2910, 278, - 280, -49, 20, -515, 2910, 408, 570, 570, 570, 3282, - 3282, 3282, 3282, 408, 408, 2910, 2910, 2910, 2910, 2910, - 2910, 2910, 2910, 2910, 2910, 2910, 365, 3034, -515, 146, - -515, -515, 424, 424, 424, 2910, 2476, 3096, 3158, 3220, - 408, 408, 702, 702, -51, -51, -51, 250, 2538, 295, - 306, 307, -515, 2220, 233, 312, -515, -515, 2220, 2336, - -515, 279, 259, 1370, -515, -515, 267, -515, -515, -515, - -515, 1238, -515, 373, 2220, -515, 126, 401, 274, 308, - -515, -515, -515, 283, 281, 1894, -515, 2910, -515, -515, - 310, 2910, 270, 313, 272, 974, -515, -30, 317, 284, - 104, 290, 373, 393, 373, 292, 216, 323, -515, 294, - 14, 15, -515, -515, -515, -515, 2220, -515, 2220, -515, - -515, 2220, 2600, 2220, -515, 354, -515, 296, 301, 2220, - -515, -515, 1238, 298, 309, 2220, 270, -515, -515, 216, - 22, 39, 364, 2220, -515, -515, -515, -515, 2220, -515, - -515, -515, 2220, -515, -515, -515, 21, -515, 373, 315, - -515, 334, -515, 313, 366, -515, -515, -515, -515, -515, - 333, 43, 2662, 2910, 2406, -515, 2724, -515, -515, 28, - 2786, 316, -515, -515, 2910, 342, 319, 401, -515, 321, - 327, -515, -515, 39, -515, -515, -515, -515, 2910, -41, - -515, 318, 334, -515, 373, 277, -515, -515, -515, -515, - 338, -515, 2220, -515, 353, -515, -515, -515, -515, 2220, - 350, 331, 28, -515, -515, -515, -515, -515, -515, -515, - -515, 463, -515, -515, -515, -515, 216, 1502, -515, 464, - -515, 442, 335, 326, -515, 11, 2910, 359, -515, 46, - 2848, 1894, -515, -515, -515, 1894, 1894, 216, -515, 358, - -515, -515, 360, 264, 336, 1634, -515, -515, -515, -515, - 54, -515, -515, -515, 344, 11, 46, 1894, -515, 362, - 369, 352, -515, 1502, -515, -515, 489, 381, -515, -515, - -515, -515, -515, -515, 1894, 374, 375, -515, 386, 379, - 376, -515, 21, -515, 1894, -515, 377, 380, 216, -515, - -515 + 1768, -22, 518, -487, -487, -487, -487, -487, -28, -46, + -487, -44, 95, -487, -487, -487, -487, 71, -487, 2224, + -487, 102, -487, -487, 2281, -487, -17, 378, 2224, -487, + -487, -487, -487, -5, -101, -487, -487, 128, 2224, 39, + 334, 2224, 2224, -487, -487, 2224, 2224, 2224, 2224, 2224, + 712, 169, 176, -487, 580, -487, -487, -487, 94, -487, + 2152, -487, -487, -487, -487, -487, -487, 2024, -487, -487, + -487, 353, 396, -487, -487, -487, -487, -487, -487, 14, + -487, -487, -487, -487, -487, -487, 124, 2914, -487, -487, + -487, -487, -487, 228, 111, -487, 2224, 229, 2024, -487, + -487, -487, -487, -487, -487, -487, -487, 27, 676, -487, + -487, -35, -487, 125, 312, 2224, 126, 132, -487, 312, + -487, 2224, 251, 158, 312, 2224, -487, -487, -487, -487, + -487, 129, 161, 168, 312, 312, 677, 312, 312, -40, + 2852, 149, 175, 2224, -487, 2852, 276, 277, 2224, 2224, + 277, 281, -487, -487, 844, -487, -487, 154, -487, -487, + -487, -487, 270, -487, -487, -487, -487, 1108, 223, 291, + -487, 194, 227, 124, 197, -487, 300, 65, 302, -487, + 304, -487, -487, -487, -487, -487, -487, 2224, -487, 18, + 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, + 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, + 2224, 2224, 2224, 2224, -487, -487, 36, 2224, 2224, 2224, + 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, + 2224, 2224, 2224, 2224, 15, -487, -487, 173, 212, 191, + -487, 2224, 1240, -487, 676, 187, 189, -487, -487, -487, + 198, 40, 188, 85, 1896, 196, -487, 2224, 199, -487, + 2224, 334, 2224, -487, -487, -487, -487, -487, 230, 233, + -487, -487, -487, 233, -487, -487, -487, 2024, 206, 230, + 2224, 2224, -487, 241, -487, -487, 347, 305, 313, 365, + 2852, 266, 267, 46, 18, -487, 2852, 1100, 572, 572, + 572, 3286, 3286, 3286, 3286, 1100, 1100, 2852, 2852, 2852, + 2852, 2852, 2852, 2852, 2852, 2852, 2852, 2852, 2976, 3038, + -487, 148, -487, -487, 195, 195, 195, 2852, 397, 3100, + 3162, 3224, 1100, 1100, 677, 677, 312, 312, 312, 238, + 2480, 295, 296, 297, -487, 2224, 235, 298, -487, -487, + 2224, 2340, -487, 264, 274, 1372, -487, -487, 282, -487, + -487, -487, -487, 1240, -487, 676, 2224, -487, -36, 408, + 283, 310, -487, -487, -487, 293, 286, 1896, -487, 2852, + -487, -487, 321, 2852, 57, 326, 277, 976, -487, 6, + 330, 307, 74, 308, 676, 418, 676, 311, 230, 333, + -487, 306, 19, 20, -487, -487, -487, -487, 2224, -487, + 2224, -487, -487, 2224, 2542, 2224, -487, 243, -487, 314, + 318, 2224, -487, -487, 1240, 316, 317, 2224, 57, -487, + -487, 230, 43, 116, 381, 2224, -487, -487, -487, -487, + 2224, -487, -487, -487, 2224, -487, -487, -487, 40, -487, + 676, 320, -487, 349, -487, 326, 365, -487, -487, -487, + -487, -487, 341, 22, 2604, 2852, 2410, -487, 2666, -487, + -487, 42, 2728, 322, -487, -487, 2852, 351, 329, 408, + -487, 331, 336, -487, -487, 116, -487, -487, -487, -487, + 2852, -20, -487, 323, 349, -487, 676, 279, -487, -487, + -487, -487, 345, -487, 2224, -487, 352, -487, -487, -487, + -487, 2224, 358, 354, 42, -487, -487, -487, -487, -487, + -487, -487, -487, 465, -487, -487, -487, -487, 230, 1504, + -487, 493, -487, 472, 366, 328, -487, 14, 2852, 391, + -487, 45, 2790, 1896, -487, -487, -487, 1896, 1896, 230, + -487, 382, -487, -487, 388, 346, 383, 1636, -487, -487, + -487, -487, 65, -487, -487, -487, 384, 14, 45, 1896, + -487, 385, 386, 389, -487, 1504, -487, -487, 522, 415, + -487, -487, -487, -487, -487, -487, 1896, 394, 413, -487, + 428, 414, 411, -487, 40, -487, 1896, -487, 412, 417, + 230, -487, -487 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -515, -515, 343, -515, 457, -340, -515, 160, -514, -37, - 1, -58, 417, 60, -515, 2, 82, 461, 390, 161, - -241, -515, -515, -515, -515, -515, -515, -515, -515, -515, - -515, -515, -515, -515, -515, 31, 32, -515, -515, 63, - -515, 64, -515, -515, -515, -515, -515, -515, -515, -515, - 37, 59, -515, -515, -515, -515, 0, -515, 477, -515, - -515, -515, 65, -515, 68, -515, -22, -515, -3, -515, - -515, 30, -515, 3, -515, -515, 100, 85, -515, -515, - -515, -515, -464, -515, -515, -172, -515, -453, -515, -488, - -515, -423, -515, 269, -428, -515, -339, 5, 4, -515, - -515, -515, -515, -515, 535, -103, 116, 140, -269, -515, - -109, -515, -515, -515, -515, -515, -515, -515, -132, -55, - 519, -54, -515, 320, -515, -12, -515, -515, -215, -515, - -515, -515, -515, -515, -515 + -487, -487, 379, -487, 494, -318, -487, 200, -311, -37, + 1, -57, 454, 63, -487, 2, 98, 503, 407, 182, + -221, -487, -487, -487, -487, -487, -487, -487, -487, -487, + -487, -487, -487, -487, -487, 55, 56, -487, -487, 86, + -487, 87, -487, -487, -487, -487, -487, -487, -487, -487, + 37, 113, -487, -487, -487, -487, 0, -487, 501, -487, + -487, -487, 66, -487, 67, -487, -1, -487, 24, -487, + -487, 47, -487, 3, -487, -487, 131, 118, -487, -487, + -487, -487, -473, -487, -487, -175, -487, -422, -487, -486, + -487, -416, -487, 319, -433, -487, -349, 34, 4, -487, + -487, -487, -487, -487, 579, -103, 157, 183, -271, -487, + -110, -487, -487, -487, -487, -487, -487, -487, -134, -77, + 562, -54, -487, 356, -487, -12, -487, -487, -192, -487, + -487, -487, -487, -487, -487 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -3048,144 +3048,131 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -338 static const yytype_int16 yytable[] = { - 71, 56, 58, 76, 81, 247, 172, 110, 387, 173, - 264, 253, 113, 153, 184, 290, 118, 346, 491, 456, - 458, 423, 94, 289, 366, 366, 123, 568, 428, 133, - 134, 569, 570, 135, 136, 137, 139, 144, 505, -74, - 173, 212, 213, 214, 214, 241, 242, 563, 499, 106, - 260, 499, 539, 580, 71, 56, 58, 76, 81, 250, - 57, 188, 509, 402, 106, 74, 479, 403, 75, 256, - 590, 107, 480, 230, 438, 231, 231, 579, 232, 232, - 597, 538, 471, 261, 139, 566, 116, 100, 101, 282, - 510, 478, 269, 270, 525, 274, 95, 100, 101, 577, - 102, 103, 139, 93, 407, 283, 416, 444, 144, 445, - 102, 103, 139, 104, 57, 588, 367, 477, 96, 74, - 290, 337, 75, 104, 108, 111, 379, 453, 122, 414, - 144, 339, 340, 100, 101, 139, 139, 432, 519, 185, - 99, 114, 185, 185, 102, 103, 102, 103, 185, 100, - 101, 120, 119, 124, 500, 501, 121, 104, 501, 104, - 476, 163, 102, 103, 596, 164, 71, 56, 58, 76, - 81, 502, 166, 288, 502, 104, 294, 295, 296, 297, + 71, 56, 58, 76, 81, 249, 173, 111, 389, 266, + 174, 255, 114, 154, 292, 493, 119, 186, 341, 342, + 430, 291, 94, 121, 458, 460, 124, 501, 122, 134, + 135, 102, 103, 136, 137, 138, 140, 145, 252, 100, + 101, 174, 348, 368, 104, 425, 368, 507, 258, 106, + 501, 565, 102, 103, 71, 56, 58, 76, 81, 216, + 100, 101, 262, 57, 106, 104, 74, 75, 427, 93, + 428, 271, 272, 102, 103, -74, 511, 446, 96, 447, + 99, 581, 190, 480, 140, 541, 104, 108, 100, 101, + 540, 233, 579, 436, 234, 263, 95, 276, 100, 101, + 284, 102, 103, 140, 512, 112, 473, 115, 590, 145, + 440, 102, 103, 140, 104, 527, 285, 57, 568, 292, + 74, 75, 339, 120, 104, 107, 381, 455, 418, 409, + 521, 145, 343, 502, 503, 369, 140, 140, 479, 344, + 117, 345, 187, 481, 123, 346, 187, 187, 187, 482, + 504, 100, 101, 320, 416, 243, 244, 503, 404, 434, + 478, 598, 405, 125, 102, 103, 321, 71, 56, 58, + 76, 81, 164, 504, 437, 290, 165, 104, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 467, 372, 490, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 144, 338, - 188, 233, 105, 388, 389, 234, 57, 349, 457, 459, - 425, 74, 426, 237, 75, 249, 100, 101, 385, -111, - 71, 56, 356, 377, 524, 341, 144, 318, 381, 102, - 103, 320, 342, 251, 343, 424, 254, 549, 344, 255, - 319, 257, 104, 318, 259, 258, 139, 139, 262, 320, - 263, 265, 406, 100, 101, 266, 272, 275, 571, 362, - 175, 2, 175, -75, 548, 277, 102, 103, 373, 447, - 176, 450, 278, 417, 279, 13, 178, 15, 16, 104, - 18, 487, 20, 280, 175, 281, 434, 285, 286, 347, - 180, 260, 348, -117, 176, 25, 363, 274, 364, 177, - 178, 371, 382, 529, 30, 31, 32, 274, 376, 600, - 2, 412, 179, 378, 180, 125, 139, 126, 384, 144, - 127, 128, 129, 390, 13, 450, 15, 16, 391, 18, - 318, 20, 144, 71, 56, 356, 320, 100, 101, 413, - 386, 71, 56, 356, 25, 392, 115, 101, 394, 396, - 102, 103, 529, 30, 31, 32, 100, 101, 530, 102, - 103, 320, 400, 104, 401, 409, -335, 435, 489, 102, - 103, 528, 104, 420, 462, 422, 463, -337, -336, 464, - 373, 466, 104, 415, 366, 189, -241, 470, 448, 429, - 430, -158, -116, 474, 446, 431, 433, 438, 442, 443, - 452, 144, 71, 56, 356, 454, 488, 530, 455, 469, - 485, 468, 472, 190, 191, 192, 494, 193, 194, 195, - 196, 197, 198, 493, 473, 498, 425, 518, -338, 520, - 516, 521, 320, 526, 535, 211, 541, 212, 213, 214, - -159, 215, 216, 217, 537, 542, 547, 559, 560, 561, - 574, 318, 220, 221, 222, 565, 223, 224, 578, 225, - 226, 227, 228, 229, -338, -338, 572, 583, 573, 230, - 536, 231, 586, 587, 232, 531, 581, 540, 593, 592, - 212, 213, 214, 582, 215, 216, 217, 594, 591, 276, - 595, 165, 598, 421, 599, 238, 212, 213, 214, -338, - -338, 169, 225, 226, 227, 228, 229, 553, 551, 552, - 557, 558, 230, 531, 231, 496, 267, 232, 225, 226, - 227, 228, 229, 543, 544, 440, 522, 523, 230, 183, - 231, 585, 575, 232, 497, 553, 551, 552, 557, 558, - 517, 405, 117, 562, 492, 576, 475, 138, 0, 0, - 0, 0, 0, 553, 551, 552, 557, 558, -4, 380, - 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, - 189, 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, -338, -338, - -338, 37, 38, 39, 0, 0, 197, 198, 0, 40, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 212, 213, 214, 0, 215, 216, 217, 0, - 41, 42, 0, 0, 0, 0, 0, 0, 0, 43, - 0, 223, 224, 0, 225, 226, 227, 228, 229, 44, - 0, 0, 45, 0, 230, 0, 231, 46, 47, 232, - 0, 0, 48, 0, 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, - 145, 0, 146, 0, 0, 0, 24, 147, 25, 26, - 0, 27, 148, 28, 0, 29, 149, 30, 31, 32, + 318, 319, 374, 390, 391, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 145, 340, 167, 105, 492, 469, 190, 459, 461, 351, + 57, 235, 570, 74, 75, 236, 571, 572, 100, 101, + 387, 239, 71, 56, 358, 379, 100, 101, 145, 251, + 383, 102, 103, 322, 256, -111, 426, 551, 582, 102, + 103, 253, 257, 259, 104, 320, 526, 260, 140, 140, + 261, 322, 104, 419, 408, 592, 264, 265, 573, 267, + 268, 364, 277, 184, 274, 599, 176, 214, 215, 216, + 375, 449, -75, 452, 279, 280, 281, 13, 282, 15, + 16, 489, 18, 283, 20, 287, 550, 288, 349, 227, + 228, 229, 230, 231, 262, 350, -117, 25, 365, 232, + 276, 233, 366, 373, 234, 531, 30, 31, 32, 602, + 276, 378, 184, 414, 380, 386, 384, 126, 140, 127, + 388, 145, 128, 129, 130, 392, 13, 452, 15, 16, + 393, 18, 320, 20, 145, 71, 56, 358, 322, 394, + 320, 415, 176, 71, 56, 358, 25, 396, 398, 176, + 402, 403, 177, 411, 531, 30, 31, 32, 179, 177, + 532, 116, 101, 322, 178, 179, -335, -337, -336, 417, + 491, -241, 181, 530, 102, 103, 464, 180, 465, 181, + 184, 466, 375, 468, 214, 215, 216, 104, 422, 472, + 424, 368, 432, -158, 13, 476, 15, 16, 431, 18, + 433, 20, -116, 145, 71, 56, 358, 435, 490, 532, + 440, 444, 448, 450, 25, 456, 232, 191, 233, 454, + 457, 234, 445, 30, 31, 32, 471, 487, 495, 470, + 474, 496, 475, 500, 322, 427, 518, 520, 528, 522, + 523, 537, -159, 539, 543, 192, 193, 194, 549, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 544, 214, + 215, 216, 538, 217, 218, 219, 561, 533, 562, 542, + 563, 220, 221, 410, 222, 223, 224, 567, 225, 226, + 574, 227, 228, 229, 230, 231, 575, 576, 580, 583, + 584, 232, -138, 233, 585, 588, 234, 589, 593, 555, + 553, 554, 559, 560, -138, 533, -138, 594, -138, -138, + 595, -138, 596, -138, -138, 597, 278, 600, 166, -138, + -138, 601, 240, 498, 269, 423, -138, 555, 553, 554, + 559, 560, -138, 170, -138, -138, -138, -138, 442, 545, + 546, 524, 525, 185, 587, 555, 553, 554, 559, 560, + -4, 577, 564, 1, 2, 3, 4, 499, 5, 6, + 7, 8, 9, 10, 11, 519, 578, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 118, 494, 22, 23, + 139, 477, 191, 407, 0, 0, 24, 382, 25, 26, + 0, 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, - 2, 0, 0, 37, 38, 39, 0, 150, 0, 0, - 0, 40, 0, 0, 13, 0, 15, 16, 0, 18, - 0, 20, 0, 0, 212, 213, 214, 0, 0, 0, - 0, 0, 41, 42, 25, 0, 0, 0, 0, 0, - 0, 151, 0, 30, 31, 32, 0, 0, 227, 228, - 229, 44, 0, 0, 45, 0, 230, 0, 231, 46, - 47, 232, 0, 0, 48, 0, 49, 0, 50, 0, - 51, 0, 0, 0, 152, 1, 2, 3, 4, 0, + -338, -338, -338, 37, 38, 39, 0, 0, 199, 200, + 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 214, 215, 216, 0, 217, 218, + 219, 0, 41, 42, 0, 0, 0, 0, 0, 100, + 101, 43, 0, 225, 226, 0, 227, 228, 229, 230, + 231, 44, 102, 103, 45, 0, 232, 0, 233, 46, + 47, 234, 0, 0, 48, 104, 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, 145, 0, 146, 0, 0, 0, 24, 147, - 25, 26, 0, 27, 148, 28, 0, 29, 149, 30, - 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, - 0, 0, 0, 0, 0, 37, 38, 39, 0, 150, + 22, 23, 146, 0, 147, 0, 0, 0, 24, 148, + 25, 26, 0, 27, 149, 28, 0, 29, 150, 30, + 31, 32, 0, 0, 33, 34, 0, 35, 36, 214, + 215, 216, 0, 0, 0, 37, 38, 39, 0, 151, 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, 151, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 229, 230, 231, 0, 0, 0, 0, + 0, 232, 0, 233, 41, 42, 234, 0, 0, 0, + 0, 0, 0, 152, 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, 273, 1, 2, 3, + 50, 0, 51, 0, 0, 0, 153, 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, 145, 0, 146, 0, 0, 0, - 24, 147, 25, 26, 0, 27, 148, 28, 0, 29, - 149, 30, 31, 32, 0, 0, 33, 34, 0, 35, + 21, 0, 22, 23, 146, 0, 147, 0, 0, 0, + 24, 148, 25, 26, 0, 27, 149, 28, 0, 29, + 150, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, 38, 39, - 0, 150, 0, 0, 0, 40, 0, 0, 0, 0, + 0, 151, 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, 151, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 152, 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, 441, 1, + 49, 0, 50, 0, 51, 0, 0, 0, 275, 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, 0, 25, 26, 0, 27, 0, 28, - 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, + 11, 0, 0, 0, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 0, 22, 23, 146, 0, 147, 0, + 0, 0, 24, 148, 25, 26, 0, 27, 149, 28, + 0, 29, 150, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, - 38, 39, 0, 0, 0, 0, 0, 40, 0, 0, + 38, 39, 0, 151, 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, 43, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 152, 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, - -3, 1, 2, 3, 4, 0, 5, 6, 7, 8, - 9, 10, 11, 0, 0, 0, 13, 14, 15, 16, + 443, 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, 0, 25, 26, 0, 27, + -338, 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, 0, 0, 0, 40, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 37, 38, 39, 0, 0, -338, -338, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 41, 42, 0, 0, 0, 0, 0, 0, 0, 350, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 0, 45, 0, 0, 0, 0, 46, 47, 0, - 0, 0, 48, 0, 351, 0, 50, 0, 51, 0, - 0, 0, -15, 1, 2, 3, 4, 0, 5, 6, + 0, 0, 214, 215, 216, 0, 217, 218, 219, 0, + 41, 42, 0, 0, 0, 0, 0, 0, 0, 43, + 0, -338, -338, 0, 227, 228, 229, 230, 231, 44, + 0, 0, 45, 0, 232, 0, 233, 46, 47, 234, + 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, 20, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 24, 0, 25, 26, @@ -3195,10 +3182,10 @@ static const yytype_int16 yytable[] = 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, 350, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 46, - 47, 0, 0, 0, 48, 0, 351, 0, 50, 0, - 51, 0, 0, 0, -16, 1, 2, 3, 4, 0, + 47, 0, 0, 0, 48, 0, 353, 0, 50, 0, + 51, 0, 0, 0, -15, 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, @@ -3208,10 +3195,10 @@ static const yytype_int16 yytable[] = 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, 550, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 352, 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, + 0, 46, 47, 0, 0, 0, 48, 0, 353, 0, + 50, 0, 51, 0, 0, 0, -16, 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, @@ -3221,12 +3208,12 @@ static const yytype_int16 yytable[] = 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, 550, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 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, -150, 1, + 49, 0, 50, 0, 51, 0, 0, 0, -149, 1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, - 11, 0, 0, 12, 13, 14, 15, 16, 17, 18, + 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, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 32, 0, 0, 33, 34, @@ -3234,260 +3221,260 @@ static const yytype_int16 yytable[] = 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, 43, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 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, + -150, 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, 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, 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, 43, + 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, -125, 0, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 0, 22, 23, 146, 0, 147, 0, + 0, 0, 24, 148, 25, 26, 0, 27, 149, 28, + 0, 29, 150, 30, 31, 32, 0, 0, 33, 34, + 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, + 38, 39, 0, 151, 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, 152, 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, - -125, 0, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 0, 22, 23, 145, 0, 146, 0, 0, 0, - 24, 147, 25, 26, 0, 27, 148, 28, 0, 29, - 149, 30, 31, 32, 0, 0, 33, 34, 0, 35, + 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 0, 22, 23, 146, 0, 147, 0, 0, 0, + 24, 148, 25, 26, 0, 27, 149, 28, 0, 29, + 150, 30, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, 37, 38, 39, - 0, 150, 0, 0, 0, 40, 0, 0, 0, 0, + 0, 151, 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, 151, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 152, 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, 145, 0, 146, 0, 0, 0, 24, 147, - 25, 26, 0, 27, 148, 28, 0, 29, 149, 30, - 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, - 0, 0, 0, 0, 0, 37, 38, 39, 0, 150, - 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, 151, 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, 167, 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, - 146, 0, 0, 0, 24, 0, 0, 0, 0, 0, - 0, 28, 0, 29, 168, 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, 109, 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, 28, 0, 29, 0, 46, 47, 0, - 0, 0, 48, 34, 49, 35, 36, 0, 51, 0, - 109, 0, 3, 4, 38, 5, 6, 7, 0, 0, - 0, 40, 0, 0, 0, 0, 14, 0, 0, 0, - 0, 19, 0, 21, 0, 22, 23, 0, 0, 0, - 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, - 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, - 34, 44, 35, 36, 45, 0, 0, 0, 0, 46, - 47, 0, 0, 0, 48, 0, 49, 0, 40, 0, - 51, 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, 189, 0, 0, 0, + 49, 0, 50, 0, 51, 168, 110, 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, 147, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 0, 28, 0, 29, 169, 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, 109, 110, 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, 28, 0, 29, + 0, 46, 47, 0, 0, 0, 48, 34, 49, 35, + 36, 0, 51, 0, 109, 110, 3, 4, 38, 5, + 6, 7, 0, 0, 0, 40, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 19, 0, 21, 0, 22, + 23, 0, 0, 0, 0, 0, 41, 42, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 0, 34, 44, 35, 36, 45, 0, + 0, 0, 0, 46, 47, 0, 0, 0, 48, 0, + 49, 0, 40, 0, 51, 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, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 0, 49, 190, 191, 192, 51, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 0, 212, 213, - 214, 0, 215, 216, 217, 0, 0, 0, 0, 0, - 218, 219, 0, 220, 221, 222, 189, 223, 224, 0, - 225, 226, 227, 228, 229, 0, 0, 0, 0, 0, - 230, 0, 231, 0, 0, 232, 0, 0, 0, 0, - 0, 418, 0, 0, 190, 191, 192, 0, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 0, 212, 213, - 214, 0, 215, 216, 217, 0, 0, 0, 0, 0, - 218, 219, 0, 220, 221, 222, 189, 223, 224, 0, - 225, 226, 227, 228, 229, 0, 0, 0, 0, 0, - 230, 0, 231, 0, 0, 232, 0, 0, 0, 0, - 0, 507, 0, 0, 190, 191, 192, 0, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 0, 212, 213, - 214, 0, 215, 216, 217, 0, 0, 0, 189, 0, - 218, 219, 408, 220, 221, 222, 0, 223, 224, 0, - 225, 226, 227, 228, 229, 0, 0, 0, 0, 0, - 230, 0, 231, 0, 0, 232, 190, 191, 192, 0, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 0, - 212, 213, 214, 0, 215, 216, 217, 0, 0, 0, - 189, 0, 218, 219, 0, 220, 221, 222, 0, 223, - 224, 0, 225, 226, 227, 228, 229, 0, 0, 0, - 0, 0, 230, 0, 231, 410, 0, 232, 190, 191, - 192, 0, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 0, 0, 0, 0, 48, 0, 49, 192, 193, + 194, 51, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 0, 214, 215, 216, 0, 217, 218, 219, 0, + 0, 0, 0, 0, 220, 221, 0, 222, 223, 224, + 191, 225, 226, 0, 227, 228, 229, 230, 231, 0, + 0, 0, 0, 0, 232, 0, 233, 0, 0, 234, + 0, 0, 0, 0, 0, 420, 0, 0, 192, 193, + 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 0, 214, 215, 216, 0, 217, 218, 219, 0, + 0, 0, 0, 0, 220, 221, 0, 222, 223, 224, + 191, 225, 226, 0, 227, 228, 229, 230, 231, 0, + 0, 0, 0, 0, 232, 0, 233, 0, 0, 234, + 0, 0, 0, 0, 0, 509, 0, 0, 192, 193, + 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 0, 214, 215, 216, 0, 217, 218, 219, 0, + 0, 0, 191, 0, 220, 221, 0, 222, 223, 224, + 0, 225, 226, 0, 227, 228, 229, 230, 231, 0, + 0, 0, 0, 0, 232, 0, 233, 412, 0, 234, + 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 0, 212, 213, 214, 0, 215, 216, 217, 0, - 0, 0, 189, 0, 218, 219, 0, 220, 221, 222, - 0, 223, 224, 0, 225, 226, 227, 228, 229, 0, - 0, 0, 0, 0, 230, 0, 231, 465, 0, 232, - 190, 191, 192, 0, 193, 194, 195, 196, 197, 198, + 211, 212, 213, 0, 214, 215, 216, 0, 217, 218, + 219, 0, 0, 0, 191, 0, 220, 221, 0, 222, + 223, 224, 0, 225, 226, 0, 227, 228, 229, 230, + 231, 0, 0, 0, 0, 0, 232, 0, 233, 467, + 0, 234, 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 0, 212, 213, 214, 0, 215, 216, - 217, 0, 0, 0, 189, 0, 218, 219, 0, 220, - 221, 222, 0, 223, 224, 0, 225, 226, 227, 228, - 229, 0, 0, 0, 0, 0, 230, 0, 231, 506, - 0, 232, 190, 191, 192, 0, 193, 194, 195, 196, + 209, 210, 211, 212, 213, 0, 214, 215, 216, 0, + 217, 218, 219, 0, 0, 0, 191, 0, 220, 221, + 0, 222, 223, 224, 0, 225, 226, 0, 227, 228, + 229, 230, 231, 0, 0, 0, 0, 0, 232, 0, + 233, 508, 0, 234, 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 0, 212, 213, 214, 0, - 215, 216, 217, 0, 0, 0, 189, 0, 218, 219, - 0, 220, 221, 222, 0, 223, 224, 0, 225, 226, - 227, 228, 229, 0, 0, 0, 0, 0, 230, 0, - 231, 508, 0, 232, 190, 191, 192, 0, 193, 194, + 207, 208, 209, 210, 211, 212, 213, 0, 214, 215, + 216, 0, 217, 218, 219, 0, 0, 0, 191, 0, + 220, 221, 0, 222, 223, 224, 0, 225, 226, 0, + 227, 228, 229, 230, 231, 0, 0, 0, 0, 0, + 232, 0, 233, 510, 0, 234, 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 0, 212, 213, - 214, 0, 215, 216, 217, 0, 0, 0, 189, 0, - 218, 219, 0, 220, 221, 222, 0, 223, 224, 0, - 225, 226, 227, 228, 229, 0, 0, 0, 0, 0, - 230, 0, 231, 515, 0, 232, 190, 191, 192, 0, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 0, - 212, 213, 214, 0, 215, 216, 217, 0, 0, 0, - 189, 0, 218, 219, 567, 220, 221, 222, 0, 223, - 224, 0, 225, 226, 227, 228, 229, 0, 0, 0, - 0, 0, 230, 0, 231, 0, 0, 232, 190, 191, - 192, 0, 193, 194, 195, 196, 197, 198, 199, 200, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, + 214, 215, 216, 0, 217, 218, 219, 0, 0, 0, + 191, 0, 220, 221, 0, 222, 223, 224, 0, 225, + 226, 0, 227, 228, 229, 230, 231, 0, 0, 0, + 0, 0, 232, 0, 233, 517, 0, 234, 192, 193, + 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 0, 214, 215, 216, 0, 217, 218, 219, 0, + 0, 0, 191, 0, 220, 221, 569, 222, 223, 224, + 0, 225, 226, 0, 227, 228, 229, 230, 231, 0, + 0, 0, 0, 0, 232, 0, 233, 0, 0, 234, + 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 0, 212, 213, 214, 0, 215, 216, 217, 0, - 0, 0, 189, 0, 218, 219, 0, 220, 221, 222, - 0, 223, 224, 0, 225, 226, 227, 228, 229, 0, - 0, 0, 0, 0, 230, 0, 231, 0, 0, 232, - 190, 191, 192, 0, 193, 194, 195, 196, 197, 198, + 211, 212, 213, 0, 214, 215, 216, 0, 217, 218, + 219, 0, 0, 0, 191, 0, 220, 221, 0, 222, + 223, 224, 0, 225, 226, 0, 227, 228, 229, 230, + 231, 0, 0, 0, 0, 0, 232, 0, 233, 0, + 0, 234, 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 0, 212, 213, 214, 0, 215, 216, - 217, 0, 0, 0, 189, 0, 218, 219, 0, 220, - 221, 222, 0, 0, 224, 0, 225, 226, 227, 228, - 229, 0, 0, 0, 0, 0, 230, 0, 231, 0, - 0, 232, 190, 191, 192, 0, 193, 194, 195, 196, - 197, 198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 212, 213, 214, 0, - 215, 216, 217, 0, 0, 0, 189, 0, 0, 0, - 0, 220, 221, 222, 0, 223, 224, 0, 225, 226, - 227, 228, 229, 0, 0, 0, 0, 0, 230, 0, - 231, 0, 0, 232, 190, 191, 192, 0, 193, 194, - 195, 196, 197, 198, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 212, 213, - 214, 0, 215, 216, 217, 0, 0, 0, 189, 0, - 0, 0, 0, 0, 221, 222, 0, 223, 224, 0, - 225, 226, 227, 228, 229, 0, 0, 0, 0, 0, - 230, 0, 231, 0, 0, 232, 190, 191, 192, 0, - 193, 194, 195, 196, 197, 198, 0, 0, 0, 0, + 209, 210, 211, 212, 213, 0, 214, 215, 216, 0, + 217, 218, 219, 0, 0, 0, 191, 0, 220, 221, + 0, 222, 223, 224, 0, 0, 226, 0, 227, 228, + 229, 230, 231, 0, 0, 0, 0, 0, 232, 0, + 233, 0, 0, 234, 192, 193, 194, 0, 195, 196, + 197, 198, 199, 200, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 213, 0, 214, 215, + 216, 0, 217, 218, 219, 0, 0, 0, 191, 0, + 0, 0, 0, 222, 223, 224, 0, 225, 226, 0, + 227, 228, 229, 230, 231, 0, 0, 0, 0, 0, + 232, 0, 233, 0, 0, 234, 192, 193, 194, 0, + 195, 196, 197, 198, 199, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 212, 213, 214, 0, 215, 216, 217, 0, 0, 0, - 189, 0, 0, 0, 0, 0, 0, 222, 0, 223, - 224, 0, 225, 226, 227, 228, 229, 0, 0, 0, - 0, 0, 230, 0, 231, 0, 0, 232, 190, 191, - 192, 0, 193, 194, 195, 196, 197, 198, 0, 0, + 214, 215, 216, 0, 217, 218, 219, 0, 0, 0, + 191, 0, 0, 0, 0, 222, 223, 224, 0, 225, + 226, 0, 227, 228, 229, 230, 231, 0, 0, 0, + 0, 0, 232, 0, 233, 0, 0, 234, 192, 193, + 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 212, 213, 214, 0, 215, 216, 217, 0, - 0, 0, 189, 0, 0, 0, 0, 0, 0, -338, - 0, 223, 224, 0, 225, 226, 227, 228, 229, 0, - 0, 0, 0, 0, 230, 0, 231, 0, 0, 232, - 190, 191, 192, 0, -338, -338, -338, -338, 197, 198, + 0, 0, 214, 215, 216, 0, 217, 218, 219, 0, + 0, 0, 191, 0, 0, 0, 0, 0, 223, 224, + 0, 225, 226, 0, 227, 228, 229, 230, 231, 0, + 0, 0, 0, 0, 232, 0, 233, 0, 0, 234, + 192, 193, 194, 0, 195, 196, 197, 198, 199, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 212, 213, 214, 0, 215, 216, - 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 223, 224, 0, 225, 226, 227, 228, - 229, 0, 0, 0, 0, 0, 230, 0, 231, 0, - 0, 232 + 0, 0, 0, 0, 214, 215, 216, 0, 217, 218, + 219, 0, 0, 0, 191, 0, 0, 0, 0, 0, + 0, 224, 0, 225, 226, 0, 227, 228, 229, 230, + 231, 0, 0, 0, 0, 0, 232, 0, 233, 0, + 0, 234, 192, 193, 194, 0, 195, 196, 197, 198, + 199, 200, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 214, 215, 216, 0, + 217, 218, 219, 0, 0, 0, 191, 0, 0, 0, + 0, 0, 0, -338, 0, 225, 226, 0, 227, 228, + 229, 230, 231, 0, 0, 0, 0, 0, 232, 0, + 233, 0, 0, 234, 192, 193, 194, 0, -338, -338, + -338, -338, 199, 200, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 214, 215, + 216, 0, 217, 218, 219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 226, 0, + 227, 228, 229, 230, 231, 0, 0, 0, 0, 0, + 232, 0, 233, 0, 0, 234 }; static const yytype_int16 yycheck[] = { - 0, 0, 0, 0, 0, 108, 60, 19, 277, 67, - 142, 120, 24, 50, 3, 187, 28, 232, 446, 5, - 5, 361, 50, 3, 3, 3, 38, 541, 367, 41, - 42, 545, 546, 45, 46, 47, 48, 49, 461, 69, - 98, 92, 93, 94, 94, 128, 129, 535, 5, 12, - 102, 5, 505, 567, 54, 54, 54, 54, 54, 114, - 0, 102, 34, 112, 27, 0, 27, 116, 0, 124, - 584, 12, 33, 124, 104, 126, 126, 565, 129, 129, - 594, 504, 422, 135, 96, 538, 27, 3, 4, 35, - 62, 430, 147, 148, 135, 153, 124, 3, 4, 563, - 16, 17, 114, 91, 319, 51, 347, 3, 120, 5, - 16, 17, 124, 29, 54, 579, 95, 95, 124, 54, - 292, 230, 54, 29, 16, 3, 258, 396, 16, 344, - 142, 3, 4, 3, 4, 147, 148, 378, 477, 128, - 124, 124, 128, 128, 16, 17, 16, 17, 128, 3, - 4, 124, 128, 124, 111, 112, 129, 29, 112, 29, - 429, 3, 16, 17, 592, 0, 166, 166, 166, 166, - 166, 128, 128, 185, 128, 29, 188, 189, 190, 191, + 0, 0, 0, 0, 0, 108, 60, 19, 279, 143, + 67, 121, 24, 50, 189, 448, 28, 3, 3, 4, + 369, 3, 50, 124, 5, 5, 38, 5, 129, 41, + 42, 16, 17, 45, 46, 47, 48, 49, 115, 3, + 4, 98, 234, 3, 29, 363, 3, 463, 125, 12, + 5, 537, 16, 17, 54, 54, 54, 54, 54, 94, + 3, 4, 102, 0, 27, 29, 0, 0, 104, 91, + 106, 148, 149, 16, 17, 69, 34, 3, 124, 5, + 124, 567, 102, 432, 96, 507, 29, 16, 3, 4, + 506, 126, 565, 36, 129, 135, 124, 154, 3, 4, + 35, 16, 17, 115, 62, 3, 424, 124, 581, 121, + 104, 16, 17, 125, 29, 135, 51, 54, 540, 294, + 54, 54, 232, 128, 29, 12, 260, 398, 349, 321, + 479, 143, 117, 111, 112, 95, 148, 149, 95, 124, + 27, 126, 128, 27, 16, 130, 128, 128, 128, 33, + 128, 3, 4, 117, 346, 128, 129, 112, 112, 380, + 431, 594, 116, 124, 16, 17, 130, 167, 167, 167, + 167, 167, 3, 128, 117, 187, 0, 29, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 415, 117, 443, 215, 216, 217, 218, 219, 220, 221, + 212, 213, 117, 280, 281, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 102, 3, 128, 278, 279, 124, 166, 239, 400, 401, - 104, 166, 106, 12, 166, 124, 3, 4, 275, 129, - 240, 240, 240, 255, 485, 117, 258, 117, 260, 16, - 17, 214, 124, 129, 126, 364, 3, 526, 130, 104, - 130, 134, 29, 117, 102, 106, 278, 279, 127, 232, - 102, 3, 126, 3, 4, 3, 3, 128, 547, 242, - 16, 4, 16, 69, 525, 3, 16, 17, 251, 392, - 26, 394, 101, 348, 69, 18, 32, 20, 21, 29, - 23, 433, 25, 101, 16, 3, 36, 3, 3, 135, - 46, 102, 124, 129, 26, 38, 129, 375, 124, 31, - 32, 135, 106, 46, 47, 48, 49, 385, 135, 598, - 4, 343, 44, 135, 46, 3, 348, 5, 102, 351, - 8, 9, 10, 104, 18, 448, 20, 21, 3, 23, - 117, 25, 364, 353, 353, 353, 319, 3, 4, 126, - 134, 361, 361, 361, 38, 54, 3, 4, 54, 3, - 16, 17, 46, 47, 48, 49, 3, 4, 101, 16, - 17, 344, 104, 29, 104, 135, 91, 117, 442, 16, - 17, 494, 29, 134, 406, 128, 408, 91, 91, 411, - 363, 413, 29, 91, 3, 40, 127, 419, 15, 135, - 102, 134, 129, 425, 124, 134, 106, 104, 101, 135, - 128, 433, 422, 422, 422, 102, 438, 101, 134, 128, - 66, 135, 134, 68, 69, 70, 102, 72, 73, 74, - 75, 76, 77, 128, 135, 112, 104, 128, 40, 128, - 134, 124, 415, 135, 116, 90, 106, 92, 93, 94, - 134, 96, 97, 98, 111, 134, 3, 3, 26, 134, - 134, 117, 107, 108, 109, 116, 111, 112, 134, 114, - 115, 116, 117, 118, 76, 77, 128, 135, 128, 124, - 502, 126, 3, 112, 129, 495, 134, 509, 112, 124, - 92, 93, 94, 134, 96, 97, 98, 128, 134, 166, - 134, 54, 135, 353, 134, 98, 92, 93, 94, 111, - 112, 60, 114, 115, 116, 117, 118, 527, 527, 527, - 527, 527, 124, 533, 126, 453, 146, 129, 114, 115, - 116, 117, 118, 512, 512, 384, 483, 483, 124, 72, - 126, 573, 555, 129, 454, 555, 555, 555, 555, 555, - 475, 292, 27, 533, 448, 560, 426, 48, -1, -1, - -1, -1, -1, 573, 573, 573, 573, 573, 0, 259, - -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, -1, 36, -1, 38, 39, -1, 41, - -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, - 52, 53, -1, 55, 56, -1, -1, -1, 68, 69, - 70, 63, 64, 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, 124, -1, 126, 119, 120, 129, - -1, -1, 124, -1, 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, -1, -1, -1, 36, 37, 38, 39, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, + 232, 233, 128, 128, 445, 417, 102, 402, 403, 241, + 167, 3, 543, 167, 167, 124, 547, 548, 3, 4, + 277, 12, 242, 242, 242, 257, 3, 4, 260, 124, + 262, 16, 17, 216, 3, 129, 366, 528, 569, 16, + 17, 129, 104, 134, 29, 117, 487, 106, 280, 281, + 102, 234, 29, 350, 126, 586, 127, 102, 549, 3, + 3, 244, 128, 4, 3, 596, 16, 92, 93, 94, + 253, 394, 69, 396, 3, 101, 69, 18, 101, 20, + 21, 435, 23, 3, 25, 3, 527, 3, 135, 114, + 115, 116, 117, 118, 102, 124, 129, 38, 129, 124, + 377, 126, 124, 135, 129, 46, 47, 48, 49, 600, + 387, 135, 4, 345, 135, 102, 106, 3, 350, 5, + 134, 353, 8, 9, 10, 104, 18, 450, 20, 21, + 3, 23, 117, 25, 366, 355, 355, 355, 321, 54, + 117, 126, 16, 363, 363, 363, 38, 54, 3, 16, + 104, 104, 26, 135, 46, 47, 48, 49, 32, 26, + 101, 3, 4, 346, 31, 32, 91, 91, 91, 91, + 444, 127, 46, 496, 16, 17, 408, 44, 410, 46, + 4, 413, 365, 415, 92, 93, 94, 29, 134, 421, + 128, 3, 102, 134, 18, 427, 20, 21, 135, 23, + 134, 25, 129, 435, 424, 424, 424, 106, 440, 101, + 104, 101, 124, 15, 38, 102, 124, 40, 126, 128, + 134, 129, 135, 47, 48, 49, 128, 66, 128, 135, + 134, 102, 135, 112, 417, 104, 134, 128, 135, 128, + 124, 116, 134, 111, 106, 68, 69, 70, 3, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 134, 92, + 93, 94, 504, 96, 97, 98, 3, 497, 26, 511, + 134, 104, 105, 106, 107, 108, 109, 116, 111, 112, + 128, 114, 115, 116, 117, 118, 128, 134, 134, 134, + 134, 124, 4, 126, 135, 3, 129, 112, 134, 529, + 529, 529, 529, 529, 16, 535, 18, 124, 20, 21, + 112, 23, 128, 25, 26, 134, 167, 135, 54, 31, + 32, 134, 98, 455, 147, 355, 38, 557, 557, 557, + 557, 557, 44, 60, 46, 47, 48, 49, 386, 514, + 514, 485, 485, 72, 575, 575, 575, 575, 575, 575, + 0, 557, 535, 3, 4, 5, 6, 456, 8, 9, + 10, 11, 12, 13, 14, 477, 562, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 27, 450, 28, 29, + 48, 428, 40, 294, -1, -1, 36, 261, 38, 39, + -1, 41, -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, -1, - 4, -1, -1, 63, 64, 65, -1, 67, -1, -1, - -1, 71, -1, -1, 18, -1, 20, 21, -1, 23, - -1, 25, -1, -1, 92, 93, 94, -1, -1, -1, - -1, -1, 92, 93, 38, -1, -1, -1, -1, -1, - -1, 101, -1, 47, 48, 49, -1, -1, 116, 117, - 118, 111, -1, -1, 114, -1, 124, -1, 126, 119, - 120, 129, -1, -1, 124, -1, 126, -1, 128, -1, + 68, 69, 70, 63, 64, 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, 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, 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, -1, -1, -1, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, - -1, -1, -1, -1, -1, 63, 64, 65, -1, 67, + 48, 49, -1, -1, 52, 53, -1, 55, 56, 92, + 93, 94, -1, -1, -1, 63, 64, 65, -1, 67, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 92, 93, -1, -1, -1, -1, + -1, -1, -1, 116, 117, 118, -1, -1, -1, -1, + -1, 124, -1, 126, 92, 93, 129, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 114, -1, -1, -1, -1, 119, 120, -1, -1, -1, 124, -1, 126, -1, @@ -3506,12 +3493,12 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 119, 120, -1, -1, -1, 124, -1, 126, -1, 128, -1, 130, -1, -1, -1, 134, 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, -1, -1, - -1, -1, 36, -1, 38, 39, -1, 41, -1, 43, - -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, + 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, + 24, 25, 26, -1, 28, 29, 30, -1, 32, -1, + -1, -1, 36, 37, 38, 39, -1, 41, 42, 43, + -1, 45, 46, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, -1, -1, 63, - 64, 65, -1, -1, -1, -1, -1, 71, -1, -1, + 64, 65, -1, 67, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, @@ -3519,17 +3506,17 @@ static const yytype_int16 yycheck[] = 114, -1, -1, -1, -1, 119, 120, -1, -1, -1, 124, -1, 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, + 12, 13, 14, -1, -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, 28, 29, -1, -1, - -1, -1, -1, -1, 36, -1, 38, 39, -1, 41, + 40, -1, -1, -1, 36, -1, 38, 39, -1, 41, -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, -1, -1, -1, -1, - -1, 63, 64, 65, -1, -1, -1, -1, -1, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 63, 64, 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, -1, -1, -1, -1, -1, -1, -1, -1, 111, - -1, -1, 114, -1, -1, -1, -1, 119, 120, -1, + -1, 111, 112, -1, 114, 115, 116, 117, 118, 111, + -1, -1, 114, -1, 124, -1, 126, 119, 120, 129, -1, -1, 124, -1, 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, @@ -3570,9 +3557,9 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 114, -1, -1, -1, -1, 119, 120, -1, -1, -1, 124, -1, - 126, -1, 128, -1, 130, -1, 0, -1, 134, 3, + 126, -1, 128, -1, 130, -1, -1, -1, 134, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, - 14, -1, -1, 17, 18, 19, 20, 21, 22, 23, + 14, -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 36, -1, 38, 39, -1, 41, -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, 52, 53, @@ -3583,9 +3570,35 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 114, -1, -1, -1, -1, 119, 120, -1, -1, -1, + 124, -1, 126, -1, 128, -1, 130, -1, 0, -1, + 134, 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, + -1, -1, -1, -1, 36, -1, 38, 39, -1, 41, + -1, 43, -1, 45, -1, 47, 48, 49, -1, -1, + 52, 53, -1, 55, 56, -1, -1, -1, -1, -1, + -1, 63, 64, 65, -1, -1, -1, -1, -1, 71, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, -1, 114, -1, -1, -1, -1, 119, 120, -1, + -1, -1, 124, -1, 126, -1, 128, -1, 130, 3, + 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, + 14, -1, 16, -1, 18, 19, 20, 21, 22, 23, + 24, 25, 26, -1, 28, 29, 30, -1, 32, -1, + -1, -1, 36, 37, 38, 39, -1, 41, 42, 43, + -1, 45, 46, 47, 48, 49, -1, -1, 52, 53, + -1, 55, 56, -1, -1, -1, -1, -1, -1, 63, + 64, 65, -1, 67, -1, -1, -1, 71, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, + -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, + 114, -1, -1, -1, -1, 119, 120, -1, -1, -1, 124, -1, 126, -1, 128, -1, 130, 3, 4, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, -1, - 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, + -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, -1, 32, -1, -1, -1, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, -1, -1, 52, 53, -1, 55, @@ -3597,70 +3610,45 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, 111, -1, -1, 114, -1, -1, -1, -1, 119, 120, -1, -1, -1, 124, -1, 126, -1, 128, -1, 130, 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, -1, -1, -1, 36, 37, - 38, 39, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, -1, -1, 52, 53, -1, 55, 56, -1, - -1, -1, -1, -1, -1, 63, 64, 65, -1, 67, - -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 92, 93, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 111, -1, -1, 114, -1, -1, -1, - -1, 119, 120, -1, -1, -1, 124, -1, 126, -1, - 128, 3, 130, 5, 6, -1, 8, 9, 10, -1, - -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, - -1, -1, 24, -1, 26, -1, 28, 29, -1, -1, - 32, -1, -1, -1, 36, -1, -1, -1, -1, -1, - -1, 43, -1, 45, 46, -1, -1, -1, -1, -1, - -1, 53, -1, 55, 56, -1, -1, -1, -1, -1, - -1, -1, 64, -1, -1, -1, -1, -1, -1, 71, - -1, -1, -1, 3, -1, 5, 6, -1, 8, 9, - 10, -1, -1, -1, -1, -1, -1, -1, -1, 19, - 92, 93, -1, -1, 24, -1, 26, -1, 28, 29, - -1, -1, -1, -1, -1, -1, 36, -1, -1, 111, - -1, -1, 114, 43, -1, 45, -1, 119, 120, -1, - -1, -1, 124, 53, 126, 55, 56, -1, 130, -1, - 3, -1, 5, 6, 64, 8, 9, 10, -1, -1, - -1, 71, -1, -1, -1, -1, 19, -1, -1, -1, - -1, 24, -1, 26, -1, 28, 29, -1, -1, -1, - -1, -1, 92, 93, -1, -1, -1, -1, -1, -1, - -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, - 53, 111, 55, 56, 114, -1, -1, -1, -1, 119, - 120, -1, -1, -1, 124, -1, 126, -1, 71, -1, - 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, - 93, -1, -1, -1, -1, -1, 40, -1, -1, -1, + 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, + -1, 19, -1, -1, -1, -1, 24, -1, 26, -1, + 28, 29, -1, -1, 32, -1, -1, -1, 36, -1, + -1, -1, -1, -1, -1, 43, -1, 45, 46, -1, + -1, -1, -1, -1, -1, 53, -1, 55, 56, -1, + -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, + -1, -1, -1, 71, -1, -1, -1, 3, 4, 5, + 6, -1, 8, 9, 10, -1, -1, -1, -1, -1, + -1, -1, -1, 19, 92, 93, -1, -1, 24, -1, + 26, -1, 28, 29, -1, -1, -1, -1, -1, -1, + 36, -1, -1, 111, -1, -1, 114, 43, -1, 45, + -1, 119, 120, -1, -1, -1, 124, 53, 126, 55, + 56, -1, 130, -1, 3, 4, 5, 6, 64, 8, + 9, 10, -1, -1, -1, 71, -1, -1, -1, -1, + 19, -1, -1, -1, -1, 24, -1, 26, -1, 28, + 29, -1, -1, -1, -1, -1, 92, 93, -1, -1, + -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, + -1, -1, -1, -1, 53, 111, 55, 56, 114, -1, + -1, -1, -1, 119, 120, -1, -1, -1, 124, -1, + 126, -1, 71, -1, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 92, 93, -1, -1, -1, -1, -1, + 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 124, -1, 126, 68, 69, 70, 130, 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, -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, - 124, -1, 126, -1, -1, 129, 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, -1, 107, 108, 109, -1, 111, - 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, - -1, -1, 124, -1, 126, 127, -1, 129, 68, 69, + -1, -1, -1, -1, -1, 124, -1, 126, 68, 69, + 70, 130, 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, -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, @@ -3689,53 +3677,65 @@ static const yytype_int16 yycheck[] = 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, + 40, -1, 104, 105, -1, 107, 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, - -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, + -1, -1, 124, -1, 126, 127, -1, 129, 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, -1, 107, 108, 109, + -1, -1, 40, -1, 104, 105, 106, 107, 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, 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, -1, 107, - 108, 109, -1, -1, 112, -1, 114, 115, 116, 117, + 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, - 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, - 96, 97, 98, -1, -1, -1, 40, -1, -1, -1, - -1, 107, 108, 109, -1, 111, 112, -1, 114, 115, + 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, + -1, 107, 108, 109, -1, -1, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, + -1, -1, -1, -1, -1, -1, 90, -1, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, 40, -1, - -1, -1, -1, -1, 108, 109, -1, 111, 112, -1, + -1, -1, -1, 107, 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, 96, 97, 98, -1, -1, -1, - 40, -1, -1, -1, -1, -1, -1, 109, -1, 111, + 40, -1, -1, -1, -1, 107, 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, 96, 97, 98, -1, - -1, -1, 40, -1, -1, -1, -1, -1, -1, 109, + -1, -1, 40, -1, -1, -1, -1, -1, 108, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, 96, 97, - 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 111, 112, -1, 114, 115, 116, 117, + 98, -1, -1, -1, 40, -1, -1, -1, -1, -1, + -1, 109, -1, 111, 112, -1, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, 126, -1, - -1, 129 + -1, 129, 68, 69, 70, -1, 72, 73, 74, 75, + 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, + 96, 97, 98, -1, -1, -1, 40, -1, -1, -1, + -1, -1, -1, 109, -1, 111, 112, -1, 114, 115, + 116, 117, 118, -1, -1, -1, -1, -1, 124, -1, + 126, -1, -1, 129, 68, 69, 70, -1, 72, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, + 94, -1, 96, 97, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 111, 112, -1, + 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, + 124, -1, 126, -1, -1, 129 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -3753,56 +3753,56 @@ static const yytype_uint16 yystos[] = 227, 234, 237, 250, 251, 252, 257, 261, 265, 266, 268, 269, 270, 91, 50, 124, 124, 156, 157, 124, 3, 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, 151, 153, 167, 168, - 183, 192, 253, 3, 0, 140, 128, 3, 46, 153, - 160, 161, 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, 255, 256, 12, 148, 174, - 190, 128, 129, 186, 187, 239, 240, 241, 249, 124, - 255, 129, 182, 246, 3, 104, 255, 134, 106, 102, - 102, 135, 127, 102, 254, 3, 3, 154, 155, 255, - 255, 154, 3, 134, 147, 128, 138, 3, 101, 69, - 101, 3, 35, 51, 233, 3, 3, 210, 261, 3, - 221, 226, 228, 229, 261, 261, 261, 261, 261, 261, + 4, 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, 151, 153, 167, + 168, 183, 192, 253, 3, 0, 140, 128, 3, 46, + 153, 160, 161, 257, 147, 148, 16, 26, 31, 32, + 44, 46, 208, 267, 4, 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, 255, 256, 12, + 148, 174, 190, 128, 129, 186, 187, 239, 240, 241, + 249, 124, 255, 129, 182, 246, 3, 104, 255, 134, + 106, 102, 102, 135, 127, 102, 254, 3, 3, 154, + 155, 255, 255, 154, 3, 134, 147, 128, 138, 3, + 101, 69, 101, 3, 35, 51, 233, 3, 3, 210, + 261, 3, 221, 226, 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, 261, - 261, 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, 261, 246, 261, 3, - 4, 117, 124, 126, 130, 263, 264, 135, 124, 261, - 101, 126, 141, 142, 143, 149, 151, 198, 200, 209, - 234, 189, 186, 129, 124, 245, 3, 95, 230, 231, - 232, 135, 117, 186, 144, 145, 135, 261, 135, 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, 126, 264, 91, 156, 255, 135, 150, - 134, 143, 128, 141, 246, 104, 106, 213, 232, 135, - 102, 134, 156, 106, 36, 117, 241, 243, 104, 152, - 155, 134, 101, 135, 3, 5, 124, 241, 15, 197, - 241, 242, 128, 244, 102, 134, 5, 221, 5, 221, - 218, 223, 261, 261, 261, 127, 261, 264, 135, 128, - 261, 141, 134, 135, 261, 243, 244, 95, 232, 27, - 33, 175, 177, 179, 180, 66, 158, 254, 261, 257, - 156, 230, 242, 128, 102, 201, 152, 212, 112, 5, - 111, 112, 128, 219, 224, 227, 127, 135, 127, 34, - 62, 169, 170, 171, 172, 127, 134, 213, 128, 232, - 128, 124, 175, 177, 156, 135, 135, 199, 241, 46, - 101, 192, 205, 206, 207, 116, 261, 111, 227, 223, - 261, 106, 134, 171, 172, 238, 178, 3, 156, 244, - 101, 146, 151, 192, 202, 203, 204, 209, 234, 3, - 26, 134, 207, 225, 220, 116, 223, 106, 144, 144, - 144, 244, 128, 128, 134, 204, 233, 218, 134, 225, - 144, 134, 134, 135, 235, 202, 3, 112, 218, 176, - 144, 134, 124, 112, 128, 134, 230, 144, 135, 134, - 244 + 117, 130, 186, 264, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 246, + 261, 3, 4, 117, 124, 126, 130, 263, 264, 135, + 124, 261, 101, 126, 141, 142, 143, 149, 151, 198, + 200, 209, 234, 189, 186, 129, 124, 245, 3, 95, + 230, 231, 232, 135, 117, 186, 144, 145, 135, 261, + 135, 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, 126, 264, 91, 156, 255, + 135, 150, 134, 143, 128, 141, 246, 104, 106, 213, + 232, 135, 102, 134, 156, 106, 36, 117, 241, 243, + 104, 152, 155, 134, 101, 135, 3, 5, 124, 241, + 15, 197, 241, 242, 128, 244, 102, 134, 5, 221, + 5, 221, 218, 223, 261, 261, 261, 127, 261, 264, + 135, 128, 261, 141, 134, 135, 261, 243, 244, 95, + 232, 27, 33, 175, 177, 179, 180, 66, 158, 254, + 261, 257, 156, 230, 242, 128, 102, 201, 152, 212, + 112, 5, 111, 112, 128, 219, 224, 227, 127, 135, + 127, 34, 62, 169, 170, 171, 172, 127, 134, 213, + 128, 232, 128, 124, 175, 177, 156, 135, 135, 199, + 241, 46, 101, 192, 205, 206, 207, 116, 261, 111, + 227, 223, 261, 106, 134, 171, 172, 238, 178, 3, + 156, 244, 101, 146, 151, 192, 202, 203, 204, 209, + 234, 3, 26, 134, 207, 225, 220, 116, 223, 106, + 144, 144, 144, 244, 128, 128, 134, 204, 233, 218, + 134, 225, 144, 134, 134, 135, 235, 202, 3, 112, + 218, 176, 144, 134, 124, 112, 128, 134, 230, 144, + 135, 134, 244 }; #define yyerrok (yyerrstatus = 0) @@ -4618,7 +4618,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1980 "parser.y" +#line 1979 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4629,7 +4629,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1992 "parser.y" +#line 1991 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -4640,7 +4640,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1993 "parser.y" +#line 1992 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(2) - (4)].number_int);PASS1 as3_warning("embed command ignored");} } break; @@ -4651,7 +4651,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1996 "parser.y" +#line 1995 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4662,7 +4662,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1997 "parser.y" +#line 1996 "parser.y" {(yyval.code)=code_new();} } break; @@ -4673,7 +4673,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 1999 "parser.y" +#line 1998 "parser.y" { (yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code)); } @@ -4686,7 +4686,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2002 "parser.y" +#line 2001 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4697,7 +4697,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2018 "parser.y" +#line 2017 "parser.y" {(yyval.code)=(yyvsp[(2) - (3)].code);} } break; @@ -4708,7 +4708,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2019 "parser.y" +#line 2018 "parser.y" {(yyval.code)=0;} } break; @@ -4719,7 +4719,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2022 "parser.y" +#line 2021 "parser.y" {(yyval.code)=0;} } break; @@ -4730,7 +4730,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2029 "parser.y" +#line 2028 "parser.y" { PASS_ALWAYS if(as3_pass) { @@ -4749,7 +4749,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2041 "parser.y" +#line 2040 "parser.y" {(yyval.code)=(yyvsp[(1) - (2)].code);} } break; @@ -4760,7 +4760,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2042 "parser.y" +#line 2041 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -4771,7 +4771,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2046 "parser.y" +#line 2045 "parser.y" { if((yyvsp[(1) - (1)].code)) { if(!global->init) @@ -4789,7 +4789,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2057 "parser.y" +#line 2056 "parser.y" { PASS_ALWAYS (yyval.number_int) = as3_pass; @@ -4804,7 +4804,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2065 "parser.y" +#line 2064 "parser.y" { PASS12 (yyval.number_int)=as3_pass; @@ -4823,7 +4823,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2092 "parser.y" +#line 2091 "parser.y" {(yyval.node)=(yyvsp[(2) - (2)].node);} } break; @@ -4834,7 +4834,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2093 "parser.y" +#line 2092 "parser.y" {(yyval.node)=mkdummynode();} } break; @@ -4845,7 +4845,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2095 "parser.y" +#line 2094 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -4856,7 +4856,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2096 "parser.y" +#line 2095 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -4867,7 +4867,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2098 "parser.y" +#line 2097 "parser.y" {(yyval.code) = (yyvsp[(1) - (1)].code);} } break; @@ -4878,7 +4878,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2099 "parser.y" +#line 2098 "parser.y" {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));} } break; @@ -4889,7 +4889,7 @@ yyreduce: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2102 "parser.y" +#line 2101 "parser.y" { PASS12 if(variable_exists((yyvsp[(1) - (3)].id))) @@ -4956,7 +4956,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2162 "parser.y" +#line 2161 "parser.y" {PASS12 new_state();} } break; @@ -4967,7 +4967,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2162 "parser.y" +#line 2161 "parser.y" { (yyval.code) = var_block((yyvsp[(2) - (2)].code), state->vars); PASS12 old_state(); @@ -4981,7 +4981,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2166 "parser.y" +#line 2165 "parser.y" {(yyval.code) = code_new();} } break; @@ -4992,7 +4992,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2167 "parser.y" +#line 2166 "parser.y" {(yyval.code)=(yyvsp[(2) - (2)].code);} } break; @@ -5003,7 +5003,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2170 "parser.y" +#line 2169 "parser.y" { (yyval.code) = code_new(); (yyval.code) = code_append((yyval.code), (yyvsp[(3) - (6)].value).c); @@ -5028,7 +5028,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2186 "parser.y" +#line 2185 "parser.y" {(yyval.code)=code_new();} } break; @@ -5039,7 +5039,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2193 "parser.y" +#line 2192 "parser.y" { PASS1 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable(state->method, (yyvsp[(2) - (3)].id),0,1,0); PASS2 (yyval.id)=(yyvsp[(2) - (3)].id);new_variable(state->method, (yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].classinfo),1,0); @@ -5053,7 +5053,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2197 "parser.y" +#line 2196 "parser.y" { PASS12 (yyval.id)=(yyvsp[(1) - (1)].id); @@ -5067,7 +5067,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2202 "parser.y" +#line 2201 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;} } break; @@ -5078,7 +5078,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2203 "parser.y" +#line 2202 "parser.y" {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;} } break; @@ -5089,7 +5089,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2205 "parser.y" +#line 2204 "parser.y" { if((yyvsp[(1) - (8)].for_start).each) syntaxerror("invalid syntax: ; not allowed in for each statement"); (yyval.code) = code_new(); @@ -5118,7 +5118,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2225 "parser.y" +#line 2224 "parser.y" { node_t*n = resolve_identifier((yyvsp[(2) - (6)].id)); typedcode_t w = node_write(n); @@ -5171,7 +5171,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2269 "parser.y" +#line 2268 "parser.y" { (yyval.code) = code_new(); @@ -5196,7 +5196,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2285 "parser.y" +#line 2284 "parser.y" { (yyval.code) = code_new(); code_t*loopstart = (yyval.code) = abc_label((yyval.code)); @@ -5217,7 +5217,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2297 "parser.y" +#line 2296 "parser.y" { (yyval.code) = abc___break__(0, ""); } @@ -5230,7 +5230,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2300 "parser.y" +#line 2299 "parser.y" { (yyval.code) = abc___break__(0, (yyvsp[(2) - (2)].id)); } @@ -5243,7 +5243,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2303 "parser.y" +#line 2302 "parser.y" { (yyval.code) = abc___continue__(0, ""); } @@ -5256,7 +5256,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2306 "parser.y" +#line 2305 "parser.y" { (yyval.code) = abc___continue__(0, (yyvsp[(2) - (2)].id)); } @@ -5269,7 +5269,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2310 "parser.y" +#line 2309 "parser.y" {(yyval.code)=0;} } break; @@ -5280,7 +5280,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2311 "parser.y" +#line 2310 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5291,7 +5291,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2312 "parser.y" +#line 2311 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5302,7 +5302,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2313 "parser.y" +#line 2312 "parser.y" {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));} } break; @@ -5313,7 +5313,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2314 "parser.y" +#line 2313 "parser.y" {(yyval.code)=(yyvsp[(1) - (1)].code);} } break; @@ -5324,7 +5324,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2315 "parser.y" +#line 2314 "parser.y" {(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));} } break; @@ -5335,7 +5335,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2317 "parser.y" +#line 2316 "parser.y" { (yyval.code) = abc_getlocal(0, state->switch_var); (yyval.code) = code_append((yyval.code), node_read((yyvsp[(2) - (4)].node)).c); @@ -5356,7 +5356,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2328 "parser.y" +#line 2327 "parser.y" { (yyval.code) = (yyvsp[(3) - (3)].code); } @@ -5369,7 +5369,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2331 "parser.y" +#line 2330 "parser.y" {PASS12 new_state();state->switch_var=alloc_local();} } break; @@ -5380,7 +5380,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2331 "parser.y" +#line 2330 "parser.y" { (yyval.code) = node_read((yyvsp[(4) - (8)].node)).c; (yyval.code) = abc_setlocal((yyval.code), state->switch_var); @@ -5418,7 +5418,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2362 "parser.y" +#line 2361 "parser.y" {PASS12 new_state(); state->exception_name=(yyvsp[(3) - (5)].id); PASS1 new_variable(state->method, (yyvsp[(3) - (5)].id), 0, 0, 0); @@ -5433,7 +5433,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2367 "parser.y" +#line 2366 "parser.y" { namespace_t name_ns = {ACCESS_PACKAGE, ""}; multiname_t name = {QNAME, &name_ns, 0, (yyvsp[(3) - (9)].id)}; @@ -5463,7 +5463,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2387 "parser.y" +#line 2386 "parser.y" {PASS12 new_state();state->exception_name=0;} } break; @@ -5474,7 +5474,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2387 "parser.y" +#line 2386 "parser.y" { (yyvsp[(4) - (5)].code) = var_block((yyvsp[(4) - (5)].code), state->vars); if(!(yyvsp[(4) - (5)].code)) { @@ -5499,7 +5499,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2403 "parser.y" +#line 2402 "parser.y" {(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));} } break; @@ -5510,7 +5510,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2404 "parser.y" +#line 2403 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));} } break; @@ -5521,7 +5521,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2405 "parser.y" +#line 2404 "parser.y" {(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);} } break; @@ -5532,7 +5532,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2406 "parser.y" +#line 2405 "parser.y" { (yyval.catch_list) = (yyvsp[(1) - (2)].catch_list); (yyval.catch_list).finally = 0; @@ -5550,7 +5550,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2414 "parser.y" +#line 2413 "parser.y" { (yyval.catch_list).l=list_new(); (yyval.catch_list).finally = 0; @@ -5568,7 +5568,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2423 "parser.y" +#line 2422 "parser.y" {PASS12 new_state(); state->method->has_exceptions=1; state->method->late_binding=1;//for invariant scope_code @@ -5582,7 +5582,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2426 "parser.y" +#line 2425 "parser.y" { code_t*out = abc_nop(0); @@ -5635,7 +5635,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2472 "parser.y" +#line 2471 "parser.y" { (yyval.code)=(yyvsp[(2) - (2)].value).c; (yyval.code)=abc_throw((yyval.code)); @@ -5649,7 +5649,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2476 "parser.y" +#line 2475 "parser.y" { if(!state->exception_name) syntaxerror("re-throw only possible within a catch block"); @@ -5667,7 +5667,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2487 "parser.y" +#line 2486 "parser.y" { new_state(); if(state->method->has_exceptions) { @@ -5687,7 +5687,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2497 "parser.y" +#line 2496 "parser.y" { /* remove getlocal;pushwith from scope code again */ state->method->scope_code = code_cutlast(code_cutlast(state->method->scope_code)); @@ -5711,7 +5711,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2515 "parser.y" +#line 2514 "parser.y" {PASS12 (yyval.id)="package";} } break; @@ -5722,7 +5722,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2516 "parser.y" +#line 2515 "parser.y" {PASS12 (yyval.id)="namespace";} } break; @@ -5733,7 +5733,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2517 "parser.y" +#line 2516 "parser.y" {PASS12 (yyval.id)="NaN";} } break; @@ -5744,7 +5744,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2518 "parser.y" +#line 2517 "parser.y" {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);} } break; @@ -5755,7 +5755,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2520 "parser.y" +#line 2519 "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; @@ -5766,7 +5766,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2521 "parser.y" +#line 2520 "parser.y" {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));} } break; @@ -5777,7 +5777,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2523 "parser.y" +#line 2522 "parser.y" {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;} } break; @@ -5788,7 +5788,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2524 "parser.y" +#line 2523 "parser.y" {PASS12 endpackage();(yyval.code)=0;} } break; @@ -5799,7 +5799,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2525 "parser.y" +#line 2524 "parser.y" {PASS12 startpackage("");} } break; @@ -5810,7 +5810,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2526 "parser.y" +#line 2525 "parser.y" {PASS12 endpackage();(yyval.code)=0;} } break; @@ -5821,7 +5821,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2549 "parser.y" +#line 2548 "parser.y" { PASS12 slotinfo_t*s = registry_find(state->package, (yyvsp[(2) - (2)].id)); @@ -5839,7 +5839,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2557 "parser.y" +#line 2556 "parser.y" { PASS12 slotinfo_t*s = registry_find((yyvsp[(2) - (2)].classinfo)->package, (yyvsp[(2) - (2)].classinfo)->name); @@ -5860,7 +5860,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2568 "parser.y" +#line 2567 "parser.y" { PASS12 if(strncmp("flash.", (yyvsp[(2) - (4)].id), 6) && as3_pass==1) { @@ -5883,7 +5883,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2584 "parser.y" +#line 2583 "parser.y" {PASS12 (yyval.flags).flags=0;(yyval.flags).ns=0;} } break; @@ -5894,7 +5894,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2585 "parser.y" +#line 2584 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; @@ -5905,7 +5905,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2586 "parser.y" +#line 2585 "parser.y" {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);} } break; @@ -5916,7 +5916,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2587 "parser.y" +#line 2586 "parser.y" { PASS12 (yyval.flags).flags=(yyvsp[(1) - (2)].flags).flags|(yyvsp[(2) - (2)].flags).flags; @@ -5933,7 +5933,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2594 "parser.y" +#line 2593 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PUBLIC;(yyval.flags).ns=0;} } break; @@ -5944,7 +5944,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2595 "parser.y" +#line 2594 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PRIVATE;(yyval.flags).ns=0;} } break; @@ -5955,7 +5955,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2596 "parser.y" +#line 2595 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PROTECTED;(yyval.flags).ns=0;} } break; @@ -5966,7 +5966,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2597 "parser.y" +#line 2596 "parser.y" {PASS12 (yyval.flags).flags=FLAG_STATIC;(yyval.flags).ns=0;} } break; @@ -5977,7 +5977,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2598 "parser.y" +#line 2597 "parser.y" {PASS12 (yyval.flags).flags=FLAG_DYNAMIC;(yyval.flags).ns=0;} } break; @@ -5988,7 +5988,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2599 "parser.y" +#line 2598 "parser.y" {PASS12 (yyval.flags).flags=FLAG_FINAL;(yyval.flags).ns=0;} } break; @@ -5999,7 +5999,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2600 "parser.y" +#line 2599 "parser.y" {PASS12 (yyval.flags).flags=FLAG_OVERRIDE;(yyval.flags).ns=0;} } break; @@ -6010,7 +6010,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2601 "parser.y" +#line 2600 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NATIVE;(yyval.flags).ns=0;} } break; @@ -6021,7 +6021,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2602 "parser.y" +#line 2601 "parser.y" {PASS12 (yyval.flags).flags=FLAG_PACKAGEINTERNAL;(yyval.flags).ns=0;} } break; @@ -6032,7 +6032,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2603 "parser.y" +#line 2602 "parser.y" {PASS12 (yyval.flags).flags=FLAG_NAMESPACE; (yyval.flags).ns=(yyvsp[(1) - (1)].id); } @@ -6045,7 +6045,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2607 "parser.y" +#line 2606 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; @@ -6056,7 +6056,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2608 "parser.y" +#line 2607 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; @@ -6067,7 +6067,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2610 "parser.y" +#line 2609 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; @@ -6078,7 +6078,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2611 "parser.y" +#line 2610 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; @@ -6089,7 +6089,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2613 "parser.y" +#line 2612 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();} } break; @@ -6100,7 +6100,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2614 "parser.y" +#line 2613 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);} } break; @@ -6111,7 +6111,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2618 "parser.y" +#line 2617 "parser.y" {PASS12 startclass(&(yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list));} } break; @@ -6122,7 +6122,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2620 "parser.y" +#line 2619 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; @@ -6133,7 +6133,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2624 "parser.y" +#line 2623 "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));} } @@ -6145,7 +6145,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2627 "parser.y" +#line 2626 "parser.y" {PASS12 endclass();(yyval.code)=0;} } break; @@ -6156,7 +6156,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2636 "parser.y" +#line 2635 "parser.y" {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);} } break; @@ -6167,7 +6167,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2640 "parser.y" +#line 2639 "parser.y" { code_t*c = state->cls->static_init->header; c = code_append(c, (yyvsp[(1) - (1)].code)); @@ -6182,7 +6182,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2651 "parser.y" +#line 2650 "parser.y" { syntaxerror("variable declarations not allowed in interfaces"); } @@ -6195,7 +6195,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2654 "parser.y" +#line 2653 "parser.y" { PASS12 (yyvsp[(1) - (8)].flags).flags |= FLAG_PUBLIC; @@ -6215,7 +6215,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2729 "parser.y" +#line 2728 "parser.y" {PASS12 setslotstate(&(yyvsp[(1) - (2)].flags),(yyvsp[(2) - (2)].token));} } break; @@ -6226,7 +6226,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2729 "parser.y" +#line 2728 "parser.y" {PASS12 (yyval.code)=(yyvsp[(4) - (4)].code);setslotstate(0, 0);} } break; @@ -6237,7 +6237,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2731 "parser.y" +#line 2730 "parser.y" {PASS12 (yyval.code)=0;} } break; @@ -6248,7 +6248,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2732 "parser.y" +#line 2731 "parser.y" {PASS12 (yyval.code)=0;} } break; @@ -6259,7 +6259,7 @@ PASS2 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2735 "parser.y" +#line 2734 "parser.y" { PASS12 int flags = slotstate_flags->flags; @@ -6349,7 +6349,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2818 "parser.y" +#line 2817 "parser.y" {(yyval.constant)=0;} } break; @@ -6360,7 +6360,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2819 "parser.y" +#line 2818 "parser.y" { (yyval.constant) = malloc(sizeof(constant_t)); *(yyval.constant) = node_eval((yyvsp[(2) - (2)].node)); @@ -6377,7 +6377,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2828 "parser.y" +#line 2827 "parser.y" {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));} } break; @@ -6388,7 +6388,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2829 "parser.y" +#line 2828 "parser.y" { (yyval.constant) = constant_new_uint((yyvsp[(1) - (1)].number_uint)); } @@ -6401,7 +6401,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2832 "parser.y" +#line 2831 "parser.y" {(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));} } break; @@ -6412,7 +6412,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2833 "parser.y" +#line 2832 "parser.y" {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);free((char*)(yyvsp[(1) - (1)].str).str);} } break; @@ -6423,7 +6423,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2834 "parser.y" +#line 2833 "parser.y" {(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));} } break; @@ -6434,7 +6434,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2835 "parser.y" +#line 2834 "parser.y" {(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));} } break; @@ -6445,7 +6445,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2836 "parser.y" +#line 2835 "parser.y" {(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));} } break; @@ -6456,7 +6456,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2837 "parser.y" +#line 2836 "parser.y" {(yyval.constant) = constant_new_undefined((yyvsp[(1) - (1)].token));} } break; @@ -6467,7 +6467,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2838 "parser.y" +#line 2837 "parser.y" {(yyval.constant) = constant_new_float(__builtin_nan(""));} } break; @@ -6478,7 +6478,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2851 "parser.y" +#line 2850 "parser.y" { multiname_t m = {QNAME, &stdns, 0, "XML"}; typedcode_t v; @@ -6498,7 +6498,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2862 "parser.y" +#line 2861 "parser.y" {PASS_ALWAYS if(!xml_level++) tokenizer_begin_xml();} } break; @@ -6509,7 +6509,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2863 "parser.y" +#line 2862 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; @@ -6520,7 +6520,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2864 "parser.y" +#line 2863 "parser.y" {PASS_ALWAYS if(!--xml_level) tokenizer_end_xml(); else tokenizer_begin_xmltext();} } break; @@ -6531,7 +6531,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2866 "parser.y" +#line 2865 "parser.y" {PASS_ALWAYS tokenizer_begin_xmltext();} } break; @@ -6542,7 +6542,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2866 "parser.y" +#line 2865 "parser.y" { (yyval.node) = (yyvsp[(2) - (4)].node); } @@ -6555,7 +6555,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2869 "parser.y" +#line 2868 "parser.y" {PASS_ALWAYS tokenizer_begin_xml();} } break; @@ -6566,7 +6566,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2869 "parser.y" +#line 2868 "parser.y" { (yyval.node) = (yyvsp[(2) - (4)].node); } @@ -6579,7 +6579,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2872 "parser.y" +#line 2871 "parser.y" {(yyval.node)=mkstringnode("");} } break; @@ -6590,7 +6590,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2873 "parser.y" +#line 2872 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node),(yyvsp[(2) - (2)].node)); } @@ -6603,7 +6603,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2876 "parser.y" +#line 2875 "parser.y" { char* str = string_cstr(&(yyvsp[(2) - (2)].str)); (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node),mkstringnode(str)); @@ -6618,7 +6618,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2881 "parser.y" +#line 2880 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node), mkstringnode(">")); } @@ -6631,7 +6631,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2884 "parser.y" +#line 2883 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node),(yyvsp[(2) - (2)].node)); } @@ -6644,7 +6644,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2887 "parser.y" +#line 2886 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (3)].node), mkaddnode((yyvsp[(2) - (3)].node),(yyvsp[(3) - (3)].node))); } @@ -6657,7 +6657,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2890 "parser.y" +#line 2889 "parser.y" { (yyval.node) = mkstringnode((yyvsp[(1) - (1)].id)); } @@ -6670,7 +6670,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2893 "parser.y" +#line 2892 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -6683,7 +6683,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2897 "parser.y" +#line 2896 "parser.y" { (yyval.node) = mkstringnode(""); } @@ -6696,7 +6696,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2900 "parser.y" +#line 2899 "parser.y" { (yyval.node) = mkaddnode(mkstringnode(" "),(yyvsp[(1) - (1)].node)); } @@ -6709,7 +6709,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2904 "parser.y" +#line 2903 "parser.y" { //$$ = allocprintf("<%s%s/>", $2, $3, $5, $8); (yyval.node) = mkaddnode(mkaddnode(mkaddnode(mkstringnode("<"),(yyvsp[(2) - (6)].node)),(yyvsp[(3) - (6)].node)),mkstringnode("/>")); @@ -6723,7 +6723,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2908 "parser.y" +#line 2907 "parser.y" { //$$ = allocprintf("<%s%s>%s", $2, $3, $5, $8); (yyval.node) = mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode( @@ -6738,7 +6738,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2913 "parser.y" +#line 2912 "parser.y" { //$$ = allocprintf("<%s%s>%s%s", $2, $3, $5, $6, $9); (yyval.node) = mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode(mkaddnode( @@ -6753,7 +6753,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2919 "parser.y" +#line 2918 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -6766,7 +6766,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2922 "parser.y" +#line 2921 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (2)].node), mkaddnode(mkstringnode(" "),(yyvsp[(2) - (2)].node))); } @@ -6779,7 +6779,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2925 "parser.y" +#line 2924 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -6792,7 +6792,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2928 "parser.y" +#line 2927 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); (yyval.node) = mkaddnode((yyvsp[(1) - (3)].node), mkstringnode(concat2("=",str))); @@ -6807,7 +6807,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2933 "parser.y" +#line 2932 "parser.y" { (yyval.node) = mkaddnode((yyvsp[(1) - (3)].node), mkaddnode(mkstringnode("=\""), mkaddnode((yyvsp[(3) - (3)].node), mkstringnode("\"")))); } @@ -6820,7 +6820,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2936 "parser.y" +#line 2935 "parser.y" { (yyval.node) = mkaddnode(mkaddnode(mkstringnode(concat2((yyvsp[(1) - (3)].id),"=\"")), (yyvsp[(3) - (3)].node)), mkstringnode("\"")); } @@ -6833,7 +6833,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2939 "parser.y" +#line 2938 "parser.y" { char* str = string_cstr(&(yyvsp[(3) - (3)].str)); (yyval.node)=mkstringnode(allocprintf("%s=%s", (yyvsp[(1) - (3)].id),str)); @@ -6849,7 +6849,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2949 "parser.y" +#line 2948 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6863,7 +6863,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2953 "parser.y" +#line 2952 "parser.y" { PASS12 (yyval.params)=(yyvsp[(1) - (1)].params); @@ -6877,7 +6877,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2959 "parser.y" +#line 2958 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6893,7 +6893,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2965 "parser.y" +#line 2964 "parser.y" { PASS12 (yyval.params) =(yyvsp[(1) - (4)].params); @@ -6909,7 +6909,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2973 "parser.y" +#line 2972 "parser.y" { PASS12 (yyval.params) = (yyvsp[(1) - (3)].params); @@ -6924,7 +6924,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2978 "parser.y" +#line 2977 "parser.y" { PASS12 memset(&(yyval.params),0,sizeof((yyval.params))); @@ -6939,7 +6939,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2984 "parser.y" +#line 2983 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -6957,7 +6957,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 2992 "parser.y" +#line 2991 "parser.y" { PASS12 (yyval.param) = rfx_calloc(sizeof(param_t)); @@ -6975,7 +6975,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3002 "parser.y" +#line 3001 "parser.y" {PASS12 (yyval.token)=0;} } break; @@ -6986,7 +6986,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3005 "parser.y" +#line 3004 "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; @@ -6997,7 +6997,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3006 "parser.y" +#line 3005 "parser.y" { PASS1 endfunction(&(yyvsp[(1) - (12)].flags),(yyvsp[(3) - (12)].token),(yyvsp[(4) - (12)].id),&(yyvsp[(6) - (12)].params),0,0); @@ -7021,7 +7021,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3022 "parser.y" +#line 3021 "parser.y" {PASS12 (yyval.id)=0;} } break; @@ -7032,7 +7032,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3024 "parser.y" +#line 3023 "parser.y" {PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));} } break; @@ -7043,7 +7043,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3025 "parser.y" +#line 3024 "parser.y" { PASS1 endfunction(0,0,(yyvsp[(2) - (10)].id),&(yyvsp[(4) - (10)].params),0,0); @@ -7071,7 +7071,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3047 "parser.y" +#line 3046 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -7099,7 +7099,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3066 "parser.y" +#line 3065 "parser.y" { PASS1 NEW(unresolvedinfo_t,c); memset(c, 0, sizeof(*c)); @@ -7122,7 +7122,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3083 "parser.y" +#line 3082 "parser.y" {PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));} } break; @@ -7133,7 +7133,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3084 "parser.y" +#line 3083 "parser.y" {PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));} } break; @@ -7144,7 +7144,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3086 "parser.y" +#line 3085 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);} } break; @@ -7155,7 +7155,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3087 "parser.y" +#line 3086 "parser.y" {PASS12 (yyval.classinfo)=TYPE_ANY;} } break; @@ -7166,7 +7166,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3088 "parser.y" +#line 3087 "parser.y" {PASS12 (yyval.classinfo)=TYPE_VOID;} } break; @@ -7177,7 +7177,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3097 "parser.y" +#line 3096 "parser.y" {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);} } break; @@ -7188,7 +7188,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3098 "parser.y" +#line 3097 "parser.y" {PASS12 (yyval.classinfo)=0;} } break; @@ -7199,7 +7199,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3102 "parser.y" +#line 3101 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; @@ -7210,7 +7210,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3103 "parser.y" +#line 3102 "parser.y" {(yyval.value_list)=(yyvsp[(2) - (3)].value_list);} } break; @@ -7221,7 +7221,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3105 "parser.y" +#line 3104 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; @@ -7232,7 +7232,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3109 "parser.y" +#line 3108 "parser.y" {(yyval.value_list).number=1; (yyval.value_list).cc = (yyvsp[(1) - (1)].value).c; } @@ -7245,7 +7245,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3113 "parser.y" +#line 3112 "parser.y" {(yyval.value_list) = (yyvsp[(1) - (2)].value_list);} } break; @@ -7256,7 +7256,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3114 "parser.y" +#line 3113 "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); @@ -7270,7 +7270,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3120 "parser.y" +#line 3119 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (4)].node)); (yyval.value).c = v.c; @@ -7322,7 +7322,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3167 "parser.y" +#line 3166 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); @@ -7381,7 +7381,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3217 "parser.y" +#line 3216 "parser.y" { if(!state->cls) syntaxerror("super() not allowed outside of a class"); if(!state->method) syntaxerror("super() not allowed outside of a function"); @@ -7411,7 +7411,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3238 "parser.y" +#line 3237 "parser.y" { typedcode_t v = node_read((yyvsp[(2) - (2)].node)); (yyval.value).c = v.c; @@ -7442,7 +7442,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3260 "parser.y" +#line 3259 "parser.y" { (yyval.code) = abc_returnvoid(0); } @@ -7455,7 +7455,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3263 "parser.y" +#line 3262 "parser.y" { (yyval.code) = (yyvsp[(2) - (2)].value).c; (yyval.code) = abc_returnvalue((yyval.code)); @@ -7469,7 +7469,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3270 "parser.y" +#line 3269 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7482,7 +7482,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3273 "parser.y" +#line 3272 "parser.y" { (yyval.value) = node_read((yyvsp[(1) - (1)].node)); } @@ -7495,7 +7495,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3276 "parser.y" +#line 3275 "parser.y" { (yyval.node) = mkmultinode(&node_comma, (yyvsp[(1) - (1)].node)); } @@ -7508,7 +7508,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3279 "parser.y" +#line 3278 "parser.y" { (yyval.node) = multinode_extend((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); } @@ -7521,7 +7521,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3282 "parser.y" +#line 3281 "parser.y" { (yyval.code) = node_exec((yyvsp[(1) - (1)].node)); } @@ -7534,7 +7534,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3285 "parser.y" +#line 3284 "parser.y" { (yyval.code) = (yyvsp[(1) - (3)].code); (yyval.code) = code_append((yyval.code), node_exec((yyvsp[(3) - (3)].node))); @@ -7548,7 +7548,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3290 "parser.y" +#line 3289 "parser.y" {(yyval.value_list).cc=0;(yyval.value_list).number=0;} } break; @@ -7559,7 +7559,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3291 "parser.y" +#line 3290 "parser.y" {(yyval.value_list)=(yyvsp[(1) - (1)].value_list);} } break; @@ -7570,7 +7570,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3293 "parser.y" +#line 3292 "parser.y" {(yyval.code)=abc_pushstring(0,(yyvsp[(1) - (1)].id));} } break; @@ -7581,7 +7581,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3294 "parser.y" +#line 3293 "parser.y" {(yyval.code)=abc_pushstring2(0,&(yyvsp[(1) - (1)].str));} } break; @@ -7592,7 +7592,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3295 "parser.y" +#line 3294 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; @@ -7603,7 +7603,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3296 "parser.y" +#line 3295 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; @@ -7614,7 +7614,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3297 "parser.y" +#line 3296 "parser.y" {syntaxerror("dictionary keys must be strings");} } break; @@ -7625,7 +7625,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3299 "parser.y" +#line 3298 "parser.y" { (yyval.value_list).cc = 0; (yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].code)); @@ -7641,7 +7641,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3305 "parser.y" +#line 3304 "parser.y" { (yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc; (yyval.value_list).number = (yyvsp[(1) - (5)].value_list).number+2; @@ -7657,7 +7657,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3314 "parser.y" +#line 3313 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7668,7 +7668,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3315 "parser.y" +#line 3314 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7679,7 +7679,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3316 "parser.y" +#line 3315 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7690,7 +7690,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3317 "parser.y" +#line 3316 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7701,7 +7701,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3318 "parser.y" +#line 3317 "parser.y" {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));} } break; @@ -7712,7 +7712,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3319 "parser.y" +#line 3318 "parser.y" {(yyval.node) = (yyvsp[(1) - (1)].node);} } break; @@ -7723,7 +7723,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3321 "parser.y" +#line 3320 "parser.y" { (yyval.node) = mkconstnode((yyvsp[(1) - (1)].constant)); } @@ -7736,7 +7736,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3325 "parser.y" +#line 3324 "parser.y" { (yyval.node) = (yyvsp[(1) - (1)].node); } @@ -7749,7 +7749,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3330 "parser.y" +#line 3329 "parser.y" { typedcode_t v; v.c = 0; @@ -7776,7 +7776,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3348 "parser.y" +#line 3347 "parser.y" { PASS1 state->method->need_arguments = 1; @@ -7795,7 +7795,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3359 "parser.y" +#line 3358 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7813,7 +7813,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3369 "parser.y" +#line 3368 "parser.y" { typedcode_t v; v.c = code_new(); @@ -7831,7 +7831,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3378 "parser.y" +#line 3377 "parser.y" {(yyval.node) = mknode2(&node_lt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7842,7 +7842,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3379 "parser.y" +#line 3378 "parser.y" {(yyval.node) = mknode2(&node_gt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7853,7 +7853,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3380 "parser.y" +#line 3379 "parser.y" {(yyval.node) = mknode2(&node_le,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7864,7 +7864,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3381 "parser.y" +#line 3380 "parser.y" {(yyval.node) = mknode2(&node_ge,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7875,7 +7875,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3382 "parser.y" +#line 3381 "parser.y" {(yyval.node) = mknode2(&node_eqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7886,7 +7886,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3383 "parser.y" +#line 3382 "parser.y" {(yyval.node) = mknode2(&node_eqeqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7897,7 +7897,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3384 "parser.y" +#line 3383 "parser.y" {(yyval.node) = mknode2(&node_noteqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7908,7 +7908,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3385 "parser.y" +#line 3384 "parser.y" {(yyval.node) = mknode2(&node_noteq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7919,7 +7919,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3386 "parser.y" +#line 3385 "parser.y" {(yyval.node) = mknode2(&node_oror,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7930,7 +7930,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3387 "parser.y" +#line 3386 "parser.y" {(yyval.node) = mknode2(&node_andand,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));} } break; @@ -7941,7 +7941,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3388 "parser.y" +#line 3387 "parser.y" {(yyval.node) = mknode1(&node_not, (yyvsp[(2) - (2)].node));} } break; @@ -7952,7 +7952,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3389 "parser.y" +#line 3388 "parser.y" {(yyval.node) = mknode1(&node_bitnot, (yyvsp[(2) - (2)].node));} } break; @@ -7963,7 +7963,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3390 "parser.y" +#line 3389 "parser.y" {(yyval.node) = mknode2(&node_bitand, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -7974,7 +7974,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3391 "parser.y" +#line 3390 "parser.y" {(yyval.node) = mknode2(&node_bitxor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -7985,7 +7985,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3392 "parser.y" +#line 3391 "parser.y" {(yyval.node) = mknode2(&node_bitor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -7996,7 +7996,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3393 "parser.y" +#line 3392 "parser.y" {(yyval.node) = mknode2(&node_shr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8007,7 +8007,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3394 "parser.y" +#line 3393 "parser.y" {(yyval.node) = mknode2(&node_ushr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8018,7 +8018,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3395 "parser.y" +#line 3394 "parser.y" {(yyval.node) = mknode2(&node_shl, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8029,7 +8029,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3396 "parser.y" +#line 3395 "parser.y" {(yyval.node) = mknode2(&node_div, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8040,7 +8040,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3397 "parser.y" +#line 3396 "parser.y" {(yyval.node) = mknode2(&node_mod, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8051,7 +8051,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3398 "parser.y" +#line 3397 "parser.y" {(yyval.node) = mknode2(&node_plus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8062,7 +8062,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3399 "parser.y" +#line 3398 "parser.y" {(yyval.node) = mknode2(&node_minus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8073,7 +8073,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3400 "parser.y" +#line 3399 "parser.y" {(yyval.node) = mknode2(&node_multiply, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8084,7 +8084,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3401 "parser.y" +#line 3400 "parser.y" {(yyval.node) = mknode2(&node_in, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8095,7 +8095,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3402 "parser.y" +#line 3401 "parser.y" {(yyval.node) = mknode2(&node_as, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8106,7 +8106,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3403 "parser.y" +#line 3402 "parser.y" {(yyval.node) = mknode2(&node_instanceof, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8117,7 +8117,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3404 "parser.y" +#line 3403 "parser.y" {(yyval.node) = mknode2(&node_is, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8128,7 +8128,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3405 "parser.y" +#line 3404 "parser.y" {(yyval.node) = mknode1(&node_typeof, (yyvsp[(2) - (2)].node));} } break; @@ -8139,7 +8139,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3406 "parser.y" +#line 3405 "parser.y" {(yyval.node) = mknode1(&node_void, (yyvsp[(2) - (2)].node));} } break; @@ -8150,7 +8150,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3407 "parser.y" +#line 3406 "parser.y" { (yyval.node) = mkconstnode(constant_new_undefined());} } break; @@ -8161,7 +8161,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3408 "parser.y" +#line 3407 "parser.y" { (yyval.node)=(yyvsp[(2) - (3)].node);} } break; @@ -8172,7 +8172,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3409 "parser.y" +#line 3408 "parser.y" {(yyval.node) = mknode1(&node_neg, (yyvsp[(2) - (2)].node));} } break; @@ -8183,7 +8183,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3410 "parser.y" +#line 3409 "parser.y" {(yyval.node) = mknode2(&node_arraylookup, (yyvsp[(1) - (4)].node),(yyvsp[(3) - (4)].node));} } break; @@ -8194,7 +8194,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3411 "parser.y" +#line 3410 "parser.y" {(yyval.node) = mknode2(&node_muleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8205,7 +8205,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3412 "parser.y" +#line 3411 "parser.y" {(yyval.node) = mknode2(&node_modeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8216,7 +8216,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3413 "parser.y" +#line 3412 "parser.y" {(yyval.node) = mknode2(&node_shleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8227,7 +8227,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3414 "parser.y" +#line 3413 "parser.y" {(yyval.node) = mknode2(&node_shreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8238,7 +8238,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3415 "parser.y" +#line 3414 "parser.y" {(yyval.node) = mknode2(&node_ushreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8249,7 +8249,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3416 "parser.y" +#line 3415 "parser.y" { (yyval.node) = mknode2(&node_diveq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8260,7 +8260,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3417 "parser.y" +#line 3416 "parser.y" { (yyval.node) = mknode2(&node_bitoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8271,7 +8271,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3418 "parser.y" +#line 3417 "parser.y" { (yyval.node) = mknode2(&node_bitxoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8282,7 +8282,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3419 "parser.y" +#line 3418 "parser.y" { (yyval.node) = mknode2(&node_bitandeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8293,7 +8293,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3420 "parser.y" +#line 3419 "parser.y" { (yyval.node) = mknode2(&node_pluseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8304,7 +8304,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3421 "parser.y" +#line 3420 "parser.y" { (yyval.node) = mknode2(&node_minuseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8315,7 +8315,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3422 "parser.y" +#line 3421 "parser.y" { (yyval.node) = mknode2(&node_assign, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));} } break; @@ -8326,7 +8326,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3423 "parser.y" +#line 3422 "parser.y" { (yyval.node) = mknode3(&node_tenary, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));} } break; @@ -8337,7 +8337,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3425 "parser.y" +#line 3424 "parser.y" { (yyval.node) = mknode1(&node_rplusplus, (yyvsp[(1) - (2)].node));} } break; @@ -8348,7 +8348,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3426 "parser.y" +#line 3425 "parser.y" { (yyval.node) = mknode1(&node_rminusminus, (yyvsp[(1) - (2)].node));} } break; @@ -8359,7 +8359,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3427 "parser.y" +#line 3426 "parser.y" {(yyval.node) = mknode1(&node_lplusplus, (yyvsp[(2) - (2)].node)); } } break; @@ -8370,7 +8370,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3428 "parser.y" +#line 3427 "parser.y" {(yyval.node) = mknode1(&node_lminusminus, (yyvsp[(2) - (2)].node)); } } break; @@ -8381,7 +8381,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3431 "parser.y" +#line 3430 "parser.y" { if(!state->cls->info) syntaxerror("super keyword not allowed outside a class"); classinfo_t*t = state->cls->info->superclass; @@ -8404,7 +8404,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3445 "parser.y" +#line 3444 "parser.y" { typedcode_t v; multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(2) - (2)].id)}; @@ -8421,7 +8421,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3453 "parser.y" +#line 3452 "parser.y" {PASS12 new_state();state->xmlfilter=1;} } break; @@ -8432,7 +8432,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3453 "parser.y" +#line 3452 "parser.y" { PASS1 old_state(); PASS2 @@ -8495,7 +8495,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3507 "parser.y" +#line 3506 "parser.y" {(yyval.id)=(yyvsp[(1) - (1)].id);} } break; @@ -8506,7 +8506,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3508 "parser.y" +#line 3507 "parser.y" {(yyval.id)="*";} } break; @@ -8517,7 +8517,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3509 "parser.y" +#line 3508 "parser.y" {(yyval.id)=(char*)(yyvsp[(1) - (1)].id);} } break; @@ -8528,7 +8528,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3511 "parser.y" +#line 3510 "parser.y" {(yyval.id)="*";} } break; @@ -8539,7 +8539,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3519 "parser.y" +#line 3518 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (5)].node)); typedcode_t w = node_read(resolve_identifier((yyvsp[(3) - (5)].id))); @@ -8567,7 +8567,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3537 "parser.y" +#line 3536 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (3)].node)); multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)}; @@ -8584,7 +8584,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3544 "parser.y" +#line 3543 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (5)].node)); typedcode_t w = node_read((yyvsp[(4) - (5)].node)); @@ -8604,7 +8604,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3555 "parser.y" +#line 3554 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8621,7 +8621,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3562 "parser.y" +#line 3561 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (4)].node)); multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)}; @@ -8638,7 +8638,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3569 "parser.y" +#line 3568 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8658,7 +8658,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3579 "parser.y" +#line 3578 "parser.y" { typedcode_t v = node_read((yyvsp[(1) - (6)].node)); typedcode_t w = node_read((yyvsp[(5) - (6)].node)); @@ -8678,7 +8678,7 @@ PASS12 if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3590 "parser.y" +#line 3589 "parser.y" { typedcode_t v1 = node_read((yyvsp[(1) - (3)].node)); (yyval.value).c = v1.c; @@ -8754,6 +8754,20 @@ PASS12 /* Line 1464 of skeleton.m4 */ #line 3776 "parser.y" { + PASS2 + (yyval.node) = resolve_identifier((yyvsp[(1) - (1)].id)); +} + } + break; + + + + case 349: + if(as3_pass==2) { + +/* Line 1464 of skeleton.m4 */ +#line 3780 "parser.y" + { PASS1 /* Queue unresolved identifiers for checking against the parent function's variables. @@ -8780,11 +8794,11 @@ PASS12 - case 349: + case 350: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3810 "parser.y" +#line 3814 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8797,11 +8811,11 @@ PASS12 - case 350: + case 351: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3817 "parser.y" +#line 3821 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8814,11 +8828,11 @@ PASS12 - case 351: + case 352: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3824 "parser.y" +#line 3828 "parser.y" { PASS12 NEW(namespace_decl_t,n); @@ -8831,11 +8845,11 @@ PASS12 - case 352: + case 353: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3831 "parser.y" +#line 3835 "parser.y" { PASS12 trie_put(active_namespaces, (unsigned char*)(yyvsp[(2) - (2)].namespace_decl)->name, (void*)(yyvsp[(2) - (2)].namespace_decl)->url); @@ -8862,11 +8876,11 @@ PASS12 - case 353: + case 354: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3854 "parser.y" +#line 3858 "parser.y" { as3_warning("default xml namespaces not supported yet"); (yyval.code) = 0; @@ -8876,11 +8890,11 @@ PASS12 - case 354: + case 355: if(as3_pass==2) { /* Line 1464 of skeleton.m4 */ -#line 3859 "parser.y" +#line 3863 "parser.y" { PASS12 const char*url = (yyvsp[(3) - (3)].classinfo)->name; @@ -8909,7 +8923,7 @@ PASS12 /* Line 1464 of skeleton.m4 */ -#line 8913 "parser.tab.c" +#line 8927 "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 e93f73b..21fe1a4 100644 --- a/lib/as3/parser.y +++ b/lib/as3/parser.y @@ -271,7 +271,6 @@ extern int a3_lex(); %nonassoc "false" "true" "null" "undefined" "super" "function" %left above_function - %{ @@ -3773,6 +3772,11 @@ MEMBER : E '.' SUBNODE { } }; +/* TODO: causes 16 r/r conflicts */ +VAR_READ : T_NAMESPACE { + PASS2 + $$ = resolve_identifier($1); +} VAR_READ : T_IDENTIFIER { PASS1 /* Queue unresolved identifiers for checking against the parent -- 1.7.10.4