Changeset 10745 for src/Pugs/Compile

Show
Ignore:
Timestamp:
06/19/06 15:14:14 (2 years ago)
Author:
audreyt
Message:

* Update PIL Compiler to deal with this:

($x) = 1,2,3

to parse as list. Currently use a horrible (Sym SMy "") form
for the lack of a better Noop annotation node.

Files:
1 modified

Legend:

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

    r10460 r10745  
    126126 
    127127instance Compile Exp PIL_Stmts where 
    128     compile (Ann (Pos _) rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     128    -- XXX: pragmas? 
     129    compile (Ann Pos{} rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     130    compile (Ann Prag{} rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
    129131    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
    130     -- XXX: pragmas? 
     132    compile (Sym _ "" rest) = compile rest 
    131133    compile (Stmts (Pad SOur _ exp) rest) = do 
    132134        compile $ mergeStmts exp rest 
     
    185187    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
    186188    -- XXX: pragmas? 
     189    compile (Ann Prag{} rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     190    compile (Sym _ "" rest) = compile rest 
    187191    compile Noop = return PNoop 
    188192    compile (Val val) = do 
     
    257261 
    258262instance Compile Exp PIL_LValue where 
    259     compile (Ann (Pos _) rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     263    compile (Ann Pos{} rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     264    compile (Ann Prag{} rest) = compile rest 
    260265    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
     266    compile (Sym _ "" rest) = compile rest 
    261267    compile (Var name) = return $ PVar name 
    262268    compile (Syn (sigil:"::()") exps) = do 
     
    352358{-| Compiles various 'Exp's to 'PIL_Expr's. -} 
    353359instance Compile Exp PIL_Expr where 
    354     compile (Ann (Pos _) rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     360    compile (Ann Pos{} rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     361    compile (Ann Prag{} rest) = compile rest 
    355362    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
     363    compile (Sym _ "" rest) = compile rest 
    356364    compile (Var name) = return . PExp $ PVar name 
    357365    compile exp@(Val (VCode _)) = compile $ Syn "sub" [exp]