1
0
forked from GitHub/gf-core

top-level toy compiler - far from complete

This commit is contained in:
aarne
2007-03-27 16:32:44 +00:00
parent 273dc7120f
commit 1c1acf1b97
12 changed files with 388 additions and 54 deletions

16
devel/compiler/SMacros.hs Normal file
View File

@@ -0,0 +1,16 @@
module SMacros where
import AbsSrc
apps :: Exp -> (Exp,[Exp])
apps e = (f,reverse xs) where
(f,xs) = aps e
aps e = case e of
EApp f x -> let (f',xs) = aps f in (f',x:xs)
_ -> (e,[])
constr :: Ident -> [Exp] -> Exp
constr = ECst
mkApp :: Exp -> [Exp] -> Exp
mkApp f = foldl EApp f