develooper Front page | perl.cvs.parrot | Postings from December 2008

[svn:parrot] r34032 - trunk/compilers/imcc

From:
kjs
Date:
December 17, 2008 10:55
Subject:
[svn:parrot] r34032 - trunk/compilers/imcc
Message ID:
20081217185457.8F6F1CBA12@x12.develooper.com
Author: kjs
Date: Wed Dec 17 10:54:56 2008
New Revision: 34032

Modified:
   trunk/compilers/imcc/imcc.y
   trunk/compilers/imcc/imcparser.c

Log:
[imcc] remove slicing syntax. No more [a,b] and [a..b].

Modified: trunk/compilers/imcc/imcc.y
==============================================================================
--- trunk/compilers/imcc/imcc.y	(original)
+++ trunk/compilers/imcc/imcc.y	Wed Dec 17 10:54:56 2008
@@ -2020,12 +2020,6 @@
            IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = $3;
            $$ = IMCC_INFO(interp)->keys[0];
          }
-   | _keylist COMMA            { IMCC_INFO(interp)->in_slice = 1; }
-     key
-         {
-           IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = $4;
-           $$ = IMCC_INFO(interp)->keys[0];
-         }
    ;
 
 key:
@@ -2035,15 +2029,6 @@
                $1->type |= VT_START_SLICE | VT_END_SLICE;
            $$ = $1;
          }
-   | var DOTDOT var
-         {
-           $1->type |= VT_START_SLICE;
-           $3->type |= VT_END_SLICE;
-           IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = $1;
-           $$ = $3;
-         }
-   | DOTDOT var                { $2->type |= VT_START_ZERO | VT_END_SLICE; $$ = $2; }
-   | var DOTDOT                { $1->type |= VT_START_SLICE | VT_END_INF; $$ = $1; }
    ;
 
 reg:

Modified: trunk/compilers/imcc/imcparser.c
==============================================================================
--- trunk/compilers/imcc/imcparser.c	(original)
+++ trunk/compilers/imcc/imcparser.c	Wed Dec 17 10:54:56 2008
@@ -1265,16 +1265,16 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  33
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   713
+#define YYLAST   706
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  137
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  126
+#define YYNNTS  125
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  346
+#define YYNRULES  341
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  558
+#define YYNSTATES  551
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -1364,8 +1364,8 @@
      903,   905,   907,   909,   911,   913,   915,   917,   919,   920,
      922,   926,   928,   930,   935,   939,   941,   943,   945,   947,
      949,   951,   953,   955,   957,   959,   961,   962,   965,   966,
-     969,   971,   975,   976,   981,   983,   987,   990,   993,   995,
-     997,   999,  1001,  1003,  1005,  1007,  1009
+     969,   971,   975,   977,   979,   981,   983,   985,   987,   989,
+     991,   993
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -1376,7 +1376,7 @@
       -1,   141,    -1,   142,    -1,     4,    -1,   143,     4,    -1,
       96,   112,     4,    -1,     8,   113,    71,   112,     4,    -1,
        9,   112,     4,    -1,     6,   112,    -1,     7,   112,   122,
-     112,    -1,    -1,    31,   145,   220,   108,   122,   262,    -1,
+     112,    -1,    -1,    31,   145,   220,   108,   122,   261,    -1,
       -1,    31,   147,   113,   252,   122,   149,    -1,    -1,    31,
      148,   112,   252,   122,   149,    -1,   112,    -1,   115,    -1,
      151,    -1,   150,   151,    -1,   209,   152,     4,    -1,   110,
@@ -1422,8 +1422,8 @@
        1,     4,    -1,   214,    -1,   213,    71,   214,    -1,   108,
      215,    -1,    -1,   100,    -1,   222,    -1,   240,    -1,    -1,
       29,   217,   220,   213,    -1,    30,   112,    71,   245,    -1,
-      -1,    31,   218,   220,   108,   122,   262,    -1,   146,    -1,
-      -1,    34,   219,   220,   108,   122,   262,    -1,    64,   232,
+      -1,    31,   218,   220,   108,   122,   261,    -1,   146,    -1,
+      -1,    34,   219,   220,   108,   122,   261,    -1,    64,   232,
       -1,    10,   251,    -1,   116,   246,    -1,    14,   253,    -1,
      232,    -1,   179,    -1,   194,    -1,   196,    -1,    -1,    51,
       -1,    52,    -1,    53,    -1,    54,    -1,   108,    -1,   245,
@@ -1462,17 +1462,15 @@
       -1,    12,   253,   243,   251,    -1,    12,   253,   244,   253,
       10,   251,    -1,    12,    14,   253,    10,   251,    -1,    71,
       -1,    10,    -1,    56,    -1,    57,    -1,    58,    -1,    59,
-      -1,    60,    -1,    61,    -1,   117,    -1,   261,    -1,    -1,
+      -1,    60,    -1,    61,    -1,   117,    -1,   260,    -1,    -1,
      247,    -1,   247,    71,   248,    -1,   248,    -1,   252,    -1,
      245,   123,   254,   124,    -1,   123,   256,   124,    -1,   250,
       -1,   112,    -1,   115,    -1,   108,    -1,   116,    -1,   108,
-      -1,   116,    -1,   251,    -1,   253,    -1,   245,    -1,   262,
-      -1,    -1,   255,   258,    -1,    -1,   257,   258,    -1,   260,
-      -1,   258,   136,   260,    -1,    -1,   258,    71,   259,   260,
-      -1,   253,    -1,   253,    73,   253,    -1,    73,   253,    -1,
-     253,    73,    -1,   104,    -1,   105,    -1,   106,    -1,   107,
-      -1,   109,    -1,   113,    -1,   114,    -1,   112,    -1,   115,
-      -1
+      -1,   116,    -1,   251,    -1,   253,    -1,   245,    -1,   261,
+      -1,    -1,   255,   258,    -1,    -1,   257,   258,    -1,   259,
+      -1,   258,   136,   259,    -1,   253,    -1,   104,    -1,   105,
+      -1,   106,    -1,   107,    -1,   109,    -1,   113,    -1,   114,
+      -1,   112,    -1,   115,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -1511,8 +1509,8 @@
     1926,  1927,  1928,  1929,  1930,  1931,  1935,  1936,  1940,  1941,
     1945,  1946,  1950,  1951,  1958,  1965,  1966,  1967,  1971,  1972,
     1976,  1977,  1981,  1982,  1986,  1987,  1991,  1991,  2004,  2004,
-    2017,  2018,  2023,  2023,  2032,  2038,  2045,  2046,  2050,  2051,
-    2052,  2053,  2054,  2058,  2059,  2060,  2061
+    2017,  2018,  2026,  2035,  2036,  2037,  2038,  2039,  2043,  2044,
+    2045,  2046
 };
 #endif
 
@@ -1564,7 +1562,7 @@
   "unless_statement", "if_statement", "comma_or_goto", "relop", "target",
   "vars", "_vars", "_var_or_i", "sub_label_op_c", "sub_label_op",
   "label_op", "var_or_i", "var", "keylist", "@22", "keylist_force", "@23",
-  "_keylist", "@24", "key", "reg", "const", 0
+  "_keylist", "key", "reg", "const", 0
 };
 #endif
 
@@ -1626,8 +1624,8 @@
      244,   244,   244,   244,   244,   244,   245,   245,   246,   246,
      247,   247,   248,   248,   248,   249,   249,   249,   250,   250,
      251,   251,   252,   252,   253,   253,   255,   254,   257,   256,
-     258,   258,   259,   258,   260,   260,   260,   260,   261,   261,
-     261,   261,   261,   262,   262,   262,   262
+     258,   258,   259,   260,   260,   260,   260,   260,   261,   261,
+     261,   261
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1666,8 +1664,8 @@
        1,     1,     1,     1,     1,     1,     1,     1,     0,     1,
        3,     1,     1,     4,     3,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     0,     2,     0,     2,
-       1,     3,     0,     4,     1,     3,     2,     2,     1,     1,
-       1,     1,     1,     1,     1,     1,     1
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1682,154 +1680,154 @@
        0,     0,    48,   318,   316,   317,   319,    52,   315,   193,
      194,   195,   196,     0,    14,    21,   166,     0,    32,    31,
       35,    34,   162,    27,     0,    33,    36,   163,   165,    18,
-       0,    49,     0,   338,   339,   340,   341,   342,   345,   343,
-     344,   346,   306,   324,   334,   327,   330,   307,   325,    91,
-       0,     0,     0,    30,    28,    45,     0,     0,    38,     0,
-       0,   164,    15,   336,   337,   332,     0,    97,    95,    96,
-      98,    99,    66,   100,     0,   101,     0,    64,     0,    71,
-      68,   102,   103,   104,   105,   106,   107,   108,     0,    92,
-      93,     0,     0,     0,    40,     0,    91,    29,   308,   335,
-       0,   331,     0,     0,    73,     0,     0,     0,     0,    53,
-      94,    20,   320,   321,   322,     0,   323,     0,     0,     0,
-     328,    37,   324,    43,   309,   311,   312,   333,    25,    26,
-       0,     0,     0,    76,    77,    79,    78,    80,    81,   326,
-       0,    75,     0,     0,     0,     0,    55,     0,     0,    41,
-      39,     0,     0,   326,     0,    67,    63,    62,     0,     0,
-      61,    65,    70,    72,    69,    56,   156,    22,    24,   314,
-     329,     0,   310,    82,    74,    58,     0,   160,   159,   161,
-       0,     0,   156,     0,   154,   313,     0,   158,    57,    54,
-     155,     0,   192,   157,    59,     0,   168,     0,     0,     0,
-       0,     0,   176,     0,   179,   182,   147,     0,   148,   247,
-       0,     0,     0,   264,   265,   266,   308,   215,   181,   189,
-     190,   191,   134,     0,     0,   174,   217,   218,   219,   271,
-     188,   175,   291,   290,   267,   124,   185,     0,     0,     0,
-       0,   187,     0,     0,     0,     0,     0,   184,   267,     0,
-      85,   132,   135,   186,   289,   145,   167,     0,   250,   251,
-     252,   253,   256,   257,   258,   259,   255,   254,   260,   261,
-     262,     0,     0,   326,     0,    60,     0,   299,   300,   301,
-     302,   303,   304,   305,   298,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   289,   116,   137,   140,     0,
-     287,     0,   124,   149,   273,   269,   270,   268,   220,     0,
-     345,   346,   308,   221,   222,   223,     0,   214,   324,   198,
-       0,   249,   126,   127,   128,   129,   131,   125,     0,   295,
-       0,     0,   294,     0,   211,   172,   177,   169,   178,     0,
-       0,     0,    89,     0,     0,     0,     0,     0,   284,   345,
-       0,   150,   279,   345,     0,   275,   197,   207,   205,   206,
-     263,   199,   229,   238,   239,   243,   232,   233,   234,   235,
-     236,   237,   230,   240,   241,   242,   231,   326,   246,   224,
-     225,   226,   227,   228,   244,   245,     0,     0,     0,   297,
-       0,   293,     0,     0,   326,   173,   171,     0,     0,     0,
-     248,     0,     0,     0,     0,   138,     0,   133,     0,   141,
-       0,   136,     0,   288,     0,   285,     0,     0,     0,   146,
-     278,     0,     0,   272,     0,     0,   326,     0,   326,     0,
-     200,     0,     0,   296,   292,   212,     0,   170,   180,   183,
-     118,     0,     0,     0,     0,    87,   117,   279,   139,   279,
-     142,     0,     0,   151,   345,   152,   281,   282,   280,   277,
-     345,   274,   208,   203,     0,   209,     0,   201,   202,   130,
-     213,    90,     0,     0,     0,     0,   119,     0,   143,   144,
-     286,   273,     0,     0,     0,   204,   210,   110,     0,   111,
-     113,     0,   112,     0,     0,    88,     0,   153,     0,   276,
-       0,     0,     0,   122,     0,    86,     0,   216,   283,   109,
-     115,   114,     0,   124,   120,     0,   121,   123
+       0,    49,   333,   334,   335,   336,   337,   340,   338,   339,
+     341,   306,   324,   332,   327,   330,   307,   325,    91,     0,
+       0,     0,    30,    28,    45,     0,     0,    38,     0,     0,
+     164,    15,     0,    97,    95,    96,    98,    99,    66,   100,
+       0,   101,     0,    64,     0,    71,    68,   102,   103,   104,
+     105,   106,   107,   108,     0,    92,    93,     0,     0,     0,
+      40,     0,    91,    29,   308,   331,     0,     0,    73,     0,
+       0,     0,     0,    53,    94,    20,   320,   321,   322,     0,
+     323,     0,     0,     0,   328,    37,   324,    43,   309,   311,
+     312,    25,    26,     0,     0,     0,    76,    77,    79,    78,
+      80,    81,   326,     0,    75,     0,     0,     0,     0,    55,
+       0,     0,    41,    39,     0,     0,   326,     0,    67,    63,
+      62,     0,     0,    61,    65,    70,    72,    69,    56,   156,
+      22,    24,   314,   329,     0,   310,    82,    74,    58,     0,
+     160,   159,   161,     0,     0,   156,     0,   154,   313,     0,
+     158,    57,    54,   155,     0,   192,   157,    59,     0,   168,
+       0,     0,     0,     0,     0,   176,     0,   179,   182,   147,
+       0,   148,   247,     0,     0,     0,   264,   265,   266,   308,
+     215,   181,   189,   190,   191,   134,     0,     0,   174,   217,
+     218,   219,   271,   188,   175,   291,   290,   267,   124,   185,
+       0,     0,     0,     0,   187,     0,     0,     0,     0,     0,
+     184,   267,     0,    85,   132,   135,   186,   289,   145,   167,
+       0,   250,   251,   252,   253,   256,   257,   258,   259,   255,
+     254,   260,   261,   262,     0,     0,   326,     0,    60,     0,
+     299,   300,   301,   302,   303,   304,   305,   298,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   289,   116,
+     137,   140,     0,   287,     0,   124,   149,   273,   269,   270,
+     268,   220,     0,   340,   341,   308,   221,   222,   223,     0,
+     214,   324,   198,     0,   249,   126,   127,   128,   129,   131,
+     125,     0,   295,     0,     0,   294,     0,   211,   172,   177,
+     169,   178,     0,     0,     0,    89,     0,     0,     0,     0,
+       0,   284,   340,     0,   150,   279,   340,     0,   275,   197,
+     207,   205,   206,   263,   199,   229,   238,   239,   243,   232,
+     233,   234,   235,   236,   237,   230,   240,   241,   242,   231,
+     326,   246,   224,   225,   226,   227,   228,   244,   245,     0,
+       0,     0,   297,     0,   293,     0,     0,   326,   173,   171,
+       0,     0,     0,   248,     0,     0,     0,     0,   138,     0,
+     133,     0,   141,     0,   136,     0,   288,     0,   285,     0,
+       0,     0,   146,   278,     0,     0,   272,     0,     0,   326,
+       0,   326,     0,   200,     0,     0,   296,   292,   212,     0,
+     170,   180,   183,   118,     0,     0,     0,     0,    87,   117,
+     279,   139,   279,   142,     0,     0,   151,   340,   152,   281,
+     282,   280,   277,   340,   274,   208,   203,     0,   209,     0,
+     201,   202,   130,   213,    90,     0,     0,     0,     0,   119,
+       0,   143,   144,   286,   273,     0,     0,     0,   204,   210,
+     110,     0,   111,   113,     0,   112,     0,     0,    88,     0,
+     153,     0,   276,     0,     0,     0,   122,     0,    86,     0,
+     216,   283,   109,   115,   114,     0,   124,   120,     0,   121,
+     123
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
       -1,    12,    13,    14,    15,    16,    17,    18,    29,    61,
