diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-12-07 20:47:58 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-12-07 20:47:58 +0000 |
| commit | d9521d2f4c8fa0eb515beefbe07bab4d16b6a543 (patch) | |
| tree | 7b9624d9bf158f0518f9ebd2fd5f914a9ce13180 /src/GF/Devel/Compile/Rename.hs | |
| parent | 8437e6d29573211a2218444d541c09d4eed3898e (diff) | |
restructured some of the new GF format; modules now in place up to gfo generation
Diffstat (limited to 'src/GF/Devel/Compile/Rename.hs')
| -rw-r--r-- | src/GF/Devel/Compile/Rename.hs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/GF/Devel/Compile/Rename.hs b/src/GF/Devel/Compile/Rename.hs index df2867f08..fe4f8175f 100644 --- a/src/GF/Devel/Compile/Rename.hs +++ b/src/GF/Devel/Compile/Rename.hs @@ -24,9 +24,8 @@ module GF.Devel.Compile.Rename ( renameModule ) where -import GF.Devel.Grammar.Modules -import GF.Devel.Grammar.Judgements -import GF.Devel.Grammar.Terms +import GF.Devel.Grammar.Grammar +import GF.Devel.Grammar.Construct import GF.Devel.Grammar.Macros import GF.Devel.Grammar.PrGF import GF.Infra.Ident @@ -61,7 +60,8 @@ renameIdentTerm :: RenameEnv -> Term -> Err Term renameIdentTerm (gf, (name,mo)) trm = case trm of Vr i -> looks i Con i -> looks i - Q m i -> getQualified m >>= look i + Q m i -> getQualified m >>= look i + QC m i -> getQualified m >>= look i _ -> return trm where looks i = do @@ -76,10 +76,10 @@ renameIdentTerm (gf, (name,mo)) trm = case trm of (return t) ---- _ -> fail $ unwords $ "identifier" : prt i : "ambiguous:" : map prt ts look i m = do - entry <- lookupIdent gf m i - return $ case entry of - Left j -> if isConstructor j then QC m i else Q m i - Right (n,b) -> if b then QC n i else Q n i + ju <- lookupIdent gf m i + return $ case jform ju of + JLink -> if isConstructor ju then QC (jlink ju) i else Q (jlink ju) i + _ -> if isConstructor ju then QC m i else Q m i pool = nub $ name : maybe name id (interfaceName mo) : IC "Predef" : |
