Show
Ignore:
Timestamp:
07/04/05 00:34:05 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
6965
Message:

* AST.Internals, CodeGen?.PIR - deal with the fallout of

not deriving from Read. also introduce newHash for incHV.

Files:
1 modified

Legend:

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

    r4972 r5167  
    1818import Pugs.AST 
    1919import Pugs.AST.Internals 
     20import Pugs.Eval.Var 
    2021import Emit.Common 
    2122import Emit.PIR 
     
    311312    let var = render $ varText name 
    312313    tellIns $ InsLocal RegPMC var 
    313     tellIns $ InsNew (VAR var) (read $ render $ varInit name) 
     314    tellIns $ InsNew (VAR var) (varInit name) 
    314315    return $ reg (VAR var) 
    315316 
    316 varInit :: String -> Doc 
    317 varInit ('$':_) = text $ "PerlScalar" 
    318 varInit ('@':_) = text $ "PerlArray" 
    319 varInit ('%':_) = text $ "PerlHash" 
    320 varInit ('&':_) = text $ "PerlScalar" 
    321 varInit x       = error $ "invalid name: " ++ x 
     317varInit :: String -> ObjType 
     318varInit ('$':_) = PerlScalar 
     319varInit ('@':_) = PerlArray 
     320varInit ('%':_) = PerlHash 
     321varInit ('&':_) = PerlScalar 
     322varInit x       = internalError $ "Invalid name: " ++ x 
    322323 
    323324{-| Compiles the current environment to PIR code. -}