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

allison at svn.parrot.org allison at svn.parrot.org
Wed Apr 14 20:56:34 UTC 2010


Author: allison
Date: Wed Apr 14 20:56:34 2010
New Revision: 45675
URL: https://trac.parrot.org/parrot/changeset/45675

Log:
[imcc] A two line change to the parser to set an NSENTRY flag for the :nsentry
sub modifier.

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

Modified: trunk/compilers/imcc/imcc.y
==============================================================================
--- trunk/compilers/imcc/imcc.y	Wed Apr 14 20:32:06 2010	(r45674)
+++ trunk/compilers/imcc/imcc.y	Wed Apr 14 20:56:34 2010	(r45675)
@@ -1494,13 +1494,13 @@
 ns_entry_name:
     NS_ENTRY
          {
-           $$ = 0;
+           $$ = P_NSENTRY;
            IMCC_INFO(interp)->cur_unit->ns_entry_name     = NULL;
            IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
          }
    | NS_ENTRY '(' any_string ')'
          {
-           $$ = 0;
+           $$ = P_NSENTRY;
            IMCC_INFO(interp)->cur_unit->ns_entry_name = $3;
            IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1;
          }

Modified: trunk/compilers/imcc/imcparser.c
==============================================================================
--- trunk/compilers/imcc/imcparser.c	Wed Apr 14 20:32:06 2010	(r45674)
+++ trunk/compilers/imcc/imcparser.c	Wed Apr 14 20:56:34 2010	(r45675)
@@ -1303,6 +1303,127 @@
      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
+
 
 
 
@@ -1310,7 +1431,7 @@
 typedef union YYSTYPE
 {
 
-/* Line 222 of yacc.c  */
+/* Line 214 of yacc.c  */
 #line 1075 "compilers/imcc/imcc.y"
 
     IdList * idlist;
@@ -1321,8 +1442,8 @@
 
 
 
-/* Line 222 of yacc.c  */
-#line 1315 "compilers/imcc/imcparser.c"
+/* Line 214 of yacc.c  */
+#line 1436 "compilers/imcc/imcparser.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -1334,7 +1455,7 @@
 
 
 /* Line 264 of yacc.c  */
-#line 1327 "compilers/imcc/imcparser.c"
+#line 1448 "compilers/imcc/imcparser.c"
 
 #ifdef short
 # undef short
@@ -3136,21 +3257,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:
@@ -3161,7 +3282,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:
@@ -3172,42 +3293,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:
@@ -3218,7 +3339,7 @@
            (yyval.i) = 0;
            do_loadlib(interp, (yyvsp[(2) - (3)].s));
            mem_sys_free((yyvsp[(2) - (3)].s));
-         ;}
+         }
     break;
 
   case 15:
@@ -3229,7 +3350,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:
@@ -3239,7 +3360,7 @@
     {
            /* set_filename() frees the STRINGC */
            set_filename(interp, (yyvsp[(2) - (3)].s));
-         ;}
+         }
     break;
 
   case 17:
@@ -3252,7 +3373,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:
@@ -3267,14 +3388,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:
@@ -3285,14 +3406,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:
@@ -3303,14 +3424,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:
@@ -3322,49 +3443,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:
@@ -3376,7 +3497,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:
@@ -3386,7 +3507,7 @@
     {
            imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
            IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM);
-         ;}
+         }
     break;
 
   case 39:
@@ -3399,7 +3520,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:
@@ -3408,7 +3529,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:
@@ -3426,21 +3547,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:
@@ -3453,7 +3574,7 @@
                          emit_flush(interp);
            */
            (yyval.i) = 0;
-         ;}
+         }
     break;
 
   case 48:
@@ -3470,7 +3591,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:
@@ -3479,14 +3600,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:
@@ -3495,7 +3616,7 @@
 #line 1381 "compilers/imcc/imcc.y"
     {
            IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
-         ;}
+         }
     break;
 
   case 52:
@@ -3504,7 +3625,7 @@
 #line 1385 "compilers/imcc/imcc.y"
     {
            iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr));
-         ;}
+         }
     break;
 
   case 53:
@@ -3517,28 +3638,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:
@@ -3553,21 +3674,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:
@@ -3593,14 +3714,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:
@@ -3611,7 +3732,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:
@@ -3622,7 +3743,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:
@@ -3633,7 +3754,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:
@@ -3644,7 +3765,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:
@@ -3655,7 +3776,7 @@
            (yyval.t) = P_METHOD;
            IMCC_INFO(interp)->cur_unit->method_name = NULL;
            IMCC_INFO(interp)->cur_unit->is_method   = 1;
-         ;}
+         }
     break;
 
   case 67:
@@ -3666,7 +3787,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:
@@ -3674,10 +3795,10 @@
 /* Line 1455 of yacc.c  */
 #line 1496 "compilers/imcc/imcc.y"
     {
-           (yyval.t) = 0;
+           (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:
@@ -3685,10 +3806,10 @@
 /* Line 1455 of yacc.c  */
 #line 1502 "compilers/imcc/imcc.y"
     {
-           (yyval.t) = 0;
+           (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:
@@ -3698,7 +3819,7 @@
     {
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->instance_of = (yyvsp[(3) - (4)].s);
-         ;}
+         }
     break;
 
   case 71:
@@ -3708,7 +3829,7 @@
     {
            (yyval.t) = 0;
            IMCC_INFO(interp)->cur_unit->subid = NULL;
-         ;}
+         }
     break;
 
   case 72:
@@ -3720,7 +3841,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:
@@ -3729,7 +3850,7 @@
 #line 1534 "compilers/imcc/imcc.y"
     {
            add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, NULL);
-         ;}
+         }
     break;
 
   case 74:
@@ -3739,7 +3860,7 @@
     {
            (yyval.t) = 0;
            add_pcc_multi(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         ;}
+         }
     break;
 
   case 75:
@@ -3749,35 +3870,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:
@@ -3793,7 +3914,7 @@
            }
            mem_sys_free((yyvsp[(1) - (1)].s));
            (yyval.sr) = r;
-         ;}
+         }
     break;
 
   case 81:
@@ -3809,14 +3930,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:
@@ -3845,112 +3966,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:
@@ -3960,7 +4081,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:
@@ -3969,7 +4090,7 @@
 #line 1661 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         ;}
+         }
     break;
 
   case 111:
@@ -3979,7 +4100,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:
@@ -3988,7 +4109,7 @@
 #line 1670 "compilers/imcc/imcc.y"
     {
            add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
-         ;}
+         }
     break;
 
   case 113:
@@ -3997,7 +4118,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:
@@ -4007,7 +4128,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:
@@ -4017,35 +4138,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:
@@ -4055,21 +4176,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:
@@ -4086,91 +4207,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:
@@ -4180,28 +4301,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:
@@ -4211,7 +4332,7 @@
     {
            if ((yyvsp[(1) - (2)].sr))
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
-         ;}
+         }
     break;
 
   case 141:
@@ -4221,14 +4342,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:
@@ -4238,7 +4359,7 @@
     {
            if ((yyvsp[(1) - (2)].sr))
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr));
-         ;}
+         }
     break;
 
   case 144:
@@ -4248,21 +4369,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:
@@ -4272,7 +4393,7 @@
     {
           if (IMCC_INFO(interp)->asm_state == AsmDefault)
               begin_return_or_yield(interp, (yyvsp[(1) - (2)].t));
-        ;}
+        }
     break;
 
   case 148:
@@ -4282,28 +4403,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:
@@ -4318,7 +4439,7 @@
            }
            else
                add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (1)].sr));
-         ;}
+         }
     break;
 
   case 153:
@@ -4328,7 +4449,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:
@@ -4343,7 +4464,7 @@
              }
              else
                  add_pcc_result(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(3) - (3)].sr));
-         ;}
+         }
     break;
 
   case 155:
@@ -4353,63 +4474,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:
@@ -4420,14 +4541,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:
@@ -4440,7 +4561,7 @@
                YYABORT;
            }
            yyerrok;
-         ;}
+         }
     break;
 
   case 172:
@@ -4451,7 +4572,7 @@
            IdList* const l = (yyvsp[(1) - (1)].idlist);
            l->next = NULL;
            (yyval.idlist) = l;
-         ;}
+         }
     break;
 
   case 173:
@@ -4462,7 +4583,7 @@
            IdList* const l = (yyvsp[(3) - (3)].idlist);
            l->next = (yyvsp[(1) - (3)].idlist);
            (yyval.idlist) = l;
-         ;}
+         }
     break;
 
   case 174:
@@ -4474,28 +4595,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:
@@ -4516,7 +4637,7 @@
                mem_sys_free(l1);
            }
            IMCC_INFO(interp)->is_def = 0; (yyval.i) = 0;
-         ;}
+         }
     break;
 
   case 181:
@@ -4538,7 +4659,7 @@
                mem_sys_free((yyvsp[(2) - (4)].s));
                mem_sys_free(name);
             }
