summaryrefslogtreecommitdiff
path: root/src-3.0/GF/Shell/PShell.hs
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@chalmers.se>2008-05-22 11:59:31 +0000
committerkr.angelov <kr.angelov@chalmers.se>2008-05-22 11:59:31 +0000
commitdf0c4f81fa9c620d7c63af79c0b183a6beccf0bd (patch)
tree0cdc80b29f8f5df0ad280f17be0ba9d46fbd948c /src-3.0/GF/Shell/PShell.hs
parent6394f3ccfbb9d14017393b433a38a3921f1083e5 (diff)
remove all files that aren't used in GF-3.0
Diffstat (limited to 'src-3.0/GF/Shell/PShell.hs')
-rw-r--r--src-3.0/GF/Shell/PShell.hs174
1 files changed, 0 insertions, 174 deletions
diff --git a/src-3.0/GF/Shell/PShell.hs b/src-3.0/GF/Shell/PShell.hs
deleted file mode 100644
index 68cb4d629..000000000
--- a/src-3.0/GF/Shell/PShell.hs
+++ /dev/null
@@ -1,174 +0,0 @@
-----------------------------------------------------------------------
--- |
--- Module : PShell
--- Maintainer : AR
--- Stability : (stable)
--- Portability : (portable)
---
--- > CVS $Date: 2005/10/06 14:21:34 $
--- > CVS $Author: aarne $
--- > CVS $Revision: 1.28 $
---
--- parsing GF shell commands. AR 11\/11\/2001
------------------------------------------------------------------------------
-
-module GF.Shell.PShell where
-
-import GF.Data.Operations
-import GF.Infra.UseIO
-import GF.Compile.ShellState
-import GF.Shell.ShellCommands
-import GF.Shell
-import GF.Infra.Option
-import GF.Compile.PGrammar (pzIdent, pTrm) --- (string2formsAndTerm)
-import GF.API
-import GF.System.Arch (fetchCommand)
-import GF.UseGrammar.Tokenize (wordsLits)
-
-import Data.Char (isDigit, isSpace)
-import System.IO.Error
-
--- parsing GF shell commands. AR 11/11/2001
-
--- | getting a sequence of command lines as input
-getCommandLines :: HState -> IO (String,[CommandLine])
-getCommandLines st = do
- s <- fetchCommand "> "
- return (s,pCommandLines st s)
-
-getCommandLinesBatch :: HState -> IO (String,[CommandLine])
-getCommandLinesBatch st = do
- s <- catch getLine (\e -> if isEOFError e then return "q" else ioError e)
- return $ (s,pCommandLines st s)
-
-pCommandLines :: HState -> String -> [CommandLine]
-pCommandLines st =
- map (pCommandLine st) . concatMap (chunks ";;" . wordsLits) . lines
-
--- | Remove single or double quotes around a string
-unquote :: String -> String
-unquote (x:xs@(_:_)) | x `elem` "\"'" && x == last xs = init xs
-unquote s = s
-
-pCommandLine :: HState -> [String] -> CommandLine
-pCommandLine st (c@('%':_):args) = pCommandLine st $ resolveShMacro st c args
-pCommandLine st (dc:c:def) | abbrevCommand dc == "dc" = ((CDefineCommand c def, noOptions),AUnit,[])
-pCommandLine st s = pFirst (chks s) where
- pFirst cos = case cos of
- (c,os,[a]) : cs -> ((c,os), a, pCont cs)
- _ -> ((CVoid,noOptions), AError "no parse", [])
- pCont cos = case cos of
- (c,os,_) : cs -> (c,os) : pCont cs
- _ -> []
- chks = map (pCommandOpt st) . chunks "|"
-
-pCommandOpt :: HState -> [String] -> (Command, Options, [CommandArg])
-pCommandOpt _ (w:ws) = let
- (os, co) = getOptions "-" ws
- (comm, args) = pCommand (abbrevCommand w:co)
- in
- (comm, os, args)
-pCommandOpt _ s = (CVoid, noOptions, [AError "no parse"])
-
-pInputString :: String -> [CommandArg]
-pInputString s = case s of
- ('"':_:_) | last s == '"' -> [AString (read s)]
- _ -> [AError "illegal string"]
-
--- | command @rl@ can be written @remove_language@ etc.
-abbrevCommand :: String -> String
-abbrevCommand = hds . words . map u2sp where
- u2sp c = if c=='_' then ' ' else c
- hds s = case s of
- [w@[_,_]] -> w
- _ -> map head s
-
-pCommand :: [String] -> (Command, [CommandArg])
-pCommand ws = case ws of
-
- "i" : f : [] -> aUnit (CImport (unquote f))
- "rl" : l : [] -> aUnit (CRemoveLanguage (language l))
- "e" : [] -> aUnit CEmptyState
- "cm" : a : [] -> aUnit (CChangeMain (Just (pzIdent a)))
- "cm" : [] -> aUnit (CChangeMain Nothing)
- "s" : [] -> aUnit CStripState
- "tg" : f : [] -> aUnit (CTransformGrammar f)
- "cl" : f : [] -> aUnit (CConvertLatex f)
-
- "ph" : [] -> aUnit CPrintHistory
- "dt" : f : t -> aTerm (CDefineTerm (unquote f)) t
-
- "l" : s -> aTermLi CLinearize s
-
- "p" : s -> aString CParse s
- "t" : i:o: s -> aString (CTranslate (language i) (language o)) s
- "gr" : [] -> aUnit CGenerateRandom
- "gr" : t -> aTerm CGenerateRandom t
- "gt" : [] -> aUnit CGenerateTrees
- "gt" : t -> aTerm CGenerateTrees t
- "pt" : s -> aTerm CPutTerm s
- "wt" : f : s -> aTerm (CWrapTerm (pzIdent f)) s
- "at" : f : s -> aTerm (CApplyTransfer (pmIdent f)) s
- "ma" : s -> aString CMorphoAnalyse s
- "tt" : s -> aString CTestTokenizer s
- "cc" : s -> aUnit $ CComputeConcrete $ unwords s
- "so" : s -> aUnit $ CShowOpers $ unwords s
- "tb" : [] -> aUnit CTreeBank
- "ut" : s -> aString CLookupTreebank s
-
- "tq" : i:o:[] -> aUnit (CTranslationQuiz (language i) (language o))
- "tl":i:o:[] -> aUnit (CTranslationList (language i) (language o))
- "mq" : [] -> aUnit CMorphoQuiz
- "ml" : [] -> aUnit CMorphoList
-
- "wf" : f : s -> aString (CWriteFile (unquote f)) s
- "af" : f : s -> aString (CAppendFile (unquote f)) s
- "rf" : f : [] -> aUnit (CReadFile (unquote f))
- "sa" : s -> aString CSpeakAloud s
- "si" : [] -> aUnit CSpeechInput
- "ps" : s -> aString CPutString s
- "st" : s -> aTerm CShowTerm s
- "!" : s -> aUnit (CSystemCommand (unwords s))
- "?" : s : x -> aString (CSystemCommand (unquote s)) x
- "sc" : s -> aUnit (CSystemCommand (unwords s))
- "g" : f : s -> aString (CGrep (unquote f)) s
-
- "sf" : l : [] -> aUnit (CSetLocalFlag (language l))
- "sf" : [] -> aUnit CSetFlag
-
- "pg" : [] -> aUnit CPrintGrammar
- "pi" : c : [] -> aUnit $ CPrintInformation (pzIdent c)
-
- "pj" : [] -> aUnit CPrintGramlet
- "pxs" : [] -> aUnit CPrintCanonXMLStruct
- "px" : [] -> aUnit CPrintCanonXML
- "pm" : [] -> aUnit CPrintMultiGrammar
- "vg" : [] -> aUnit CShowGrammarGraph
- "vt" : s -> aTerm CShowTreeGraph s
- "sg" : [] -> aUnit CPrintSourceGrammar
- "po" : [] -> aUnit CPrintGlobalOptions
- "pl" : [] -> aUnit CPrintLanguages
- "h" : c : [] -> aUnit $ CHelp (Just (abbrevCommand c))
- "h" : [] -> aUnit $ CHelp Nothing
-
- "q" : [] -> aImpure ICQuit
- "eh" : f : [] -> aImpure (ICExecuteHistory f)
- n : [] | all isDigit n -> aImpure (ICEarlierCommand (readIntArg n))
-
- "es" : [] -> aImpure ICEditSession
- "ts" : [] -> aImpure ICTranslateSession
- "r" : [] -> aImpure ICReload
- _ -> (CVoid, [])
-
- where
- aString c ss = (c, pInputString (unwords ss))
- aTerm c ss = (c, [ASTrm $ unwords ss]) ---- [ASTrms [s2t (unwords ss)]])
- aUnit c = (c, [AUnit])
- aImpure = aUnit . CImpure
-
- aTermLi c ss = (c [], [ASTrm $ unwords ss])
- ---- (c forms, [ASTrms [term]]) where
- ---- (forms,term) = ([], s2t (unwords ss)) ----string2formsAndTerm(unwords ss)
- pmIdent m = case span (/='.') m of
- (k,_:f) -> (Just (pzIdent k), pzIdent f)
- _ -> (Nothing,pzIdent m)