diff --git a/src/GF/Devel/Compile.hs b/src/GF/Devel/Compile.hs index 0649760fe..916cb961e 100644 --- a/src/GF/Devel/Compile.hs +++ b/src/GF/Devel/Compile.hs @@ -9,8 +9,6 @@ import GF.Compile.Update import GF.Grammar.Lookup import GF.Infra.Modules import GF.Devel.ReadFiles ---import GF.Compile.ShellState ---import GF.Compile.MkResource -- the main compiler passes import GF.Devel.GetGrammar @@ -21,17 +19,8 @@ import GF.Grammar.Refresh import GF.Compile.CheckGrammar import GF.Compile.Optimize import GF.Compile.Evaluate ---- ---import GF.Compile.GrammarToCanon ---import GF.Compile.GrammarToGFCC ----- --import GF.Canon.Share --import GF.Canon.Subexpressions (elimSubtermsMod,unSubelimModule) ---import GF.UseGrammar.Linear (unoptimizeCanonMod) ---- - ---import qualified GF.Canon.CanonToGrammar as CG - ---import qualified GF.Canon.GFC as GFC ---import qualified GF.Canon.MkGFC as MkGFC ---import GF.Canon.GetGFC import GF.Data.Operations import GF.Devel.UseIO @@ -84,8 +73,8 @@ compileModule opts1 env file = do return e compileEnvShSt :: CompileEnv -> [ModName] -> CompileEnv -compileEnvShSt env@(_,sgr) fs = (0,sgr) where - sgr = MGrammar [m | m@(i,_) <- modules sgr, notElem (prt i) $ map fileBody fs] +compileEnvShSt env@(_,sgr) fs = (0,sgr2) where + sgr2 = MGrammar [m | m@(i,_) <- modules sgr, notElem (prt i) $ map fileBody fs] compileOne :: Options -> CompileEnv -> FullPath -> IOE CompileEnv compileOne opts env@(_,srcgr) file = do diff --git a/src/GF/Devel/GFC.hs b/src/GF/Devel/GFC.hs index 561d37060..eba212486 100644 --- a/src/GF/Devel/GFC.hs +++ b/src/GF/Devel/GFC.hs @@ -2,6 +2,7 @@ module Main where import GF.Devel.Compile import GF.Devel.GrammarToGFCC +---import GF.Devel.PrGrammar --- import System @@ -12,9 +13,9 @@ main = do "-help":[] -> putStrLn "usage: gfc (--make) FILES" "--make":fs -> do gr <- batchCompile fs - putStrLn $ prGrammar2gfcc gr --- ---- writeFile "a.gfcc" $ prGrammar2gfcc gr ---- putStrLn "wrote file a.gfcc" + --- putStrLn $ prGrammar gr + writeFile "a.gfcc" $ prGrammar2gfcc gr + putStrLn "Wrote file a.gfcc." _ -> do mapM_ batchCompile (map return xx) putStrLn "Done." diff --git a/src/GF/Devel/GrammarToGFCC.hs b/src/GF/Devel/GrammarToGFCC.hs index a6dabae1a..cbe8af891 100644 --- a/src/GF/Devel/GrammarToGFCC.hs +++ b/src/GF/Devel/GrammarToGFCC.hs @@ -38,7 +38,7 @@ canon2gfcc cgr@(M.MGrammar ((a,M.ModMod abm):cms)) = cs = map (i2i . fst) cms adefs = [C.Fun f' (mkType ty) (C.Tr (C.AC f') []) | (f,AbsFun (Yes ty) _) <- tree2list (M.jments abm), let f' = i2i f] - cncs = [C.Cnc (i2i a) (concr abm)] + cncs = [C.Cnc (i2i lang) (concr m) | (lang,M.ModMod m) <- cms] concr mo = cats mo ++ lindefs mo ++ optConcrete [C.Lin (i2i f) (mkTerm tr) |