1
0
forked from GitHub/gf-core

gfc --make now works

This commit is contained in:
aarne
2007-09-21 07:37:47 +00:00
parent 6ceb166341
commit 47a48e8e78
3 changed files with 7 additions and 17 deletions

View File

@@ -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

View File

@@ -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."

View File

@@ -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) |