-      91,    92,   170,    62,    63,    99,   100,   136,   161,    19,
-      31,    64,    20,    27,    21,    28,    89,   186,   206,   220,
-     226,   234,   121,   122,   123,   124,   125,   126,   127,   180,
-     181,   221,   259,   336,   516,   443,   128,   129,   130,   485,
-     382,   444,   534,   546,   552,   315,   367,   260,   337,   261,
-     338,   383,   384,   448,   452,   262,   343,   263,   390,   222,
-     223,   224,    66,    67,    68,   233,   376,   377,   436,   264,
-     283,   285,   286,    53,   398,   265,   294,   356,   426,   266,
-     289,   267,   314,   268,   269,   270,   297,   394,   395,   460,
-     498,   340,   341,   271,   272,   273,   325,   326,    83,   163,
-     164,   165,    47,    48,   154,   166,   156,    40,    41,   191,
-     192,    85,   140,    86,    87,    88
+      90,    91,   163,    62,    63,    98,    99,   132,   155,    19,
+      31,    64,    20,    27,    21,    28,    88,   179,   199,   213,
+     219,   227,   117,   118,   119,   120,   121,   122,   123,   173,
+     174,   214,   252,   329,   509,   436,   124,   125,   126,   478,
+     375,   437,   527,   539,   545,   308,   360,   253,   330,   254,
+     331,   376,   377,   441,   445,   255,   336,   256,   383,   215,
+     216,   217,    66,    67,    68,   226,   369,   370,   429,   257,
+     276,   278,   279,    53,   391,   258,   287,   349,   419,   259,
+     282,   260,   307,   261,   262,   263,   290,   387,   388,   453,
+     491,   333,   334,   264,   265,   266,   318,   319,    82,   157,
+     158,   159,    47,    48,   148,   160,   150,    40,    41,   184,
+     185,    84,    85,    86,    87
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -428
+#define YYPACT_NINF -444
 static const yytype_int16 yypact[] =
 {
-      50,  -428,   -73,   -67,   -65,    -4,    -9,  -428,  -428,     8,
-    -428,   154,   184,    50,  -428,  -428,  -428,   183,  -428,  -428,
-    -428,  -428,  -428,    70,   123,   191,    85,   206,   110,   197,
-     217,    63,  -428,  -428,  -428,  -428,   111,   116,  -428,  -428,
-      93,   274,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,   124,  -428,   117,  -428,   227,  -428,  -428,
-    -428,  -428,    67,  -428,   130,  -428,     5,   134,  -428,  -428,
-     235,  -428,   462,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,   167,   -60,  -428,  -428,  -428,   530,
-     120,   131,   140,  -428,  -428,  -428,   462,   143,  -428,   253,
-     144,  -428,  -428,  -428,   462,  -428,   274,  -428,  -428,  -428,
-    -428,  -428,   136,  -428,   141,  -428,   147,   149,   150,   158,
-     159,  -428,  -428,  -428,  -428,  -428,  -428,  -428,   255,   530,
-    -428,   241,   526,   526,  -428,   194,   530,  -428,   447,  -428,
-     274,  -428,   -85,   -40,    -1,   156,   170,   -85,   -85,  -428,
-    -428,  -428,  -428,  -428,  -428,   164,  -428,   165,   160,   192,
-    -428,  -428,   171,  -428,   224,  -428,  -428,  -428,  -428,  -428,
-     174,   175,   178,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-     -46,  -428,   179,   180,   186,   188,   312,   -85,   -85,  -428,
-    -428,   199,   274,  -428,   447,  -428,  -428,  -428,   205,    -1,
-    -428,  -428,  -428,  -428,  -428,  -428,     7,  -428,  -428,  -428,
-     -60,   207,  -428,  -428,  -428,  -428,   317,  -428,  -428,  -428,
-     328,   263,    38,   233,  -428,  -428,   197,  -428,  -428,  -428,
-    -428,   332,   433,  -428,  -428,   236,  -428,    53,   213,   256,
-     462,    84,  -428,   231,    92,  -428,  -428,   367,  -428,  -428,
-     342,   347,   353,  -428,  -428,  -428,   447,  -428,  -428,  -428,
-    -428,  -428,  -428,   239,   362,  -428,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,   413,  -428,  -428,   462,   220,   462,
-     220,  -428,   296,   197,   301,   197,   197,  -428,   254,   250,
-    -428,  -428,  -428,  -428,   107,  -428,  -428,   251,  -428,  -428,
-    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,   290,    26,  -428,   462,     2,   372,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,  -428,    53,   462,   374,    53,   462,
-     462,   269,    84,   282,   285,   107,  -428,  -428,  -428,   381,
-    -428,   -39,  -428,   540,   554,  -428,  -428,  -428,  -428,   491,
-     279,   283,   447,  -428,  -428,  -428,   462,  -428,    82,   459,
-     286,  -428,  -428,  -428,  -428,   288,  -428,  -428,    53,  -428,
-     401,    53,  -428,   404,   -38,   315,   351,  -428,  -428,   303,
-     305,   -30,    -6,    14,    10,    84,   327,   306,     2,   396,
-     -29,  -428,  -428,   407,   -10,  -428,  -428,   364,   -37,   -11,
-    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,  -428,  -428,   462,   316,   325,  -428,
-      53,  -428,    53,   462,  -428,  -428,  -428,   269,   241,   241,
-    -428,   462,   462,    89,   436,  -428,   462,  -428,   461,  -428,
-     462,  -428,   464,  -428,   444,  -428,   367,   462,   568,  -428,
-     157,   462,   582,  -428,   462,   462,  -428,   462,  -428,   345,
-    -428,   462,   344,  -428,  -428,  -428,   354,  -428,  -428,  -428,
-    -428,   473,   462,   462,   596,   134,  -428,  -428,  -428,  -428,
-    -428,    84,   360,  -428,   466,  -428,  -428,   361,  -428,  -428,
-     467,  -428,  -428,  -428,   369,  -428,   370,  -428,  -428,  -428,
-    -428,  -428,    24,   487,    32,    34,  -428,   496,   157,   157,
-    -428,   554,   462,   383,   462,  -428,  -428,  -428,   462,  -428,
-    -428,   462,  -428,   462,   121,  -428,    19,  -428,   375,  -428,
-     499,   500,   501,  -428,    84,  -428,   502,  -428,  -428,  -428,
-    -428,  -428,   197,  -428,  -428,   269,     2,  -428
+     177,  -444,   -74,   -67,   -57,   -65,   -19,  -444,  -444,   -54,
+    -444,    76,    82,   177,  -444,  -444,  -444,   127,  -444,  -444,
+    -444,  -444,  -444,    24,    86,   160,    55,   178,   129,   223,
+     185,   120,  -444,  -444,  -444,  -444,    83,   102,  -444,  -444,
+      91,   455,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,   110,  -444,   107,  -444,   221,  -444,  -444,
+    -444,  -444,   261,  -444,   119,  -444,    11,   139,  -444,  -444,
+     224,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,   113,  -444,  -444,  -444,   523,   105,
+     130,   144,  -444,  -444,  -444,   455,   145,  -444,   256,   153,
+    -444,  -444,   455,  -444,  -444,  -444,  -444,  -444,   147,  -444,
+     155,  -444,   158,   159,   163,   164,   172,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,   266,   523,  -444,    85,   519,   519,
+    -444,   214,   523,  -444,   440,  -444,    59,   -27,   182,   186,
+     187,    59,    59,  -444,  -444,  -444,  -444,  -444,  -444,   180,
+    -444,   181,   191,   203,  -444,  -444,   183,  -444,   236,  -444,
+    -444,  -444,  -444,   192,   193,   194,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,   -47,  -444,   195,   202,   208,   210,   333,
+      59,    59,  -444,  -444,   220,   455,  -444,   440,  -444,  -444,
+    -444,   226,   182,  -444,  -444,  -444,  -444,  -444,  -444,    22,
+    -444,  -444,  -444,   113,   235,  -444,  -444,  -444,  -444,   338,
+    -444,  -444,  -444,   356,   291,    44,   426,  -444,  -444,   223,
+    -444,  -444,  -444,  -444,   361,   146,  -444,  -444,   259,  -444,
+     -72,   218,   234,   455,    61,  -444,   257,    17,  -444,  -444,
+     360,  -444,  -444,   364,   366,   368,  -444,  -444,  -444,   440,
+    -444,  -444,  -444,  -444,  -444,  -444,   248,   370,  -444,  -444,
+    -444,  -444,  -444,  -444,  -444,  -444,  -444,    30,  -444,  -444,
+     455,   255,   455,   255,  -444,   304,   223,   305,   223,   223,
+    -444,   262,   252,  -444,  -444,  -444,  -444,   249,  -444,  -444,
+     258,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,   283,     6,  -444,   455,    -8,   371,
+    -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,   -72,   455,
+     374,   -72,   455,   455,   278,    61,   288,   289,   249,  -444,
+    -444,  -444,   379,  -444,   -43,  -444,   533,   547,  -444,  -444,
+    -444,  -444,   484,   279,   281,   440,  -444,  -444,  -444,   455,
+    -444,   -61,   452,   284,  -444,  -444,  -444,  -444,   282,  -444,
+    -444,   -72,  -444,   393,   -72,  -444,   401,   -50,   315,   347,
+    -444,  -444,   298,   299,   -39,     5,    18,    10,    61,   341,
+     300,    -8,   402,   -31,  -444,  -444,   403,   -28,  -444,  -444,
+     355,   -20,   -14,  -444,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,   455,
+     306,   317,  -444,   -72,  -444,   -72,   455,  -444,  -444,  -444,
+     278,    85,    85,  -444,   455,   455,   -34,   427,  -444,   455,
+    -444,   428,  -444,   455,  -444,   429,  -444,   415,  -444,   360,
+     455,   561,  -444,   126,   455,   575,  -444,   455,   455,  -444,
+     455,  -444,   318,  -444,   455,   325,  -444,  -444,  -444,   319,
+    -444,  -444,  -444,  -444,   437,   455,   455,   589,   139,  -444,
+    -444,  -444,  -444,  -444,    61,   327,  -444,   422,  -444,  -444,
+     329,  -444,  -444,   439,  -444,  -444,  -444,   335,  -444,   339,
+    -444,  -444,  -444,  -444,  -444,    13,   458,    15,    19,  -444,
+     466,   126,   126,  -444,   547,   455,   359,   455,  -444,  -444,
+    -444,   455,  -444,  -444,   455,  -444,   455,   132,  -444,   -25,
+    -444,   352,  -444,   475,   477,   478,  -444,    61,  -444,   480,
+    -444,  -444,  -444,  -444,  -444,   223,  -444,  -444,   278,    -8,
+    -444
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -428,  -428,  -428,   497,    87,   -93,  -428,  -428,  -428,   280,
-    -428,  -428,  -104,  -428,   460,  -428,  -428,  -428,   169,  -428,
-    -428,  -428,   105,   176,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-     324,  -428,  -428,  -428,  -428,  -428,   388,  -428,   402,  -428,
-    -428,  -428,  -428,  -428,  -428,  -338,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,   308,   309,  -428,   -66,  -428,  -428,  -427,  -428,  -428,
-    -428,  -428,  -428,  -219,  -428,  -428,  -428,  -428,  -428,  -428,
-    -428,  -428,  -428,  -428,    78,  -223,  -428,    22,  -335,  -368,
-    -428,   161,   209,  -428,  -428,  -428,   266,   277,  -132,   322,
-    -428,   371,  -428,   261,  -224,    43,   -41,  -176,  -428,  -428,
-    -428,   389,  -428,   -69,  -428,  -129
+    -444,  -444,  -444,   473,    74,  -165,  -444,  -444,  -444,   263,
+    -444,  -444,     7,  -444,   425,  -444,  -444,  -444,   148,  -444,
+    -444,  -444,    75,   152,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,
+     307,  -444,  -444,  -444,  -444,  -444,   365,  -444,   373,  -444,
+    -444,  -444,  -444,  -444,  -444,  -329,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,   290,   280,  -444,   -66,  -444,  -444,  -423,  -444,  -444,
+    -444,  -444,  -444,  -216,  -444,  -444,  -444,  -444,  -444,  -444,
+    -444,  -444,  -444,  -444,    54,  -205,  -444,     0,  -327,  -443,
+    -444,   136,   188,  -444,  -444,  -444,   244,   245,  -132,   274,
+    -444,   337,  -444,   222,  -222,    77,   -41,  -168,  -444,  -444,
+    -444,   340,   434,  -444,  -122
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -1839,154 +1837,152 @@
 #define YYTABLE_NINF -268
 static const yytype_int16 yytable[] =
 {
-      84,   101,   151,   198,   388,   441,   162,   235,   391,   -42,
-     477,   105,   215,   276,   449,     4,     5,   211,   445,    96,
-     362,   363,   364,   365,   287,   199,   450,   168,   527,   446,
-     169,   103,   386,   433,   465,    97,   530,   141,   532,    22,
-     348,   386,   458,   184,   185,    23,     4,     5,    24,   349,
-     173,   174,   175,   176,     1,   134,     2,     3,     4,     5,
-     467,   462,   162,   139,   331,    84,   333,   334,   171,     2,
-       3,   167,   172,     2,     3,     6,   106,     7,   442,   -83,
-     200,     8,    98,   207,   208,   434,   466,   387,     6,   357,
-     462,   451,     6,   447,    55,   528,   440,   459,    55,    84,
-     274,   369,   366,   531,   372,   533,   480,   177,    25,   282,
-     -84,   178,   468,   219,    26,   288,   463,   216,    60,   518,
-      30,   519,   179,   495,   162,   217,   218,   501,   557,   219,
-      73,    74,    75,    76,   253,    77,    65,   360,   350,    79,
-      80,   351,   352,    82,   429,   547,     9,   431,   216,    60,
-     543,    84,    10,   353,   354,   355,   217,   218,    32,     9,
-      11,   152,   342,     9,    56,   482,   -46,    65,    56,   153,
-     -47,   483,   484,    57,   496,   155,   157,    57,   497,   346,
-     358,    58,    59,   544,    33,    58,    59,    35,    73,    74,
-      75,    76,    36,    77,    37,    38,   545,   278,   280,   281,
-     378,    82,   311,   342,   -23,   -21,   473,  -267,   474,    39,
-      42,    73,    74,    75,    76,   556,    77,    71,    43,   339,
-     162,    54,    44,    69,    82,    45,    46,   277,    70,   -23,
-     317,    93,    90,    95,   231,    56,   316,  -162,   327,   102,
-     104,   469,   131,  -162,   132,  -162,  -162,  -162,    49,    50,
-      51,    52,   133,   453,   342,   135,  -162,   137,   476,   149,
-     138,   142,  -162,  -162,  -162,   158,   143,  -162,   182,   189,
-     279,   359,   144,   361,   145,   146,   318,   319,   320,   321,
-     322,   323,   183,   147,   148,   370,   187,   188,   373,   374,
-     504,   324,   506,   190,   193,   194,  -162,  -162,  -162,  -162,
-     195,   196,   392,   392,   197,   201,   202,  -162,   399,   478,
-     479,  -162,   203,  -162,   204,   401,   205,    73,    74,    75,
-      76,   227,    77,   209,   288,    78,    79,    80,    81,   213,
-      82,   225,   228,   555,    56,   229,   236,  -162,  -162,  -162,
-    -162,  -162,  -162,   284,   275,  -162,   290,    72,  -162,  -162,
-    -162,   291,   515,    78,    79,    80,    81,   292,  -162,   520,
-      73,    74,    75,    76,   295,    77,   296,   330,    78,    79,
-      80,    81,   332,    82,   311,   335,   344,   375,    73,    74,
-      75,    76,   368,    77,   371,   470,    78,    79,    80,    81,
-     379,    82,   475,   380,    73,    74,    75,    76,    43,    77,
-     392,   481,   345,   385,  -265,   487,    46,    82,  -266,   489,
-     427,   430,   553,   428,   432,   435,   493,   392,   457,   517,
-     499,   392,   437,   502,   503,   438,   505,   439,   456,   461,
-     508,    73,    74,    75,    76,   464,    77,   472,   471,   454,
-     486,   512,   513,   237,    82,   238,   239,   240,   298,   299,
-     300,   301,   302,   303,   304,   305,   241,   306,   307,   308,
-     309,   310,   242,   243,   244,   488,   491,   245,   490,   507,
-     509,    73,    74,    75,    76,   253,    77,   511,   510,   254,
-     392,   537,   255,   539,    82,   521,   523,   540,   522,   524,
-     541,   529,   542,   525,   526,   538,   246,   247,   248,   249,
-     535,   548,   402,   549,   550,   551,   554,   250,   403,   404,
-      34,   251,   258,   252,   405,   406,   407,   408,   409,   410,
-     411,   400,    94,   214,   159,   397,   412,   413,   414,   415,
-     230,   150,   232,   311,   492,   312,   313,    73,    74,    75,
-      76,   253,    77,   536,   381,   254,   328,   455,   255,   256,
-      82,    73,    74,    75,    76,   152,    77,   329,   257,    78,
-      79,    80,    81,   153,    82,   212,    73,    74,    75,    76,
-     160,    77,   347,     0,    78,    79,    80,    81,   293,    82,
-     416,   210,   417,     0,     0,     0,     0,   418,   419,   420,
-     421,   422,   423,   424,   425,    73,    74,    75,    76,   396,
-      77,     0,     0,    78,    79,    80,    81,     0,    82,     0,
-       0,     0,     0,     0,    26,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,     0,   118,   119,   120,
-      73,    74,    75,    76,   152,    77,     0,     0,    78,    79,
-      80,    81,   153,    82,    73,    74,    75,    76,     0,    77,
-       0,     0,   389,    79,    80,    81,     0,    82,    73,    74,
-      75,    76,     0,    77,     0,     0,   393,    79,    80,    81,
-       0,    82,    73,    74,    75,    76,     0,    77,     0,     0,
-     494,    79,    80,    81,     0,    82,    73,    74,    75,    76,
-       0,    77,     0,     0,   500,    79,    80,    81,     0,    82,
-      73,    74,    75,    76,     0,    77,     0,     0,   514,     0,
-       0,     0,     0,    82
+      83,   100,   156,   228,   191,   145,   381,   470,   269,   384,
+     355,   356,   357,   358,   442,   -42,   434,   520,   204,   523,
+     341,   426,   438,   525,   192,    95,   443,   208,   379,   342,
+       4,     5,   379,   439,   212,   280,   146,   511,    22,   512,
+     451,    96,   475,   455,   147,    23,   455,    25,   476,   477,
+     212,   458,     4,     5,   130,   156,    24,   460,    30,   304,
+     324,    83,   326,   327,  -267,   291,   292,   293,   294,   295,
+     296,   297,   298,   427,   299,   300,   301,   302,   303,   193,
+      32,   164,    33,   380,   521,   165,   524,   433,    97,   435,
+     526,   444,   359,   267,   -83,   452,   362,   440,   456,   365,
+     350,   540,   275,   459,    26,    60,    65,   473,   281,   461,
+      72,    73,    74,    75,   246,    76,   -84,   156,   343,    78,
+      79,   344,   345,    81,   488,   550,     2,     3,   494,   -23,
+     -21,    35,   209,   346,   347,   348,    60,    65,   353,   422,
+     210,   211,   424,   489,    83,     6,    36,   490,   177,   178,
+     304,    55,   305,   306,   209,   335,   230,    37,   231,   232,
+     233,   536,   210,   211,    38,    72,    73,    74,    75,   234,
+      76,   161,   339,   351,   162,   235,   236,   237,    81,    39,
+     238,     1,    42,     2,     3,     4,     5,   200,   201,    54,
+     271,   273,   274,   371,   537,    69,   335,    77,    78,    79,
+      80,   466,     6,   467,     7,   149,   151,   538,     8,   239,
+     240,   241,   242,   156,    70,    71,     9,   549,    89,   -23,
+     243,    56,    94,   -46,   244,    92,   245,   127,   101,   309,
+      57,   320,   270,   166,   167,   168,   169,    43,    58,    59,
+      56,    44,   462,   128,    45,    46,   446,   335,   272,   102,
+      72,    73,    74,    75,   246,    76,   129,   131,   247,   469,
+     133,   248,   249,    81,   352,   310,   354,     2,     3,   134,
+     143,   250,   136,     9,    49,    50,    51,    52,   363,    10,
+     137,   366,   367,   138,   139,   152,     6,    11,   140,   141,
+     170,   497,    55,   499,   171,   385,   385,   142,   175,   176,
+     182,   392,   180,   181,   183,   172,   186,   187,   394,   471,
+     472,   311,   312,   313,   314,   315,   316,   281,   188,   189,
+     190,   194,    72,    73,    74,    75,   317,    76,   195,   548,
+      77,    78,    79,    80,   196,    81,   197,   198,    72,    73,
+      74,    75,   220,    76,   202,   508,    77,    78,    79,    80,
+     206,    81,   513,    72,    73,    74,    75,     9,    76,   218,
+     221,   332,    56,   222,   -47,   229,    81,   268,   283,   277,
+     284,    57,   285,   288,   289,   323,   325,   328,   463,    58,
+      59,   361,   304,   337,   364,   468,   368,    72,    73,    74,
+      75,    43,    76,   385,   474,   338,   372,   373,   480,    46,
+      81,   378,   482,   423,  -265,   546,  -266,   421,   420,   486,
+     385,   425,   510,   492,   385,   428,   495,   496,   430,   498,
+     431,   432,   449,   501,   450,   454,   457,   224,   464,   465,
+    -162,   479,   481,   483,   505,   506,  -162,   484,  -162,  -162,
+    -162,   504,   500,   503,   515,    72,    73,    74,    75,  -162,
+      76,   502,   514,   447,   516,  -162,  -162,  -162,    81,   518,
+    -162,   517,   522,   519,    72,    73,    74,    75,   246,    76,
+     528,   531,   247,   385,   530,   248,   532,    81,   541,   542,
+     533,   543,   544,   534,   547,   535,    34,    93,   251,  -162,
+    -162,  -162,  -162,   393,   390,   395,   225,   153,   144,   207,
+    -162,   396,   397,   485,  -162,   223,  -162,   398,   399,   400,
+     401,   402,   403,   404,   529,   448,   374,   321,   322,   405,
+     406,   407,   408,   286,   205,   203,   340,    56,     0,     0,
+    -162,  -162,  -162,  -162,  -162,  -162,   135,     0,  -162,     0,
+       0,  -162,  -162,  -162,    72,    73,    74,    75,   146,    76,
+       0,  -162,    77,    78,    79,    80,   147,    81,     0,    72,
+      73,    74,    75,   154,    76,     0,     0,    77,    78,    79,
+      80,     0,    81,   409,     0,   410,     0,     0,     0,     0,
+     411,   412,   413,   414,   415,   416,   417,   418,    72,    73,
+      74,    75,   389,    76,     0,     0,    77,    78,    79,    80,
+       0,    81,     0,     0,     0,     0,     0,    26,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,     0,
+     114,   115,   116,    72,    73,    74,    75,   146,    76,     0,
+       0,    77,    78,    79,    80,   147,    81,    72,    73,    74,
+      75,     0,    76,     0,     0,   382,    78,    79,    80,     0,
+      81,    72,    73,    74,    75,     0,    76,     0,     0,   386,
+      78,    79,    80,     0,    81,    72,    73,    74,    75,     0,
+      76,     0,     0,   487,    78,    79,    80,     0,    81,    72,
+      73,    74,    75,     0,    76,     0,     0,   493,    78,    79,
+      80,     0,    81,    72,    73,    74,    75,     0,    76,     0,
+       0,   507,     0,     0,     0,     0,    81
 };
 
 static const yytype_int16 yycheck[] =
 {
-      41,    67,   131,   179,   342,    11,   138,   226,   343,     4,
-     437,    71,     5,   237,     4,     8,     9,   193,     4,    14,
-      18,    19,    20,    21,   247,    71,    16,   112,     4,    15,
-     115,    72,    71,    71,    71,    30,     4,   106,     4,   112,
-      14,    71,    71,   147,   148,   112,     8,     9,   113,    23,
-      51,    52,    53,    54,     4,    96,     6,     7,     8,     9,
-      71,    71,   194,   104,   283,   106,   285,   286,   108,     6,
-       7,   140,   112,     6,     7,    25,   136,    27,    84,    72,
-     126,    31,    77,   187,   188,   123,   123,   126,    25,   312,
-      71,    81,    25,    79,    31,    71,   126,   126,    31,   140,
-     232,   325,   100,    71,   328,    71,   441,   108,   112,   241,
-      72,   112,   123,   206,   123,   247,   126,   110,    31,   487,
-     112,   489,   123,   458,   256,   118,   119,   462,   555,   222,
-     104,   105,   106,   107,   108,   109,    31,   313,   112,   113,
-     114,   115,   116,   117,   368,   126,    96,   371,   110,    62,
-      29,   192,   102,   127,   128,   129,   118,   119,     4,    96,
-     110,   108,   294,    96,   101,    76,   103,    62,   101,   116,
-     103,    82,    83,   110,    17,   132,   133,   110,    21,   311,
-     312,   118,   119,    62,     0,   118,   119,     4,   104,   105,
-     106,   107,   122,   109,    71,     4,    75,   238,   239,   240,
-     332,   117,   120,   335,   112,   113,   430,   125,   432,   124,
-       4,   104,   105,   106,   107,   553,   109,   124,   108,   112,
-     352,     4,   112,   112,   117,   115,   116,    14,   112,   112,
-      10,     4,   108,   103,     1,   101,   277,     4,   279,     4,
-      73,   417,   122,    10,   113,    12,    13,    14,    51,    52,
-      53,    54,   112,   385,   386,   112,    23,     4,   434,     4,
-     116,   125,    29,    30,    31,    71,   125,    34,   112,   109,
-      14,   312,   125,   314,   125,   125,    56,    57,    58,    59,
-      60,    61,   112,   125,   125,   326,   122,   122,   329,   330,
-     466,    71,   468,   101,   123,    71,    63,    64,    65,    66,
-     126,   126,   343,   344,   126,   126,   126,    74,   349,   438,
-     439,    78,   126,    80,   126,   356,     4,   104,   105,   106,
-     107,     4,   109,   124,   456,   112,   113,   114,   115,   124,
-     117,   124,     4,   552,   101,    72,     4,   104,   105,   106,
-     107,   108,   109,   112,   108,   112,     4,    73,   115,   116,
-     117,     4,   484,   112,   113,   114,   115,     4,   125,   491,
-     104,   105,   106,   107,   125,   109,     4,    71,   112,   113,
-     114,   115,    71,   117,   120,   125,   125,   108,   104,   105,
-     106,   107,    10,   109,    10,   426,   112,   113,   114,   115,
-     108,   117,   433,   108,   104,   105,   106,   107,   108,   109,
-     441,   442,   112,    22,   125,   446,   116,   117,   125,   450,
-     124,    10,   544,   125,    10,   100,   457,   458,    22,   485,
-     461,   462,    71,   464,   465,   122,   467,   122,   122,    22,
-     471,   104,   105,   106,   107,    71,   109,   112,   122,   112,
-       4,   482,   483,    10,   117,    12,    13,    14,    35,    36,
-      37,    38,    39,    40,    41,    42,    23,    44,    45,    46,
-      47,    48,    29,    30,    31,     4,    22,    34,     4,   124,
-     126,   104,   105,   106,   107,   108,   109,     4,   124,   112,
-     521,   522,   115,   524,   117,   125,   125,   528,    22,    22,
-     531,     4,   533,   124,   124,   112,    63,    64,    65,    66,
-       4,   126,    43,     4,     4,     4,     4,    74,    49,    50,
-      13,    78,   232,    80,    55,    56,    57,    58,    59,    60,
-      61,   352,    62,   199,   136,   349,    67,    68,    69,    70,
-     222,   129,   223,   120,   456,   122,   123,   104,   105,   106,
-     107,   108,   109,   521,   335,   112,   280,   386,   115,   116,
-     117,   104,   105,   106,   107,   108,   109,   280,   125,   112,
-     113,   114,   115,   116,   117,   194,   104,   105,   106,   107,
-     123,   109,   311,    -1,   112,   113,   114,   115,   256,   117,
-     121,   192,   123,    -1,    -1,    -1,    -1,   128,   129,   130,
-     131,   132,   133,   134,   135,   104,   105,   106,   107,   108,
-     109,    -1,    -1,   112,   113,   114,   115,    -1,   117,    -1,
-      -1,    -1,    -1,    -1,   123,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    94,    95,    -1,    97,    98,    99,
-     104,   105,   106,   107,   108,   109,    -1,    -1,   112,   113,
-     114,   115,   116,   117,   104,   105,   106,   107,    -1,   109,
-      -1,    -1,   112,   113,   114,   115,    -1,   117,   104,   105,
-     106,   107,    -1,   109,    -1,    -1,   112,   113,   114,   115,
-      -1,   117,   104,   105,   106,   107,    -1,   109,    -1,    -1,
-     112,   113,   114,   115,    -1,   117,   104,   105,   106,   107,
-      -1,   109,    -1,    -1,   112,   113,   114,   115,    -1,   117,
-     104,   105,   106,   107,    -1,   109,    -1,    -1,   112,    -1,
-      -1,    -1,    -1,   117
+      41,    67,   134,   219,   172,   127,   335,   430,   230,   336,
+      18,    19,    20,    21,     4,     4,    11,     4,   186,     4,
+      14,    71,     4,     4,    71,    14,    16,     5,    71,    23,
+       8,     9,    71,    15,   199,   240,   108,   480,   112,   482,
+      71,    30,    76,    71,   116,   112,    71,   112,    82,    83,
+     215,    71,     8,     9,    95,   187,   113,    71,   112,   120,
+     276,   102,   278,   279,   125,    35,    36,    37,    38,    39,
+      40,    41,    42,   123,    44,    45,    46,    47,    48,   126,
+       4,   108,     0,   126,    71,   112,    71,   126,    77,    84,
+      71,    81,   100,   225,    72,   126,   318,    79,   126,   321,
+     305,   126,   234,   123,   123,    31,    31,   434,   240,   123,
+     104,   105,   106,   107,   108,   109,    72,   249,   112,   113,
+     114,   115,   116,   117,   451,   548,     6,     7,   455,   112,
+     113,     4,   110,   127,   128,   129,    62,    62,   306,   361,
+     118,   119,   364,    17,   185,    25,   122,    21,   141,   142,
+     120,    31,   122,   123,   110,   287,    10,    71,    12,    13,
+      14,    29,   118,   119,     4,   104,   105,   106,   107,    23,
+     109,   112,   304,   305,   115,    29,    30,    31,   117,   124,
+      34,     4,     4,     6,     7,     8,     9,   180,   181,     4,
+     231,   232,   233,   325,    62,   112,   328,   112,   113,   114,
+     115,   423,    25,   425,    27,   128,   129,    75,    31,    63,
+      64,    65,    66,   345,   112,   124,    96,   546,   108,   112,
+      74,   101,   103,   103,    78,     4,    80,   122,     4,   270,
+     110,   272,    14,    51,    52,    53,    54,   108,   118,   119,
+     101,   112,   410,   113,   115,   116,   378,   379,    14,   136,
+     104,   105,   106,   107,   108,   109,   112,   112,   112,   427,
+       4,   115,   116,   117,   305,    10,   307,     6,     7,   116,
+       4,   125,   125,    96,    51,    52,    53,    54,   319,   102,
+     125,   322,   323,   125,   125,    71,    25,   110,   125,   125,
+     108,   459,    31,   461,   112,   336,   337,   125,   112,   112,
+     109,   342,   122,   122,   101,   123,   123,    71,   349,   431,
+     432,    56,    57,    58,    59,    60,    61,   449,   126,   126,
+     126,   126,   104,   105,   106,   107,    71,   109,   126,   545,
+     112,   113,   114,   115,   126,   117,   126,     4,   104,   105,
+     106,   107,     4,   109,   124,   477,   112,   113,   114,   115,
+     124,   117,   484,   104,   105,   106,   107,    96,   109,   124,
+       4,   112,   101,    72,   103,     4,   117,   108,     4,   112,
+       4,   110,     4,   125,     4,    71,    71,   125,   419,   118,
+     119,    10,   120,   125,    10,   426,   108,   104,   105,   106,
+     107,   108,   109,   434,   435,   112,   108,   108,   439,   116,
+     117,    22,   443,    10,   125,   537,   125,   125,   124,   450,
+     451,    10,   478,   454,   455,   100,   457,   458,    71,   460,
+     122,   122,   122,   464,    22,    22,    71,     1,   122,   112,
+       4,     4,     4,     4,   475,   476,    10,    22,    12,    13,
+      14,     4,   124,   124,    22,   104,   105,   106,   107,    23,
+     109,   126,   125,   112,   125,    29,    30,    31,   117,   124,
+      34,    22,     4,   124,   104,   105,   106,   107,   108,   109,
+       4,   112,   112,   514,   515,   115,   517,   117,   126,     4,
+     521,     4,     4,   524,     4,   526,    13,    62,   225,    63,
+      64,    65,    66,   345,   342,    43,   216,   132,   125,   192,
+      74,    49,    50,   449,    78,   215,    80,    55,    56,    57,
+      58,    59,    60,    61,   514,   379,   328,   273,   273,    67,
+      68,    69,    70,   249,   187,   185,   304,   101,    -1,    -1,
+     104,   105,   106,   107,   108,   109,   102,    -1,   112,    -1,
+      -1,   115,   116,   117,   104,   105,   106,   107,   108,   109,
+      -1,   125,   112,   113,   114,   115,   116,   117,    -1,   104,
+     105,   106,   107,   123,   109,    -1,    -1,   112,   113,   114,
+     115,    -1,   117,   121,    -1,   123,    -1,    -1,    -1,    -1,
+     128,   129,   130,   131,   132,   133,   134,   135,   104,   105,
+     106,   107,   108,   109,    -1,    -1,   112,   113,   114,   115,
+      -1,   117,    -1,    -1,    -1,    -1,    -1,   123,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    -1,
+      97,    98,    99,   104,   105,   106,   107,   108,   109,    -1,
+      -1,   112,   113,   114,   115,   116,   117,   104,   105,   106,
+     107,    -1,   109,    -1,    -1,   112,   113,   114,   115,    -1,
+     117,   104,   105,   106,   107,    -1,   109,    -1,    -1,   112,
+     113,   114,   115,    -1,   117,   104,   105,   106,   107,    -1,
+     109,    -1,    -1,   112,   113,   114,   115,    -1,   117,   104,
+     105,   106,   107,    -1,   109,    -1,    -1,   112,   113,   114,
+     115,    -1,   117,   104,   105,   106,   107,    -1,   109,    -1,
+      -1,   112,    -1,    -1,    -1,    -1,   117
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -2000,55 +1996,55 @@
      254,   255,     4,   108,   112,   115,   116,   249,   250,    51,
       52,    53,    54,   220,     4,    31,   101,   110,   118,   119,
      141,   146,   150,   151,   158,   159,   209,   210,   211,   112,
-     112,   124,    73,   104,   105,   106,   107,   109,   112,   113,
-     114,   115,   117,   245,   253,   258,   260,   261,   262,   163,
-     108,   147,   148,     4,   151,   103,    14,    30,    77,   152,
-     153,   211,     4,   253,    73,    71,   136,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    97,    98,
-      99,   169,   170,   171,   172,   173,   174,   175,   183,   184,
-     185,   122,   113,   112,   253,   112,   154,     4,   116,   253,
-     259,   260,   125,   125,   125,   125,   125,   125,   125,     4,
-     185,   262,   108,   116,   251,   252,   253,   252,    71,   183,
-     123,   155,   245,   246,   247,   248,   252,   260,   112,   115,
-     149,   108,   112,    51,    52,    53,    54,   108,   112,   123,
-     176,   177,   112,   112,   149,   149,   164,   122,   122,   109,
-     101,   256,   257,   123,    71,   126,   126,   126,   254,    71,
-     126,   126,   126,   126,   126,     4,   165,   149,   149,   124,
-     258,   254,   248,   124,   177,     5,   110,   118,   119,   142,
-     166,   178,   206,   207,   208,   124,   167,     4,     4,    72,
-     208,     1,   209,   212,   168,   220,     4,    10,    12,    13,
-      14,    23,    29,    30,    31,    34,    63,    64,    65,    66,
-      74,    78,    80,   108,   112,   115,   116,   125,   146,   179,
-     194,   196,   202,   204,   216,   222,   226,   228,   230,   231,
-     232,   240,   241,   242,   245,   108,   251,    14,   253,    14,
-     253,   253,   245,   217,   112,   218,   219,   232,   245,   227,
-       4,     4,     4,   246,   223,   125,     4,   233,    35,    36,
-      37,    38,    39,    40,    41,    42,    44,    45,    46,    47,
-      48,   120,   122,   123,   229,   192,   253,    10,    56,    57,
-      58,    59,    60,    61,    71,   243,   244,   253,   243,   244,
-      71,   220,    71,   220,   220,   125,   180,   195,   197,   112,
-     238,   239,   245,   203,   125,   112,   245,   250,    14,    23,
-     112,   115,   116,   127,   128,   129,   224,   232,   245,   253,
-     254,   253,    18,    19,    20,    21,   100,   193,    10,   251,
-     253,    10,   251,   253,   253,   108,   213,   214,   245,   108,
-     108,   239,   187,   198,   199,    22,    71,   126,   192,   112,
-     205,   235,   253,   112,   234,   235,   108,   160,   221,   253,
-     155,   253,    43,    49,    50,    55,    56,    57,    58,    59,
-      60,    61,    67,    68,    69,    70,   121,   123,   128,   129,
-     130,   131,   132,   133,   134,   135,   225,   124,   125,   251,
-      10,   251,    10,    71,   123,   100,   215,    71,   122,   122,
-     126,    11,    84,   182,   188,     4,    15,    79,   200,     4,
-      16,    81,   201,   245,   112,   238,   122,    22,    71,   126,
-     236,    22,    71,   126,    71,    71,   123,    71,   123,   254,
-     253,   122,   112,   251,   251,   253,   254,   214,   262,   262,
-     235,   253,    76,    82,    83,   186,     4,   253,     4,   253,
-       4,    22,   231,   253,   112,   235,    17,    21,   237,   253,
-     112,   235,   253,   253,   254,   253,   254,   124,   253,   126,
-     124,     4,   253,   253,   112,   245,   181,   211,   236,   236,
-     245,   125,    22,   125,    22,   124,   124,     4,    71,     4,
-       4,    71,     4,    71,   189,     4,   234,   253,   112,   253,
-     253,   253,   253,    29,    62,    75,   190,   126,   126,     4,
-       4,     4,   191,   245,     4,   220,   192,   214
+     112,   124,   104,   105,   106,   107,   109,   112,   113,   114,
+     115,   117,   245,   253,   258,   259,   260,   261,   163,   108,
+     147,   148,     4,   151,   103,    14,    30,    77,   152,   153,
+     211,     4,   136,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    97,    98,    99,   169,   170,   171,
+     172,   173,   174,   175,   183,   184,   185,   122,   113,   112,
+     253,   112,   154,     4,   116,   259,   125,   125,   125,   125,
+     125,   125,   125,     4,   185,   261,   108,   116,   251,   252,
+     253,   252,    71,   183,   123,   155,   245,   246,   247,   248,
+     252,   112,   115,   149,   108,   112,    51,    52,    53,    54,
+     108,   112,   123,   176,   177,   112,   112,   149,   149,   164,
+     122,   122,   109,   101,   256,   257,   123,    71,   126,   126,
+     126,   254,    71,   126,   126,   126,   126,   126,     4,   165,
+     149,   149,   124,   258,   254,   248,   124,   177,     5,   110,
+     118,   119,   142,   166,   178,   206,   207,   208,   124,   167,
+       4,     4,    72,   208,     1,   209,   212,   168,   220,     4,
+      10,    12,    13,    14,    23,    29,    30,    31,    34,    63,
+      64,    65,    66,    74,    78,    80,   108,   112,   115,   116,
+     125,   146,   179,   194,   196,   202,   204,   216,   222,   226,
+     228,   230,   231,   232,   240,   241,   242,   245,   108,   251,
+      14,   253,    14,   253,   253,   245,   217,   112,   218,   219,
+     232,   245,   227,     4,     4,     4,   246,   223,   125,     4,
+     233,    35,    36,    37,    38,    39,    40,    41,    42,    44,
+      45,    46,    47,    48,   120,   122,   123,   229,   192,   253,
+      10,    56,    57,    58,    59,    60,    61,    71,   243,   244,
+     253,   243,   244,    71,   220,    71,   220,   220,   125,   180,
+     195,   197,   112,   238,   239,   245,   203,   125,   112,   245,
+     250,    14,    23,   112,   115,   116,   127,   128,   129,   224,
+     232,   245,   253,   254,   253,    18,    19,    20,    21,   100,
+     193,    10,   251,   253,    10,   251,   253,   253,   108,   213,
+     214,   245,   108,   108,   239,   187,   198,   199,    22,    71,
+     126,   192,   112,   205,   235,   253,   112,   234,   235,   108,
+     160,   221,   253,   155,   253,    43,    49,    50,    55,    56,
+      57,    58,    59,    60,    61,    67,    68,    69,    70,   121,
+     123,   128,   129,   130,   131,   132,   133,   134,   135,   225,
+     124,   125,   251,    10,   251,    10,    71,   123,   100,   215,
+      71,   122,   122,   126,    11,    84,   182,   188,     4,    15,
+      79,   200,     4,    16,    81,   201,   245,   112,   238,   122,
+      22,    71,   126,   236,    22,    71,   126,    71,    71,   123,
+      71,   123,   254,   253,   122,   112,   251,   251,   253,   254,
+     214,   261,   261,   235,   253,    76,    82,    83,   186,     4,
+     253,     4,   253,     4,    22,   231,   253,   112,   235,    17,
+      21,   237,   253,   112,   235,   253,   253,   254,   253,   254,
+     124,   253,   126,   124,     4,   253,   253,   112,   245,   181,
+     211,   236,   236,   245,   125,    22,   125,    22,   124,   124,
+       4,    71,     4,     4,    71,     4,    71,   189,     4,   234,
+     253,   112,   253,   253,   253,   253,    29,    62,    75,   190,
+     126,   126,     4,     4,     4,   191,   245,     4,   220,   192,
+     214
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -2877,17 +2873,17 @@
     {
         case 2:
 #line 781 "compilers/imcc/imcc.y"
-    { if (yynerrs) YYABORT; (yyval.i) = 0; }
+    { if (yynerrs) YYABORT; (yyval.i) = 0; ;}
     break;
 
   case 5:
 #line 790 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 6:
 #line 791 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 7:
@@ -2896,7 +2892,7 @@
            (yyval.i) = (yyvsp[(1) - (1)].i);
            imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
            IMCC_INFO(interp)->cur_unit = 0;
-         }
+         ;}
     break;
 
   case 8:
@@ -2905,32 +2901,32 @@
            (yyval.i) = (yyvsp[(1) - (1)].i);
            imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
            IMCC_INFO(interp)->cur_unit = 0;
-         }
+         ;}
     break;
 
   case 9:
 #line 804 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 10:
 #line 805 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 11:
 #line 806 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 12:
 #line 807 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 13:
 #line 811 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 14:
@@ -2939,7 +2935,7 @@
            (yyval.i) = 0;
            do_loadlib(interp, (yyvsp[(2) - (3)].s));
            mem_sys_free((yyvsp[(2) - (3)].s));
-         }
+         ;}
     break;
 
   case 15:
@@ -2947,14 +2943,14 @@
     {
            IMCC_INFO(interp)->line = atoi((yyvsp[(2) - (5)].s));
            set_filename(interp, (yyvsp[(4) - (5)].s));
-         }
+         ;}
     break;
 
   case 16:
 #line 827 "compilers/imcc/imcc.y"
     {
            set_filename(interp, (yyvsp[(2) - (3)].s));
-         }
+         ;}
     break;
 
   case 17:
@@ -2966,7 +2962,7 @@
 
             IMCC_INFO(interp)->cur_namespace = NULL;
             (yyval.t) = 0;
-         }
+         ;}
     break;
 
   case 18:
@@ -2984,12 +2980,12 @@
             Parrot_register_HLL_type(interp, ctx->current_HLL,
                 built_in_type, language_type);
             (yyval.t) = 0;
-         }
+         ;}
     break;
 
   case 19:
 #line 861 "compilers/imcc/imcc.y"
-    { is_def = 1; }
+    { is_def = 1; ;}
     break;
 
   case 20:
@@ -2998,12 +2994,12 @@
              mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
              mem_sys_free((yyvsp[(4) - (6)].s));
              is_def = 0;
-         }
+         ;}
     break;
 
   case 21:
 #line 870 "compilers/imcc/imcc.y"
-    { is_def=1; }
+    { is_def=1; ;}
     break;
 
   case 22:
@@ -3011,12 +3007,12 @@
     {
            (yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
            is_def = 0;
-         }
+         ;}
     break;
 
   case 23:
 #line 876 "compilers/imcc/imcc.y"
-    { is_def=1; }
+    { is_def=1; ;}
     break;
 
   case 24:
@@ -3024,37 +3020,37 @@
     {
            (yyval.i) = mk_pmc_const_named(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
            is_def = 0;
-         }
+         ;}
     break;
 
   case 29:
 #line 893 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 30:
 #line 894 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 31:
 #line 895 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 32:
 #line 896 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 33:
 #line 897 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 36:
 #line 902 "compilers/imcc/imcc.y"
-    { clear_state(interp); }
+    { clear_state(interp); ;}
     break;
 
   case 37:
@@ -3064,7 +3060,7 @@
                     (yyvsp[(2) - (3)].s), 0, IMCC_INFO(interp)->regs,
                     IMCC_INFO(interp)->nargs, IMCC_INFO(interp) -> keyvec, 1);
            /* XXX: can't seem to mem_sys_free($1) here */