-         ;}
+         }
     break;
 
   case 182:
@@ -4556,14 +4677,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:
@@ -4574,14 +4695,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:
@@ -4592,7 +4713,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:
@@ -4603,7 +4724,7 @@
            (yyval.i) = NULL;
            IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isTAIL_CALL;
            IMCC_INFO(interp)->cur_call = NULL;
-         ;}
+         }
     break;
 
   case 189:
@@ -4612,7 +4733,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:
@@ -4629,63 +4750,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:
@@ -4700,49 +4821,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:
@@ -4753,7 +4874,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:
@@ -4762,7 +4883,7 @@
 #line 2077 "compilers/imcc/imcc.y"
     {
            (yyval.i) = IMCC_create_itcall_label(interp);
-         ;}
+         }
     break;
 
   case 210:
@@ -4772,7 +4893,7 @@
     {
            IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
            IMCC_INFO(interp)->cur_call = NULL;
-         ;}
+         }
     break;
 
   case 214:
@@ -4781,189 +4902,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:
@@ -4974,112 +5095,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:
@@ -5092,28 +5213,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:
@@ -5124,7 +5245,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:
@@ -5143,7 +5264,7 @@
 
             IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr);
             (yyval.sr)                         = (yyvsp[(3) - (3)].sr);
-        ;}
+        }
     break;
 
   case 263:
@@ -5154,7 +5275,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:
@@ -5165,14 +5286,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:
@@ -5182,21 +5303,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:
@@ -5211,7 +5332,7 @@
            }
            else
                add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         ;}
+         }
     break;
 
   case 270:
@@ -5226,7 +5347,7 @@
            }
            else
                add_pcc_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         ;}
+         }
     break;
 
   case 271:
@@ -5238,7 +5359,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:
@@ -5248,7 +5369,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:
@@ -5260,70 +5381,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:
@@ -5338,7 +5459,7 @@
            }
            else
                add_pcc_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
-         ;}
+         }
     break;
 
   case 284:
@@ -5349,7 +5470,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:
@@ -5364,7 +5485,7 @@
            }
            else
                add_pcc_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
-         ;}
+         }
     break;
 
   case 286:
@@ -5374,28 +5495,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:
@@ -5404,7 +5525,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:
@@ -5413,7 +5534,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:
@@ -5422,7 +5543,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:
@@ -5431,7 +5552,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:
@@ -5440,7 +5561,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:
@@ -5449,91 +5570,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:
@@ -5545,7 +5666,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:
@@ -5555,49 +5676,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:
@@ -5606,7 +5727,7 @@
 #line 2429 "compilers/imcc/imcc.y"
     {
            IMCC_INFO(interp)->nkeys    = 0;
-         ;}
+         }
     break;
 
   case 325:
@@ -5617,7 +5738,7 @@
            (yyval.sr) = link_keys(interp,
                           IMCC_INFO(interp)->nkeys,
                           IMCC_INFO(interp)->keys, 0);
-         ;}
+         }
     break;
 
   case 326:
@@ -5626,7 +5747,7 @@
 #line 2441 "compilers/imcc/imcc.y"
     {
            IMCC_INFO(interp)->nkeys = 0;
-         ;}
+         }
     break;
 
   case 327:
@@ -5637,14 +5758,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:
@@ -5654,7 +5775,7 @@
     {
            IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr);
            (yyval.sr) = IMCC_INFO(interp)->keys[0];
-         ;}
+         }
     break;
 
   case 330:
@@ -5663,76 +5784,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 5725 "compilers/imcc/imcparser.c"
+#line 5846 "compilers/imcc/imcparser.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);

Modified: trunk/compilers/imcc/imcparser.h
==============================================================================
--- trunk/compilers/imcc/imcparser.h	Wed Apr 14 20:32:06 2010	(r45674)
+++ trunk/compilers/imcc/imcparser.h	Wed Apr 14 20:56:34 2010	(r45675)
@@ -171,6 +171,127 @@
      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
+
 
 
 
@@ -178,7 +299,7 @@
 typedef union YYSTYPE
 {
 
-/* Line 1740 of yacc.c  */
+/* Line 1676 of yacc.c  */
 #line 1075 "compilers/imcc/imcc.y"
 
     IdList * idlist;
@@ -189,8 +310,8 @@
 
 
 
-/* Line 1740 of yacc.c  */
-#line 183 "compilers/imcc/imcparser.h"
+/* Line 1676 of yacc.c  */
+#line 304 "compilers/imcc/imcparser.h"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */


More information about the parrot-commits mailing list