Changeset 14353 for src/Pugs/Compile.hs
- Timestamp:
- 10/17/06 08:26:08 (2 years ago)
- svk:copy_cache_prev:
- 21206
- Files:
-
- 1 modified
-
src/Pugs/Compile.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Compile.hs
r14337 r14353 221 221 compile (Syn "loop" [exp]) = 222 222 compile (Syn "loop" $ [emptyExp, Val (VBool True), emptyExp, exp]) 223 compile (Syn "loop" [pre, cond, post, (Syn "block" [body])]) = do223 compile (Syn "loop" [pre, cond, post, body]) = do 224 224 preC <- compile pre 225 225 -- loop (...; ; ...) {...} -> … … 234 234 funC <- compile (_Var "&statement_control:loop") 235 235 return . PStmt . PExp $ PApp TCxtVoid funC Nothing 236 [preC, pBlock condC, pBlockbodyC, pBlock postC]236 [preC, pBlock condC, bodyC, pBlock postC] 237 237 compile exp@(Syn "unless" _) = fmap (PStmt . PExp) $ compConditional exp 238 238 compile exp@(Syn "while" _) = compLoop exp … … 363 363 bodyC <- enter CxtVoid $ compile body 364 364 funC <- compile (_Var $ "&statement_control:" ++ name) 365 return . PStmt . PExp $ PApp cxt funC Nothing [pBlock condC, pBlockbodyC]365 return . PStmt . PExp $ PApp cxt funC Nothing [pBlock condC, bodyC] 366 366 compLoop exp = compError exp 367 367
