Diff for /gforth/vmgen-ex/mini.y between versions 1.2 and 1.4

version 1.2, 2001/04/29 11:48:21 version 1.4, 2003/03/09 15:17:09
Line 1 Line 1
 /* front-end compiler for vmgen example  /* front-end compiler for vmgen example
   
   Copyright (C) 2001 Free Software Foundation, Inc.    Copyright (C) 2001,2002 Free Software Foundation, Inc.
   
   This file is part of Gforth.    This file is part of Gforth.
   
Line 94  stats: stats stat ';' Line 94  stats: stats stat ';'
   
 stat: IF expr THEN { gen_zbranch(&vmcodep, 0); $<instp>$ = vmcodep; }  stat: IF expr THEN { gen_zbranch(&vmcodep, 0); $<instp>$ = vmcodep; }
       stats { $<instp>$ = $<instp>4; }         stats { $<instp>$ = $<instp>4; } 
       elsepart END IF { BB_BOUNDARY; $<instp>7[-1] = vmcodep; }        elsepart END IF { BB_BOUNDARY; $<instp>7[-1] = (Inst)vmcodep; }
     | WHILE   { BB_BOUNDARY; $<instp>$ = vmcodep; }       | WHILE   { BB_BOUNDARY; $<instp>$ = vmcodep; } 
       expr DO { gen_zbranch(&vmcodep, 0); $<instp>$ = vmcodep; }        expr DO { gen_zbranch(&vmcodep, 0); $<instp>$ = vmcodep; }
       stats END WHILE { gen_branch(&vmcodep, $<instp>2); $<instp>5[-1] = vmcodep; }        stats END WHILE { gen_branch(&vmcodep, $<instp>2); $<instp>5[-1] = (Inst)vmcodep; }
     | IDENT BECOMES expr        { gen_storelocal(&vmcodep,  var_offset($1)); }      | IDENT BECOMES expr        { gen_storelocal(&vmcodep,  var_offset($1)); }
     | PRINT expr                { gen_print(&vmcodep); }      | PRINT expr                { gen_print(&vmcodep); }
     | expr                      { gen_drop(&vmcodep); }      | expr                      { gen_drop(&vmcodep); }
     ;      ;
   
 elsepart: ELSE { gen_branch(&vmcodep, 0); $<instp>$ = vmcodep; $<instp>0[-1] = vmcodep; }  elsepart: ELSE { gen_branch(&vmcodep, 0); $<instp>$ = vmcodep; $<instp>0[-1] = (Inst)vmcodep; }
           stats { $$ = $<instp>2; }            stats { $$ = $<instp>2; }
         | { $$ = $<instp>0; }          | { $$ = $<instp>0; }
         ;          ;

Removed from v.1.2  
changed lines
  Added in v.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>