summaryrefslogtreecommitdiff
path: root/src/GF.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-25 16:43:48 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-25 16:43:48 +0000
commitb96b36f43de3e2f8b58d5f539daa6f6d47f25870 (patch)
tree0992334be13cec6538a1dea22fbbf26ad6bdf224 /src/GF.hs
parentfe367412e0aeb4ad5c02de68e6eca382e0f96984 (diff)
removed src for 2.9
Diffstat (limited to 'src/GF.hs')
-rw-r--r--src/GF.hs153
1 files changed, 0 insertions, 153 deletions
diff --git a/src/GF.hs b/src/GF.hs
deleted file mode 100644
index 50afeb8e9..000000000
--- a/src/GF.hs
+++ /dev/null
@@ -1,153 +0,0 @@
-{-# 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 (main) where
-
-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 GF.System.Arch
-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
-
-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
-
- 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 "<gfbatch>"
- st <- useIOE st0 $
- foldM (shellStateFromFiles os) st0 fs
- gfBatch (initHState st)
- if opt beSilent then return () else putStrLnFlush "</gfbatch>"
- 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 <option>* <file>*",
- "Options:",
- " -batch structure session by XML tags (use > to send into a file)",
- " -edit start the editor GUI (same as command 'jgf')",
- " -ex first compile .gfe files as needed, then .gf files",
- " -examples batch-compile .gfe files by parsing examples",
- " -treebank use a treebank, instead of a grammar, as parser",
- " -make batch-compile files",
- " -noemit do not emit code when compiling",
- " -v be verbose when compiling",
- " -help show this message",
- "Also all flags for import (i) are interpreted; see 'help import'.",
- "An example combination of flags is",
- " gf -batch -nocpu -s",
- "which suppresses all messages except the output and fatal errors."
- ]
-
-welcomeMsgLib = do
- lib <- getLibraryPath
- return $ welcomeMsg lib
-
-welcomeMsg lib =
- "Welcome to " ++ authorMsg ++++
- "If \228 and \246 (umlaut letters) look strange, see 'h -coding'." ++
- "\nGF_LIB_PATH is set to " ++ lib ++
- "\n\nType 'h' for help, and 'h [Command] for more detailed help.\n"
-
-authorMsg = unlines [
- "Grammatical Framework, Version " ++ version,
- "Compiled " ++ today,
- "Copyright (c)",
- "Krasimir Angelov, Bj\246rn Bringert, H\229kan Burden, Hans-Joachim Daniels,",
- "Markus Forsberg, Thomas Hallgren, Harald Hammarstr\246m, Kristofer Johannisson,",
- "Janna Khegai, Peter Ljungl\246f, Petri M\228enp\228\228, and",
- "Aarne Ranta, 1998-2006, under GNU General Public License (GPL)",
- "Bug reports to aarne@cs.chalmers.se"
- ]