Changeset 6424 for src/Pugs/Compile.hs
- Timestamp:
- 08/23/05 22:18:24 (3 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Compile.hs (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Compile.hs
r6248 r6424 105 105 name' | ':' `elem` name = name 106 106 | otherwise = "main::" ++ name -- XXX wrong 107 return [PSub initL SubPrim [] bodyC]107 return [PSub initL SubPrim [] False bodyC] 108 108 canCompile _ = return [] 109 109 doCode name vsub = case subBody vsub of … … 117 117 compile (name, decls) = do 118 118 let bodyC = [ PStmts . PStmt . PExp $ PApp tcVoid (PExp (PVar sub)) Nothing [] 119 | PSub sub _ _ _ <- decls119 | PSub sub _ _ _ _ <- decls 120 120 ] 121 return (PSub name SubPrim [] (combine bodyC PNil):decls)121 return (PSub name SubPrim [] False (combine bodyC PNil):decls) 122 122 123 123 instance Compile (SubName, VCode) [PIL_Decl] where … … 126 126 bodyC = PStmts (PStmt . PExp $ storeC) PNil 127 127 exportL = "__export_" ++ (render $ varText name) 128 return [PSub exportL SubPrim [] bodyC]128 return [PSub exportL SubPrim [] False bodyC] 129 129 compile (name, vsub) = do 130 130 bodyC <- enter cxtItemAny . compile $ case subBody vsub of … … 132 132 body -> body 133 133 paramsC <- compile $ subParams vsub 134 return [PSub name (subType vsub) paramsC bodyC]134 return [PSub name (subType vsub) paramsC (subLValue vsub) bodyC] 135 135 136 136 instance Compile (String, [(TVar Bool, TVar VRef)]) PIL_Expr where … … 228 228 229 229 pBlock :: PIL_Stmts -> PIL_Expr 230 pBlock = PCode SubBlock [] 230 pBlock = PCode SubBlock [] False 231 231 232 232 {- … … 356 356 exp -> exp 357 357 paramsC <- compile $ subParams sub 358 return $ PCode (subType sub) paramsC bodyC358 return $ PCode (subType sub) paramsC (subLValue sub) bodyC 359 359 compile (Syn "module" _) = compile Noop 360 360 compile (Syn "match" exp) = compile $ Syn "rx" exp -- wrong
