[svn:parrot] r45735 - in branches/immutable_strings_part1: compilers/imcc include/parrot src/string/encoding

petdance at svn.parrot.org petdance at svn.parrot.org
Sat Apr 17 04:21:54 UTC 2010


Author: petdance
Date: Sat Apr 17 04:21:51 2010
New Revision: 45735
URL: https://trac.parrot.org/parrot/changeset/45735

Log:
become_encoding() makes no sense in a world of immutable strings

Modified:
   branches/immutable_strings_part1/compilers/imcc/imcparser.c
   branches/immutable_strings_part1/compilers/imcc/imcparser.h
   branches/immutable_strings_part1/include/parrot/charset.h
   branches/immutable_strings_part1/include/parrot/encoding.h
   branches/immutable_strings_part1/src/string/encoding/fixed_8.c
   branches/immutable_strings_part1/src/string/encoding/ucs2.c
   branches/immutable_strings_part1/src/string/encoding/utf16.c
   branches/immutable_strings_part1/src/string/encoding/utf8.c

Modified: branches/immutable_strings_part1/compilers/imcc/imcparser.c
==============================================================================
--- branches/immutable_strings_part1/compilers/imcc/imcparser.c	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/compilers/imcc/imcparser.c	Sat Apr 17 04:21:51 2010	(r45735)
@@ -1303,127 +1303,6 @@
      CONCAT = 376
    };
 #endif
-/* Tokens.  */
-#define LOW_PREC 258
-#define PARAM 259
-#define HLL 260
-#define TK_LINE 261
-#define TK_FILE 262
-#define GOTO 263
-#define ARG 264
-#define IF 265
-#define UNLESS 266
-#define PNULL 267
-#define SET_RETURN 268
-#define SET_YIELD 269
-#define ADV_FLAT 270
-#define ADV_SLURPY 271
-#define ADV_OPTIONAL 272
-#define ADV_OPT_FLAG 273
-#define ADV_NAMED 274
-#define ADV_ARROW 275
-#define NEW 276
-#define ADV_INVOCANT 277
-#define ADV_CALL_SIG 278
-#define NAMESPACE 279
-#define DOT_METHOD 280
-#define SUB 281
-#define SYM 282
-#define LOCAL 283
-#define LEXICAL 284
-#define CONST 285
-#define ANNOTATE 286
-#define INC 287
-#define DEC 288
-#define GLOBAL_CONST 289
-#define PLUS_ASSIGN 290
-#define MINUS_ASSIGN 291
-#define MUL_ASSIGN 292
-#define DIV_ASSIGN 293
-#define CONCAT_ASSIGN 294
-#define BAND_ASSIGN 295
-#define BOR_ASSIGN 296
-#define BXOR_ASSIGN 297
-#define FDIV 298
-#define FDIV_ASSIGN 299
-#define MOD_ASSIGN 300
-#define SHR_ASSIGN 301
-#define SHL_ASSIGN 302
-#define SHR_U_ASSIGN 303
-#define SHIFT_LEFT 304
-#define SHIFT_RIGHT 305
-#define INTV 306
-#define FLOATV 307
-#define STRINGV 308
-#define PMCV 309
-#define LOG_XOR 310
-#define RELOP_EQ 311
-#define RELOP_NE 312
-#define RELOP_GT 313
-#define RELOP_GTE 314
-#define RELOP_LT 315
-#define RELOP_LTE 316
-#define RESULT 317
-#define RETURN 318
-#define TAILCALL 319
-#define YIELDT 320
-#define GET_RESULTS 321
-#define POW 322
-#define SHIFT_RIGHT_U 323
-#define LOG_AND 324
-#define LOG_OR 325
-#define COMMA 326
-#define ESUB 327
-#define DOTDOT 328
-#define PCC_BEGIN 329
-#define PCC_END 330
-#define PCC_CALL 331
-#define PCC_SUB 332
-#define PCC_BEGIN_RETURN 333
-#define PCC_END_RETURN 334
-#define PCC_BEGIN_YIELD 335
-#define PCC_END_YIELD 336
-#define NCI_CALL 337
-#define METH_CALL 338
-#define INVOCANT 339
-#define MAIN 340
-#define LOAD 341
-#define INIT 342
-#define IMMEDIATE 343
-#define POSTCOMP 344
-#define METHOD 345
-#define ANON 346
-#define OUTER 347
-#define NEED_LEX 348
-#define MULTI 349
-#define VTABLE_METHOD 350
-#define LOADLIB 351
-#define SUB_INSTANCE_OF 352
-#define SUBID 353
-#define NS_ENTRY 354
-#define UNIQUE_REG 355
-#define LABEL 356
-#define EMIT 357
-#define EOM 358
-#define IREG 359
-#define NREG 360
-#define SREG 361
-#define PREG 362
-#define IDENTIFIER 363
-#define REG 364
-#define MACRO 365
-#define ENDM 366
-#define STRINGC 367
-#define INTC 368
-#define FLOATC 369
-#define USTRINGC 370
-#define PARROT_OP 371
-#define VAR 372
-#define LINECOMMENT 373
-#define FILECOMMENT 374
-#define DOT 375
-#define CONCAT 376
-
 
 
 
@@ -1431,7 +1310,7 @@
 typedef union YYSTYPE
 {
 
-/* Line 214 of yacc.c  */
+/* Line 222 of yacc.c  */
 #line 1075 "compilers/imcc/imcc.y"
 
     IdList * idlist;
@@ -1442,8 +1321,8 @@
 
 
 
-/* Line 214 of yacc.c  */
-#line 1436 "compilers/imcc/imcparser.c"
+/* Line 222 of yacc.c  */
+#line 1315 "compilers/imcc/imcparser.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -1455,7 +1334,7 @@
 
 
 /* Line 264 of yacc.c  */
-#line 1448 "compilers/imcc/imcparser.c"
+#line 1327 "compilers/imcc/imcparser.c"
 
 #ifdef short
 # undef short
@@ -3257,21 +3136,21 @@
 
 /* Line 1455 of yacc.c  */
 #line 1170 "compilers/imcc/imcc.y"
-    { if (yynerrs) YYABORT; (yyval.i) = 0; }
+    { if (yynerrs) YYABORT; (yyval.i) = 0; ;}
     break;
 
   case 5:
 
 /* Line 1455 of yacc.c  */
 #line 1179 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 6:
 
 /* Line 1455 of yacc.c  */
 #line 1180 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 7:
@@ -3282,7 +3161,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:
@@ -3293,42 +3172,42 @@
            (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 1455 of yacc.c  */
 #line 1193 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 10:
 
 /* Line 1455 of yacc.c  */
 #line 1194 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 11:
 
 /* Line 1455 of yacc.c  */
 #line 1195 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 12:
 
 /* Line 1455 of yacc.c  */
 #line 1196 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 13:
 
 /* Line 1455 of yacc.c  */
 #line 1200 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 14:
@@ -3339,7 +3218,7 @@
            (yyval.i) = 0;
            do_loadlib(interp, (yyvsp[(2) - (3)].s));
            mem_sys_free((yyvsp[(2) - (3)].s));
-         }
+         ;}
     break;
 
   case 15:
@@ -3350,7 +3229,7 @@
            IMCC_INFO(interp)->line = atoi((yyvsp[(2) - (5)].s));
            /* set_filename() frees the STRINGC */
            set_filename(interp, (yyvsp[(4) - (5)].s));
-         }
+         ;}
     break;
 
   case 16:
@@ -3360,7 +3239,7 @@
     {
            /* set_filename() frees the STRINGC */
            set_filename(interp, (yyvsp[(2) - (3)].s));
-         }
+         ;}
     break;
 
   case 17:
@@ -3373,7 +3252,7 @@
           SymReg * const key = mk_const(interp, (yyvsp[(2) - (4)].s), 'S');
           (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, ".annotate", 2, key, (yyvsp[(4) - (4)].sr));
           mem_sys_free((yyvsp[(2) - (4)].s));
-        }
+        ;}
     break;
 
   case 18:
@@ -3388,14 +3267,14 @@
             IMCC_INFO(interp)->cur_namespace = NULL;
             mem_sys_free((yyvsp[(2) - (2)].s));
             (yyval.t) = 0;
-         }
+         ;}
     break;
 
   case 19:
 
 /* Line 1455 of yacc.c  */
 #line 1249 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 20:
@@ -3406,14 +3285,14 @@
              mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
              mem_sys_free((yyvsp[(4) - (6)].s));
              IMCC_INFO(interp)->is_def = 0;
-         }
+         ;}
     break;
 
   case 21:
 
 /* Line 1455 of yacc.c  */
 #line 1258 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 22:
@@ -3424,14 +3303,14 @@
            (yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s));
            mem_sys_free((yyvsp[(6) - (6)].s));
            IMCC_INFO(interp)->is_def = 0;
-         }
+         ;}
     break;
 
   case 23:
 
 /* Line 1455 of yacc.c  */
 #line 1265 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 24:
@@ -3443,49 +3322,49 @@
            mem_sys_free((yyvsp[(3) - (6)].s));
            mem_sys_free((yyvsp[(6) - (6)].s));
            IMCC_INFO(interp)->is_def = 0;
-         }
+         ;}
     break;
 
   case 29:
 
 /* Line 1455 of yacc.c  */
 #line 1284 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 30:
 
 /* Line 1455 of yacc.c  */
 #line 1285 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 31:
 
 /* Line 1455 of yacc.c  */
 #line 1286 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 32:
 
 /* Line 1455 of yacc.c  */
 #line 1287 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;  }
+    { (yyval.i) = 0;  ;}
     break;
 
   case 33:
 
 /* Line 1455 of yacc.c  */
 #line 1288 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 36:
 
 /* Line 1455 of yacc.c  */
 #line 1293 "compilers/imcc/imcc.y"
-    { clear_state(interp); }
+    { clear_state(interp); ;}
     break;
 
   case 37:
@@ -3497,7 +3376,7 @@
                     (yyvsp[(2) - (3)].s), 0, IMCC_INFO(interp)->regs,
                     IMCC_INFO(interp)->nargs, IMCC_INFO(interp) -> keyvec, 1);
             mem_sys_free((yyvsp[(2) - (3)].s));
-         }
+         ;}
     break;
 
   case 38:
@@ -3507,7 +3386,7 @@
     {
            imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
            IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM);
-         }
+         ;}
     break;
 
   case 39:
@@ -3520,7 +3399,7 @@
                     mk_sub_label(interp, (yyvsp[(4) - (4)].s)));
            IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(3) - (4)].t);
            mem_sys_free((yyvsp[(4) - (4)].s));
-         }
+         ;}
     break;
 
   case 40:
@@ -3529,7 +3408,7 @@
 #line 1315 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr));
-         }
+         ;}
     break;
 
   case 41:
@@ -3547,21 +3426,21 @@
            mem_sys_free(name);
            mem_sys_free((yyvsp[(2) - (4)].s));
            mem_sys_free((yyvsp[(4) - (4)].s));
-         }
+         ;}
     break;
 
   case 42:
 
 /* Line 1455 of yacc.c  */
 #line 1331 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;}
+    { (yyval.i) = 0;;}
     break;
 
   case 44:
 
 /* Line 1455 of yacc.c  */
 #line 1339 "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:
@@ -3574,7 +3453,7 @@
                          emit_flush(interp);
            */
            (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 48:
@@ -3591,7 +3470,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:
@@ -3600,14 +3479,14 @@
 #line 1373 "compilers/imcc/imcc.y"
     {
             (yyval.sr) = (yyvsp[(2) - (3)].sr);
-        }
+        ;}
     break;
 
   case 50:
 
 /* Line 1455 of yacc.c  */
 #line 1376 "compilers/imcc/imcc.y"
-    { (yyval.sr) = NULL; }
+    { (yyval.sr) = NULL; ;}
     break;
 
   case 51:
@@ -3616,7 +3495,7 @@
 #line 1381 "compilers/imcc/imcc.y"
     {
            IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
-         }
+         ;}
     break;
 
   case 52:
@@ -3625,7 +3504,7 @@
 #line 1385 "compilers/imcc/imcc.y"
     {
            iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 53:
@@ -3638,28 +3517,28 @@
             IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->subid = mem_sys_strdup(
             IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->name);
           }
-        }
+        ;}
     break;
 
   case 54:
 
 /* Line 1455 of yacc.c  */
 #line 1397 "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 1455 of yacc.c  */
 #line 1401 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 56:
 
 /* Line 1455 of yacc.c  */
 #line 1402 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 57:
@@ -3674,21 +3553,21 @@
            }
            else
                add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 58:
 
 /* Line 1455 of yacc.c  */
 #line 1416 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 59:
 
 /* Line 1455 of yacc.c  */
 #line 1416 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(3) - (3)].sr); IMCC_INFO(interp)->is_def = 0; }
+    { (yyval.sr) = (yyvsp[(3) - (3)].sr); IMCC_INFO(interp)->is_def = 0; ;}
     break;
 
   case 60:
@@ -3714,14 +3593,14 @@
                (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 1455 of yacc.c  */
 #line 1446 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 62:
@@ -3732,7 +3611,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:
@@ -3743,7 +3622,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:
@@ -3754,7 +3633,7 @@
            (yyval.t) = P_VTABLE;
            IMCC_INFO(interp)->cur_unit->vtable_name      = NULL;
            IMCC_INFO(interp)->cur_unit->is_vtable_method = 1;
-         }
+         ;}
     break;
 
   case 65:
@@ -3765,7 +3644,7 @@
            (yyval.t) = P_VTABLE;
            IMCC_INFO(interp)->cur_unit->vtable_name      = (yyvsp[(3) - (4)].s);
            IMCC_INFO(interp)->cur_unit->is_vtable_method = 1;
-         }
+         ;}
     break;
 
   case 66:
@@ -3776,7 +3655,7 @@
            (yyval.t) = P_METHOD;
            IMCC_INFO(interp)->cur_unit->method_name = NULL;
            IMCC_INFO(interp)->cur_unit->is_method   = 1;
-         }
+         ;}
     break;
 
   case 67:
@@ -3787,7 +3666,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:
@@ -3798,7 +3677,7 @@
            (yyval.t) = P_NSENTRY;
            IMCC_INFO(interp)->cur_unit->ns_entry_name     = NULL;
            IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
-         }
+         ;}
     break;
 
   case 69:
@@ -3809,7 +3688,7 @@
            (yyval.t) = P_NSENTRY;
            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:
@@ -3819,7 +3698,7 @@
     {
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->instance_of = (yyvsp[(3) - (4)].s);
-         }
+         ;}
     break;
 
   case 71:
@@ -3829,7 +3708,7 @@
     {
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->subid = NULL;
-         }
+         ;}
     break;
 
   case 72:
@@ -3841,7 +3720,7 @@
            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:
@@ -3850,7 +3729,7 @@
 #line 1534 "compilers/imcc/imcc.y"
     {
            add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, NULL);
-         }
+         ;}
     break;
 
   case 74:
@@ -3860,7 +3739,7 @@
     {
            (yyval.t) = 0;
            add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 75:
@@ -3870,35 +3749,35 @@
     {
            (yyval.t) = 0;
            add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 76:
 
 /* Line 1455 of yacc.c  */
 #line 1550 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "INTVAL",   'S'); }
+    { (yyval.sr) = mk_const(interp, "INTVAL",   'S'); ;}
     break;
 
   case 77:
 
 /* Line 1455 of yacc.c  */
 #line 1551 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); }
+    { (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); ;}
     break;
 
   case 78:
 
 /* Line 1455 of yacc.c  */
 #line 1552 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "PMC",      'S'); }
+    { (yyval.sr) = mk_const(interp, "PMC",      'S'); ;}
     break;
 
   case 79:
 
 /* Line 1455 of yacc.c  */
 #line 1553 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, "STRING",   'S'); }
+    { (yyval.sr) = mk_const(interp, "STRING",   'S'); ;}
     break;
 
   case 80:
@@ -3914,7 +3793,7 @@
            }
            mem_sys_free((yyvsp[(1) - (1)].s));
            (yyval.sr) = r;
-         }
+         ;}
     break;
 
   case 81:
@@ -3930,14 +3809,14 @@
            }
            mem_sys_free((yyvsp[(1) - (1)].s));
            (yyval.sr) = r;
-         }
+         ;}
     break;
 
   case 82:
 
 /* Line 1455 of yacc.c  */
 #line 1576 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(2) - (3)].sr); }
+    { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
     break;
 
   case 85:
@@ -3966,112 +3845,112 @@
            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 1455 of yacc.c  */
 #line 1614 "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 1455 of yacc.c  */
 #line 1618 "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 1455 of yacc.c  */
 #line 1619 "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 1455 of yacc.c  */
 #line 1623 "compilers/imcc/imcc.y"
-    { (yyval.i) = NULL; }
+    { (yyval.i) = NULL; ;}
     break;
 
   case 90:
 
 /* Line 1455 of yacc.c  */
 #line 1624 "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 1455 of yacc.c  */
 #line 1628 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 93:
 
 /* Line 1455 of yacc.c  */
 #line 1633 "compilers/imcc/imcc.y"
-    { (yyval.t) = (yyvsp[(1) - (1)].t); }
+    { (yyval.t) = (yyvsp[(1) - (1)].t); ;}
     break;
 
   case 94:
 
 /* Line 1455 of yacc.c  */
 #line 1634 "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 1455 of yacc.c  */
 #line 1638 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_LOAD; }
+    { (yyval.t) = P_LOAD; ;}
     break;
 
   case 96:
 
 /* Line 1455 of yacc.c  */
 #line 1639 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_INIT; }
+    { (yyval.t) = P_INIT; ;}
     break;
 
   case 97:
 
 /* Line 1455 of yacc.c  */
 #line 1640 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_MAIN; }
+    { (yyval.t) = P_MAIN; ;}
     break;
 
   case 98:
 
 /* Line 1455 of yacc.c  */
 #line 1641 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_IMMEDIATE; }
+    { (yyval.t) = P_IMMEDIATE; ;}
     break;
 
   case 99:
 
 /* Line 1455 of yacc.c  */
 #line 1642 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_POSTCOMP; }
+    { (yyval.t) = P_POSTCOMP; ;}
     break;
 
   case 100:
 
 /* Line 1455 of yacc.c  */
 #line 1643 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_ANON; }
+    { (yyval.t) = P_ANON; ;}
     break;
 
   case 101:
 
 /* Line 1455 of yacc.c  */
 #line 1644 "compilers/imcc/imcc.y"
-    { (yyval.t) = P_NEED_LEX; }
+    { (yyval.t) = P_NEED_LEX; ;}
     break;
 
   case 109:
@@ -4081,7 +3960,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 110:
@@ -4090,7 +3969,7 @@
 #line 1661 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 111:
@@ -4100,7 +3979,7 @@
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
            IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isNCI;
-         }
+         ;}
     break;
 
   case 112:
@@ -4109,7 +3988,7 @@
 #line 1670 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 113:
@@ -4118,7 +3997,7 @@
 #line 1674 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S'));
-         }
+         ;}
     break;
 
   case 114:
@@ -4128,7 +4007,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:
@@ -4138,35 +4017,35 @@
     {
            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 1455 of yacc.c  */
 #line 1691 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 117:
 
 /* Line 1455 of yacc.c  */
 #line 1692 "compilers/imcc/imcc.y"
-    { add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
+    { add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); ;}
     break;
 
   case 118:
 
 /* Line 1455 of yacc.c  */
 #line 1696 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(2) - (2)].sr); }
+    { (yyval.sr) = (yyvsp[(2) - (2)].sr); ;}
     break;
 
   case 119:
 
 /* Line 1455 of yacc.c  */
 #line 1701 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 120:
@@ -4176,21 +4055,21 @@
     {
            if ((yyvsp[(2) - (3)].sr))
                add_pcc_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 121:
 
 /* Line 1455 of yacc.c  */
 #line 1710 "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 1455 of yacc.c  */
 #line 1711 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 123:
@@ -4207,91 +4086,91 @@
            UNUSED(ignored);
            IMCC_INFO(interp)->is_def = 0;
            (yyval.sr) = 0;
-         }
+         ;}
     break;
 
   case 124:
 
 /* Line 1455 of yacc.c  */
 #line 1726 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 125:
 
 /* Line 1455 of yacc.c  */
 #line 1727 "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 1455 of yacc.c  */
 #line 1731 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_FLAT;   }
+    { (yyval.t) = VT_FLAT;   ;}
     break;
 
   case 127:
 
 /* Line 1455 of yacc.c  */
 #line 1732 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_OPTIONAL; }
+    { (yyval.t) = VT_OPTIONAL; ;}
     break;
 
   case 128:
 
 /* Line 1455 of yacc.c  */
 #line 1733 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_OPT_FLAG; }
+    { (yyval.t) = VT_OPT_FLAG; ;}
     break;
 
   case 129:
 
 /* Line 1455 of yacc.c  */
 #line 1734 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_NAMED; }
+    { (yyval.t) = VT_NAMED; ;}
     break;
 
   case 130:
 
 /* Line 1455 of yacc.c  */
 #line 1735 "compilers/imcc/imcc.y"
-    { adv_named_set(interp, (yyvsp[(3) - (4)].s));   (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
+    { adv_named_set(interp, (yyvsp[(3) - (4)].s));   (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); ;}
     break;
 
   case 131:
 
 /* Line 1455 of yacc.c  */
 #line 1736 "compilers/imcc/imcc.y"
-    { adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); }
+    { adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; mem_sys_free((yyvsp[(3) - (4)].s)); ;}
     break;
 
   case 132:
 
 /* Line 1455 of yacc.c  */
 #line 1737 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_UNIQUE_REG; }
+    { (yyval.t) = VT_UNIQUE_REG; ;}
     break;
 
   case 133:
 
 /* Line 1455 of yacc.c  */
 #line 1738 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_CALL_SIG; }
+    { (yyval.t) = VT_CALL_SIG; ;}
     break;
 
   case 134:
 
 /* Line 1455 of yacc.c  */
 #line 1743 "compilers/imcc/imcc.y"
-    { begin_return_or_yield(interp, 0); }
+    { begin_return_or_yield(interp, 0); ;}
     break;
 
   case 135:
 
 /* Line 1455 of yacc.c  */
 #line 1745 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;}
     break;
 
   case 136:
@@ -4301,28 +4180,28 @@
     {
            IMCC_INFO(interp)->asm_state = AsmDefault;
            (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 137:
 
 /* Line 1455 of yacc.c  */
 #line 1754 "compilers/imcc/imcc.y"
-    { begin_return_or_yield(interp, 1); }
+    { begin_return_or_yield(interp, 1); ;}
     break;
 
   case 138:
 
 /* Line 1455 of yacc.c  */
 #line 1756 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;}
     break;
 
   case 139:
 
 /* Line 1455 of yacc.c  */
 #line 1760 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 140:
@@ -4332,7 +4211,7 @@
     {
            if ((yyvsp[(1) - (2)].sr))
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
-         }
+         ;}
     break;
 
   case 141:
@@ -4342,14 +4221,14 @@
     {
            if ((yyvsp[(2) - (3)].sr))
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 142:
 
 /* Line 1455 of yacc.c  */
 #line 1774 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 143:
@@ -4359,7 +4238,7 @@
     {
            if ((yyvsp[(1) - (2)].sr))
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
-         }
+         ;}
     break;
 
   case 144:
@@ -4369,21 +4248,21 @@
     {
            if ((yyvsp[(2) - (3)].sr))
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr));
-         }
+         ;}
     break;
 
   case 145:
 
 /* Line 1455 of yacc.c  */
 #line 1788 "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 146:
 
 /* Line 1455 of yacc.c  */
 #line 1792 "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 147:
@@ -4393,7 +4272,7 @@
     {
           if (IMCC_INFO(interp)->asm_state == AsmDefault)
               begin_return_or_yield(interp, (yyvsp[(1) - (2)].t));
-        }
+        ;}
     break;
 
   case 148:
@@ -4403,28 +4282,28 @@
     {
           IMCC_INFO(interp)->asm_state = AsmDefault;
           (yyval.t) = 0;
-        }
+        ;}
     break;
 
   case 149:
 
 /* Line 1455 of yacc.c  */
 #line 1809 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 150:
 
 /* Line 1455 of yacc.c  */
 #line 1810 "compilers/imcc/imcc.y"
-    { (yyval.t) = 1; }
+    { (yyval.t) = 1; ;}
     break;
 
   case 151:
 
 /* Line 1455 of yacc.c  */
 #line 1814 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 152:
@@ -4439,7 +4318,7 @@
            }
            else
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 153:
@@ -4449,7 +4328,7 @@
     {
             SymReg * const name = mk_const(interp, (yyvsp[(1) - (3)].s), 'S');
             add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, name, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 154:
@@ -4464,7 +4343,7 @@
              }
              else
                  add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 155:
@@ -4474,63 +4353,63 @@
     {
            SymReg * const name = mk_const(interp, (yyvsp[(3) - (5)].s), 'S');
            add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, name, (yyvsp[(5) - (5)].sr));
-         }
+         ;}
     break;
 
   case 158:
 
 /* Line 1455 of yacc.c  */
 #line 1862 "compilers/imcc/imcc.y"
-    { clear_state(interp); }
+    { clear_state(interp); ;}
     break;
 
   case 159:
 
 /* Line 1455 of yacc.c  */
 #line 1867 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(2) - (2)].i); }
+    { (yyval.i) = (yyvsp[(2) - (2)].i); ;}
     break;
 
   case 160:
 
 /* Line 1455 of yacc.c  */
 #line 1868 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 161:
 
 /* Line 1455 of yacc.c  */
 #line 1869 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 162:
 
 /* Line 1455 of yacc.c  */
 #line 1870 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 163:
 
 /* Line 1455 of yacc.c  */
 #line 1871 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 164:
 
 /* Line 1455 of yacc.c  */
 #line 1872 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 165:
 
 /* Line 1455 of yacc.c  */
 #line 1876 "compilers/imcc/imcc.y"
-    { (yyval.i) = NULL; }
+    { (yyval.i) = NULL; ;}
     break;
 
   case 169:
@@ -4541,14 +4420,14 @@
              Instruction * const i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, (yyvsp[(1) - (1)].s)));
              mem_sys_free((yyvsp[(1) - (1)].s));
              (yyval.i) = i;
-         }
+         ;}
     break;
 
   case 170:
 
 /* Line 1455 of yacc.c  */
 #line 1897 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(2) - (3)].i); }
+    { (yyval.i) = (yyvsp[(2) - (3)].i); ;}
     break;
 
   case 171:
@@ -4561,7 +4440,7 @@
                YYABORT;
            }
            yyerrok;
-         }
+         ;}
     break;
 
   case 172:
@@ -4572,7 +4451,7 @@
            IdList* const l = (yyvsp[(1) - (1)].idlist);
            l->next = NULL;
            (yyval.idlist) = l;
-         }
+         ;}
     break;
 
   case 173:
@@ -4583,7 +4462,7 @@
            IdList* const l = (yyvsp[(3) - (3)].idlist);
            l->next = (yyvsp[(1) - (3)].idlist);
            (yyval.idlist) = l;
-         }
+         ;}
     break;
 
   case 174:
@@ -4595,28 +4474,28 @@
            l->id           = (yyvsp[(1) - (2)].s);
            l->unique_reg   = (yyvsp[(2) - (2)].t);
            (yyval.idlist) = l;
-         }
+         ;}
     break;
 
   case 175:
 
 /* Line 1455 of yacc.c  */
 #line 1935 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 176:
 
 /* Line 1455 of yacc.c  */
 #line 1936 "compilers/imcc/imcc.y"
-    { (yyval.t) = 1; }
+    { (yyval.t) = 1; ;}
     break;
 
   case 179:
 
 /* Line 1455 of yacc.c  */
 #line 1943 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 180:
@@ -4637,7 +4516,7 @@
                mem_sys_free(l1);
            }
            IMCC_INFO(interp)->is_def = 0; (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 181:
@@ -4659,7 +4538,7 @@
                mem_sys_free((yyvsp[(2) - (4)].s));
                mem_sys_free(name);
             }
-         }
+         ;}
     break;
 
   case 182:
@@ -4677,14 +4556,14 @@
                set_lexical(interp, (yyvsp[(4) - (4)].sr), n); (yyval.i) = 0;
                mem_sys_free((yyvsp[(2) - (4)].s));
             }
-         }
+         ;}
     break;
 
   case 183:
 
 /* Line 1455 of yacc.c  */
 #line 1989 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 184:
@@ -4695,14 +4574,14 @@
            mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0);
            IMCC_INFO(interp)->is_def = 0;
            mem_sys_free((yyvsp[(4) - (6)].s));
-         }
+         ;}
     break;
 
   case 186:
 
 /* Line 1455 of yacc.c  */
 #line 1997 "compilers/imcc/imcc.y"
-    { IMCC_INFO(interp)->is_def = 1; }
+    { IMCC_INFO(interp)->is_def = 1; ;}
     break;
 
   case 187:
@@ -4713,7 +4592,7 @@
            mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
            IMCC_INFO(interp)->is_def = 0;
            mem_sys_free((yyvsp[(4) - (6)].s));
-         }
+         ;}
     break;
 
   case 188:
@@ -4724,7 +4603,7 @@
            (yyval.i) = NULL;
            IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isTAIL_CALL;
            IMCC_INFO(interp)->cur_call = NULL;
-         }
+         ;}
     break;
 
   case 189:
@@ -4733,7 +4612,7 @@
 #line 2010 "compilers/imcc/imcc.y"
     {
             (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr));
-         }
+         ;}
     break;
 
   case 190:
@@ -4750,63 +4629,63 @@
                     IMCC_INFO(interp)->keyvec,
                     1);
            mem_sys_free((yyvsp[(1) - (2)].s));
-         }
+         ;}
     break;
 
   case 191:
 
 /* Line 1455 of yacc.c  */
 #line 2025 "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 192:
 
 /* Line 1455 of yacc.c  */
 #line 2026 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
+    { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;}
     break;
 
   case 193:
 
 /* Line 1455 of yacc.c  */
 #line 2027 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0; }
+    { (yyval.i) = 0; ;}
     break;
 
   case 196:
 
 /* Line 1455 of yacc.c  */
 #line 2030 "compilers/imcc/imcc.y"
-    { (yyval.i) = 0;}
+    { (yyval.i) = 0;;}
     break;
 
   case 197:
 
 /* Line 1455 of yacc.c  */
 #line 2034 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'I'; }
+    { (yyval.t) = 'I'; ;}
     break;
 
   case 198:
 
 /* Line 1455 of yacc.c  */
 #line 2035 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'N'; }
+    { (yyval.t) = 'N'; ;}
     break;
 
   case 199:
 
 /* Line 1455 of yacc.c  */
 #line 2036 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'S'; }
+    { (yyval.t) = 'S'; ;}
     break;
 
   case 200:
 
 /* Line 1455 of yacc.c  */
 #line 2037 "compilers/imcc/imcc.y"
-    { (yyval.t) = 'P'; }
+    { (yyval.t) = 'P'; ;}
     break;
 
   case 201:
@@ -4821,49 +4700,49 @@
                IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
                     "Unknown PMC type '%s'\n", (yyvsp[(1) - (1)].s));
            }
-         }
+         ;}
     break;
 
   case 202:
 
 /* Line 1455 of yacc.c  */
 #line 2055 "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 203:
 
 /* Line 1455 of yacc.c  */
 #line 2057 "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 204:
 
 /* Line 1455 of yacc.c  */
 #line 2059 "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 205:
 
 /* Line 1455 of yacc.c  */
 #line 2061 "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 206:
 
 /* Line 1455 of yacc.c  */
 #line 2063 "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 207:
 
 /* Line 1455 of yacc.c  */
 #line 2068 "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 208:
@@ -4874,7 +4753,7 @@
            add_pcc_result(interp, (yyvsp[(3) - (3)].i)->symregs[0], (yyvsp[(1) - (3)].sr));
            IMCC_INFO(interp)->cur_call = NULL;
            (yyval.i) = 0;
-         }
+         ;}
     break;
 
   case 209:
@@ -4883,7 +4762,7 @@
 #line 2077 "compilers/imcc/imcc.y"
     {
            (yyval.i) = IMCC_create_itcall_label(interp);
-         }
+         ;}
     break;
 
   case 210:
@@ -4893,7 +4772,7 @@
     {
            IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
            IMCC_INFO(interp)->cur_call = NULL;
-         }
+         ;}
     break;
 
   case 214:
@@ -4902,189 +4781,189 @@
 #line 2089 "compilers/imcc/imcc.y"
     {
            (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(1) - (3)].sr));
-         }
+         ;}
     break;
 
   case 215:
 
 /* Line 1455 of yacc.c  */
 #line 2096 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"not"; }
+    { (yyval.s) = (char *)"not"; ;}
     break;
 
   case 216:
 
 /* Line 1455 of yacc.c  */
 #line 2097 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bnot"; }
+    { (yyval.s) = (char *)"bnot"; ;}
     break;
 
   case 217:
 
 /* Line 1455 of yacc.c  */
 #line 2098 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"neg"; }
+    { (yyval.s) = (char *)"neg"; ;}
     break;
 
   case 218:
 
 /* Line 1455 of yacc.c  */
 #line 2102 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"sub"; }
+    { (yyval.s) = (char *)"sub"; ;}
     break;
 
   case 219:
 
 /* Line 1455 of yacc.c  */
 #line 2103 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"add"; }
+    { (yyval.s) = (char *)"add"; ;}
     break;
 
   case 220:
 
 /* Line 1455 of yacc.c  */
 #line 2104 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mul"; }
+    { (yyval.s) = (char *)"mul"; ;}
     break;
 
   case 221:
 
 /* Line 1455 of yacc.c  */
 #line 2105 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"div"; }
+    { (yyval.s) = (char *)"div"; ;}
     break;
 
   case 222:
 
 /* Line 1455 of yacc.c  */
 #line 2106 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mod"; }
+    { (yyval.s) = (char *)"mod"; ;}
     break;
 
   case 223:
 
 /* Line 1455 of yacc.c  */
 #line 2107 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"fdiv"; }
+    { (yyval.s) = (char *)"fdiv"; ;}
     break;
 
   case 224:
 
 /* Line 1455 of yacc.c  */
 #line 2108 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"pow"; }
+    { (yyval.s) = (char *)"pow"; ;}
     break;
 
   case 225:
 
 /* Line 1455 of yacc.c  */
 #line 2109 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"concat"; }
+    { (yyval.s) = (char *)"concat"; ;}
     break;
 
   case 226:
 
 /* Line 1455 of yacc.c  */
 #line 2110 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"iseq"; }
+    { (yyval.s) = (char *)"iseq"; ;}
     break;
 
   case 227:
 
 /* Line 1455 of yacc.c  */
 #line 2111 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isne"; }
+    { (yyval.s) = (char *)"isne"; ;}
     break;
 
   case 228:
 
 /* Line 1455 of yacc.c  */
 #line 2112 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isgt"; }
+    { (yyval.s) = (char *)"isgt"; ;}
     break;
 
   case 229:
 
 /* Line 1455 of yacc.c  */
 #line 2113 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isge"; }
+    { (yyval.s) = (char *)"isge"; ;}
     break;
 
   case 230:
 
 /* Line 1455 of yacc.c  */
 #line 2114 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"islt"; }
+    { (yyval.s) = (char *)"islt"; ;}
     break;
 
   case 231:
 
 /* Line 1455 of yacc.c  */
 #line 2115 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"isle"; }
+    { (yyval.s) = (char *)"isle"; ;}
     break;
 
   case 232:
 
 /* Line 1455 of yacc.c  */
 #line 2116 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shl"; }
+    { (yyval.s) = (char *)"shl"; ;}
     break;
 
   case 233:
 
 /* Line 1455 of yacc.c  */
 #line 2117 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shr"; }
+    { (yyval.s) = (char *)"shr"; ;}
     break;
 
   case 234:
 
 /* Line 1455 of yacc.c  */
 #line 2118 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"lsr"; }
+    { (yyval.s) = (char *)"lsr"; ;}
     break;
 
   case 235:
 
 /* Line 1455 of yacc.c  */
 #line 2119 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"and"; }
+    { (yyval.s) = (char *)"and"; ;}
     break;
 
   case 236:
 
 /* Line 1455 of yacc.c  */
 #line 2120 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"or"; }
+    { (yyval.s) = (char *)"or"; ;}
     break;
 
   case 237:
 
 /* Line 1455 of yacc.c  */
 #line 2121 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"xor"; }
+    { (yyval.s) = (char *)"xor"; ;}
     break;
 
   case 238:
 
 /* Line 1455 of yacc.c  */
 #line 2122 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"band"; }
+    { (yyval.s) = (char *)"band"; ;}
     break;
 
   case 239:
 
 /* Line 1455 of yacc.c  */
 #line 2123 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bor"; }
+    { (yyval.s) = (char *)"bor"; ;}
     break;
 
   case 240:
 
 /* Line 1455 of yacc.c  */
 #line 2124 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bxor"; }
+    { (yyval.s) = (char *)"bxor"; ;}
     break;
 
   case 241:
@@ -5095,112 +4974,112 @@
            (yyval.i) = IMCC_create_itcall_label(interp);
            (yyval.i)->type &= ~ITCALL;
            (yyval.i)->type |= ITRESULT;
-         }
+         ;}
     break;
 
   case 242:
 
 /* Line 1455 of yacc.c  */
 #line 2135 "compilers/imcc/imcc.y"
-    {  (yyval.i) = 0; }
+    {  (yyval.i) = 0; ;}
     break;
 
   case 243:
 
 /* Line 1455 of yacc.c  */
 #line 2142 "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)); }
+    { (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 244:
 
 /* Line 1455 of yacc.c  */
 #line 2146 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"add"; }
+    { (yyval.s) = (char *)"add"; ;}
     break;
 
   case 245:
 
 /* Line 1455 of yacc.c  */
 #line 2147 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"sub"; }
+    { (yyval.s) = (char *)"sub"; ;}
     break;
 
   case 246:
 
 /* Line 1455 of yacc.c  */
 #line 2148 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mul"; }
+    { (yyval.s) = (char *)"mul"; ;}
     break;
 
   case 247:
 
 /* Line 1455 of yacc.c  */
 #line 2149 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"div"; }
+    { (yyval.s) = (char *)"div"; ;}
     break;
 
   case 248:
 
 /* Line 1455 of yacc.c  */
 #line 2150 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"mod"; }
+    { (yyval.s) = (char *)"mod"; ;}
     break;
 
   case 249:
 
 /* Line 1455 of yacc.c  */
 #line 2151 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"fdiv"; }
+    { (yyval.s) = (char *)"fdiv"; ;}
     break;
 
   case 250:
 
 /* Line 1455 of yacc.c  */
 #line 2152 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"concat"; }
+    { (yyval.s) = (char *)"concat"; ;}
     break;
 
   case 251:
 
 /* Line 1455 of yacc.c  */
 #line 2153 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"band"; }
+    { (yyval.s) = (char *)"band"; ;}
     break;
 
   case 252:
 
 /* Line 1455 of yacc.c  */
 #line 2154 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bor"; }
+    { (yyval.s) = (char *)"bor"; ;}
     break;
 
   case 253:
 
 /* Line 1455 of yacc.c  */
 #line 2155 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"bxor"; }
+    { (yyval.s) = (char *)"bxor"; ;}
     break;
 
   case 254:
 
 /* Line 1455 of yacc.c  */
 #line 2156 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shr"; }
+    { (yyval.s) = (char *)"shr"; ;}
     break;
 
   case 255:
 
 /* Line 1455 of yacc.c  */
 #line 2157 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"shl"; }
+    { (yyval.s) = (char *)"shl"; ;}
     break;
 
   case 256:
 
 /* Line 1455 of yacc.c  */
 #line 2158 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"lsr"; }
+    { (yyval.s) = (char *)"lsr"; ;}
     break;
 
   case 257:
@@ -5213,28 +5092,28 @@
                       IMCC_INFO(interp) -> nargs,
                       IMCC_INFO(interp) -> keyvec, 1);
          mem_sys_free((yyvsp[(3) - (4)].s));
-       }
+       ;}
     break;
 
   case 258:
 
 /* Line 1455 of yacc.c  */
 #line 2174 "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 259:
 
 /* Line 1455 of yacc.c  */
 #line 2175 "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 260:
 
 /* Line 1455 of yacc.c  */
 #line 2176 "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 261:
