summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-03-06 21:27:49 +0000
committeraarne <aarne@cs.chalmers.se>2006-03-06 21:27:49 +0000
commit7d2a9992f3faee63461185580bbe254f6c288a68 (patch)
treeb9c968024a3d57ce5b630e3a24945a6ab87a95e6
parenta961739bbf672eaad0a26fb15372fcc68c902ef1 (diff)
more treebank options; updated history
-rw-r--r--doc/gf-history.html16
-rw-r--r--examples/tram/ExTramI.gfe2
-rw-r--r--src/GF/Compile/MkConcrete.hs5
-rw-r--r--src/GF/Shell.hs4
-rw-r--r--src/GF/Shell/HelpFile.hs3
-rw-r--r--src/GF/Shell/ShellCommands.hs2
-rw-r--r--src/HelpFile3
7 files changed, 30 insertions, 5 deletions
diff --git a/doc/gf-history.html b/doc/gf-history.html
index 0c913635a..9884129c4 100644
--- a/doc/gf-history.html
+++ b/doc/gf-history.html
@@ -14,6 +14,22 @@ Changes in functionality since May 17, 2005, release of GF Version 2.2
<p>
+6/3 (AR) Generalized the <tt>gfe</tt> file format in two ways:
+<ol>
+<li> Use the real grammar parser, hence <tt>(in M.C "foo")</tt> expressions
+ may occur anywhere. But the <i>ad hoc</i> word substitution syntax is
+ abandoned: ordinary <tt>let</tt> (and <tt>where</tt>) expressions
+ can now be used instead.
+<li> The resource may now be a treebank, not just a grammar. Parsing
+ is thus replaced by treebank lookup, which in most cases is faster.
+</ol>
+A minor novelty is that the <tt>--# -resource=FILE</tt> flag can now be
+relative to <tt>GF_LIB_PATH</tt>, both for grammars and treebanks.
+The flag <tt> --# -treebank=IDENT</tt> gives the language whose treebank
+entries are used, in case of a multilingual treebank.
+
+<p>
+
4/3 (AR) Added command <tt>use_treebank = ut</tt> for lookup in a treebank.
This command can be used as a fast substitute for parsing, but also as a
way to browse treebanks.
diff --git a/examples/tram/ExTramI.gfe b/examples/tram/ExTramI.gfe
index 4a05d1cf8..f1a07af09 100644
--- a/examples/tram/ExTramI.gfe
+++ b/examples/tram/ExTramI.gfe
@@ -1,4 +1,4 @@
---# -resource=../../lib/multimodal/MultimodalEng.gfc
+--# -resource=multimodal/MultimodalEng.gfc
--# -path=multimodal:present:mathematical:prelude
incomplete concrete TramI of Tram = open Multimodal, DemRes, Symbol in {
diff --git a/src/GF/Compile/MkConcrete.hs b/src/GF/Compile/MkConcrete.hs
index 0355cdaf0..da9fada00 100644
--- a/src/GF/Compile/MkConcrete.hs
+++ b/src/GF/Compile/MkConcrete.hs
@@ -65,7 +65,10 @@ mkCncGroups opts0 ((res,path),files) = do
putStrLn $ "Compiling resource " ++ res
let opts = addOptions (options [beSilent,pathList path]) opts0
let treebank = oElem (iOpt "treebank") opts
- egr <- appIOE $ shellStateFromFiles opts emptyShellState res
+ resf <- useIOE res $ do
+ (fp,_) <- readFileLibraryIOE gfLibraryPath res
+ return fp
+ egr <- appIOE $ shellStateFromFiles opts emptyShellState resf
(parser,morpho) <- if treebank then do
tb <- err (\_ -> error $ "no treebank of name" +++ path)
return
diff --git a/src/GF/Shell.hs b/src/GF/Shell.hs
index d713bcc42..062946649 100644
--- a/src/GF/Shell.hs
+++ b/src/GF/Shell.hs
@@ -319,6 +319,8 @@ execC co@(comm, opts0) sa@(sh@(st,(h,_,_,_)),a) = checkOptions st co >> case com
returnArg (AString $ unlines $ lookupTreebank tb s) sa
_ | oElem (iOpt "assocs") opts -> do
returnArg (AString $ unlines $ map printAssoc $ assocsTreebank tb) sa
+ _ | oElem (iOpt "trees") opts -> do
+ returnArg (ATrms $ str2trees $ concatMap snd $ assocsTreebank tb) sa
_ -> do
let tes = map (string2treeErr gro) $ lookupTreebank tb s
terms = [t | Ok t <- tes]
@@ -442,6 +444,8 @@ execC co@(comm, opts0) sa@(sh@(st,(h,_,_,_)),a) = checkOptions st co >> case com
AString s -> err AError (ATrms . return) $ string2treeErr gro s
_ -> a
+ str2trees ts = [t | Ok t <- map (string2treeErr gro) ts]
+
strees a = case a of
ATrms ts -> ts
_ -> []
diff --git a/src/GF/Shell/HelpFile.hs b/src/GF/Shell/HelpFile.hs
index ca795d01c..7c9133417 100644
--- a/src/GF/Shell/HelpFile.hs
+++ b/src/GF/Shell/HelpFile.hs
@@ -252,7 +252,8 @@ txtHelpFile =
"\n options:" ++
"\n -assocs show all string-trees associations in the treebank" ++
"\n -strings show all strings in the treebank" ++
- "\n -raw return result as string, without typechecking it" ++
+ "\n -trees show all trees in the treebank" ++
+ "\n -raw return the lookup result as string, without typechecking it" ++
"\n flags:" ++
"\n -treebank use this treebank (instead of the latest introduced one)" ++
"\n examples:" ++
diff --git a/src/GF/Shell/ShellCommands.hs b/src/GF/Shell/ShellCommands.hs
index 160f7bc22..b62f2119d 100644
--- a/src/GF/Shell/ShellCommands.hs
+++ b/src/GF/Shell/ShellCommands.hs
@@ -187,7 +187,7 @@ optionsOfCommand co = case co of
CGenerateTrees -> both "metas" "atoms depth alts cat lang number"
CPutTerm -> flags "transform number"
CTreeBank -> opts "c xml trees"
- CLookupTreebank -> both "assocs raw strings" "treebank"
+ CLookupTreebank -> both "assocs raw strings trees" "treebank"
CWrapTerm _ -> opts "c"
CApplyTransfer _ -> flags "lang transfer"
CMorphoAnalyse -> both "short" "lang"
diff --git a/src/HelpFile b/src/HelpFile
index bea9a7b9a..58c4c1262 100644
--- a/src/HelpFile
+++ b/src/HelpFile
@@ -223,7 +223,8 @@ ut, use_treebank: ut String
options:
-assocs show all string-trees associations in the treebank
-strings show all strings in the treebank
- -raw return result as string, without typechecking it
+ -trees show all trees in the treebank
+ -raw return the lookup result as string, without typechecking it
flags:
-treebank use this treebank (instead of the latest introduced one)
examples: