Changeset 8153 for src/Pugs/Compile.hs

Show
Ignore:
Timestamp:
12/10/05 13:24:15 (3 years ago)
Author:
gaal
Message:

* Refactor Cxt, Pos, and Prag nodes in Exp to a unified Ann

(for Annotation) type. This should ease work on lexical pragmas.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Compile.hs

    r7696 r8153  
    137137 
    138138instance Compile Exp PIL_Stmts where 
    139     compile (Pos _ rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
    140     compile (Cxt cxt rest) = enter cxt $ compile rest 
     139    compile (Ann (Pos _) rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     140    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
     141    -- XXX: pragmas? 
    141142    compile (Stmts (Pad SOur _ exp) rest) = do 
    142143        compile $ mergeStmts exp rest 
     
    192193 
    193194instance Compile Exp PIL_Stmt where 
    194     compile (Pos pos rest) = fmap (PPos pos rest) $ compile rest 
    195     compile (Cxt cxt rest) = enter cxt $ compile rest 
     195    compile (Ann (Pos pos) rest) = fmap (PPos pos rest) $ compile rest 
     196    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
     197    -- XXX: pragmas? 
    196198    compile Noop = return PNoop 
    197199    compile (Val val) = do 
     
    266268 
    267269instance Compile Exp PIL_LValue where 
    268     compile (Pos _ rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
    269     compile (Cxt cxt rest) = enter cxt $ compile rest 
     270    compile (Ann (Pos _) rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     271    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
     272    -- XXX: pragmas? 
    270273    compile (Var name) = return $ PVar name 
    271274    compile (Syn (sigil:"::()") exps) = do 
     
    361364{-| Compiles various 'Exp's to 'PIL_Expr's. -} 
    362365instance Compile Exp PIL_Expr where 
    363     compile (Pos _ rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
    364     compile (Cxt cxt rest) = enter cxt $ compile rest 
     366    compile (Ann (Pos _) rest) = compile rest -- fmap (PPos pos rest) $ compile rest 
     367    compile (Ann (Cxt cxt) rest) = enter cxt $ compile rest 
     368    -- XXX: pragmas? 
    365369    compile (Var name) = return . PExp $ PVar name 
    366370    compile exp@(Val (VCode _)) = compile $ Syn "sub" [exp]