1
0
forked from GitHub/gf-core

pre-release adjustments

This commit is contained in:
aarne
2005-05-12 09:03:33 +00:00
parent d50c932a41
commit ae60299c7d
10 changed files with 53 additions and 44 deletions

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/05/10 12:49:13 $
-- > CVS $Date: 2005/05/12 10:03:33 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.34 $
-- > CVS $Revision: 1.35 $
--
-- Application Programmer's Interface to GF; also used by Shell. AR 10/11/2001
-----------------------------------------------------------------------------
@@ -50,6 +50,7 @@ import qualified GF.Grammar.Grammar as G
import GF.Infra.Modules
import GF.Grammar.PrGrammar
import qualified GF.Grammar.Compute as Co
import qualified GF.Grammar.AbsCompute as AC
import qualified GF.Infra.Ident as I
import qualified GF.Compile.GrammarToCanon as GC
import qualified GF.Canon.CanonToGrammar as CG
@@ -335,23 +336,24 @@ optTermCommand opts st =
customOrDefault opts termCommand customTermCommand st
{-
-- wraps term in a function and optionally computes the result
wrapByFun :: Options -> GFGrammar -> Ident -> Tree -> Tree
wrapByFun opts gr f t =
if oElem doCompute opts
then err (const t) id $ computeAbsTerm (stateAbstract g) (appCons f' [t])
else appCons f' [t]
then err (const t) id $ AC.computeAbsTerm (grammar gr) t' >>= annotate g
else err (const t) id $ annotate g t'
where
qualifTerm (absId gr) $
t' = qualifTerm (absId gr) $ M.appCons f [tree2exp t]
g = grammar gr
optTransfer :: Options -> StateGrammar -> Term -> Term
{-
optTransfer :: Options -> StateGrammar -> G.Term -> G.Term
optTransfer opts g = case getOptVal opts transferFun of
Just f -> wrapByFun (addOption doCompute opts) g (string2id f)
Just f -> wrapByFun (addOption doCompute opts) g (M.zIdent f)
_ -> id
-}
optTokenizer :: Options -> GFGrammar -> String -> String
optTokenizer opts gr = show . customOrDefault opts useTokenizer customTokenizer gr

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/04/21 16:21:04 $
-- > CVS $Author: bringert $
-- > CVS $Revision: 1.35 $
-- > CVS $Date: 2005/05/12 10:03:33 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.36 $
--
-- GF shell command interpreter.
-----------------------------------------------------------------------------
@@ -205,7 +205,7 @@ execC co@(comm, opts0) sa@((st,(h,_)),a) = checkOptions st co >> case comm of
CPutTerm -> changeArg (opTT2CommandArg (optTermCommand opts gro) . s2t) sa
---- CWrapTerm f -> changeArg (opTT2CommandArg (return . wrapByFun opts gro f)) sa
CWrapTerm f -> changeArg (opTT2CommandArg (return . wrapByFun opts gro f)) sa
CMorphoAnalyse -> changeArg (AString . morphoAnalyse opts gro . prCommandArg) sa
CTestTokenizer -> changeArg (AString . optTokenizer opts gro . prCommandArg) sa

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/04/21 16:23:20 $
-- > CVS $Author: bringert $
-- > CVS $Revision: 1.2 $
-- > CVS $Date: 2005/05/12 10:03:33 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.3 $
--
-- Help on shell commands. Generated from HelpFile by 'make help'.
-- PLEASE DON'T EDIT THIS FILE.
@@ -297,13 +297,16 @@ txtHelpFile =
"\n examples:" ++
"\n p \"zero is even\" | pt -transform=solve -- solve ?'s in parse result" ++
"\n" ++
"\n" ++
"\n* st, show_tree: st Tree" ++
"\n Prints the tree as a string. Unlike pt, this command cannot be" ++
"\n used in a pipe to produce a tree, since its output is a string." ++
"\n flags:" ++
"\n -printer show the tree in a special format (-printer=xml supported)" ++
"\n" ++
"\nwt, wrap_tree: wt Fun" ++
"\n Wraps the tree as the sole argument of Fun." ++
"\n flags:" ++
"\n -c compute the resulting new tree to normal form" ++
"\n" ++
"\n-- subshells" ++
"\n" ++
@@ -516,4 +519,4 @@ txtHelpFile =
"\n -unlexer=bind like identity, but bind at \"&+\"" ++
"\n" ++
"\n-- *: Commands and options marked with * are not yet implemented." ++
[]
[]

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/04/21 16:46:12 $
-- > CVS $Author: bringert $
-- > CVS $Revision: 1.20 $
-- > CVS $Date: 2005/05/12 10:03:33 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.21 $
--
-- parsing GF shell commands. AR 11\/11\/2001
-----------------------------------------------------------------------------
@@ -97,7 +97,7 @@ pCommand ws = case ws of
"gt" : [] -> aUnit CGenerateTrees
"gt" : t -> aTerm CGenerateTrees t
"pt" : s -> aTerm CPutTerm s
----- "wt" : f : s -> aTerm (CWrapTerm (string2id f)) s
"wt" : f : s -> aTerm (CWrapTerm (pzIdent f)) s
"ma" : s -> aString CMorphoAnalyse s
"tt" : s -> aString CTestTokenizer s
"cc" : s -> aUnit $ CComputeConcrete $ unwords s

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/05/11 10:28:16 $
-- > CVS $Author: peb $
-- > CVS $Revision: 1.32 $
-- > CVS $Date: 2005/05/12 10:03:33 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.33 $
--
-- The datatype of shell commands and the list of their options.
-----------------------------------------------------------------------------
@@ -173,7 +173,7 @@ optionsOfCommand co = case co of
CGenerateRandom -> flags "cat lang number depth"
CGenerateTrees -> both "metas" "depth alts cat lang number"
CPutTerm -> flags "transform number"
CWrapTerm _ -> none
CWrapTerm _ -> opts "c"
CMorphoAnalyse -> both "short" "lang"
CTestTokenizer -> flags "lexer"
CComputeConcrete _ -> flags "res"

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/05/11 10:28:16 $
-- > CVS $Author: peb $
-- > CVS $Revision: 1.60 $
-- > CVS $Date: 2005/05/12 10:03:33 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.61 $
--
-- A database for customizable GF shell commands.
--
@@ -349,13 +349,13 @@ customStringCommand =
customParser =
customData "Parsers, selected by option -parser=x" $
[
(strCI "bottomup", PCF.parse "gb" . stateCF)
(strCI "chart", PCFOld.parse "ibn" . stateCF) -- DEPRECATED
,(strCI "bottomup", PCF.parse "gb" . stateCF)
,(strCI "topdown", PCF.parse "gt" . stateCF)
-- commented for now, since there's a bug in the incremental algorithm:
-- ,(strCI "incremental", PCF.parse "ib" . stateCF)
-- ,(strCI "incremental-bottomup", PCF.parse "ib" . stateCF)
-- ,(strCI "incremental-topdown", PCF.parse "it" . stateCF)
,(strCI "chart", PCFOld.parse "ibn" . stateCF) -- DEPRECATED
,(strCI "old", chartParser . stateCF) -- DEPRECATED
,(strCI "myparser", myParser)
-- add your own parsers here