-         }
+         ;}
     break;
 
   case 38:
@@ -3072,7 +3068,7 @@
     {
            imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
            IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM);
-         }
+         ;}
     break;
 
   case 39:
@@ -3082,14 +3078,14 @@
                     IMCC_INFO(interp)->cur_unit,
                     mk_sub_label(interp, (yyvsp[(4) - (4)].s)));
            IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(3) - (4)].t);
-         }
+         ;}
     break;
 
   case 40:
 #line 923 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr));
-         }
+         ;}
     break;
 
   case 41:
@@ -3100,17 +3096,17 @@
            (yyval.i) = 0;
            mem_sys_free((yyvsp[(2) - (4)].s));
            mem_sys_free((yyvsp[(4) - (4)].s));
-         }
+         ;}
     break;
 
   case 42:
 #line 934 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;}
+    { (yyval.i) = 0;;}
     break;
 
   case 44:
 #line 942 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); }
+    { IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); ;}
     break;
 
   case 45:
@@ -3121,7 +3117,7 @@
                          emit_flush(interp);
            */
            (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 48:
@@ -3136,7 +3132,7 @@
            IMCC_INFO(interp)->cur_namespace = (yyvsp[(2) - (3)].sr);
            if (re_open)
                IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM);
-         }
+         ;}
     break;
 
   case 49:
@@ -3147,26 +3143,26 @@
                     "Slice not allowed in namespace.");
 
             (yyval.sr) = (yyvsp[(2) - (3)].sr);
-        }
+        ;}
     break;
 
   case 50:
 #line 983 "compilers/imcc/imcc.y"
-    { (yyval.sr) = NULL; }
+    { (yyval.sr) = NULL; ;}
     break;
 
   case 51:
 #line 988 "compilers/imcc/imcc.y"
     {
            IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
-         }
+         ;}
     break;
 
   case 52:
 #line 992 "compilers/imcc/imcc.y"
     {
            iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 53:
@@ -3177,22 +3173,22 @@
             IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->subid = str_dup(
             IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->name);
           }
-        }
+        ;}
     break;
 
   case 54:
 #line 1004 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;}
     break;
 
   case 55:
 #line 1008 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 56:
 #line 1009 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 57:
@@ -3205,17 +3201,17 @@
            }
            else
                add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 58:
 #line 1023 "compilers/imcc/imcc.y"
-    { is_def=1; }
+    { is_def=1; ;}
     break;
 
   case 59:
 #line 1023 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(3) - (3)].sr); is_def=0; }
+    { (yyval.sr) = (yyvsp[(3) - (3)].sr); is_def=0; ;}
     break;
 
   case 60:
@@ -3227,12 +3223,12 @@
                (yyval.sr) = mk_ident(interp, (yyvsp[(2) - (3)].s), (yyvsp[(1) - (3)].t));
            (yyval.sr)->type |= (yyvsp[(3) - (3)].t);
            mem_sys_free((yyvsp[(2) - (3)].s));
-          }
+          ;}
     break;
 
   case 61:
 #line 1041 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 62:
@@ -3241,7 +3237,7 @@
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->outer = mk_sub_address_fromc(interp, (yyvsp[(3) - (4)].s));
            mem_sys_free((yyvsp[(3) - (4)].s));
-         }
+         ;}
     break;
 
   case 63:
@@ -3250,7 +3246,7 @@
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->outer = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
            mem_sys_free((yyvsp[(3) - (4)].s));
-         }
+         ;}
     break;
 
   case 64:
@@ -3259,7 +3255,7 @@
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->vtable_name = NULL;
            IMCC_INFO(interp)->cur_unit->is_vtable_method = 1;
-         }
+         ;}
     break;
 
   case 65:
@@ -3268,7 +3264,7 @@
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->vtable_name = (yyvsp[(3) - (4)].s);
            IMCC_INFO(interp)->cur_unit->is_vtable_method = 1;
-         }
+         ;}
     break;
 
   case 66:
@@ -3277,7 +3273,7 @@
            (yyval.t) = P_METHOD;
            IMCC_INFO(interp)->cur_unit->method_name = NULL;
            IMCC_INFO(interp)->cur_unit->is_method = 1;
-         }
+         ;}
     break;
 
   case 67:
@@ -3286,7 +3282,7 @@
            (yyval.t) = P_METHOD;
            IMCC_INFO(interp)->cur_unit->method_name = (yyvsp[(3) - (4)].s);
            IMCC_INFO(interp)->cur_unit->is_method = 1;
-         }
+         ;}
     break;
 
   case 68:
@@ -3295,7 +3291,7 @@
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL;
            IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
-         }
+         ;}
     break;
 
   case 69:
@@ -3304,7 +3300,7 @@
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->ns_entry_name = (yyvsp[(3) - (4)].s);
            IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
-         }
+         ;}
     break;
 
   case 70:
@@ -3312,7 +3308,7 @@
     {
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->instance_of = (yyvsp[(3) - (4)].s);
-         }
+         ;}
     break;
 
   case 71:
@@ -3320,7 +3316,7 @@
     {
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->subid = NULL;
-         }
+         ;}
     break;
 
   case 72:
@@ -3330,14 +3326,14 @@
            IMCC_INFO(interp)->cur_unit->subid = mk_const(interp, (yyvsp[(3) - (4)].s), 'S');
            IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->subid = str_dup_remove_quotes((yyvsp[(3) - (4)].s));
            mem_sys_free((yyvsp[(3) - (4)].s));
-         }
+         ;}
     break;
 
   case 73:
 #line 1129 "compilers/imcc/imcc.y"
     {
            add_pcc_multi(IMCC_INFO(interp)->cur_call, NULL);
-         }
+         ;}
     break;
 
   case 74:
@@ -3345,7 +3341,7 @@
     {
            (yyval.t) = 0;
            add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 75:
@@ -3353,27 +3349,27 @@
     {
            (yyval.t) = 0;
            add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 76:
 #line 1145 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "INTVAL",   'S'); }
+    { (yyval.sr) = mk_const(interp, "INTVAL",   'S'); ;}
     break;
 
   case 77:
 #line 1146 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); }
+    { (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); ;}
     break;
 
   case 78:
 #line 1147 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "PMC",      'S'); }
+    { (yyval.sr) = mk_const(interp, "PMC",      'S'); ;}
     break;
 
   case 79:
 #line 1148 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "STRING",   'S'); }
+    { (yyval.sr) = mk_const(interp, "STRING",   'S'); ;}
     break;
 
   case 80:
@@ -3387,7 +3383,7 @@
            }
            mem_sys_free((yyvsp[(1) - (1)].s));
            (yyval.sr) = r;
-         }
+         ;}
     break;
 
   case 81:
@@ -3401,12 +3397,12 @@
            }
            mem_sys_free((yyvsp[(1) - (1)].s));
            (yyval.sr) = r;
-         }
+         ;}
     break;
 
   case 82:
 #line 1171 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(2) - (3)].sr); }
+    { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
     break;
 
   case 85:
@@ -3433,82 +3429,82 @@
            r1 = IMCC_INFO(interp)->cur_unit->instructions->symregs[0];
            if (r1 && r1->pcc_sub)
                r1->pcc_sub->calls_a_sub |= 1;
-         }
+         ;}
     break;
 
   case 86:
 #line 1209 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;}
     break;
 
   case 87:
 #line 1213 "compilers/imcc/imcc.y"
-    { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; }
+    { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; ;}
     break;
 
   case 88:
 #line 1214 "compilers/imcc/imcc.y"
-    { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; }
+    { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; ;}
     break;
 
   case 89:
 #line 1218 "compilers/imcc/imcc.y"
-    { (yyval.i) = NULL; }
+    { (yyval.i) = NULL; ;}
     break;
 
   case 90:
 #line 1219 "compilers/imcc/imcc.y"
-    { (yyval.i) = NULL;  IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); }
+    { (yyval.i) = NULL;  IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); ;}
     break;
 
   case 91:
 #line 1223 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 93:
 #line 1228 "compilers/imcc/imcc.y"
-    { (yyval.t) = (yyvsp[(1) - (1)].t); }
+    { (yyval.t) = (yyvsp[(1) - (1)].t); ;}
     break;
 
   case 94:
 #line 1229 "compilers/imcc/imcc.y"
-    { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
+    { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;}
     break;
 
   case 95:
 #line 1233 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_LOAD; }
+    { (yyval.t) = P_LOAD; ;}
     break;
 
   case 96:
 #line 1234 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_INIT; }
+    { (yyval.t) = P_INIT; ;}
     break;
 
   case 97:
 #line 1235 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_MAIN; }
+    { (yyval.t) = P_MAIN; ;}
     break;
 
   case 98:
 #line 1236 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_IMMEDIATE; }
+    { (yyval.t) = P_IMMEDIATE; ;}
     break;
 
   case 99:
 #line 1237 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_POSTCOMP; }
+    { (yyval.t) = P_POSTCOMP; ;}
     break;
 
   case 100:
 #line 1238 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_ANON; }
+    { (yyval.t) = P_ANON; ;}
     break;
 
   case 101:
 #line 1239 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_NEED_LEX; }
+    { (yyval.t) = P_NEED_LEX; ;}
     break;
 
   case 109:
@@ -3516,14 +3512,14 @@
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
            add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
-         }
+         ;}
     break;
 
   case 110:
 #line 1256 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 111:
@@ -3531,21 +3527,21 @@
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
            IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isNCI;
-         }
+         ;}
     break;
 
   case 112:
 #line 1265 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 113:
 #line 1269 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S'));
-         }
+         ;}
     break;
 
   case 114:
@@ -3553,7 +3549,7 @@
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
            add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
-         }
+         ;}
     break;
 
   case 115:
@@ -3561,27 +3557,27 @@
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (5)].s), 'S'));
            add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
-         }
+         ;}
     break;
 
   case 116:
 #line 1286 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 117:
 #line 1287 "compilers/imcc/imcc.y"
-    { add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
+    { add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); ;}
     break;
 
   case 118:
 #line 1291 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(2) - (2)].sr); }
+    { (yyval.sr) = (yyvsp[(2) - (2)].sr); ;}
     break;
 
   case 119:
 #line 1296 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 120:
@@ -3589,17 +3585,17 @@
     {
            if ((yyvsp[(2) - (3)].sr))
                add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 121:
 #line 1305 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
+    { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); ;}
     break;
 
   case 122:
 #line 1306 "compilers/imcc/imcc.y"
-    { is_def=1; }
+    { is_def=1; ;}
     break;
 
   case 123:
@@ -3614,57 +3610,57 @@
            UNUSED(ignored);
            is_def=0;
            (yyval.sr)=0;
-         }
+         ;}
     break;
 
   case 124:
 #line 1321 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 125:
 #line 1322 "compilers/imcc/imcc.y"
