summaryrefslogtreecommitdiff
path: root/src/GF/Devel/GF3.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-11-12 09:17:02 +0000
committeraarne <aarne@cs.chalmers.se>2007-11-12 09:17:02 +0000
commitb801149fbf5c9eb3f73477d3496cdfd92cb178a1 (patch)
tree332b6a3ec1b3b56b9ed1d8e19f175f10df970119 /src/GF/Devel/GF3.hs
parenteb7b0286016714128aae742b4cedccc3dc30a9a0 (diff)
merged gfc and gfi to one binary, and a shell script for gfc
Diffstat (limited to 'src/GF/Devel/GF3.hs')
-rw-r--r--src/GF/Devel/GF3.hs79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/GF/Devel/GF3.hs b/src/GF/Devel/GF3.hs
deleted file mode 100644
index e6d2b1bc3..000000000
--- a/src/GF/Devel/GF3.hs
+++ /dev/null
@@ -1,79 +0,0 @@
-module Main where
-
-import GF.Command.Interpreter
-import GF.Command.Importing
-import GF.Command.Commands
-import GF.GFCC.API
-
-import GF.Devel.UseIO
-import GF.Devel.Arch
-import GF.Infra.Option ---- Haskell's option lib
-
-import System (getArgs)
-
-main :: IO ()
-main = do
- putStrLn welcome
- xx <- getArgs
- env <- importInEnv emptyMultiGrammar xx
- loop (GFEnv env [] 0)
- return ()
-
-loop :: GFEnv -> IO GFEnv
-loop gfenv0 = do
- let env = commandenv gfenv0
- putStrFlush (prompt env)
- s <- getLine
- let gfenv = gfenv0 {history = s : history gfenv0}
- case words s of
-
- -- special commands, working on GFEnv
- "i":args -> do
- env1 <- importInEnv (multigrammar env) args
- loopNewCPU $ gfenv {commandenv = env1}
- "e":_ -> loopNewCPU $ gfenv {commandenv=env{multigrammar=emptyMultiGrammar}}
- "ph":_ -> mapM_ putStrLn (reverse (history gfenv0)) >> loopNewCPU gfenv
- "q":_ -> putStrLn "See you." >> return gfenv
-
- -- ordinary commands, working on CommandEnv
- _ -> do
- interpretCommandLine env s
- loopNewCPU gfenv
-
-loopNewCPU gfenv = do
- cpu <- prCPU $ cputime gfenv
- loop $ gfenv {cputime = cpu}
-
-importInEnv mgr0 xx = do
- let (opts,files) = getOptions "-" xx
- mgr1 <- case files of
- [] -> return mgr0
- _ -> importGrammar mgr0 opts files
- let env = CommandEnv mgr1 (allCommands mgr1)
- putStrLn $ unwords $ "\nLanguages:" : languages mgr1
- return env
-
-welcome = unlines [
- " ",
- " * * * ",
- " * * ",
- " * * ",
- " * ",
- " * ",
- " * * * * * * * ",
- " * * * ",
- " * * * * * * ",
- " * * * ",
- " * * * ",
- " ",
- "This is GF version 3.0 alpha. ",
- "Some things may work. "
- ]
-
-prompt env = abstractName (multigrammar env) ++ "> "
-
-data GFEnv = GFEnv {
- commandenv :: CommandEnv,
- history :: [String],
- cputime :: Integer
- }