1
0
forked from GitHub/gf-core

move GF.Devel.Compile and GF.Compile.API to GF.Compile

This commit is contained in:
kr.angelov
2008-05-22 12:57:33 +00:00
parent 2e49f7f5b1
commit a28b61be1c
4 changed files with 22 additions and 27 deletions

View File

@@ -1,6 +1,6 @@
module GF.Command.Importing (importGrammar) where
import GF.Compile.API
import GF.Compile
import GF.GFCC.DataGFCC
import GF.GFCC.API

View File

@@ -1,4 +1,4 @@
module GF.Devel.Compile (batchCompile) where
module GF.Compile (batchCompile, compileToGFCC) where
-- the main compiler passes
import GF.Devel.GetGrammar
@@ -8,10 +8,8 @@ import GF.Compile.Rename
import GF.Grammar.Refresh
import GF.Devel.CheckGrammar
import GF.Devel.Optimize
--import GF.Compile.Evaluate ----
import GF.Devel.OptimizeGF
--import GF.Canon.Share
--import GF.Canon.Subexpressions (elimSubtermsMod,unSubelimModule)
import GF.Devel.GrammarToGFCC
import GF.Grammar.Grammar
import GF.Infra.Ident
@@ -36,6 +34,24 @@ import System.FilePath
import System.Time
import qualified Data.Map as Map
import GF.GFCC.OptimizeGFCC
import GF.GFCC.CheckGFCC
import GF.GFCC.DataGFCC
-- | Compiles a number of source files and builds a 'GFCC' structure for them.
compileToGFCC :: Options -> [FilePath] -> IOE GFCC
compileToGFCC opts fs =
do gr <- batchCompile opts fs
let name = justModuleName (last fs)
gc1 <- putPointE opts "linking ... " $
let (abs,gc0) = mkCanon2gfcc opts name gr
in ioeIO $ checkGFCCio gc0
let opt = if oElem (iOpt "noopt") opts then id else optGFCC
par = if oElem (iOpt "noparse") opts then id else addParsers
return (par (opt gc1))
batchCompile :: Options -> [FilePath] -> IOE SourceGrammar
batchCompile opts files = do
(_,gr,_) <- foldM (compileModule defOpts) emptyCompileEnv files

View File

@@ -1,21 +0,0 @@
module GF.Compile.API (batchCompile, compileToGFCC) where
import GF.Devel.Compile
import GF.Devel.GrammarToGFCC
import GF.GFCC.OptimizeGFCC
import GF.GFCC.CheckGFCC
import GF.GFCC.DataGFCC
import GF.Infra.Option
import GF.Devel.UseIO
-- | Compiles a number of source files and builds a 'GFCC' structure for them.
compileToGFCC :: Options -> [FilePath] -> IOE GFCC
compileToGFCC opts fs =
do gr <- batchCompile opts fs
let name = justModuleName (last fs)
gc1 <- putPointE opts "linking ... " $
let (abs,gc0) = mkCanon2gfcc opts name gr
in ioeIO $ checkGFCCio gc0
let opt = if oElem (iOpt "noopt") opts then id else optGFCC
par = if oElem (iOpt "noparse") opts then id else addParsers
return (par (opt gc1))

View File

@@ -1,7 +1,7 @@
module GF.Devel.GFC (mainGFC) where
-- module Main where
import GF.Compile.API
import GF.Compile
import GF.Devel.PrintGFCC
import GF.GFCC.CId
import GF.GFCC.DataGFCC