fixed some compiler warnings, fixed as3compile spec for-in.as
[swftools.git] / lib / as3 / parser.tab.c
index b5ee375..5e6b060 100644 (file)
@@ -1,21 +1,21 @@
 
-/* A Bison parser, made by GNU Bison 2.4.277-62c99-dirty.  */
+/* A Bison parser, made by GNU Bison 2.4.1.  */
 
 /* Skeleton implementation for Bison's Yacc-like parsers in C
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
-   Software Foundation, Inc.
-
+   
+      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+   
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
-
+   
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-
+   
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
@@ -28,7 +28,7 @@
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-
+   
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
@@ -46,7 +46,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.4.277-62c99-dirty"
+#define YYBISON_VERSION "2.4.1"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "./skeleton.m4"
@@ -74,6 +74,7 @@
 
 
 /* Copy the first part of user declarations.  */
+
 /* Line 198 of skeleton.m4  */
 #line 23 "parser.y"
 
 extern int a3_lex();
 
 
+
 /* Line 198 of skeleton.m4  */
-#line 100 "parser.tab.c"
+#line 102 "parser.tab.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
-# define YYDEBUG b4_debug_flag
+# define YYDEBUG 0
 #endif
 
 /* Enabling verbose error messages.  */
@@ -108,7 +110,7 @@ extern int a3_lex();
 # undef YYERROR_VERBOSE
 # define YYERROR_VERBOSE 1
 #else
-# define YYERROR_VERBOSE b4_error_verbose_flag
+# define YYERROR_VERBOSE 1
 #endif
 
 /* Enabling the token table.  */
@@ -237,10 +239,12 @@ extern int a3_lex();
 
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union /* Line 223 of skeleton.m4  */
+typedef union 
+/* Line 223 of skeleton.m4  */
 #line 47 "parser.y"
 tokenunion
 {
+
 /* Line 223 of skeleton.m4  */
 #line 47 "parser.y"
 
@@ -275,8 +279,9 @@ tokenunion
     } catch_list;
 
 
+
 /* Line 223 of skeleton.m4  */
-#line 280 "parser.tab.c"
+#line 285 "parser.tab.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -285,6 +290,7 @@ tokenunion
 
 
 /* Copy the second part of user declarations.  */
+
 /* Line 273 of skeleton.m4  */
 #line 276 "parser.y"
 
@@ -933,7 +939,7 @@ static namespace_t modifiers2access(modifiers_t*mod)
             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 */
@@ -1974,9 +1980,11 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar)
 #define PASS_ALWAYS }} {{
 
 
+
 /* Line 273 of skeleton.m4  */
-#line 1979 "parser.tab.c"
+#line 1986 "parser.tab.c"
 /* Unqualified %code blocks.  */
+
 /* Line 274 of skeleton.m4  */
 #line 2077 "parser.y"
 
@@ -1993,6 +2001,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar)
         return 1;
     }
 
+
 /* Line 274 of skeleton.m4  */
 #line 2528 "parser.y"
 
@@ -2015,6 +2024,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar)
         free(s);
     }
 
+
 /* Line 274 of skeleton.m4  */
 #line 2667 "parser.y"
 
@@ -2076,14 +2086,24 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar)
         return trait_new_member(traits, 0, multiname_clone(&mname), 0);
     }
 
+
 /* Line 274 of skeleton.m4  */
 #line 2847 "parser.y"
 
     static int xml_level = 0;
 
+
 /* Line 274 of skeleton.m4  */
 #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)
     {
         typedcode_t o;
@@ -2097,9 +2117,7 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar)
         /* 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);
@@ -2197,8 +2215,9 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar)
         }
     }
 
+
 /* Line 274 of skeleton.m4  */
-#line 3795 "parser.y"
+#line 3801 "parser.y"
 
     void add_active_url(const char*url)
     {
@@ -2208,8 +2227,9 @@ code_t* insert_finally(code_t*c, code_t*finally, int tempvar)
     }
 
 
+
 /* Line 274 of skeleton.m4  */
-#line 2213 "parser.tab.c"
+#line 2233 "parser.tab.c"
 
 #ifdef short
 # undef short
@@ -2487,15 +2507,157 @@ static const yytype_uint8 yytranslate[] =
 #if YYDEBUG
 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    YYRHS.  */
