Show
Ignore:
Timestamp:
06/20/05 22:13:19 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
6641
Message:

* while loop and until loop

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Compile/PIR.hs

    r4886 r4888  
    247247    compile exp@(Syn "while" _) = compLoop exp 
    248248    compile exp@(Syn "until" _) = compLoop exp 
     249    compile exp@(Syn "postwhile" _) = compLoop exp 
     250    compile exp@(Syn "postuntil" _) = compLoop exp 
    249251    compile (Syn "for" [exp, body]) = do 
    250252        expC    <- compile exp 
     
    331333compLoop (Syn name [cond, body]) = do 
    332334    cxt     <- askTCxt 
    333     condC   <- compile cond 
    334     bodyC   <- compile body 
     335    condC   <- enter (CxtItem $ mkType "Bool") $ compile cond 
     336    bodyC   <- enter CxtVoid $ compile body 
    335337    funC    <- compile (Var $ "&statement_control:" ++ name) 
    336338    return . PStmt . PExp $ PApp cxt funC [pBlock condC, pBlock bodyC]