Changeset 6248 for src/Pugs/CodeGen
- Timestamp:
- 08/14/05 17:32:14 (3 years ago)
- svk:copy_cache_prev:
- 8452
- Location:
- src/Pugs/CodeGen
- Files:
-
- 1 added
- 4 modified
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/CodeGen/PIL.hs
r6229 r6248 5 5 import Pugs.Internals 6 6 import Pugs.AST 7 import Pugs.PIL1 7 8 import Pugs.Compile 8 9 9 10 genPIL :: Eval Val 10 11 genPIL = do 11 glob <- askGlobal 12 main <- asks envBody 13 globPIL <- compile glob :: Eval [PIL_Decl] 14 mainPIL <- compile main :: Eval PIL_Stmts 12 penv <- compile () 15 13 return . VStr . unlines $ 16 14 [ "PIL_Environment" 17 , " { pilMain = (" ++ show mainPIL++ ")"18 , " , pilGlob = (" ++ show globPIL++ ")"15 , " { pilMain = (" ++ show (pilMain penv) ++ ")" 16 , " , pilGlob = (" ++ show (pilGlob penv) ++ ")" 19 17 , " }" 20 18 ] -
src/Pugs/CodeGen/PIR.hs
r6229 r6248 19 19 import Pugs.Types 20 20 import Pugs.Eval.Var 21 import Pugs.PIL1 21 22 import Emit.PIR 22 23 import Pugs.Pretty … … 338 339 local (\env -> env{ envDebug = Nothing }) $ do 339 340 opEval style "<prelude-pir>" preludeStr 340 glob <- askGlobal 341 main <- asks envBody 342 globPIL <- compile glob 343 mainPIL <- compile main 344 globPIR <- runCodeGenGlob tenv globPIL 345 mainPIR <- runCodeGenMain tenv mainPIL 341 penv <- compile () 342 globPIR <- runCodeGenGlob tenv (pilGlob penv) 343 mainPIR <- runCodeGenMain tenv (pilMain penv) 346 344 libs <- liftIO $ getLibs 347 345 return . VStr . unlines $ … … 385 383 , InsNew tempPMC PerlScalar 386 384 , "store_global" .- [lit "$_", tempPMC] 387 ]) ++ [ StmtRaw (text (name ++ "()")) | PSub name@('_':'_':_) _ _ _ <- globPIL] ++385 ]) ++ [ StmtRaw (text (name ++ "()")) | PSub name@('_':'_':_) _ _ _ <- pilGlob penv ] ++ 388 386 [ StmtRaw (text "main()") 389 387 , StmtIns $ tempPMC <-- "find_global" $ [lit "Perl6::Internals", lit "&exit"] -
src/Pugs/CodeGen/Perl5.hs
r6236 r6248 6 6 import Pugs.AST 7 7 import Pugs.Compile 8 import Pugs.PIL1 8 9 import DrIFT.Perl5 9 10 10 11 genPerl5 :: Eval Val 11 12 genPerl5 = do 12 glob <- askGlobal 13 main <- asks envBody 14 globPIL <- compile glob :: Eval [PIL_Decl] 15 mainPIL <- compile main :: Eval PIL_Stmts 13 penv <- compile () 16 14 return . VStr . unlines $ 17 15 [ "bless({" 18 , " pilMain => " ++ showPerl5 mainPIL++ ","19 , " pilGlob => " ++ showPerl5 globPIL16 , " pilMain => " ++ showPerl5 (pilMain penv) ++ "," 17 , " pilGlob => " ++ showPerl5 (pilGlob penv) 20 18 , "} => 'PIL::Environment')" 21 19 ] -
src/Pugs/CodeGen/XML.hs
r6239 r6248 11 11 genXML :: Eval Val 12 12 genXML = do 13 glob <- askGlobal 14 main <- asks envBody 15 globPIL <- compile glob :: Eval [PIL_Decl] 16 mainPIL <- compile main :: Eval PIL_Stmts 17 return . VStr . showXml $ PIL_Environment globPIL mainPIL 13 penv <- compile () :: Eval PIL_Environment 14 return $ VStr (showXml penv)