-static const int yyprhs[] =
+static const yytype_uint16 yyprhs[] =
 {
-  b4_prhs
+       0,     0,     3,     5,     6,     8,    10,    13,    15,    17,
+      19,    21,    23,    25,    30,    32,    33,    35,    37,    40,
+      42,    44,    46,    48,    50,    55,    60,    62,    64,    65,
+      68,    70,    72,    74,    76,    78,    80,    82,    84,    86,
+      88,    90,    92,    94,    96,   100,   103,   105,   107,   109,
+     111,   113,   115,   117,   122,   125,   127,   129,   130,   134,
+     137,   138,   141,   144,   146,   150,   154,   155,   158,   159,
+     162,   169,   170,   172,   174,   178,   180,   183,   187,   196,
+     203,   209,   216,   218,   221,   223,   226,   227,   229,   231,
+     234,   236,   239,   244,   248,   249,   258,   259,   269,   270,
+     276,   278,   281,   283,   286,   288,   289,   296,   299,   301,
+     306,   309,   311,   313,   315,   317,   319,   323,   325,   326,
+     333,   334,   340,   343,   346,   351,   352,   354,   356,   359,
+     361,   363,   365,   367,   369,   371,   373,   375,   377,   379,
+     380,   383,   384,   387,   388,   391,   392,   402,   403,   412,
+     413,   415,   417,   420,   422,   427,   429,   431,   433,   434,
+     436,   438,   441,   443,   446,   455,   457,   459,   460,   465,
+     467,   471,   475,   476,   479,   481,   483,   485,   487,   489,
+     491,   493,   495,   497,   499,   501,   503,   504,   505,   510,
+     511,   516,   517,   520,   523,   526,   529,   533,   535,   537,
+     538,   540,   547,   558,   570,   572,   575,   577,   581,   585,
+     589,   593,   594,   596,   599,   604,   608,   610,   615,   618,
+     620,   622,   623,   624,   637,   639,   640,   641,   652,   654,
+     658,   660,   662,   664,   668,   670,   672,   674,   677,   678,
+     679,   683,   684,   686,   688,   690,   693,   696,   697,   702,
+     707,   712,   715,   717,   720,   722,   724,   726,   730,   732,
+     736,   737,   739,   741,   743,   745,   747,   749,   753,   759,
+     761,   763,   765,   767,   769,   771,   773,   775,   777,   779,
+     783,   787,   791,   795,   799,   803,   807,   811,   815,   819,
+     823,   827,   830,   833,   837,   841,   845,   849,   853,   857,
+     861,   865,   869,   873,   877,   881,   885,   889,   893,   896,
+     899,   901,   905,   908,   913,   917,   921,   925,   929,   933,
+     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
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
-static const int yyrhs[] =
+static const yytype_int16 yyrhs[] =
 {
-  b4_rhs
+     137,     0,    -1,   138,    -1,    -1,   139,    -1,   140,    -1,
+     139,   140,    -1,   188,    -1,   200,    -1,   198,    -1,   234,
+      -1,   209,    -1,   149,    -1,   151,   128,   138,   134,    -1,
+     101,    -1,    -1,   142,    -1,   143,    -1,   142,   143,    -1,
+     200,    -1,   198,    -1,   234,    -1,   209,    -1,   149,    -1,
+     151,   128,   141,   134,    -1,   126,   150,   261,   127,    -1,
+     101,    -1,   145,    -1,    -1,   145,   147,    -1,   147,    -1,
+     269,    -1,   191,    -1,   163,    -1,   164,    -1,   165,    -1,
+     166,    -1,   173,    -1,   159,    -1,   185,    -1,   181,    -1,
+     257,    -1,   270,    -1,   268,    -1,   128,   145,   134,    -1,
+     128,   134,    -1,   101,    -1,   146,    -1,   153,    -1,   167,
+      -1,   168,    -1,   253,    -1,   183,    -1,   151,   128,   145,
+     134,    -1,   147,   101,    -1,   147,    -1,   146,    -1,    -1,
+       3,    91,     3,    -1,   104,   261,    -1,    -1,    46,   154,
+      -1,    32,   154,    -1,   155,    -1,   154,   102,   155,    -1,
+       3,   244,   152,    -1,    -1,   157,   148,    -1,    -1,    66,
+     156,    -1,    65,   124,   255,   135,   156,   158,    -1,    -1,
+     153,    -1,   257,    -1,    46,     3,   244,    -1,     3,    -1,
+      11,   124,    -1,    11,    50,   124,    -1,   162,   160,   101,
+     255,   101,   257,   135,   156,    -1,   162,   161,    69,   255,
+     135,   156,    -1,    12,   124,   255,   135,   156,    -1,    13,
+     156,    12,   124,   255,   135,    -1,    67,    -1,    67,     3,
+      -1,    30,    -1,    30,     3,    -1,    -1,   170,    -1,   172,
+      -1,   170,   172,    -1,   171,    -1,   170,   171,    -1,    34,
+     261,   106,   144,    -1,    62,   106,   144,    -1,    -1,    14,
+     124,   174,   261,   135,   128,   169,   134,    -1,    -1,    33,
+     124,     3,   244,   135,   176,   128,   144,   134,    -1,    -1,
+      27,   128,   178,   144,   134,    -1,   175,    -1,   179,   175,
+      -1,   179,    -1,   179,   177,    -1,   177,    -1,    -1,    52,
+     128,   182,   144,   134,   180,    -1,    37,   255,    -1,    37,
+      -1,    39,   124,   255,   135,    -1,   184,   148,    -1,     3,
+      -1,    17,    -1,    16,    -1,    29,    -1,     4,    -1,   187,
+     129,   186,    -1,   186,    -1,    -1,    17,   187,   128,   189,
+     141,   134,    -1,    -1,    17,   128,   190,   141,   134,    -1,
+      41,     3,    -1,    41,   240,    -1,    41,   187,   129,   117,
+      -1,    -1,   193,    -1,   194,    -1,   193,   194,    -1,    20,
+      -1,    21,    -1,    18,    -1,    38,    -1,    47,    -1,    49,
+      -1,    48,    -1,    25,    -1,    23,    -1,     4,    -1,    -1,
+      54,   241,    -1,    -1,    54,   242,    -1,    -1,    15,   242,
+      -1,    -1,   192,    31,     3,   195,   197,   128,   199,   202,
+     134,    -1,    -1,   192,    44,     3,   196,   128,   201,   205,
+     134,    -1,    -1,   203,    -1,   204,    -1,   203,   204,    -1,
+     101,    -1,   151,   128,   202,   134,    -1,   209,    -1,   234,
+      -1,   146,    -1,    -1,   206,    -1,   207,    -1,   206,   207,
+      -1,   101,    -1,    46,     3,    -1,   192,    26,   233,     3,
+     124,   230,   135,   244,    -1,    46,    -1,    32,    -1,    -1,
+     192,   208,   210,   211,    -1,   212,    -1,   211,   102,   212,
+      -1,     3,   244,   152,    -1,    -1,   104,   261,    -1,     8,
+      -1,     9,    -1,    10,    -1,     5,    -1,    56,    -1,    55,
+      -1,    45,    -1,    28,    -1,    29,    -1,   227,    -1,   111,
+      -1,   112,    -1,    -1,    -1,   128,   261,   220,   134,    -1,
+      -1,   128,   261,   222,   134,    -1,    -1,   223,   219,    -1,
+     223,     5,    -1,   223,   112,    -1,   227,   223,    -1,   224,
+     227,   223,    -1,     3,    -1,   221,    -1,    -1,   228,    -1,
+     216,   225,   226,   116,   218,   112,    -1,   216,   225,   226,
+     217,   223,   111,   116,   225,   218,   112,    -1,   216,   225,
+     226,   217,   223,   224,   111,   116,   225,   218,   112,    -1,
+     229,    -1,   228,   229,    -1,   221,    -1,   221,   104,     5,
+      -1,   221,   104,   221,    -1,     3,   104,   221,    -1,     3,
+     104,     5,    -1,    -1,   231,    -1,    95,   232,    -1,   231,
+     102,    95,   232,    -1,   231,   102,   232,    -1,   232,    -1,
+       3,   106,   243,   213,    -1,     3,   213,    -1,    51,    -1,
+      35,    -1,    -1,    -1,   192,    26,   233,     3,   124,   230,
+     135,   244,   128,   235,   144,   134,    -1,     3,    -1,    -1,
+      -1,    26,   236,   124,   230,   135,   244,   128,   238,   144,
+     134,    -1,   186,    -1,   187,   129,   186,    -1,   240,    -1,
+     239,    -1,   241,    -1,   242,   102,   241,    -1,   241,    -1,
+     117,    -1,    36,    -1,   106,   243,    -1,    -1,    -1,   124,
+     246,   135,    -1,    -1,   247,    -1,   248,    -1,   254,    -1,
+     247,   102,    -1,   248,   254,    -1,    -1,    24,   261,   249,
+     245,    -1,   261,   124,   246,   135,    -1,    53,   124,   246,
+     135,    -1,    64,   261,    -1,    42,    -1,    42,   255,    -1,
+     261,    -1,   256,    -1,   261,    -1,   256,   102,   261,    -1,
+     261,    -1,   257,   102,   261,    -1,    -1,   260,    -1,     3,
+      -1,     5,    -1,     8,    -1,     9,    -1,    10,    -1,   259,
+     106,   254,    -1,   260,   102,   259,   106,   254,    -1,   237,
+      -1,   265,    -1,   250,    -1,   252,    -1,   251,    -1,   266,
+      -1,   214,    -1,   215,    -1,     6,    -1,    19,    -1,   126,
+     246,   127,    -1,    71,   258,   134,    -1,   261,   111,   261,
+      -1,   261,   112,   261,    -1,   261,    76,   261,    -1,   261,
+      77,   261,    -1,   261,    72,   261,    -1,   261,    73,   261,
+      -1,   261,    75,   261,    -1,   261,    74,   261,    -1,   261,
+      89,   261,    -1,   261,    90,   261,    -1,   120,   261,    -1,
+     119,   261,    -1,   261,   109,   261,    -1,   261,   108,   261,
+      -1,   261,   107,   261,    -1,   261,    98,   261,    -1,   261,
+      97,   261,    -1,   261,    96,   261,    -1,   261,   116,   261,
+      -1,   261,   118,   261,    -1,   261,   115,   261,    -1,   261,
+     114,   261,    -1,   261,   117,   261,    -1,   261,    69,   261,
+      -1,   261,    70,   261,    -1,   261,    40,   261,    -1,   261,
+      68,   261,    -1,    43,   261,    -1,    36,   261,    -1,    36,
+      -1,   124,   256,   135,    -1,   114,   261,    -1,   261,   126,
+     261,   127,    -1,   261,    81,   261,    -1,   261,    80,   261,
+      -1,   261,    87,   261,    -1,   261,    86,   261,    -1,   261,
+      88,   261,    -1,   261,    79,   261,    -1,   261,    78,   261,
+      -1,   261,    85,   261,    -1,   261,    82,   261,    -1,   261,
+      83,   261,    -1,   261,    84,   261,    -1,   261,   104,   261,
+      -1,   261,   105,   261,   106,   261,    -1,   261,    93,    -1,
+     261,    92,    -1,    93,   261,    -1,    92,   261,    -1,    53,
+     129,     3,    -1,   130,     3,    -1,    -1,   261,   129,   124,
+     262,   261,   135,    -1,     3,    -1,   117,    -1,     4,    -1,
+     186,    -1,   117,    -1,   261,   129,   263,    91,   264,    -1,
+     261,    94,   264,    -1,   261,   129,   126,   261,   127,    -1,
+     261,   129,   130,   264,    -1,   261,    94,   130,   264,    -1,
+     261,   129,   130,   126,   261,   127,    -1,   261,    94,   130,
+     126,   261,   127,    -1,   261,   129,   264,    -1,     3,    -1,
+      16,     3,    -1,    16,     3,   104,     3,    -1,    16,     3,
+     104,     5,    -1,   192,   267,    -1,    63,    16,   104,   261,
+      -1,    22,    16,   241,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -2535,8 +2697,8 @@ static const yytype_uint16 yyrline[] =
     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,  3770,  3804,
-    3811,  3818,  3825,  3847,  3853
+    3519,  3537,  3544,  3555,  3562,  3569,  3579,  3590,  3776,  3810,
+    3817,  3824,  3831,  3853,  3859
 };
 #endif
 
@@ -4151,6 +4313,7 @@ yydestruct (yymsg, yytype, yyvaluep)
 
   switch (yytype)
     {
+
       default:
        break;
     }
@@ -4158,15 +4321,13 @@ yydestruct (yymsg, yytype, yyvaluep)
 
 /* Prevent warnings from -Wmissing-prototypes.  */
 #ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#if defined __STDC__ || defined __cplusplus
 int yyparse (void *YYPARSE_PARAM);
 #else
 int yyparse ();
 #endif
 #else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#if defined __STDC__ || defined __cplusplus
 int yyparse (void);
 #else
 int yyparse ();
@@ -4455,6 +4616,7 @@ yyreduce:
         
     case 13:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 1980 "parser.y"
     {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);}