@@ -5245,7 +5124,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 262:
@@ -5264,7 +5143,7 @@
 
             IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
             (yyval.sr)                         = (yyvsp[(3) - (3)].sr);
-        }
+        ;}
     break;
 
   case 263:
@@ -5275,7 +5154,7 @@
             IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
             (yyval.sr)                         = mk_const(interp, (yyvsp[(3) - (3)].s), 'U');
             mem_sys_free((yyvsp[(3) - (3)].s));
-         }
+         ;}
     break;
 
   case 264:
@@ -5286,14 +5165,14 @@
             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 265:
 
 /* Line 1455 of yacc.c  */
 #line 2209 "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 266:
@@ -5303,21 +5182,21 @@
     {
            (yyval.i) = IMCC_create_itcall_label(interp);
            IMCC_itcall_sub(interp, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 267:
 
 /* Line 1455 of yacc.c  */
 #line 2219 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(2) - (5)].i); }
+    { (yyval.i) = (yyvsp[(2) - (5)].i); ;}
     break;
 
   case 268:
 
 /* Line 1455 of yacc.c  */
 #line 2223 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 269:
@@ -5332,7 +5211,7 @@
            }
            else
                add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 270:
@@ -5347,7 +5226,7 @@
            }
            else
                add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 271:
@@ -5359,7 +5238,7 @@
            add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
                 mk_const(interp, (yyvsp[(3) - (5)].s), 'S'), (yyvsp[(5) - (5)].sr));
            mem_sys_free((yyvsp[(3) - (5)].s));
-         }
+         ;}
     break;
 
   case 272:
@@ -5369,7 +5248,7 @@
     {
            (yyval.sr) = 0;
            add_pcc_named_arg_var(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 273:
@@ -5381,70 +5260,70 @@
            add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
                 mk_const(interp, (yyvsp[(1) - (3)].s), 'S'), (yyvsp[(3) - (3)].sr));
            mem_sys_free((yyvsp[(1) - (3)].s));
-         }
+         ;}
     break;
 
   case 274:
 
 /* Line 1455 of yacc.c  */
 #line 2266 "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 275:
 
 /* Line 1455 of yacc.c  */
 #line 2270 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 276:
 
 /* Line 1455 of yacc.c  */
 #line 2271 "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 277:
 
 /* Line 1455 of yacc.c  */
 #line 2275 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_FLAT;     }
+    { (yyval.t) = VT_FLAT;     ;}
     break;
 
   case 278:
 
 /* Line 1455 of yacc.c  */
 #line 2276 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_NAMED;    }
+    { (yyval.t) = VT_NAMED;    ;}
     break;
 
   case 279:
 
 /* Line 1455 of yacc.c  */
 #line 2277 "compilers/imcc/imcc.y"
-    { (yyval.t) = VT_CALL_SIG; }
+    { (yyval.t) = VT_CALL_SIG; ;}
     break;
 
   case 280:
 
 /* Line 1455 of yacc.c  */
 #line 2280 "compilers/imcc/imcc.y"
-    { adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
+    { adv_named_set_u(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; ;}
     break;
 
   case 281:
 
 /* Line 1455 of yacc.c  */
 #line 2281 "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 282:
 
 /* Line 1455 of yacc.c  */
 #line 2285 "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 283:
@@ -5459,7 +5338,7 @@
            }
            else
                add_pcc_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         }
+         ;}
     break;
 
   case 284:
@@ -5470,7 +5349,7 @@
             add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call,
                     mk_const(interp, (yyvsp[(3) - (5)].s), 'S'), (yyvsp[(5) - (5)].sr));
             mem_sys_free((yyvsp[(3) - (5)].s));
-         }
+         ;}
     break;
 
   case 285:
@@ -5485,7 +5364,7 @@
            }
            else
                add_pcc_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         }
+         ;}
     break;
 
   case 286:
@@ -5495,28 +5374,28 @@
     {
            add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(1) - (3)].s), 'S'), (yyvsp[(3) - (3)].sr));
            mem_sys_free((yyvsp[(1) - (3)].s));
-         }
+         ;}
     break;
 
   case 287:
 
 /* Line 1455 of yacc.c  */
 #line 2320 "compilers/imcc/imcc.y"
-    { (yyval.sr) = 0; }
+    { (yyval.sr) = 0; ;}
     break;
 
   case 288:
 
 /* Line 1455 of yacc.c  */
 #line 2324 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 289:
 
 /* Line 1455 of yacc.c  */
 #line 2325 "compilers/imcc/imcc.y"
-    { (yyval.i) = (yyvsp[(1) - (1)].i); }
+    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     break;
 
   case 290:
@@ -5525,7 +5404,7 @@
 #line 2330 "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 291:
@@ -5534,7 +5413,7 @@
 #line 2334 "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 292:
@@ -5543,7 +5422,7 @@
 #line 2338 "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 293:
@@ -5552,7 +5431,7 @@
 #line 2345 "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 294:
@@ -5561,7 +5440,7 @@
 #line 2349 "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 295:
@@ -5570,91 +5449,91 @@
 #line 2353 "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 296:
 
 /* Line 1455 of yacc.c  */
 #line 2359 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 297:
 
 /* Line 1455 of yacc.c  */
 #line 2360 "compilers/imcc/imcc.y"
-    { (yyval.t) = 0; }
+    { (yyval.t) = 0; ;}
     break;
 
   case 298:
 
 /* Line 1455 of yacc.c  */
 #line 2364 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"eq"; }
+    { (yyval.s) = (char *)"eq"; ;}
     break;
 
   case 299:
 
 /* Line 1455 of yacc.c  */
 #line 2365 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"ne"; }
+    { (yyval.s) = (char *)"ne"; ;}
     break;
 
   case 300:
 
 /* Line 1455 of yacc.c  */
 #line 2366 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"gt"; }
+    { (yyval.s) = (char *)"gt"; ;}
     break;
 
   case 301:
 
 /* Line 1455 of yacc.c  */
 #line 2367 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"ge"; }
+    { (yyval.s) = (char *)"ge"; ;}
     break;
 
   case 302:
 
 /* Line 1455 of yacc.c  */
 #line 2368 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"lt"; }
+    { (yyval.s) = (char *)"lt"; ;}
     break;
 
   case 303:
 
 /* Line 1455 of yacc.c  */
 #line 2369 "compilers/imcc/imcc.y"
-    { (yyval.s) = (char *)"le"; }
+    { (yyval.s) = (char *)"le"; ;}
     break;
 
   case 306:
 
 /* Line 1455 of yacc.c  */
 #line 2378 "compilers/imcc/imcc.y"
-    { (yyval.sr) = NULL; }
+    { (yyval.sr) = NULL; ;}
     break;
 
   case 307:
 
 /* Line 1455 of yacc.c  */
 #line 2379 "compilers/imcc/imcc.y"
-    { (yyval.sr) = (yyvsp[(1) - (1)].sr); }
+    { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
     break;
 
   case 308:
 
 /* Line 1455 of yacc.c  */
 #line 2383 "compilers/imcc/imcc.y"
-    { (yyval.sr) = IMCC_INFO(interp)->regs[0]; }
+    { (yyval.sr) = IMCC_INFO(interp)->regs[0]; ;}
     break;
 
   case 310:
 
 /* Line 1455 of yacc.c  */
 #line 2388 "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 311:
@@ -5666,7 +5545,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 312:
@@ -5676,49 +5555,49 @@
     {
            IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(2) - (3)].sr);
            (yyval.sr) = (yyvsp[(2) - (3)].sr);
