From ebbc0a3e806f2df19a74b3f7a1d3575476c3237b Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Thu, 22 May 2008 14:32:49 +0000 Subject: [PATCH] move GF.Devel.GF to GF --- src-3.0/GF.hs | 154 +++-------------------------------------- src-3.0/GF/Devel/GF.hs | 14 ---- src-3.0/Makefile | 2 +- 3 files changed, 9 insertions(+), 161 deletions(-) delete mode 100644 src-3.0/GF/Devel/GF.hs diff --git a/src-3.0/GF.hs b/src-3.0/GF.hs index 34585ef8f..70fddcd67 100644 --- a/src-3.0/GF.hs +++ b/src-3.0/GF.hs @@ -1,152 +1,14 @@ -{-# OPTIONS -cpp #-} ----------------------------------------------------------------------- --- | --- Module : Main --- Maintainer : Aarne Ranta --- Stability : (stability) --- Portability : (portability) --- --- > CVS $Date: 2005/06/30 11:36:49 $ --- > CVS $Author: aarne $ --- > CVS $Revision: 1.29 $ --- --- The Main module of GF program. ------------------------------------------------------------------------------ +module Main where -module Main (main) where +import GF.Devel.GFC +import GF.Devel.GFI -import GF.GFModes (gfInteract, gfBatch, batchCompile) -import GF.Data.Operations -import GF.Infra.UseIO -import GF.Infra.Option -import GF.API.IOGrammar -import GF.Compile.ShellState -import GF.Compile.Compile -import GF.Compile.MkConcrete -import GF.Compile.Wordlist -import GF.Shell -import GF.Shell.SubShell -import GF.Shell.ShellCommands -import GF.Shell.PShell -import GF.Shell.JGF -import GF.System.Signal -import GF.Text.UTF8 - -import GF.Today (today,version,libdir) -import System (getArgs,system,getEnv) -import System.FilePath -import Control.Monad (foldM,liftM) -import Data.List (nub) - -#ifdef mingw32_HOST_OS -import System.Win32.Console -import System.Win32.NLS -#endif - --- AR 19/4/2000 -- 21/3/2006 +import System (getArgs) main :: IO () main = do -#ifdef mingw32_HOST_OS - codepage <- getACP - setConsoleCP codepage - setConsoleOutputCP codepage -#endif - - xs <- getArgs - let - (os,fs) = getOptions "-" xs - opt j = oElem j os - st0 = optInitShellState os - ifNotSil c = if oElem beSilent os then return () else c + xx <- getArgs + case xx of + "--batch":args -> mainGFC args + _ -> mainGFI xx - doGF os fs = case 0 of - - _ | opt getHelp || any opt (map iOpt ["h", "-help", "-h"])-> do - putStrLnFlush $ encodeUTF8 helpMsg - - _ | opt forJava -> do - welcome <- welcomeMsgLib - putStrLnFlush $ encodeUTF8 welcome - st <- useIOE st0 $ - foldM (shellStateFromFiles os) st0 fs - sessionLineJ True st - return () - - _ | opt doMake -> do - mapM_ (batchCompile os) fs - return () - - _ | opt makeConcrete -> do - mkConcretes os fs - - _ | opt openEditor -> do - system $ "jgf" +++ unwords xs - return () - - _ | opt doBatch -> do - if opt beSilent then return () else putStrLnFlush "" - st <- useIOE st0 $ - foldM (shellStateFromFiles os) st0 fs - gfBatch (initHState st) - if opt beSilent then return () else putStrLnFlush "" - return () - _ -> do - welcome <- welcomeMsgLib - ifNotSil $ putStrLnFlush $ welcome - st <- useIOE st0 $ - foldM (shellStateFromFiles os) st0 fs - if null fs then return () else (ifNotSil putCPU) - blockInterrupt (gfInteract (initHState st)) - return () - -- preprocessing gfe - if opt fromExamples - then do - es <- liftM (nub . concat) $ mapM (getGFEFiles os) fs - mkConcretes os es - doGF (removeOption fromExamples os) fs - -- preprocessing gfwl - else if (length fs == 1 && takeExtensions (head fs) == ".gfwl") - then do - fs' <- mkWordlist (head fs) - doGF os fs' - else doGF os fs - -helpMsg = unlines [ - "Usage: gf