-    { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
+    { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;}
     break;
 
   case 126:
 #line 1326 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_FLAT;   }
+    { (yyval.t) = VT_FLAT;   ;}
     break;
 
   case 127:
 #line 1327 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_OPTIONAL; }
+    { (yyval.t) = VT_OPTIONAL; ;}
     break;
 
   case 128:
 #line 1328 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_OPT_FLAG; }
+    { (yyval.t) = VT_OPT_FLAG; ;}
     break;
 
   case 129:
 #line 1329 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_NAMED; }
+    { (yyval.t) = VT_NAMED; ;}
     break;
 
   case 130:
 #line 1330 "compilers/imcc/imcc.y"
-    { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
+    { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; ;}
     break;
 
   case 131:
 #line 1331 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_UNIQUE_REG; }
+    { (yyval.t) = VT_UNIQUE_REG; ;}
     break;
 
   case 132:
 #line 1336 "compilers/imcc/imcc.y"
-    { begin_return_or_yield(interp, 0); }
+    { begin_return_or_yield(interp, 0); ;}
     break;
 
   case 133:
 #line 1338 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;}
     break;
 
   case 134:
@@ -3672,22 +3668,22 @@
     {
            IMCC_INFO(interp)->asm_state = AsmDefault;
            (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 135:
 #line 1347 "compilers/imcc/imcc.y"
-    { begin_return_or_yield(interp, 1); }
+    { begin_return_or_yield(interp, 1); ;}
     break;
 
   case 136:
 #line 1349 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;}
     break;
 
   case 137:
 #line 1353 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 138:
@@ -3695,7 +3691,7 @@
     {
            if ((yyvsp[(1) - (2)].sr))
                add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
-         }
+         ;}
     break;
 
   case 139:
@@ -3703,12 +3699,12 @@
     {
            if ((yyvsp[(2) - (3)].sr))
                add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 140:
 #line 1367 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 141:
@@ -3716,7 +3712,7 @@
     {
            if ((yyvsp[(1) - (2)].sr))
                add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
-         }
+         ;}
     break;
 
   case 142:
@@ -3724,17 +3720,17 @@
     {
            if ((yyvsp[(2) - (3)].sr))
                add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 143:
 #line 1381 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
+    { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); ;}
     break;
 
   case 144:
 #line 1385 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); }
+    { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); ;}
     break;
 
   case 145:
@@ -3742,7 +3738,7 @@
     {
           if (IMCC_INFO(interp)->asm_state == AsmDefault)
               begin_return_or_yield(interp, (yyvsp[(1) - (2)].t));
-        }
+        ;}
     break;
 
   case 146:
@@ -3750,22 +3746,22 @@
     {
           IMCC_INFO(interp)->asm_state = AsmDefault;
           (yyval.t) = 0;
-        }
+        ;}
     break;
 
   case 147:
 #line 1402 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 148:
 #line 1403 "compilers/imcc/imcc.y"
-    { (yyval.t) = 1; }
+    { (yyval.t) = 1; ;}
     break;
 
   case 149:
 #line 1407 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 150:
@@ -3778,14 +3774,14 @@
            }
            else
                add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 151:
 #line 1419 "compilers/imcc/imcc.y"
     {
            add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 152:
@@ -3798,61 +3794,61 @@
              }
              else
                  add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 153:
 #line 1433 "compilers/imcc/imcc.y"
     {
            add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr));
-         }
+         ;}
     break;
 
   case 156:
 #line 1453 "compilers/imcc/imcc.y"
-    { clear_state(interp); }
+    { clear_state(interp); ;}
     break;
 
   case 157:
 #line 1458 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(2) - (2)].i); }
+    { (yyval.i) = (yyvsp[(2) - (2)].i); ;}
     break;
 
   case 158:
 #line 1459 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 159:
 #line 1460 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 160:
 #line 1461 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 161:
 #line 1462 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 162:
 #line 1466 "compilers/imcc/imcc.y"
-    { (yyval.i) = NULL; }
+    { (yyval.i) = NULL; ;}
     break;
 
   case 166:
 #line 1477 "compilers/imcc/imcc.y"
     {
            (yyval.i) = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, (yyvsp[(1) - (1)].s)));
-         }
+         ;}
     break;
 
   case 167:
 #line 1485 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(2) - (3)].i); }
+    { (yyval.i) = (yyvsp[(2) - (3)].i); ;}
     break;
 
   case 168:
@@ -3863,7 +3859,7 @@
                YYABORT;
            }
            yyerrok;
-         }
+         ;}
     break;
 
   case 169:
@@ -3872,7 +3868,7 @@
            IdList* l = (yyvsp[(1) - (1)].idlist);
            l->next = NULL;
            (yyval.idlist) = l;
-         }
+         ;}
     break;
 
   case 170:
@@ -3881,7 +3877,7 @@
            IdList* l = (yyvsp[(3) - (3)].idlist);
            l->next = (yyvsp[(1) - (3)].idlist);
            (yyval.idlist) = l;
-         }
+         ;}
     break;
 
   case 171:
@@ -3891,22 +3887,22 @@
            l->id           = (yyvsp[(1) - (2)].s);
            l->unique_reg   = (yyvsp[(2) - (2)].t);
            (yyval.idlist) = l;
-         }
+         ;}
     break;
 
   case 172:
 #line 1523 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 173:
 #line 1524 "compilers/imcc/imcc.y"
-    { (yyval.t) = 1; }
+    { (yyval.t) = 1; ;}
     break;
 
   case 176:
 #line 1531 "compilers/imcc/imcc.y"
-    { is_def=1; }
+    { is_def=1; ;}
     break;
 
   case 177:
@@ -3925,19 +3921,19 @@
                mem_sys_free(l1);
            }
            is_def=0; (yyval.i)=0;
-         }
+         ;}
     break;
 
   case 178:
 #line 1548 "compilers/imcc/imcc.y"
     {
            set_lexical(interp, (yyvsp[(4) - (4)].sr), (yyvsp[(2) - (4)].s)); (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 179:
 #line 1551 "compilers/imcc/imcc.y"
-    { is_def=1; }
+    { is_def=1; ;}
     break;
 
   case 180:
@@ -3946,12 +3942,12 @@
            mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0);
            is_def=0;
            mem_sys_free((yyvsp[(4) - (6)].s));
-         }
+         ;}
     break;
 
   case 182:
 #line 1559 "compilers/imcc/imcc.y"
-    { is_def=1; }
+    { is_def=1; ;}
     break;
 
   case 183:
@@ -3960,7 +3956,7 @@
            mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
            is_def=0;
            mem_sys_free((yyvsp[(4) - (6)].s));
-         }
+         ;}
     break;
 
   case 184:
@@ -3969,12 +3965,12 @@
            (yyval.i) = NULL;
            IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isTAIL_CALL;
            IMCC_INFO(interp)->cur_call = NULL;
-         }
+         ;}
     break;
 
   case 185:
 #line 1571 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr)); ;}
     break;
 
   case 186:
@@ -3989,47 +3985,47 @@
                     IMCC_INFO(interp)->keyvec,
                     1);
            mem_sys_free((yyvsp[(1) - (2)].s));
-         }
+         ;}
     break;
 
   case 187:
 #line 1584 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); ;}
     break;
 
   case 188:
 #line 1585 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;}
     break;
 
   case 189:
 #line 1586 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 192:
 #line 1589 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;}
+    { (yyval.i) = 0;;}
     break;
 
   case 193:
 #line 1593 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'I'; }
+    { (yyval.t) = 'I'; ;}
     break;
 
   case 194:
 #line 1594 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'N'; }
+    { (yyval.t) = 'N'; ;}
     break;
 
   case 195:
 #line 1595 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'S'; }
+    { (yyval.t) = 'S'; ;}
     break;
 
   case 196:
 #line 1596 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'P'; }
+    { (yyval.t) = 'P'; ;}
     break;
 
   case 197:
@@ -4042,87 +4038,87 @@
                IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
                     "Unknown PMC type '%s'\n", (yyvsp[(1) - (1)].s));
            }
-         }
+         ;}
     break;
 
   case 198:
 #line 1614 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr));  }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr));  ;}
     break;
 
   case 199:
 #line 1616 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr));  }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr));  ;}
     break;
 
   case 200:
 #line 1618 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) - (5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));  }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) - (5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));  ;}
     break;
 
   case 201:
 #line 1620 "compilers/imcc/imcc.y"
-    { (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); }
+    { (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); ;}
     break;
 
   case 202:
 #line 1622 "compilers/imcc/imcc.y"
-    { (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
+    { (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;}
     break;
 
   case 203:
 #line 1624 "compilers/imcc/imcc.y"
-    { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].s), (yyvsp[(6) - (6)].sr), 1); }
+    { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].s), (yyvsp[(6) - (6)].sr), 1); ;}
     break;
 
   case 204:
 #line 1626 "compilers/imcc/imcc.y"
-    { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); }
+    { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); ;}
     break;
 
   case 205:
 #line 1628 "compilers/imcc/imcc.y"
-    { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].s), NULL, 1); }
+    { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].s), NULL, 1); ;}
     break;
 
   case 206:
 #line 1630 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
     break;
 
   case 207:
 #line 1632 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
     break;
 
   case 208:
 #line 1634 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;}
     break;
 
   case 209:
 #line 1636 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;}
     break;
 
   case 210:
 #line 1638 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); ;}
     break;
 
   case 211:
 #line 1642 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
     break;
 
   case 212:
 #line 1644 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;}
     break;
 
   case 213:
 #line 1646 "compilers/imcc/imcc.y"
-    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(2) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); }
+    { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3, (yyvsp[(2) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); ;}
     break;
 
   case 214:
@@ -4131,14 +4127,14 @@
            add_pcc_result((yyvsp[(3) - (3)].i)->symregs[0], (yyvsp[(1) - (3)].sr));
            IMCC_INFO(interp)->cur_call = NULL;
            (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 215:
 #line 1655 "compilers/imcc/imcc.y"
     {
            (yyval.i) = IMCC_create_itcall_label(interp);
-         }
+         ;}
     break;
 
   case 216:
@@ -4146,144 +4142,144 @@
     {
            IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
            IMCC_INFO(interp)->cur_call = NULL;
-         }
+         ;}
     break;
 
   case 220:
 #line 1667 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(1) - (3)].sr));
-         }
+         ;}
     break;
 
   case 221:
 #line 1674 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"not"; }
+    { (yyval.s) = (char *)"not"; ;}
     break;
 
   case 222:
 #line 1675 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bnot"; }
+    { (yyval.s) = (char *)"bnot"; ;}
     break;
 
   case 223:
 #line 1676 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"neg"; }
+    { (yyval.s) = (char *)"neg"; ;}
     break;
 
   case 224:
 #line 1680 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"sub"; }
+    { (yyval.s) = (char *)"sub"; ;}
     break;
 
   case 225:
 #line 1681 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"add"; }
+    { (yyval.s) = (char *)"add"; ;}
     break;
 
   case 226:
 #line 1682 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mul"; }
+    { (yyval.s) = (char *)"mul"; ;}
     break;
 
   case 227:
 #line 1683 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"div"; }
+    { (yyval.s) = (char *)"div"; ;}
     break;
 
   case 228:
 #line 1684 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mod"; }
+    { (yyval.s) = (char *)"mod"; ;}
     break;
 
   case 229:
 #line 1685 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"fdiv"; }
+    { (yyval.s) = (char *)"fdiv"; ;}
     break;
 
   case 230:
 #line 1686 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"pow"; }
+    { (yyval.s) = (char *)"pow"; ;}
     break;
 
   case 231:
 #line 1687 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"concat"; }
+    { (yyval.s) = (char *)"concat"; ;}
     break;
 
   case 232:
 #line 1688 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"iseq"; }
+    { (yyval.s) = (char *)"iseq"; ;}
     break;
 
   case 233:
 #line 1689 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isne"; }
+    { (yyval.s) = (char *)"isne"; ;}
     break;
 
   case 234:
 #line 1690 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isgt"; }
+    { (yyval.s) = (char *)"isgt"; ;}
     break;
 
   case 235:
 #line 1691 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isge"; }
+    { (yyval.s) = (char *)"isge"; ;}
     break;
 
   case 236:
 #line 1692 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"islt"; }
+    { (yyval.s) = (char *)"islt"; ;}
     break;
 
   case 237:
 #line 1693 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isle"; }
+    { (yyval.s) = (char *)"isle"; ;}
     break;
 
   case 238:
 #line 1694 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shl"; }
+    { (yyval.s) = (char *)"shl"; ;}
     break;
 
   case 239:
 #line 1695 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shr"; }
+    { (yyval.s) = (char *)"shr"; ;}
     break;
 
   case 240:
 #line 1696 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"lsr"; }
+    { (yyval.s) = (char *)"lsr"; ;}
     break;
 
   case 241:
 #line 1697 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"and"; }
+    { (yyval.s) = (char *)"and"; ;}
     break;
 
   case 242:
 #line 1698 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"or"; }
+    { (yyval.s) = (char *)"or"; ;}
     break;
 
   case 243:
 #line 1699 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"xor"; }
+    { (yyval.s) = (char *)"xor"; ;}
     break;
 
   case 244:
 #line 1700 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"band"; }
+    { (yyval.s) = (char *)"band"; ;}
     break;
 
   case 245:
 #line 1701 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bor"; }
+    { (yyval.s) = (char *)"bor"; ;}
     break;
 
   case 246:
 #line 1702 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bxor"; }
+    { (yyval.s) = (char *)"bxor"; ;}
     break;
 
   case 247:
