mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-05 17:22:51 -06:00
move GF.Devel.Compile and GF.Compile.API to GF.Compile
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
module GF.Command.Importing (importGrammar) where
|
module GF.Command.Importing (importGrammar) where
|
||||||
|
|
||||||
import GF.Compile.API
|
import GF.Compile
|
||||||
import GF.GFCC.DataGFCC
|
import GF.GFCC.DataGFCC
|
||||||
import GF.GFCC.API
|
import GF.GFCC.API
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
module GF.Devel.Compile (batchCompile) where
|
module GF.Compile (batchCompile, compileToGFCC) where
|
||||||
|
|
||||||
-- the main compiler passes
|
-- the main compiler passes
|
||||||
import GF.Devel.GetGrammar
|
import GF.Devel.GetGrammar
|
||||||
@@ -8,10 +8,8 @@ import GF.Compile.Rename
|
|||||||
import GF.Grammar.Refresh
|
import GF.Grammar.Refresh
|
||||||
import GF.Devel.CheckGrammar
|
import GF.Devel.CheckGrammar
|
||||||
import GF.Devel.Optimize
|
import GF.Devel.Optimize
|
||||||
--import GF.Compile.Evaluate ----
|
|
||||||
import GF.Devel.OptimizeGF
|
import GF.Devel.OptimizeGF
|
||||||
--import GF.Canon.Share
|
import GF.Devel.GrammarToGFCC
|
||||||
--import GF.Canon.Subexpressions (elimSubtermsMod,unSubelimModule)
|
|
||||||
|
|
||||||
import GF.Grammar.Grammar
|
import GF.Grammar.Grammar
|
||||||
import GF.Infra.Ident
|
import GF.Infra.Ident
|
||||||
@@ -36,6 +34,24 @@ import System.FilePath
|
|||||||
import System.Time
|
import System.Time
|
||||||
import qualified Data.Map as Map
|
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 :: Options -> [FilePath] -> IOE SourceGrammar
|
||||||
batchCompile opts files = do
|
batchCompile opts files = do
|
||||||
(_,gr,_) <- foldM (compileModule defOpts) emptyCompileEnv files
|
(_,gr,_) <- foldM (compileModule defOpts) emptyCompileEnv files
|
||||||
@@ -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))
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
module GF.Devel.GFC (mainGFC) where
|
module GF.Devel.GFC (mainGFC) where
|
||||||
-- module Main where
|
-- module Main where
|
||||||
|
|
||||||
import GF.Compile.API
|
import GF.Compile
|
||||||
import GF.Devel.PrintGFCC
|
import GF.Devel.PrintGFCC
|
||||||
import GF.GFCC.CId
|
import GF.GFCC.CId
|
||||||
import GF.GFCC.DataGFCC
|
import GF.GFCC.DataGFCC
|
||||||
|
|||||||
Reference in New Issue
Block a user