-         }
+         ;}
     break;
 
   case 314:
 
 /* Line 1455 of yacc.c  */
 #line 2404 "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 315:
 
 /* Line 1455 of yacc.c  */
 #line 2405 "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 316:
 
 /* Line 1455 of yacc.c  */
 #line 2409 "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 317:
 
 /* Line 1455 of yacc.c  */
 #line 2410 "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 318:
 
 /* Line 1455 of yacc.c  */
 #line 2414 "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 319:
 
 /* Line 1455 of yacc.c  */
 #line 2415 "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 324:
@@ -5727,7 +5606,7 @@
 #line 2429 "compilers/imcc/imcc.y"
     {
            IMCC_INFO(interp)->nkeys    = 0;
-         }
+         ;}
     break;
 
   case 325:
@@ -5738,7 +5617,7 @@
            (yyval.sr) = link_keys(interp,
                           IMCC_INFO(interp)->nkeys,
                           IMCC_INFO(interp)->keys, 0);
-         }
+         ;}
     break;
 
   case 326:
@@ -5747,7 +5626,7 @@
 #line 2441 "compilers/imcc/imcc.y"
     {
            IMCC_INFO(interp)->nkeys = 0;
-         }
+         ;}
     break;
 
   case 327:
@@ -5758,14 +5637,14 @@
            (yyval.sr) = link_keys(interp,
                           IMCC_INFO(interp)->nkeys,
                           IMCC_INFO(interp)->keys, 1);
-         }
+         ;}
     break;
 
   case 328:
 
 /* Line 1455 of yacc.c  */
 #line 2453 "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 329:
@@ -5775,7 +5654,7 @@
     {
            IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
            (yyval.sr) = IMCC_INFO(interp)->keys[0];
-         }
+         ;}
     break;
 
   case 330:
@@ -5784,76 +5663,76 @@
 #line 2463 "compilers/imcc/imcc.y"
     {
            (yyval.sr) = (yyvsp[(1) - (1)].sr);
-         }
+         ;}
     break;
 
   case 331:
 
 /* Line 1455 of yacc.c  */
 #line 2469 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); }
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); ;}
     break;
 
   case 332:
 
 /* Line 1455 of yacc.c  */
 #line 2470 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); }
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); ;}
     break;
 
   case 333:
 
 /* Line 1455 of yacc.c  */
 #line 2471 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); ;}
     break;
 
   case 334:
 
 /* Line 1455 of yacc.c  */
 #line 2472 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); }
+    { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); ;}
     break;
 
   case 335:
 
 /* Line 1455 of yacc.c  */
 #line 2473 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 336:
 
 /* Line 1455 of yacc.c  */
 #line 2477 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 337:
 
 /* Line 1455 of yacc.c  */
 #line 2478 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 338:
 
 /* Line 1455 of yacc.c  */
 #line 2479 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
   case 339:
 
 /* Line 1455 of yacc.c  */
 #line 2480 "compilers/imcc/imcc.y"
-    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); }
+    { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); ;}
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 5846 "compilers/imcc/imcparser.c"
+#line 5725 "compilers/imcc/imcparser.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);

Modified: branches/immutable_strings_part1/compilers/imcc/imcparser.h
==============================================================================
--- branches/immutable_strings_part1/compilers/imcc/imcparser.h	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/compilers/imcc/imcparser.h	Sat Apr 17 04:21:51 2010	(r45735)
@@ -171,127 +171,6 @@
      CONCAT = 376
    };
 #endif
-/* Tokens.  */
-#define LOW_PREC 258
-#define PARAM 259
-#define HLL 260
-#define TK_LINE 261
-#define TK_FILE 262
-#define GOTO 263
-#define ARG 264
-#define IF 265
-#define UNLESS 266
-#define PNULL 267
-#define SET_RETURN 268
-#define SET_YIELD 269
-#define ADV_FLAT 270
-#define ADV_SLURPY 271
-#define ADV_OPTIONAL 272
-#define ADV_OPT_FLAG 273
-#define ADV_NAMED 274
-#define ADV_ARROW 275
-#define NEW 276
-#define ADV_INVOCANT 277
-#define ADV_CALL_SIG 278
-#define NAMESPACE 279
-#define DOT_METHOD 280
-#define SUB 281
-#define SYM 282
-#define LOCAL 283
-#define LEXICAL 284
-#define CONST 285
-#define ANNOTATE 286
-#define INC 287
-#define DEC 288
-#define GLOBAL_CONST 289
-#define PLUS_ASSIGN 290
-#define MINUS_ASSIGN 291
-#define MUL_ASSIGN 292
-#define DIV_ASSIGN 293
-#define CONCAT_ASSIGN 294
-#define BAND_ASSIGN 295
-#define BOR_ASSIGN 296
-#define BXOR_ASSIGN 297
-#define FDIV 298
-#define FDIV_ASSIGN 299
-#define MOD_ASSIGN 300
-#define SHR_ASSIGN 301
-#define SHL_ASSIGN 302
-#define SHR_U_ASSIGN 303
-#define SHIFT_LEFT 304
-#define SHIFT_RIGHT 305
-#define INTV 306
-#define FLOATV 307
-#define STRINGV 308
-#define PMCV 309
-#define LOG_XOR 310
-#define RELOP_EQ 311
-#define RELOP_NE 312
-#define RELOP_GT 313
-#define RELOP_GTE 314
-#define RELOP_LT 315
-#define RELOP_LTE 316
-#define RESULT 317
-#define RETURN 318
-#define TAILCALL 319
-#define YIELDT 320
-#define GET_RESULTS 321
-#define POW 322
-#define SHIFT_RIGHT_U 323
-#define LOG_AND 324
-#define LOG_OR 325
-#define COMMA 326
-#define ESUB 327
-#define DOTDOT 328
-#define PCC_BEGIN 329
-#define PCC_END 330
-#define PCC_CALL 331
-#define PCC_SUB 332
-#define PCC_BEGIN_RETURN 333
-#define PCC_END_RETURN 334
-#define PCC_BEGIN_YIELD 335
-#define PCC_END_YIELD 336
-#define NCI_CALL 337
-#define METH_CALL 338
-#define INVOCANT 339
-#define MAIN 340
-#define LOAD 341
-#define INIT 342
-#define IMMEDIATE 343
-#define POSTCOMP 344
-#define METHOD 345
-#define ANON 346
-#define OUTER 347
-#define NEED_LEX 348
-#define MULTI 349
-#define VTABLE_METHOD 350
-#define LOADLIB 351
-#define SUB_INSTANCE_OF 352
-#define SUBID 353
-#define NS_ENTRY 354
-#define UNIQUE_REG 355
-#define LABEL 356
-#define EMIT 357
-#define EOM 358
-#define IREG 359
-#define NREG 360
-#define SREG 361
-#define PREG 362
-#define IDENTIFIER 363
-#define REG 364
-#define MACRO 365
-#define ENDM 366
-#define STRINGC 367
-#define INTC 368
-#define FLOATC 369
-#define USTRINGC 370
-#define PARROT_OP 371
-#define VAR 372
-#define LINECOMMENT 373
-#define FILECOMMENT 374
-#define DOT 375
-#define CONCAT 376
-
 
 
 