@@ -4292,84 +4288,84 @@
            (yyval.i) = IMCC_create_itcall_label(interp);
            (yyval.i)->type &= ~ITCALL;
            (yyval.i)->type |= ITRESULT;
-         }
+         ;}
     break;
 
   case 248:
 #line 1713 "compilers/imcc/imcc.y"
-    {  (yyval.i) = 0; }
+    {  (yyval.i) = 0; ;}
     break;
 
   case 249:
 #line 1720 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(2) - (3)].s), 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 250:
 #line 1726 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"add"; }
+    { (yyval.s) = (char *)"add"; ;}
     break;
 
   case 251:
 #line 1727 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"sub"; }
+    { (yyval.s) = (char *)"sub"; ;}
     break;
 
   case 252:
 #line 1728 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mul"; }
+    { (yyval.s) = (char *)"mul"; ;}
     break;
 
   case 253:
 #line 1729 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"div"; }
+    { (yyval.s) = (char *)"div"; ;}
     break;
 
   case 254:
 #line 1730 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mod"; }
+    { (yyval.s) = (char *)"mod"; ;}
     break;
 
   case 255:
 #line 1731 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"fdiv"; }
+    { (yyval.s) = (char *)"fdiv"; ;}
     break;
 
   case 256:
 #line 1732 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"concat"; }
+    { (yyval.s) = (char *)"concat"; ;}
     break;
 
   case 257:
 #line 1733 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"band"; }
+    { (yyval.s) = (char *)"band"; ;}
     break;
 
   case 258:
 #line 1734 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bor"; }
+    { (yyval.s) = (char *)"bor"; ;}
     break;
 
   case 259:
 #line 1735 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bxor"; }
+    { (yyval.s) = (char *)"bxor"; ;}
     break;
 
   case 260:
 #line 1736 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shr"; }
+    { (yyval.s) = (char *)"shr"; ;}
     break;
 
   case 261:
 #line 1737 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shl"; }
+    { (yyval.s) = (char *)"shl"; ;}
     break;
 
   case 262:
 #line 1738 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"lsr"; }
+    { (yyval.s) = (char *)"lsr"; ;}
     break;
 
   case 263:
@@ -4380,22 +4376,22 @@
                       IMCC_INFO(interp) -> nargs,
                       IMCC_INFO(interp) -> keyvec, 1);
          mem_sys_free((yyvsp[(3) - (4)].s));
-       }
+       ;}
     break;
 
   case 264:
 #line 1754 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s));  mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s));  mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 265:
 #line 1755 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 266:
 #line 1756 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 267:
@@ -4404,7 +4400,7 @@
            (yyval.sr) = (yyvsp[(1) - (1)].sr);
            if ((yyvsp[(1) - (1)].sr)->set != 'P')
                IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR, "Sub isn't a PMC");
-         }
+         ;}
     break;
 
   case 268:
@@ -4419,7 +4415,7 @@
 
             IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
             (yyval.sr)                         = (yyvsp[(3) - (3)].sr);
-        }
+        ;}
     break;
 
   case 269:
@@ -4428,12 +4424,12 @@
             IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
             (yyval.sr)                         = mk_const(interp, (yyvsp[(3) - (3)].s), 'S');
             mem_sys_free((yyvsp[(3) - (3)].s));
-         }
+         ;}
     break;
 
   case 270:
 #line 1781 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); }
+    { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); ;}
     break;
 
   case 271:
@@ -4441,17 +4437,17 @@
     {
            (yyval.i) = IMCC_create_itcall_label(interp);
            IMCC_itcall_sub(interp, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 272:
 #line 1791 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(2) - (5)].i); }
+    { (yyval.i) = (yyvsp[(2) - (5)].i); ;}
     break;
 
   case 273:
 #line 1795 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 274:
@@ -4464,7 +4460,7 @@
            }
            else
                add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 275:
@@ -4477,7 +4473,7 @@
            }
            else
                add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 276:
@@ -4486,7 +4482,7 @@
            (yyval.sr) = 0;
            add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr));
            mem_sys_free((yyvsp[(3) - (5)].s));
-         }
+         ;}
     break;
 
   case 277:
@@ -4495,42 +4491,42 @@
            (yyval.sr) = 0;
            add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr));
            mem_sys_free((yyvsp[(1) - (3)].s));
-         }
+         ;}
     break;
 
   case 278:
 #line 1831 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
+    { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); ;}
     break;
 
   case 279:
 #line 1835 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 280:
 #line 1836 "compilers/imcc/imcc.y"
-    { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
+    { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;}
     break;
 
   case 281:
 #line 1840 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_FLAT; }
+    { (yyval.t) = VT_FLAT; ;}
     break;
 
   case 282:
 #line 1841 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_NAMED; }
+    { (yyval.t) = VT_NAMED; ;}
     break;
 
   case 283:
 #line 1844 "compilers/imcc/imcc.y"
-    { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
+    { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; ;}
     break;
 
   case 284:
 #line 1848 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); }
+    { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); ;}
     break;
 
   case 285:
@@ -4543,7 +4539,7 @@
            }
            else
                add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 286:
@@ -4551,7 +4547,7 @@
     {
            add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr));
            mem_sys_free((yyvsp[(3) - (5)].s));
-         }
+         ;}
     break;
 
   case 287:
@@ -4564,7 +4560,7 @@
            }
            else
                add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 288:
@@ -4572,124 +4568,124 @@
     {
            add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr));
            mem_sys_free((yyvsp[(1) - (3)].s));
-         }
+         ;}
     break;
 
   case 289:
 #line 1882 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 290:
 #line 1886 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 291:
 #line 1887 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 292:
 #line 1892 "compilers/imcc/imcc.y"
     {
            (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, inv_op((yyvsp[(3) - (6)].s)), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr));
-         }
+         ;}
     break;
 
   case 293:
 #line 1896 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));
-         }
+         ;}
     break;
 
   case 294:
 #line 1900 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
-         }
+         ;}
     break;
 
   case 295:
 #line 1907 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr));
-         }
+         ;}
     break;
 
   case 296:
 #line 1911 "compilers/imcc/imcc.y"
     {
            (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr));
-         }
+         ;}
     break;
 
   case 297:
 #line 1915 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr));
-         }
+         ;}
     break;
 
   case 298:
 #line 1921 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 299:
 #line 1922 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 300:
 #line 1926 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"eq"; }
+    { (yyval.s) = (char *)"eq"; ;}
     break;
 
   case 301:
 #line 1927 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"ne"; }
+    { (yyval.s) = (char *)"ne"; ;}
     break;
 
   case 302:
 #line 1928 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"gt"; }
+    { (yyval.s) = (char *)"gt"; ;}
     break;
 
   case 303:
 #line 1929 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"ge"; }
+    { (yyval.s) = (char *)"ge"; ;}
     break;
 
   case 304:
 #line 1930 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"lt"; }
+    { (yyval.s) = (char *)"lt"; ;}
     break;
 
   case 305:
 #line 1931 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"le"; }
+    { (yyval.s) = (char *)"le"; ;}
     break;
 
   case 308:
 #line 1940 "compilers/imcc/imcc.y"
-    { (yyval.sr) = NULL; }
+    { (yyval.sr) = NULL; ;}
     break;
 
   case 309:
 #line 1941 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(1) - (1)].sr); }
+    { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
     break;
 
   case 310:
 #line 1945 "compilers/imcc/imcc.y"
-    { (yyval.sr) = IMCC_INFO(interp)->regs[0]; }
+    { (yyval.sr) = IMCC_INFO(interp)->regs[0]; ;}
     break;
 
   case 312:
 #line 1950 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); }
+    { IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); ;}
     break;
 
   case 313:
@@ -4699,7 +4695,7 @@
            IMCC_INFO(interp) -> keyvec |= KEY_BIT(IMCC_INFO(interp)->nargs);
            IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(3) - (4)].sr);
            (yyval.sr) = (yyvsp[(1) - (4)].sr);
-         }
+         ;}
     break;
 
   case 314:
@@ -4707,37 +4703,37 @@
     {
            IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(2) - (3)].sr);
            (yyval.sr) = (yyvsp[(2) - (3)].sr);
-         }
+         ;}
     break;
 
   case 316:
 #line 1966 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 317:
 #line 1967 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s));  mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s));  mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 318:
 #line 1971 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 319:
 #line 1972 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 320:
 #line 1976 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 321:
 #line 1977 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 326:
@@ -4745,7 +4741,7 @@
     {
            IMCC_INFO(interp)->nkeys    = 0;
            IMCC_INFO(interp)->in_slice = 0;
-         }
+         ;}
     break;
 
   case 327:
@@ -4754,7 +4750,7 @@
            (yyval.sr) = link_keys(interp,
                           IMCC_INFO(interp)->nkeys,
                           IMCC_INFO(interp)->keys, 0);
-         }
+         ;}
     break;
 
   case 328:
@@ -4762,7 +4758,7 @@
     {
            IMCC_INFO(interp)->nkeys = 0;
            IMCC_INFO(interp)->in_slice = 0;
-         }
+         ;}
     break;
 
   case 329:
@@ -4771,12 +4767,12 @@
            (yyval.sr) = link_keys(interp,
                           IMCC_INFO(interp)->nkeys,
                           IMCC_INFO(interp)->keys, 1);
-         }
+         ;}
     break;
 
   case 330:
 #line 2017 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); }
+    { IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); ;}
     break;
 
   case 331:
@@ -4784,99 +4780,66 @@
     {
            IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
            (yyval.sr) = IMCC_INFO(interp)->keys[0];
-         }
+         ;}
     break;
 
   case 332:
-#line 2023 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->in_slice = 1; }
+#line 2027 "compilers/imcc/imcc.y"
+    {
+           if (IMCC_INFO(interp)->in_slice)
+               (yyvsp[(1) - (1)].sr)->type |= VT_START_SLICE | VT_END_SLICE;
+           (yyval.sr) = (yyvsp[(1) - (1)].sr);
+         ;}
     break;
 
   case 333:
-#line 2025 "compilers/imcc/imcc.y"
-    {
-           IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(4) - (4)].sr);
-           (yyval.sr) = IMCC_INFO(interp)->keys[0];
-         }
+#line 2035 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); ;}
     break;
 
   case 334:
-#line 2033 "compilers/imcc/imcc.y"
-    {
-           if (IMCC_INFO(interp)->in_slice)
-               (yyvsp[(1) - (1)].sr)->type |= VT_START_SLICE | VT_END_SLICE;
-           (yyval.sr) = (yyvsp[(1) - (1)].sr);
-         }
+#line 2036 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); ;}
     break;
 
   case 335:
-#line 2039 "compilers/imcc/imcc.y"
-    {
-           (yyvsp[(1) - (3)].sr)->type |= VT_START_SLICE;
-           (yyvsp[(3) - (3)].sr)->type |= VT_END_SLICE;
-           IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (3)].sr);
-           (yyval.sr) = (yyvsp[(3) - (3)].sr);
-         }
+#line 2037 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); ;}
     break;
 
   case 336:
-#line 2045 "compilers/imcc/imcc.y"
-    { (yyvsp[(2) - (2)].sr)->type |= VT_START_ZERO | VT_END_SLICE; (yyval.sr) = (yyvsp[(2) - (2)].sr); }
+#line 2038 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); ;}
     break;
 
   case 337:
-#line 2046 "compilers/imcc/imcc.y"
-    { (yyvsp[(1) - (2)].sr)->type |= VT_START_SLICE | VT_END_INF; (yyval.sr) = (yyvsp[(1) - (2)].sr); }
+#line 2039 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 338:
-#line 2050 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); }
+#line 2043 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 339:
-#line 2051 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); }
+#line 2044 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 340:
-#line 2052 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
+#line 2045 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 341:
-#line 2053 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); }
-    break;
-
-  case 342:
-#line 2054 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
-    break;
-
-  case 343:
-#line 2058 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); }
-    break;
-
-  case 344:
-#line 2059 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); }
-    break;
-
-  case 345:
-#line 2060 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); }
-    break;
-
-  case 346:
-#line 2061 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); }
+#line 2046 "compilers/imcc/imcc.y"
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
 
 /* Line 1267 of yacc.c.  */
-#line 4869 "compilers/imcc/imcparser.c"
+#line 4832 "compilers/imcc/imcparser.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5090,7 +5053,7 @@
 }
 
 
-#line 2067 "compilers/imcc/imcc.y"
+#line 2052 "compilers/imcc/imcc.y"
 
 
 /* I need this prototype somewhere... */



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About