forked from GitHub/gf-core
changed names of resource-1.3; added a note on homepage on release
This commit is contained in:
44
src/GFC.hs
Normal file
44
src/GFC.hs
Normal file
@@ -0,0 +1,44 @@
|
||||
module GFC (mainGFC) where
|
||||
-- module Main where
|
||||
|
||||
import PGF
|
||||
import PGF.CId
|
||||
import PGF.Data
|
||||
import PGF.Raw.Parse
|
||||
import PGF.Raw.Convert
|
||||
import GF.Compile
|
||||
import GF.Compile.Export
|
||||
import GF.Infra.UseIO
|
||||
import GF.Infra.Option
|
||||
import GF.Data.ErrM
|
||||
|
||||
import Data.Maybe
|
||||
import System.FilePath
|
||||
|
||||
|
||||
mainGFC :: Options -> [FilePath] -> IOE ()
|
||||
mainGFC opts fs =
|
||||
do gr <- batchCompile opts fs
|
||||
let cnc = justModuleName (last fs)
|
||||
if flag optStopAfterPhase opts == Compile
|
||||
then return ()
|
||||
else do pgf <- link opts cnc gr
|
||||
writeOutputs opts pgf
|
||||
|
||||
writeOutputs :: Options -> PGF -> IOE ()
|
||||
writeOutputs opts pgf =
|
||||
sequence_ [writeOutput opts name str
|
||||
| fmt <- flag optOutputFormats opts,
|
||||
(name,str) <- exportPGF opts fmt pgf]
|
||||
|
||||
writeOutput :: Options -> FilePath-> String -> IOE ()
|
||||
writeOutput opts file str =
|
||||
do let path = case flag optOutputDir opts of
|
||||
Nothing -> file
|
||||
Just dir -> dir </> file
|
||||
writeOutputFile path str
|
||||
|
||||
writeOutputFile :: FilePath -> String -> IOE ()
|
||||
writeOutputFile outfile output = ioeIO $
|
||||
do writeFile outfile output
|
||||
putStrLn $ "wrote file " ++ outfile
|
||||
Reference in New Issue
Block a user