@@ -299,7 +178,7 @@
 typedef union YYSTYPE
 {
 
-/* Line 1676 of yacc.c  */
+/* Line 1740 of yacc.c  */
 #line 1075 "compilers/imcc/imcc.y"
 
     IdList * idlist;
@@ -310,8 +189,8 @@
 
 
 
-/* Line 1676 of yacc.c  */
-#line 304 "compilers/imcc/imcparser.h"
+/* Line 1740 of yacc.c  */
+#line 183 "compilers/imcc/imcparser.h"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */

Modified: branches/immutable_strings_part1/include/parrot/charset.h
==============================================================================
--- branches/immutable_strings_part1/include/parrot/charset.h	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/include/parrot/charset.h	Sat Apr 17 04:21:51 2010	(r45735)
@@ -261,7 +261,6 @@
 #define CHARSET_SET_BYTE(interp, source, offset, value) ((source)->encoding)->set_byte((interp), (source), (offset), (value))
 #define CHARSET_GET_CODEPOINTS(interp, source, offset, count) ((source)->encoding)->get_codepoints((interp), (source), (offset), (count))
 #define CHARSET_GET_BYTES(interp, source, offset, count) ((source)->encoding)->get_bytes((interp), (source), (offset), (count))
-#define CHARSET_BECOME_ENCODING(interp, source) ((source)->encoding)->become_encoding((interp), (source))
 #define CHARSET_CODEPOINTS(interp, source) ((source)->encoding)->codepoints((interp), (source))
 #define CHARSET_BYTES(interp, source) ((source)->encoding)->bytes((interp), (source))
 

Modified: branches/immutable_strings_part1/include/parrot/encoding.h
==============================================================================
--- branches/immutable_strings_part1/include/parrot/encoding.h	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/include/parrot/encoding.h	Sat Apr 17 04:21:51 2010	(r45735)
@@ -22,7 +22,6 @@
 typedef void (*encoding_set_byte_t)(PARROT_INTERP, const STRING *src, UINTVAL offset, UINTVAL count);
 typedef STRING *(*encoding_get_codepoints_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count);
 typedef STRING *(*encoding_get_bytes_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count);
-typedef void (*encoding_become_encoding_t)(PARROT_INTERP, STRING *src);
 typedef UINTVAL (*encoding_codepoints_t)(PARROT_INTERP, STRING *src);
 typedef UINTVAL (*encoding_bytes_t)(PARROT_INTERP, STRING *src);
 typedef UINTVAL (*encoding_find_cclass_t)(PARROT_INTERP, STRING *s, const INTVAL *typetable, INTVAL flags, UINTVAL offset, UINTVAL count);
@@ -45,7 +44,6 @@
     encoding_set_byte_t                 set_byte;
     encoding_get_codepoints_t           get_codepoints;
     encoding_get_bytes_t                get_bytes;
-    encoding_become_encoding_t          become_encoding;
     encoding_codepoints_t               codepoints;
     encoding_bytes_t                    bytes;
     encoding_iter_init_t                iter_init;
@@ -210,8 +208,6 @@
     ((src)->encoding)->get_codepoints((i), (src), (offset), (count))
 #define ENCODING_GET_BYTES(i, src, offset, count) \
     ((src)->encoding)->get_bytes((i), (src), (offset), (count))
-#define ENCODING_BECOME_ENCODING(i, src) \
-    ((src)->encoding)->become_encoding((i), (src))
 #define ENCODING_CODEPOINTS(i, src) \
     ((src)->encoding)->codepoints((i), (src))
 #define ENCODING_BYTES(i, src) \

Modified: branches/immutable_strings_part1/src/string/encoding/fixed_8.c
==============================================================================
--- branches/immutable_strings_part1/src/string/encoding/fixed_8.c	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/src/string/encoding/fixed_8.c	Sat Apr 17 04:21:51 2010	(r45735)
@@ -24,9 +24,6 @@
 /* HEADERIZER BEGIN: static */
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 
-static void become_encoding(PARROT_INTERP, SHIM(STRING *source_string))
-        __attribute__nonnull__(1);
-
 static UINTVAL bytes(SHIM_INTERP, ARGIN(STRING *source_string))
         __attribute__nonnull__(2);
 
@@ -127,8 +124,6 @@
 static STRING * to_encoding(PARROT_INTERP, SHIM(const STRING *src))
         __attribute__nonnull__(1);
 
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(source_string))
 #define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -377,23 +372,6 @@
     return return_string;
 }
 
-/*
-
-=item C<static void become_encoding(PARROT_INTERP, STRING *source_string)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *source_string))
-{
-    ASSERT_ARGS(become_encoding)
-    UNIMPL;
-}
-
 
 /*
 
@@ -569,7 +547,6 @@
         set_byte,
         get_codepoints,
         get_bytes,
-        become_encoding,
         codepoints,
         bytes,
         iter_init,

Modified: branches/immutable_strings_part1/src/string/encoding/ucs2.c
==============================================================================
--- branches/immutable_strings_part1/src/string/encoding/ucs2.c	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/src/string/encoding/ucs2.c	Sat Apr 17 04:21:51 2010	(r45735)
@@ -36,9 +36,6 @@
 /* HEADERIZER BEGIN: static */
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 
-static void become_encoding(PARROT_INTERP, SHIM(STRING *src))
-        __attribute__nonnull__(1);
-
 PARROT_WARN_UNUSED_RESULT
 static UINTVAL bytes(PARROT_INTERP, ARGIN(STRING *src))
         __attribute__nonnull__(1)
@@ -140,8 +137,6 @@
         __attribute__nonnull__(2)
         FUNC_MODIFIES(*i);
 
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(src))
@@ -396,23 +391,6 @@
     UNIMPL;
 }
 
-/*
-
-=item C<static void become_encoding(PARROT_INTERP, STRING *src)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *src))
-{
-    ASSERT_ARGS(become_encoding)
-    UNIMPL;
-}
-
 
 /*
 
@@ -635,7 +613,6 @@
         set_byte,
         get_codepoints,
         get_bytes,
-        become_encoding,
         codepoints,
         bytes,
         iter_init,

Modified: branches/immutable_strings_part1/src/string/encoding/utf16.c
==============================================================================
--- branches/immutable_strings_part1/src/string/encoding/utf16.c	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/src/string/encoding/utf16.c	Sat Apr 17 04:21:51 2010	(r45735)
@@ -26,9 +26,6 @@
 /* HEADERIZER BEGIN: static */
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 
-static void become_encoding(PARROT_INTERP, SHIM(STRING *src))
-        __attribute__nonnull__(1);
-
 PARROT_WARN_UNUSED_RESULT
 static UINTVAL bytes(SHIM_INTERP, ARGIN(STRING *src))
         __attribute__nonnull__(2);
@@ -127,8 +124,6 @@
         __attribute__nonnull__(2)
         FUNC_MODIFIES(*i);
 
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(src))
 #define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -463,24 +458,6 @@
 
 /*
 
-=item C<static void become_encoding(PARROT_INTERP, STRING *src)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *src))
-{
-    ASSERT_ARGS(become_encoding)
-    UNIMPL;
-}
-
-
-/*
-
 =item C<static UINTVAL codepoints(PARROT_INTERP, STRING *src)>
 
 Returns the number of codepoints in string C<src>.
@@ -654,7 +631,6 @@
         set_byte,
         get_codepoints,
         get_bytes,
-        become_encoding,
         codepoints,
         bytes,
         iter_init,

Modified: branches/immutable_strings_part1/src/string/encoding/utf8.c
==============================================================================
--- branches/immutable_strings_part1/src/string/encoding/utf8.c	Sat Apr 17 04:13:21 2010	(r45734)
+++ branches/immutable_strings_part1/src/string/encoding/utf8.c	Sat Apr 17 04:21:51 2010	(r45735)
@@ -27,9 +27,6 @@
 /* HEADERIZER BEGIN: static */
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 
-static void become_encoding(PARROT_INTERP, SHIM(STRING *src))
-        __attribute__nonnull__(1);
-
 PARROT_PURE_FUNCTION
 static UINTVAL bytes(SHIM_INTERP, ARGIN(STRING *src))
         __attribute__nonnull__(2);
@@ -145,8 +142,6 @@
 static const void * utf8_skip_forward(ARGIN(const void *ptr), UINTVAL n)
         __attribute__nonnull__(1);
 
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(src))
 #define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -772,22 +767,6 @@
     return return_string;
 }
 
-/*
-
-=item C<static void become_encoding(PARROT_INTERP, STRING *src)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *src))
-{
-    ASSERT_ARGS(become_encoding)
-    UNIMPL;
-}
 
 
 /*
@@ -883,7 +862,6 @@
         set_byte,
         get_codepoints,
         get_bytes,
-        become_encoding,
         codepoints,
         bytes,
         iter_init,


More information about the parrot-commits mailing list