-/* A Bison parser, made by GNU Bison 2.4. */
+/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.4"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "./skeleton.m4"
syntaxerror("invalid combination of access levels and namespaces");
ns.access = ACCESS_NAMESPACE;
state_t*s = state;
- const char*url = (const char*)trie_lookup(active_namespaces, mod->ns);
+ const char*url = (const char*)trie_lookup(active_namespaces, (unsigned char*)mod->ns);
if(!url) {
/* shouldn't happen- the tokenizer only reports something as a namespace
if it was already registered */
/* Line 274 of skeleton.m4 */
-#line 3652 "parser.y"
+#line 3655 "parser.y"
+
+ node_t* var_read(variable_t*v)
+ {
+ typedcode_t o;
+ o.c = abc_getlocal(0, v->index);
+ o.t = v->type;
+ return mkcodenode(o);
+ }
node_t* resolve_identifier(char*name)
{
/* look at variables */
if((v = find_variable(state, name))) {
// name is a local variable
- o.c = abc_getlocal(o.c, v->index);
- o.t = v->type;
- return mkcodenode(o);
+ return var_read(v);
}
if((v = find_slot(state->method, name))) {
o.c = abc_getscopeobject(o.c, 1);
/* Line 274 of skeleton.m4 */
-#line 3792 "parser.y"
+#line 3801 "parser.y"
void add_active_url(const char*url)
{
/* Line 274 of skeleton.m4 */
-#line 2227 "parser.tab.c"
+#line 2233 "parser.tab.c"
#ifdef short
# undef short
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, 3164,
- 3214, 3235, 3257, 3260, 3267, 3270, 3273, 3276, 3279, 3282,
- 3287, 3288, 3290, 3291, 3292, 3293, 3294, 3296, 3302, 3311,
- 3312, 3313, 3314, 3315, 3316, 3318, 3322, 3327, 3345, 3356,
- 3366, 3375, 3376, 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, 3422, 3423, 3424,
- 3425, 3427, 3442, 3450, 3450, 3504, 3505, 3506, 3507, 3508,
- 3516, 3534, 3541, 3552, 3559, 3566, 3576, 3587, 3767, 3801,
- 3808, 3815, 3822, 3844, 3850
+ 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
};
#endif
/* Line 1464 of skeleton.m4 */
#line 2225 "parser.y"
{
- variable_t*var = find_variable(state, (yyvsp[(2) - (6)].id));
- if(!var) {
- syntaxerror("variable %s not known in this scope", (yyvsp[(2) - (6)].id));
- }
+ node_t*n = resolve_identifier((yyvsp[(2) - (6)].id));
+ typedcode_t w = node_write(n);
+
int it = alloc_local();
int array = alloc_local();
(yyval.code) = abc_nextname((yyval.code));
else
(yyval.code) = abc_nextvalue((yyval.code));
- (yyval.code) = converttype((yyval.code), 0, var->type);
- (yyval.code) = abc_setlocal((yyval.code), var->index);
+
+ (yyval.code) = converttype((yyval.code), 0, w.t);
+ (yyval.code) = code_append((yyval.code), w.c);
(yyval.code) = code_append((yyval.code), (yyvsp[(6) - (6)].code));
(yyval.code) = abc_jump((yyval.code), loopstart);
(yyval.value).c = code_append((yyval.value).c, paramcode);
(yyval.value).c = abc_constructprop2((yyval.value).c, name, (yyvsp[(4) - (4)].value_list).number);
multiname_destroy(name);
+ } else if(is_getlocal((yyval.value).c)) {
+ (yyval.value).c = code_append((yyval.value).c, paramcode);
+ (yyval.value).c = abc_construct((yyval.value).c, (yyvsp[(4) - (4)].value_list).number);
} else if(TYPE_IS_CLASS(v.t) && v.t->data) {
code_free((yyval.value).c);
classinfo_t*c = v.t->data;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3164 "parser.y"
+#line 3167 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (4)].node));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3214 "parser.y"
+#line 3217 "parser.y"
{
if(!state->cls) syntaxerror("super() not allowed outside of a class");
if(!state->method) syntaxerror("super() not allowed outside of a function");
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3235 "parser.y"
+#line 3238 "parser.y"
{
typedcode_t v = node_read((yyvsp[(2) - (2)].node));
(yyval.value).c = v.c;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3257 "parser.y"
+#line 3260 "parser.y"
{
(yyval.code) = abc_returnvoid(0);
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3260 "parser.y"
+#line 3263 "parser.y"
{
(yyval.code) = (yyvsp[(2) - (2)].value).c;
(yyval.code) = abc_returnvalue((yyval.code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3267 "parser.y"
+#line 3270 "parser.y"
{
(yyval.value) = node_read((yyvsp[(1) - (1)].node));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3270 "parser.y"
+#line 3273 "parser.y"
{
(yyval.value) = node_read((yyvsp[(1) - (1)].node));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3273 "parser.y"
+#line 3276 "parser.y"
{
(yyval.node) = mkmultinode(&node_comma, (yyvsp[(1) - (1)].node));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3276 "parser.y"
+#line 3279 "parser.y"
{
(yyval.node) = multinode_extend((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3279 "parser.y"
+#line 3282 "parser.y"
{
(yyval.code) = node_exec((yyvsp[(1) - (1)].node));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3282 "parser.y"
+#line 3285 "parser.y"
{
(yyval.code) = (yyvsp[(1) - (3)].code);
(yyval.code) = code_append((yyval.code), node_exec((yyvsp[(3) - (3)].node)));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3287 "parser.y"
+#line 3290 "parser.y"
{(yyval.value_list).cc=0;(yyval.value_list).number=0;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3288 "parser.y"
+#line 3291 "parser.y"
{(yyval.value_list)=(yyvsp[(1) - (1)].value_list);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3290 "parser.y"
+#line 3293 "parser.y"
{(yyval.code)=abc_pushstring(0,(yyvsp[(1) - (1)].id));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3291 "parser.y"
+#line 3294 "parser.y"
{(yyval.code)=abc_pushstring2(0,&(yyvsp[(1) - (1)].str));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3292 "parser.y"
+#line 3295 "parser.y"
{syntaxerror("dictionary keys must be strings");}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3293 "parser.y"
+#line 3296 "parser.y"
{syntaxerror("dictionary keys must be strings");}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3294 "parser.y"
+#line 3297 "parser.y"
{syntaxerror("dictionary keys must be strings");}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3296 "parser.y"
+#line 3299 "parser.y"
{
(yyval.value_list).cc = 0;
(yyval.value_list).cc = code_append((yyval.value_list).cc, (yyvsp[(1) - (3)].code));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3302 "parser.y"
+#line 3305 "parser.y"
{
(yyval.value_list).cc = (yyvsp[(1) - (5)].value_list).cc;
(yyval.value_list).number = (yyvsp[(1) - (5)].value_list).number+2;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3311 "parser.y"
+#line 3314 "parser.y"
{(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3312 "parser.y"
+#line 3315 "parser.y"
{(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3313 "parser.y"
+#line 3316 "parser.y"
{(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3314 "parser.y"
+#line 3317 "parser.y"
{(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3315 "parser.y"
+#line 3318 "parser.y"
{(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3316 "parser.y"
+#line 3319 "parser.y"
{(yyval.node) = (yyvsp[(1) - (1)].node);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3318 "parser.y"
+#line 3321 "parser.y"
{
(yyval.node) = mkconstnode((yyvsp[(1) - (1)].constant));
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3322 "parser.y"
+#line 3325 "parser.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
}
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3327 "parser.y"
+#line 3330 "parser.y"
{
typedcode_t v;
v.c = 0;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3345 "parser.y"
+#line 3348 "parser.y"
{
PASS1
state->method->need_arguments = 1;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3356 "parser.y"
+#line 3359 "parser.y"
{
typedcode_t v;
v.c = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3366 "parser.y"
+#line 3369 "parser.y"
{
typedcode_t v;
v.c = code_new();
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3375 "parser.y"
+#line 3378 "parser.y"
{(yyval.node) = mknode2(&node_lt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3376 "parser.y"
+#line 3379 "parser.y"
{(yyval.node) = mknode2(&node_gt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3377 "parser.y"
+#line 3380 "parser.y"
{(yyval.node) = mknode2(&node_le,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3378 "parser.y"
+#line 3381 "parser.y"
{(yyval.node) = mknode2(&node_ge,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3379 "parser.y"
+#line 3382 "parser.y"
{(yyval.node) = mknode2(&node_eqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3380 "parser.y"
+#line 3383 "parser.y"
{(yyval.node) = mknode2(&node_eqeqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3381 "parser.y"
+#line 3384 "parser.y"
{(yyval.node) = mknode2(&node_noteqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3382 "parser.y"
+#line 3385 "parser.y"
{(yyval.node) = mknode2(&node_noteq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3383 "parser.y"
+#line 3386 "parser.y"
{(yyval.node) = mknode2(&node_oror,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3384 "parser.y"
+#line 3387 "parser.y"
{(yyval.node) = mknode2(&node_andand,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3385 "parser.y"
+#line 3388 "parser.y"
{(yyval.node) = mknode1(&node_not, (yyvsp[(2) - (2)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3386 "parser.y"
+#line 3389 "parser.y"
{(yyval.node) = mknode1(&node_bitnot, (yyvsp[(2) - (2)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3387 "parser.y"
+#line 3390 "parser.y"
{(yyval.node) = mknode2(&node_bitand, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3388 "parser.y"
+#line 3391 "parser.y"
{(yyval.node) = mknode2(&node_bitxor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3389 "parser.y"
+#line 3392 "parser.y"
{(yyval.node) = mknode2(&node_bitor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3390 "parser.y"
+#line 3393 "parser.y"
{(yyval.node) = mknode2(&node_shr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3391 "parser.y"
+#line 3394 "parser.y"
{(yyval.node) = mknode2(&node_ushr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3392 "parser.y"
+#line 3395 "parser.y"
{(yyval.node) = mknode2(&node_shl, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3393 "parser.y"
+#line 3396 "parser.y"
{(yyval.node) = mknode2(&node_div, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3394 "parser.y"
+#line 3397 "parser.y"
{(yyval.node) = mknode2(&node_mod, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3395 "parser.y"
+#line 3398 "parser.y"
{(yyval.node) = mknode2(&node_plus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3396 "parser.y"
+#line 3399 "parser.y"
{(yyval.node) = mknode2(&node_minus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3397 "parser.y"
+#line 3400 "parser.y"
{(yyval.node) = mknode2(&node_multiply, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3398 "parser.y"
+#line 3401 "parser.y"
{(yyval.node) = mknode2(&node_in, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3399 "parser.y"
+#line 3402 "parser.y"
{(yyval.node) = mknode2(&node_as, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3400 "parser.y"
+#line 3403 "parser.y"
{(yyval.node) = mknode2(&node_instanceof, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3401 "parser.y"
+#line 3404 "parser.y"
{(yyval.node) = mknode2(&node_is, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3402 "parser.y"
+#line 3405 "parser.y"
{(yyval.node) = mknode1(&node_typeof, (yyvsp[(2) - (2)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3403 "parser.y"
+#line 3406 "parser.y"
{(yyval.node) = mknode1(&node_void, (yyvsp[(2) - (2)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3404 "parser.y"
+#line 3407 "parser.y"
{ (yyval.node) = mkconstnode(constant_new_undefined());}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3405 "parser.y"
+#line 3408 "parser.y"
{ (yyval.node)=(yyvsp[(2) - (3)].node);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3406 "parser.y"
+#line 3409 "parser.y"
{(yyval.node) = mknode1(&node_neg, (yyvsp[(2) - (2)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3407 "parser.y"
+#line 3410 "parser.y"
{(yyval.node) = mknode2(&node_arraylookup, (yyvsp[(1) - (4)].node),(yyvsp[(3) - (4)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3408 "parser.y"
+#line 3411 "parser.y"
{(yyval.node) = mknode2(&node_muleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3409 "parser.y"
+#line 3412 "parser.y"
{(yyval.node) = mknode2(&node_modeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3410 "parser.y"
+#line 3413 "parser.y"
{(yyval.node) = mknode2(&node_shleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3411 "parser.y"
+#line 3414 "parser.y"
{(yyval.node) = mknode2(&node_shreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3412 "parser.y"
+#line 3415 "parser.y"
{(yyval.node) = mknode2(&node_ushreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3413 "parser.y"
+#line 3416 "parser.y"
{ (yyval.node) = mknode2(&node_diveq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3414 "parser.y"
+#line 3417 "parser.y"
{ (yyval.node) = mknode2(&node_bitoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3415 "parser.y"
+#line 3418 "parser.y"
{ (yyval.node) = mknode2(&node_bitxoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3416 "parser.y"
+#line 3419 "parser.y"
{ (yyval.node) = mknode2(&node_bitandeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3417 "parser.y"
+#line 3420 "parser.y"
{ (yyval.node) = mknode2(&node_pluseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3418 "parser.y"
+#line 3421 "parser.y"
{ (yyval.node) = mknode2(&node_minuseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3419 "parser.y"
+#line 3422 "parser.y"
{ (yyval.node) = mknode2(&node_assign, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3420 "parser.y"
+#line 3423 "parser.y"
{ (yyval.node) = mknode3(&node_tenary, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3422 "parser.y"
+#line 3425 "parser.y"
{ (yyval.node) = mknode1(&node_rplusplus, (yyvsp[(1) - (2)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3423 "parser.y"
+#line 3426 "parser.y"
{ (yyval.node) = mknode1(&node_rminusminus, (yyvsp[(1) - (2)].node));}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3424 "parser.y"
+#line 3427 "parser.y"
{(yyval.node) = mknode1(&node_lplusplus, (yyvsp[(2) - (2)].node)); }
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3425 "parser.y"
+#line 3428 "parser.y"
{(yyval.node) = mknode1(&node_lminusminus, (yyvsp[(2) - (2)].node)); }
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3428 "parser.y"
+#line 3431 "parser.y"
{ if(!state->cls->info)
syntaxerror("super keyword not allowed outside a class");
classinfo_t*t = state->cls->info->superclass;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3442 "parser.y"
+#line 3445 "parser.y"
{
typedcode_t v;
multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(2) - (2)].id)};
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3450 "parser.y"
+#line 3453 "parser.y"
{PASS12 new_state();state->xmlfilter=1;}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3450 "parser.y"
+#line 3453 "parser.y"
{
PASS1 old_state();
PASS2
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3504 "parser.y"
+#line 3507 "parser.y"
{(yyval.id)=(yyvsp[(1) - (1)].id);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3505 "parser.y"
+#line 3508 "parser.y"
{(yyval.id)="*";}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3506 "parser.y"
+#line 3509 "parser.y"
{(yyval.id)=(char*)(yyvsp[(1) - (1)].id);}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3508 "parser.y"
+#line 3511 "parser.y"
{(yyval.id)="*";}
}
break;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3516 "parser.y"
+#line 3519 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (5)].node));
typedcode_t w = node_read(resolve_identifier((yyvsp[(3) - (5)].id)));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3534 "parser.y"
+#line 3537 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (3)].node));
multiname_t m = {MULTINAME, 0, &nopackage_namespace_set, (yyvsp[(3) - (3)].id)};
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3541 "parser.y"
+#line 3544 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (5)].node));
typedcode_t w = node_read((yyvsp[(4) - (5)].node));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3552 "parser.y"
+#line 3555 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (4)].node));
multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)};
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3559 "parser.y"
+#line 3562 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (4)].node));
multiname_t m = {MULTINAMEA, 0, &nopackage_namespace_set, (yyvsp[(4) - (4)].id)};
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3566 "parser.y"
+#line 3569 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (6)].node));
typedcode_t w = node_read((yyvsp[(5) - (6)].node));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3576 "parser.y"
+#line 3579 "parser.y"
{
typedcode_t v = node_read((yyvsp[(1) - (6)].node));
typedcode_t w = node_read((yyvsp[(5) - (6)].node));
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3587 "parser.y"
+#line 3590 "parser.y"
{
typedcode_t v1 = node_read((yyvsp[(1) - (3)].node));
(yyval.value).c = v1.c;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3767 "parser.y"
+#line 3776 "parser.y"
{
PASS1
/* Queue unresolved identifiers for checking against the parent
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3801 "parser.y"
+#line 3810 "parser.y"
{
PASS12
NEW(namespace_decl_t,n);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3808 "parser.y"
+#line 3817 "parser.y"
{
PASS12
NEW(namespace_decl_t,n);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3815 "parser.y"
+#line 3824 "parser.y"
{
PASS12
NEW(namespace_decl_t,n);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3822 "parser.y"
+#line 3831 "parser.y"
{
PASS12
- trie_put(active_namespaces, (yyvsp[(2) - (2)].namespace_decl)->name, (void*)(yyvsp[(2) - (2)].namespace_decl)->url);
+ trie_put(active_namespaces, (unsigned char*)(yyvsp[(2) - (2)].namespace_decl)->name, (void*)(yyvsp[(2) - (2)].namespace_decl)->url);
namespace_t access = modifiers2access(&(yyvsp[(1) - (2)].flags));
varinfo_t* var = varinfo_register_global(access.access, state->package, (yyvsp[(2) - (2)].namespace_decl)->name);
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3845 "parser.y"
+#line 3854 "parser.y"
{
as3_warning("default xml namespaces not supported yet");
(yyval.code) = 0;
if(as3_pass==2) {
/* Line 1464 of skeleton.m4 */
-#line 3850 "parser.y"
+#line 3859 "parser.y"
{
PASS12
const char*url = (yyvsp[(3) - (3)].classinfo)->name;
syntaxerror("%s.%s is not a namespace", (yyvsp[(3) - (3)].classinfo)->package, (yyvsp[(3) - (3)].classinfo)->name);
url = s->value->ns->name;
- trie_put(active_namespaces, (yyvsp[(3) - (3)].classinfo)->name, (void*)url);
+ trie_put(active_namespaces, (unsigned char*)(yyvsp[(3) - (3)].classinfo)->name, (void*)url);
add_active_url(url);
(yyval.code)=0;
}
/* Line 1464 of skeleton.m4 */
-#line 8904 "parser.tab.c"
+#line 8913 "parser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);