summaryrefslogtreecommitdiff
path: root/src/GF/Devel/Compile/Rename.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-02-01 22:01:10 +0000
committeraarne <aarne@cs.chalmers.se>2008-02-01 22:01:10 +0000
commit48895581378353743e51bae6cbbe60bf31b7b8e3 (patch)
tree91ffacfa4b95a59e216d32cf69673256b9370415 /src/GF/Devel/Compile/Rename.hs
parent3addf256bcfaaa7748b0159a3dd6f6ce8fcd8b7c (diff)
added some new pattern forms, incl. pattern macros, to testgf3
Diffstat (limited to 'src/GF/Devel/Compile/Rename.hs')
-rw-r--r--src/GF/Devel/Compile/Rename.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/GF/Devel/Compile/Rename.hs b/src/GF/Devel/Compile/Rename.hs
index b6d44c7ed..9ba704c19 100644
--- a/src/GF/Devel/Compile/Rename.hs
+++ b/src/GF/Devel/Compile/Rename.hs
@@ -132,6 +132,10 @@ renameTerm env vars = ren vars where
Ok t -> return t -- const proj last
_ -> prtBad "unknown qualified constant" trm
+ EPatt p -> do
+ (p',_) <- renpatt p
+ return $ EPatt p'
+
_ -> composOp (ren vs) trm
renid = renameIdentTerm env
@@ -145,6 +149,12 @@ renameTerm env vars = ren vars where
renamePattern :: RenameEnv -> Patt -> Err (Patt,[Ident])
renamePattern env patt = case patt of
+ PMacro c -> do
+ c' <- renid $ Vr c
+ case c' of
+ Q p d -> renp $ PM p d
+ _ -> prtBad "unresolved pattern" patt
+
PC c ps -> do
c' <- renid $ Vr c
case c' of