home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / case.seq < prev    next >
Text File  |  1991-02-25  |  796b  |  25 lines

  1. \ CASE.SEQ      Case statment                           by Bob Smith
  2.  
  3.  
  4. : CASE          ( -- )
  5.                 COMPILE DOCASE
  6.                 <MARK 0 ;                                       IMMEDIATE
  7.  
  8.  
  9. : ENDOF         ( -- )
  10.                 COMPILE DOENDOF >MARK SWAP >RESOLVE ;           IMMEDIATE
  11.  
  12. : OF            ( n1 n2 -- n1 )  ( n1 n1 -- )
  13.                 COMPILE (OF)  >MARK ;                           IMMEDIATE
  14.  
  15. : NRESOLVE   ( 0 n1 n2 ... n -- )
  16.                 BEGIN   DUP
  17.                         IF      >RESOLVE 0
  18.                         ELSE    -1  THEN
  19.                 UNTIL   DROP ;
  20.  
  21. : ENDCASE       ( -- )
  22.                 COMPILE DOENDCASE       \ <- DOENDCASE does NOT do a DROP!!
  23.                 NRESOLVE DROP ;                                 IMMEDIATE
  24.  
  25.