@@ -4465,6 +4627,7 @@ yyreduce:
   
     case 24:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 1992 "parser.y"
     {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);}
@@ -4475,6 +4638,7 @@ yyreduce:
   
     case 25:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 1993 "parser.y"
     {PASS_ALWAYS as3_pass=(yyvsp[(2) - (4)].number_int);PASS1 as3_warning("embed command ignored");}
@@ -4485,6 +4649,7 @@ yyreduce:
   
     case 27:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 1996 "parser.y"
     {(yyval.code)=(yyvsp[(1) - (1)].code);}
@@ -4495,6 +4660,7 @@ yyreduce:
   
     case 28:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 1997 "parser.y"
     {(yyval.code)=code_new();}
@@ -4505,6 +4671,7 @@ yyreduce:
   
     case 29:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 1999 "parser.y"
     {
@@ -4517,6 +4684,7 @@ yyreduce:
   
     case 30:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2002 "parser.y"
     {(yyval.code)=(yyvsp[(1) - (1)].code);}
@@ -4527,6 +4695,7 @@ yyreduce:
   
     case 44:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2018 "parser.y"
     {(yyval.code)=(yyvsp[(2) - (3)].code);}
@@ -4537,6 +4706,7 @@ yyreduce:
   
     case 45:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2019 "parser.y"
     {(yyval.code)=0;}
@@ -4547,6 +4717,7 @@ yyreduce:
   
     case 46:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2022 "parser.y"
     {(yyval.code)=0;}
@@ -4557,6 +4728,7 @@ yyreduce:
   
     case 53:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2029 "parser.y"
     {
@@ -4575,6 +4747,7 @@ yyreduce:
   
     case 54:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2041 "parser.y"
     {(yyval.code)=(yyvsp[(1) - (2)].code);}
@@ -4585,6 +4758,7 @@ yyreduce:
   
     case 55:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2042 "parser.y"
     {(yyval.code)=(yyvsp[(1) - (1)].code);}
@@ -4595,6 +4769,7 @@ yyreduce:
   
     case 56:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2046 "parser.y"
     {
@@ -4612,6 +4787,7 @@ yyreduce:
   
     case 57:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2057 "parser.y"
     {
@@ -4626,6 +4802,7 @@ yyreduce:
   
     case 58:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2065 "parser.y"
     {
@@ -4644,6 +4821,7 @@ yyreduce:
   
     case 59:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2092 "parser.y"
     {(yyval.node)=(yyvsp[(2) - (2)].node);}
@@ -4654,6 +4832,7 @@ yyreduce:
   
     case 60:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2093 "parser.y"
     {(yyval.node)=mkdummynode();}
@@ -4664,6 +4843,7 @@ yyreduce:
   
     case 61:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2095 "parser.y"
     {(yyval.code)=(yyvsp[(2) - (2)].code);}
@@ -4674,6 +4854,7 @@ yyreduce:
   
     case 62:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2096 "parser.y"
     {(yyval.code)=(yyvsp[(2) - (2)].code);}
@@ -4684,6 +4865,7 @@ yyreduce:
   
     case 63:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2098 "parser.y"
     {(yyval.code) = (yyvsp[(1) - (1)].code);}
@@ -4694,6 +4876,7 @@ yyreduce:
   
     case 64:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2099 "parser.y"
     {(yyval.code) = code_append((yyvsp[(1) - (3)].code), (yyvsp[(3) - (3)].code));}
@@ -4704,6 +4887,7 @@ yyreduce:
   
     case 65:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2102 "parser.y"
     {
@@ -4770,6 +4954,7 @@ PASS2
   
     case 66:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2162 "parser.y"
     {PASS12 new_state();}
@@ -4780,6 +4965,7 @@ PASS2
   
     case 67:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2162 "parser.y"
     {
@@ -4793,6 +4979,7 @@ PASS2
   
     case 68:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2166 "parser.y"
     {(yyval.code) = code_new();}
@@ -4803,6 +4990,7 @@ PASS2
   
     case 69:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2167 "parser.y"
     {(yyval.code)=(yyvsp[(2) - (2)].code);}
@@ -4813,6 +5001,7 @@ PASS2
   
     case 70:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2170 "parser.y"
     {
@@ -4837,6 +5026,7 @@ PASS2
   
     case 71:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2186 "parser.y"
     {(yyval.code)=code_new();}
@@ -4847,6 +5037,7 @@ PASS2
   
     case 74:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2193 "parser.y"
     {
@@ -4860,6 +5051,7 @@ PASS2
   
     case 75:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2197 "parser.y"
     {
@@ -4873,6 +5065,7 @@ PASS2
   
     case 76:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2202 "parser.y"
     {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (2)].id);(yyval.for_start).each=0;}
@@ -4883,6 +5076,7 @@ PASS2
   
     case 77:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2203 "parser.y"
     {PASS12 new_state();(yyval.for_start).name=(yyvsp[(1) - (3)].id);(yyval.for_start).each=1;}
@@ -4893,6 +5087,7 @@ PASS2
   
     case 78:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2205 "parser.y"
     {
@@ -4921,13 +5116,13 @@ PASS2
   
     case 79:
     if(as3_pass==2) {
+
 /* 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();
 
@@ -4948,8 +5143,9 @@ PASS2
         (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);
@@ -4973,6 +5169,7 @@ PASS2
   
     case 80:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2269 "parser.y"
     {
@@ -4997,6 +5194,7 @@ PASS2
   
     case 81:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2285 "parser.y"
     {
@@ -5017,6 +5215,7 @@ PASS2
   
     case 82:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2297 "parser.y"
     {
@@ -5029,6 +5228,7 @@ PASS2
   
     case 83:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2300 "parser.y"
     {
@@ -5041,6 +5241,7 @@ PASS2
   
     case 84:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2303 "parser.y"
     {
@@ -5053,6 +5254,7 @@ PASS2
   
     case 85:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2306 "parser.y"
     {
@@ -5065,6 +5267,7 @@ PASS2
   
     case 86:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2310 "parser.y"
     {(yyval.code)=0;}
@@ -5075,6 +5278,7 @@ PASS2
   
     case 87:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2311 "parser.y"
     {(yyval.code)=(yyvsp[(1) - (1)].code);}
@@ -5085,6 +5289,7 @@ PASS2
   
     case 88:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2312 "parser.y"
     {(yyval.code)=(yyvsp[(1) - (1)].code);}
@@ -5095,6 +5300,7 @@ PASS2
   
     case 89:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2313 "parser.y"
     {(yyval.code)=code_append((yyvsp[(1) - (2)].code),(yyvsp[(2) - (2)].code));}
@@ -5105,6 +5311,7 @@ PASS2
   
     case 90:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2314 "parser.y"
     {(yyval.code)=(yyvsp[(1) - (1)].code);}
@@ -5115,6 +5322,7 @@ PASS2
   
     case 91:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2315 "parser.y"
     {(yyval.code)=code_append((yyval.code),(yyvsp[(2) - (2)].code));}
@@ -5125,6 +5333,7 @@ PASS2
   
     case 92:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2317 "parser.y"
     {
@@ -5145,6 +5354,7 @@ PASS2
   
     case 93:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2328 "parser.y"
     {
@@ -5157,6 +5367,7 @@ PASS2
   
     case 94:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2331 "parser.y"
     {PASS12 new_state();state->switch_var=alloc_local();}
@@ -5167,6 +5378,7 @@ PASS2
   
     case 95:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2331 "parser.y"
     {
@@ -5204,6 +5416,7 @@ PASS2
   
     case 96:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2362 "parser.y"
     {PASS12 new_state();
@@ -5218,6 +5431,7 @@ PASS2
   
     case 97:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2367 "parser.y"
     {
@@ -5247,6 +5461,7 @@ PASS2
   
     case 98:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2387 "parser.y"
     {PASS12 new_state();state->exception_name=0;}
@@ -5257,6 +5472,7 @@ PASS2
   
     case 99:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2387 "parser.y"
     {
@@ -5281,6 +5497,7 @@ PASS2
   
     case 100:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2403 "parser.y"
     {(yyval.catch_list).l=list_new();(yyval.catch_list).finally=0;list_append((yyval.catch_list).l,(yyvsp[(1) - (1)].exception));}
@@ -5291,6 +5508,7 @@ PASS2
   
     case 101:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2404 "parser.y"
     {(yyval.catch_list)=(yyvsp[(1) - (2)].catch_list);list_append((yyval.catch_list).l,(yyvsp[(2) - (2)].exception));}
@@ -5301,6 +5519,7 @@ PASS2
   
     case 102:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2405 "parser.y"
     {(yyval.catch_list)=(yyvsp[(1) - (1)].catch_list);}
@@ -5311,6 +5530,7 @@ PASS2
   
     case 103:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2406 "parser.y"
     {
@@ -5328,6 +5548,7 @@ PASS2
   
     case 104:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2414 "parser.y"
     {
@@ -5345,6 +5566,7 @@ PASS2
   
     case 105:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2423 "parser.y"
     {PASS12 new_state();
@@ -5358,6 +5580,7 @@ PASS2
   
     case 106:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2426 "parser.y"
     {
@@ -5410,6 +5633,7 @@ PASS2
   
     case 107:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2472 "parser.y"
     {
@@ -5423,6 +5647,7 @@ PASS2
   
     case 108:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2476 "parser.y"
     {
@@ -5440,6 +5665,7 @@ PASS2
   
     case 109:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2487 "parser.y"
     {
@@ -5459,6 +5685,7 @@ PASS2
   
     case 110:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2497 "parser.y"
     {
@@ -5482,6 +5709,7 @@ PASS2
   
     case 112:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2515 "parser.y"
     {PASS12 (yyval.id)="package";}
@@ -5492,6 +5720,7 @@ PASS2
   
     case 113:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2516 "parser.y"
     {PASS12 (yyval.id)="namespace";}
@@ -5502,6 +5731,7 @@ PASS2
   
     case 114:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2517 "parser.y"
     {PASS12 (yyval.id)="NaN";}
@@ -5512,6 +5742,7 @@ PASS2
   
     case 115:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2518 "parser.y"
     {PASS12 (yyval.id)=(yyvsp[(1) - (1)].id);}
@@ -5522,6 +5753,7 @@ PASS2
   
     case 116:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2520 "parser.y"
     {PASS12 (yyval.id) = concat3((yyvsp[(1) - (3)].id),".",(yyvsp[(3) - (3)].id));free((yyvsp[(1) - (3)].id));(yyvsp[(1) - (3)].id)=0;}
@@ -5532,6 +5764,7 @@ PASS2
   
     case 117:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2521 "parser.y"
     {PASS12 (yyval.id)=strdup((yyvsp[(1) - (1)].id));}
@@ -5542,6 +5775,7 @@ PASS2
   
     case 118:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2523 "parser.y"
     {PASS12 startpackage((yyvsp[(2) - (3)].id));free((yyvsp[(2) - (3)].id));(yyvsp[(2) - (3)].id)=0;}
@@ -5552,6 +5786,7 @@ PASS2
   
     case 119:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2524 "parser.y"
     {PASS12 endpackage();(yyval.code)=0;}
@@ -5562,6 +5797,7 @@ PASS2
   
     case 120:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2525 "parser.y"
     {PASS12 startpackage("");}
@@ -5572,6 +5808,7 @@ PASS2
   
     case 121:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2526 "parser.y"
     {PASS12 endpackage();(yyval.code)=0;}
@@ -5582,6 +5819,7 @@ PASS2
   
     case 122:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2549 "parser.y"
     {
@@ -5599,6 +5837,7 @@ PASS2
   
     case 123:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2557 "parser.y"
     {
@@ -5619,6 +5858,7 @@ PASS2
   
     case 124:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2568 "parser.y"
     {
@@ -5641,6 +5881,7 @@ PASS2
   
     case 125:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2584 "parser.y"
     {PASS12 (yyval.flags).flags=0;(yyval.flags).ns=0;}
@@ -5651,6 +5892,7 @@ PASS2
   
     case 126:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2585 "parser.y"
     {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
@@ -5661,6 +5903,7 @@ PASS2
   
     case 127:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2586 "parser.y"
     {PASS12 (yyval.flags)=(yyvsp[(1) - (1)].flags);}
@@ -5671,6 +5914,7 @@ PASS2
   
     case 128:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2587 "parser.y"
     {
@@ -5687,6 +5931,7 @@ PASS2
   
     case 129:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2594 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_PUBLIC;(yyval.flags).ns=0;}
@@ -5697,6 +5942,7 @@ PASS2
   
     case 130:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2595 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_PRIVATE;(yyval.flags).ns=0;}
@@ -5707,6 +5953,7 @@ PASS2
   
     case 131:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2596 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_PROTECTED;(yyval.flags).ns=0;}
@@ -5717,6 +5964,7 @@ PASS2
   
     case 132:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2597 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_STATIC;(yyval.flags).ns=0;}
@@ -5727,6 +5975,7 @@ PASS2
   
     case 133:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2598 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_DYNAMIC;(yyval.flags).ns=0;}
@@ -5737,6 +5986,7 @@ PASS2
   
     case 134:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2599 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_FINAL;(yyval.flags).ns=0;}
@@ -5747,6 +5997,7 @@ PASS2
   
     case 135:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2600 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_OVERRIDE;(yyval.flags).ns=0;}
@@ -5757,6 +6008,7 @@ PASS2
   
     case 136:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2601 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_NATIVE;(yyval.flags).ns=0;}
@@ -5767,6 +6019,7 @@ PASS2
   
     case 137:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2602 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_PACKAGEINTERNAL;(yyval.flags).ns=0;}
@@ -5777,6 +6030,7 @@ PASS2
   
     case 138:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2603 "parser.y"
     {PASS12 (yyval.flags).flags=FLAG_NAMESPACE;
@@ -5789,6 +6043,7 @@ PASS2
   
     case 139:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2607 "parser.y"
     {PASS12 (yyval.classinfo)=0;}
@@ -5799,6 +6054,7 @@ PASS2
   
     case 140:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2608 "parser.y"
     {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
@@ -5809,6 +6065,7 @@ PASS2
   
     case 141:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2610 "parser.y"
     {PASS12 (yyval.classinfo_list)=list_new();}
@@ -5819,6 +6076,7 @@ PASS2
   
     case 142:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2611 "parser.y"
     {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
@@ -5829,6 +6087,7 @@ PASS2
   
     case 143:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2613 "parser.y"
     {PASS12 (yyval.classinfo_list)=list_new();}
@@ -5839,6 +6098,7 @@ PASS2
   
     case 144:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2614 "parser.y"
     {PASS12 (yyval.classinfo_list)=(yyvsp[(2) - (2)].classinfo_list);}
@@ -5849,6 +6109,7 @@ PASS2
   
     case 145:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2618 "parser.y"
     {PASS12 startclass(&(yyvsp[(1) - (6)].flags),(yyvsp[(3) - (6)].id),(yyvsp[(4) - (6)].classinfo),(yyvsp[(5) - (6)].classinfo_list));}
@@ -5859,6 +6120,7 @@ PASS2
   
     case 146:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2620 "parser.y"
     {PASS12 endclass();(yyval.code)=0;}
@@ -5869,6 +6131,7 @@ PASS2
   
     case 147:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2624 "parser.y"
     {PASS12 (yyvsp[(1) - (5)].flags).flags|=FLAG_INTERFACE;
@@ -5880,6 +6143,7 @@ PASS2
   
     case 148:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2627 "parser.y"
     {PASS12 endclass();(yyval.code)=0;}
@@ -5890,6 +6154,7 @@ PASS2
   
     case 154:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2636 "parser.y"
     {PASS_ALWAYS as3_pass=(yyvsp[(1) - (4)].number_int);}
@@ -5900,6 +6165,7 @@ PASS2
   
     case 157:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2640 "parser.y"
     {
@@ -5914,6 +6180,7 @@ PASS2
   
     case 163:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2651 "parser.y"
     {
@@ -5926,6 +6193,7 @@ PASS2
   
     case 164:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2654 "parser.y"
     {
@@ -5945,6 +6213,7 @@ PASS2
   
     case 167:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2729 "parser.y"
     {PASS12 setslotstate(&(yyvsp[(1) - (2)].flags),(yyvsp[(2) - (2)].token));}
@@ -5955,6 +6224,7 @@ PASS2
   
     case 168:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2729 "parser.y"
     {PASS12 (yyval.code)=(yyvsp[(4) - (4)].code);setslotstate(0, 0);}
@@ -5965,6 +6235,7 @@ PASS2
   
     case 169:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2731 "parser.y"
     {PASS12 (yyval.code)=0;}
@@ -5975,6 +6246,7 @@ PASS2
   
     case 170:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2732 "parser.y"
     {PASS12 (yyval.code)=0;}
@@ -5985,6 +6257,7 @@ PASS2
   
     case 171:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2735 "parser.y"
     {
@@ -6074,6 +6347,7 @@ PASS12
   
     case 172:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2818 "parser.y"
     {(yyval.constant)=0;}
@@ -6084,6 +6358,7 @@ PASS12
   
     case 173:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2819 "parser.y"
     {
@@ -6100,6 +6375,7 @@ PASS12
   
     case 174:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2828 "parser.y"
     {(yyval.constant) = constant_new_int((yyvsp[(1) - (1)].number_int));}
@@ -6110,6 +6386,7 @@ PASS12
   
     case 175:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2829 "parser.y"
     {
@@ -6122,6 +6399,7 @@ PASS12
   
     case 176:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2832 "parser.y"
     {(yyval.constant) = constant_new_float((yyvsp[(1) - (1)].number_float));}
@@ -6132,6 +6410,7 @@ PASS12
   
     case 177:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2833 "parser.y"
     {(yyval.constant) = constant_new_string2((yyvsp[(1) - (1)].str).str,(yyvsp[(1) - (1)].str).len);free((char*)(yyvsp[(1) - (1)].str).str);}
@@ -6142,6 +6421,7 @@ PASS12
   
     case 178:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2834 "parser.y"
     {(yyval.constant) = constant_new_true((yyvsp[(1) - (1)].token));}
@@ -6152,6 +6432,7 @@ PASS12
   
     case 179:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2835 "parser.y"
     {(yyval.constant) = constant_new_false((yyvsp[(1) - (1)].token));}
@@ -6162,6 +6443,7 @@ PASS12
   
     case 180:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2836 "parser.y"
     {(yyval.constant) = constant_new_null((yyvsp[(1) - (1)].token));}
@@ -6172,6 +6454,7 @@ PASS12
   
     case 181:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2837 "parser.y"
     {(yyval.constant) = constant_new_undefined((yyvsp[(1) - (1)].token));}
@@ -6182,6 +6465,7 @@ PASS12
   
     case 182:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2838 "parser.y"
     {(yyval.constant) = constant_new_float(__builtin_nan(""));}
@@ -6192,6 +6476,7 @@ PASS12
   
     case 183:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2851 "parser.y"
     {
@@ -6211,6 +6496,7 @@ PASS12
   
     case 184:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2862 "parser.y"
     {PASS_ALWAYS if(!xml_level++) tokenizer_begin_xml();}
@@ -6221,6 +6507,7 @@ PASS12
   
     case 185:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2863 "parser.y"
     {PASS_ALWAYS tokenizer_begin_xmltext();}
@@ -6231,6 +6518,7 @@ PASS12
   
     case 186:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2864 "parser.y"
     {PASS_ALWAYS if(!--xml_level) tokenizer_end_xml(); else tokenizer_begin_xmltext();}
@@ -6241,6 +6529,7 @@ PASS12
   
     case 187:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2866 "parser.y"
     {PASS_ALWAYS tokenizer_begin_xmltext();}
@@ -6251,6 +6540,7 @@ PASS12
   
     case 188:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2866 "parser.y"
     {
@@ -6263,6 +6553,7 @@ PASS12
   
     case 189:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2869 "parser.y"
     {PASS_ALWAYS tokenizer_begin_xml();}
@@ -6273,6 +6564,7 @@ PASS12
   
     case 190:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2869 "parser.y"
     {
@@ -6285,6 +6577,7 @@ PASS12
   
     case 191:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2872 "parser.y"
     {(yyval.node)=mkstringnode("");}
@@ -6295,6 +6588,7 @@ PASS12
   
     case 192:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2873 "parser.y"
     {
@@ -6307,6 +6601,7 @@ PASS12
   
     case 193:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2876 "parser.y"
     {
@@ -6321,6 +6616,7 @@ PASS12
   
     case 194:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2881 "parser.y"
     {
@@ -6333,6 +6629,7 @@ PASS12
   
     case 195:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2884 "parser.y"
     {
@@ -6345,6 +6642,7 @@ PASS12
   
     case 196:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2887 "parser.y"
     {
@@ -6357,6 +6655,7 @@ PASS12
   
     case 197:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2890 "parser.y"
     {
@@ -6369,6 +6668,7 @@ PASS12
   
     case 198:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2893 "parser.y"
     {
@@ -6381,6 +6681,7 @@ PASS12
   
     case 199:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2897 "parser.y"
     {
@@ -6393,6 +6694,7 @@ PASS12
   
     case 200:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2900 "parser.y"
     {
@@ -6405,6 +6707,7 @@ PASS12
   
     case 201:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2904 "parser.y"
     {
@@ -6418,6 +6721,7 @@ PASS12
   
     case 202:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2908 "parser.y"
     {
@@ -6432,6 +6736,7 @@ PASS12
   
     case 203:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2913 "parser.y"
     {
@@ -6446,6 +6751,7 @@ PASS12
   
     case 204:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2919 "parser.y"
     {
@@ -6458,6 +6764,7 @@ PASS12
   
     case 205:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2922 "parser.y"
     {
@@ -6470,6 +6777,7 @@ PASS12
   
     case 206:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2925 "parser.y"
     {
@@ -6482,6 +6790,7 @@ PASS12
   
     case 207:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2928 "parser.y"
     {
@@ -6496,6 +6805,7 @@ PASS12
   
     case 208:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2933 "parser.y"
     {
@@ -6508,6 +6818,7 @@ PASS12
   
     case 209:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2936 "parser.y"
     {
@@ -6520,6 +6831,7 @@ PASS12
   
     case 210:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2939 "parser.y"
     {
@@ -6535,6 +6847,7 @@ PASS12
   
     case 211:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2949 "parser.y"
     {
@@ -6548,6 +6861,7 @@ PASS12
   
     case 212:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2953 "parser.y"
     {
@@ -6561,6 +6875,7 @@ PASS12
   
     case 213:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2959 "parser.y"
     {
@@ -6576,6 +6891,7 @@ PASS12
   
     case 214:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2965 "parser.y"
     {
@@ -6591,6 +6907,7 @@ PASS12
   
     case 215:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2973 "parser.y"
     {
@@ -6605,6 +6922,7 @@ PASS12
   
     case 216:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2978 "parser.y"
     {
@@ -6619,6 +6937,7 @@ PASS12
   
     case 217:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2984 "parser.y"
     {
@@ -6636,6 +6955,7 @@ PASS12
   
     case 218:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 2992 "parser.y"
     {
@@ -6653,6 +6973,7 @@ PASS12
   
     case 221:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3002 "parser.y"
     {PASS12 (yyval.token)=0;}
@@ -6663,6 +6984,7 @@ PASS12
   
     case 222:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3005 "parser.y"
     {PASS12 startfunction(&(yyvsp[(1) - (9)].flags),(yyvsp[(3) - (9)].token),(yyvsp[(4) - (9)].id),&(yyvsp[(6) - (9)].params),(yyvsp[(8) - (9)].classinfo));}
@@ -6673,6 +6995,7 @@ PASS12
   
     case 223:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3006 "parser.y"
     {
@@ -6696,6 +7019,7 @@ PASS12
   
     case 225:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3022 "parser.y"
     {PASS12 (yyval.id)=0;}
@@ -6706,6 +7030,7 @@ PASS12
   
     case 226:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3024 "parser.y"
     {PASS12 innerfunction((yyvsp[(2) - (7)].id),&(yyvsp[(4) - (7)].params),(yyvsp[(6) - (7)].classinfo));}
@@ -6716,6 +7041,7 @@ PASS12
   
     case 227:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3025 "parser.y"
     {
@@ -6743,6 +7069,7 @@ PASS12
   
     case 228:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3047 "parser.y"
     {
@@ -6770,6 +7097,7 @@ PASS12
   
     case 229:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3066 "parser.y"
     {
@@ -6792,6 +7120,7 @@ PASS12
   
     case 232:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3083 "parser.y"
     {PASS12 (yyval.classinfo_list)=list_new();list_append((yyval.classinfo_list), (yyvsp[(1) - (1)].classinfo));}
@@ -6802,6 +7131,7 @@ PASS12
   
     case 233:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3084 "parser.y"
     {PASS12 (yyval.classinfo_list)=(yyvsp[(1) - (3)].classinfo_list);list_append((yyval.classinfo_list),(yyvsp[(3) - (3)].classinfo));}
@@ -6812,6 +7142,7 @@ PASS12
   
     case 234:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3086 "parser.y"
     {PASS12 (yyval.classinfo)=(yyvsp[(1) - (1)].classinfo);}
@@ -6822,6 +7153,7 @@ PASS12
   
     case 235:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3087 "parser.y"
     {PASS12 (yyval.classinfo)=TYPE_ANY;}
@@ -6832,6 +7164,7 @@ PASS12
   
     case 236:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3088 "parser.y"
     {PASS12 (yyval.classinfo)=TYPE_VOID;}
@@ -6842,6 +7175,7 @@ PASS12
   
     case 237:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3097 "parser.y"
     {PASS12 (yyval.classinfo)=(yyvsp[(2) - (2)].classinfo);}
@@ -6852,6 +7186,7 @@ PASS12
   
     case 238:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3098 "parser.y"
     {PASS12 (yyval.classinfo)=0;}
@@ -6862,6 +7197,7 @@ PASS12
   
     case 239:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3102 "parser.y"
     {(yyval.value_list).cc=0;(yyval.value_list).number=0;}
@@ -6872,6 +7208,7 @@ PASS12
   
     case 240:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3103 "parser.y"
     {(yyval.value_list)=(yyvsp[(2) - (3)].value_list);}
@@ -6882,6 +7219,7 @@ PASS12
   
     case 241:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3105 "parser.y"
     {(yyval.value_list).cc=0;(yyval.value_list).number=0;}
@@ -6892,6 +7230,7 @@ PASS12
   
     case 244:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3109 "parser.y"
     {(yyval.value_list).number=1;
@@ -6904,6 +7243,7 @@ PASS12
   
     case 245:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3113 "parser.y"
     {(yyval.value_list) = (yyvsp[(1) - (2)].value_list);}
@@ -6914,6 +7254,7 @@ PASS12
   
     case 246:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3114 "parser.y"
     {
@@ -6927,6 +7268,7 @@ PASS12
   
     case 248:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3120 "parser.y"
     {
@@ -6978,6 +7320,7 @@ PASS12
   
     case 249:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3167 "parser.y"
     {
@@ -7036,6 +7379,7 @@ PASS12
   
     case 250:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3217 "parser.y"
     {
@@ -7065,6 +7409,7 @@ PASS12
   
     case 251:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3238 "parser.y"
     {
@@ -7095,6 +7440,7 @@ PASS12
   
     case 252:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3260 "parser.y"
     {
@@ -7107,6 +7453,7 @@ PASS12
   
     case 253:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3263 "parser.y"
     {
@@ -7120,6 +7467,7 @@ PASS12
   
     case 254:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3270 "parser.y"
     {
@@ -7132,6 +7480,7 @@ PASS12
   
     case 255:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3273 "parser.y"
     {
@@ -7144,6 +7493,7 @@ PASS12
   
     case 256:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3276 "parser.y"
     {
@@ -7156,6 +7506,7 @@ PASS12
   
     case 257:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3279 "parser.y"
     {
@@ -7168,6 +7519,7 @@ PASS12
   
     case 258:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3282 "parser.y"
     { 
@@ -7180,6 +7532,7 @@ PASS12
   
     case 259:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3285 "parser.y"
     { 
@@ -7193,6 +7546,7 @@ PASS12
   
     case 260:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3290 "parser.y"
     {(yyval.value_list).cc=0;(yyval.value_list).number=0;}
@@ -7203,6 +7557,7 @@ PASS12
   
     case 261:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3291 "parser.y"
     {(yyval.value_list)=(yyvsp[(1) - (1)].value_list);}
@@ -7213,6 +7568,7 @@ PASS12
   
     case 262:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3293 "parser.y"
     {(yyval.code)=abc_pushstring(0,(yyvsp[(1) - (1)].id));}
@@ -7223,6 +7579,7 @@ PASS12
   
     case 263:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3294 "parser.y"
     {(yyval.code)=abc_pushstring2(0,&(yyvsp[(1) - (1)].str));}
@@ -7233,6 +7590,7 @@ PASS12
   
     case 264:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3295 "parser.y"
     {syntaxerror("dictionary keys must be strings");}
@@ -7243,6 +7601,7 @@ PASS12
   
     case 265:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3296 "parser.y"
     {syntaxerror("dictionary keys must be strings");}
@@ -7253,6 +7612,7 @@ PASS12
   
     case 266:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3297 "parser.y"
     {syntaxerror("dictionary keys must be strings");}
@@ -7263,6 +7623,7 @@ PASS12
   
     case 267:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3299 "parser.y"
     {
@@ -7278,6 +7639,7 @@ PASS12
   
     case 268:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3305 "parser.y"
     {
@@ -7293,6 +7655,7 @@ PASS12
   
     case 269:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3314 "parser.y"
     {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
@@ -7303,6 +7666,7 @@ PASS12
   
     case 270:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3315 "parser.y"
     {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
@@ -7313,6 +7677,7 @@ PASS12
   
     case 271:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3316 "parser.y"
     {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
@@ -7323,6 +7688,7 @@ PASS12
   
     case 272:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3317 "parser.y"
     {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
@@ -7333,6 +7699,7 @@ PASS12
   
     case 273:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3318 "parser.y"
     {(yyval.node) = mkcodenode((yyvsp[(1) - (1)].value));}
@@ -7343,6 +7710,7 @@ PASS12
   
     case 274:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3319 "parser.y"
     {(yyval.node) = (yyvsp[(1) - (1)].node);}
@@ -7353,6 +7721,7 @@ PASS12
   
     case 275:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3321 "parser.y"
     { 
@@ -7365,6 +7734,7 @@ PASS12
   
     case 276:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3325 "parser.y"
     {
@@ -7377,6 +7747,7 @@ PASS12
   
     case 277:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3330 "parser.y"
     {
@@ -7403,6 +7774,7 @@ PASS12
   
     case 278:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3348 "parser.y"
     {
@@ -7421,6 +7793,7 @@ PASS12
   
     case 279:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3359 "parser.y"
     {
@@ -7438,6 +7811,7 @@ PASS12
   
     case 280:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3369 "parser.y"
     {
@@ -7455,6 +7829,7 @@ PASS12
   
     case 281:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3378 "parser.y"
     {(yyval.node) = mknode2(&node_lt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7465,6 +7840,7 @@ PASS12
   
     case 282:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3379 "parser.y"
     {(yyval.node) = mknode2(&node_gt,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7475,6 +7851,7 @@ PASS12
   
     case 283:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3380 "parser.y"
     {(yyval.node) = mknode2(&node_le,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7485,6 +7862,7 @@ PASS12
   
     case 284:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3381 "parser.y"
     {(yyval.node) = mknode2(&node_ge,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7495,6 +7873,7 @@ PASS12
   
     case 285:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3382 "parser.y"
     {(yyval.node) = mknode2(&node_eqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7505,6 +7884,7 @@ PASS12
   
     case 286:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3383 "parser.y"
     {(yyval.node) = mknode2(&node_eqeqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7515,6 +7895,7 @@ PASS12
   
     case 287:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3384 "parser.y"
     {(yyval.node) = mknode2(&node_noteqeq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7525,6 +7906,7 @@ PASS12
   
     case 288:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3385 "parser.y"
     {(yyval.node) = mknode2(&node_noteq,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7535,6 +7917,7 @@ PASS12
   
     case 289:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3386 "parser.y"
     {(yyval.node) = mknode2(&node_oror,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7545,6 +7928,7 @@ PASS12
   
     case 290:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3387 "parser.y"
     {(yyval.node) = mknode2(&node_andand,(yyvsp[(1) - (3)].node),(yyvsp[(3) - (3)].node));}
@@ -7555,6 +7939,7 @@ PASS12
   
     case 291:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3388 "parser.y"
     {(yyval.node) = mknode1(&node_not, (yyvsp[(2) - (2)].node));}
@@ -7565,6 +7950,7 @@ PASS12
   
     case 292:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3389 "parser.y"
     {(yyval.node) = mknode1(&node_bitnot, (yyvsp[(2) - (2)].node));}
@@ -7575,6 +7961,7 @@ PASS12
   
     case 293:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3390 "parser.y"
     {(yyval.node) = mknode2(&node_bitand, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7585,6 +7972,7 @@ PASS12
   
     case 294:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3391 "parser.y"
     {(yyval.node) = mknode2(&node_bitxor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7595,6 +7983,7 @@ PASS12
   
     case 295:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3392 "parser.y"
     {(yyval.node) = mknode2(&node_bitor, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7605,6 +7994,7 @@ PASS12
   
     case 296:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3393 "parser.y"
     {(yyval.node) = mknode2(&node_shr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7615,6 +8005,7 @@ PASS12
   
     case 297:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3394 "parser.y"
     {(yyval.node) = mknode2(&node_ushr, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7625,6 +8016,7 @@ PASS12
   
     case 298:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3395 "parser.y"
     {(yyval.node) = mknode2(&node_shl, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7635,6 +8027,7 @@ PASS12
   
     case 299:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3396 "parser.y"
     {(yyval.node) = mknode2(&node_div, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7645,6 +8038,7 @@ PASS12
   
     case 300:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3397 "parser.y"
     {(yyval.node) = mknode2(&node_mod, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7655,6 +8049,7 @@ PASS12
   
     case 301:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3398 "parser.y"
     {(yyval.node) = mknode2(&node_plus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7665,6 +8060,7 @@ PASS12
   
     case 302:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3399 "parser.y"
     {(yyval.node) = mknode2(&node_minus, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7675,6 +8071,7 @@ PASS12
   
     case 303:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3400 "parser.y"
     {(yyval.node) = mknode2(&node_multiply, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7685,6 +8082,7 @@ PASS12
   
     case 304:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3401 "parser.y"
     {(yyval.node) = mknode2(&node_in, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7695,6 +8093,7 @@ PASS12
   
     case 305:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3402 "parser.y"
     {(yyval.node) = mknode2(&node_as, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7705,6 +8104,7 @@ PASS12
   
     case 306:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3403 "parser.y"
     {(yyval.node) = mknode2(&node_instanceof, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7715,6 +8115,7 @@ PASS12
   
     case 307:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3404 "parser.y"
     {(yyval.node) = mknode2(&node_is, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7725,6 +8126,7 @@ PASS12
   
     case 308:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3405 "parser.y"
     {(yyval.node) = mknode1(&node_typeof, (yyvsp[(2) - (2)].node));}
@@ -7735,6 +8137,7 @@ PASS12
   
     case 309:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3406 "parser.y"
     {(yyval.node) = mknode1(&node_void, (yyvsp[(2) - (2)].node));}
@@ -7745,6 +8148,7 @@ PASS12
   
     case 310:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3407 "parser.y"
     { (yyval.node) = mkconstnode(constant_new_undefined());}
@@ -7755,6 +8159,7 @@ PASS12
   
     case 311:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3408 "parser.y"
     { (yyval.node)=(yyvsp[(2) - (3)].node);}
@@ -7765,6 +8170,7 @@ PASS12
   
     case 312:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3409 "parser.y"
     {(yyval.node) = mknode1(&node_neg, (yyvsp[(2) - (2)].node));}
@@ -7775,6 +8181,7 @@ PASS12
   
     case 313:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3410 "parser.y"
     {(yyval.node) = mknode2(&node_arraylookup, (yyvsp[(1) - (4)].node),(yyvsp[(3) - (4)].node));}
@@ -7785,6 +8192,7 @@ PASS12
   
     case 314:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3411 "parser.y"
     {(yyval.node) = mknode2(&node_muleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7795,6 +8203,7 @@ PASS12
   
     case 315:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3412 "parser.y"
     {(yyval.node) = mknode2(&node_modeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7805,6 +8214,7 @@ PASS12
   
     case 316:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3413 "parser.y"
     {(yyval.node) = mknode2(&node_shleq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7815,6 +8225,7 @@ PASS12
   
     case 317:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3414 "parser.y"
     {(yyval.node) = mknode2(&node_shreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7825,6 +8236,7 @@ PASS12
   
     case 318:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3415 "parser.y"
     {(yyval.node) = mknode2(&node_ushreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7835,6 +8247,7 @@ PASS12
   
     case 319:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3416 "parser.y"
     { (yyval.node) = mknode2(&node_diveq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7845,6 +8258,7 @@ PASS12
   
     case 320:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3417 "parser.y"
     { (yyval.node) = mknode2(&node_bitoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7855,6 +8269,7 @@ PASS12
   
     case 321:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3418 "parser.y"
     { (yyval.node) = mknode2(&node_bitxoreq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7865,6 +8280,7 @@ PASS12
   
     case 322:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3419 "parser.y"
     { (yyval.node) = mknode2(&node_bitandeq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7875,6 +8291,7 @@ PASS12
   
     case 323:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3420 "parser.y"
     { (yyval.node) = mknode2(&node_pluseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7885,6 +8302,7 @@ PASS12
   
     case 324:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3421 "parser.y"
     { (yyval.node) = mknode2(&node_minuseq, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7895,6 +8313,7 @@ PASS12
   
     case 325:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3422 "parser.y"
     { (yyval.node) = mknode2(&node_assign, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));}
@@ -7905,6 +8324,7 @@ PASS12
   
     case 326:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3423 "parser.y"
     { (yyval.node) = mknode3(&node_tenary, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));}
@@ -7915,6 +8335,7 @@ PASS12
   
     case 327:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3425 "parser.y"
     { (yyval.node) = mknode1(&node_rplusplus, (yyvsp[(1) - (2)].node));}
@@ -7925,6 +8346,7 @@ PASS12
   
     case 328:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3426 "parser.y"
     { (yyval.node) = mknode1(&node_rminusminus, (yyvsp[(1) - (2)].node));}
@@ -7935,6 +8357,7 @@ PASS12
   
     case 329:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3427 "parser.y"
     {(yyval.node) = mknode1(&node_lplusplus, (yyvsp[(2) - (2)].node)); }
@@ -7945,6 +8368,7 @@ PASS12
   
     case 330:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3428 "parser.y"
     {(yyval.node) = mknode1(&node_lminusminus, (yyvsp[(2) - (2)].node)); }
@@ -7955,6 +8379,7 @@ PASS12
   
     case 331:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3431 "parser.y"
     { if(!state->cls->info)
@@ -7977,6 +8402,7 @@ PASS12
   
     case 332:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3445 "parser.y"
     {
@@ -7993,6 +8419,7 @@ PASS12
   
     case 333:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3453 "parser.y"
     {PASS12 new_state();state->xmlfilter=1;}
@@ -8003,6 +8430,7 @@ PASS12
   
     case 334:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3453 "parser.y"
     {
@@ -8065,6 +8493,7 @@ PASS12
   
     case 335:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3507 "parser.y"
     {(yyval.id)=(yyvsp[(1) - (1)].id);}
@@ -8075,6 +8504,7 @@ PASS12
   
     case 336:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3508 "parser.y"
     {(yyval.id)="*";}
@@ -8085,6 +8515,7 @@ PASS12
   
     case 337:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3509 "parser.y"
     {(yyval.id)=(char*)(yyvsp[(1) - (1)].id);}
@@ -8095,6 +8526,7 @@ PASS12
   
     case 339:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3511 "parser.y"
     {(yyval.id)="*";}
@@ -8105,6 +8537,7 @@ PASS12
   
     case 340:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3519 "parser.y"
     {
@@ -8132,6 +8565,7 @@ PASS12
   
     case 341:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3537 "parser.y"
     {
@@ -8148,6 +8582,7 @@ PASS12
   
     case 342:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3544 "parser.y"
     {
@@ -8167,6 +8602,7 @@ PASS12
   
     case 343:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3555 "parser.y"
     {
@@ -8183,6 +8619,7 @@ PASS12
   
     case 344:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3562 "parser.y"
     {
@@ -8199,6 +8636,7 @@ PASS12
   
     case 345:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3569 "parser.y"
     {
@@ -8218,6 +8656,7 @@ PASS12
   
     case 346:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3579 "parser.y"
     {
@@ -8237,6 +8676,7 @@ PASS12
   
     case 347:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
 #line 3590 "parser.y"
     {
@@ -8310,8 +8750,9 @@ PASS12
   
     case 348:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
-#line 3770 "parser.y"
+#line 3776 "parser.y"
     {
     PASS1
     /* Queue unresolved identifiers for checking against the parent
@@ -8341,8 +8782,9 @@ PASS12
   
     case 349:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
-#line 3804 "parser.y"
+#line 3810 "parser.y"
     {
     PASS12
     NEW(namespace_decl_t,n);
@@ -8357,8 +8799,9 @@ PASS12
   
     case 350:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
-#line 3811 "parser.y"
+#line 3817 "parser.y"
     {
     PASS12
     NEW(namespace_decl_t,n);
@@ -8373,8 +8816,9 @@ PASS12
   
     case 351:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
-#line 3818 "parser.y"
+#line 3824 "parser.y"
     {
     PASS12
     NEW(namespace_decl_t,n);
@@ -8389,11 +8833,12 @@ PASS12
   
     case 352:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
-#line 3825 "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);
@@ -8419,8 +8864,9 @@ PASS12
   
     case 353:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
-#line 3848 "parser.y"
+#line 3854 "parser.y"
     {
     as3_warning("default xml namespaces not supported yet");
     (yyval.code) = 0;
@@ -8432,8 +8878,9 @@ PASS12
   
     case 354:
     if(as3_pass==2) {
+
 /* Line 1464 of skeleton.m4  */
-#line 3853 "parser.y"
+#line 3859 "parser.y"
     {
     PASS12
     const char*url = (yyvsp[(3) - (3)].classinfo)->name;
@@ -8451,7 +8898,7 @@ PASS12
         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;
 }
@@ -8460,8 +8907,9 @@ PASS12
 
 
 
+
 /* Line 1464 of skeleton.m4  */
-#line 8465 "parser.tab.c"
+#line 8913 "parser.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);