summaryrefslogtreecommitdiff
path: root/src/GF/UseGrammar/Parsing.hs
diff options
context:
space:
mode:
authoraarne <unknown>2004-06-22 12:33:31 +0000
committeraarne <unknown>2004-06-22 12:33:31 +0000
commit53f7d4ecfb7b101c29115d3ba7285757808bbb9c (patch)
tree583ba348c14a7a22d7e21801e321e3355b88fdb0 /src/GF/UseGrammar/Parsing.hs
parent3986f8c265e09043770480fe85ae5350e807a4a4 (diff)
fixes in parsing
Diffstat (limited to 'src/GF/UseGrammar/Parsing.hs')
-rw-r--r--src/GF/UseGrammar/Parsing.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/GF/UseGrammar/Parsing.hs b/src/GF/UseGrammar/Parsing.hs
index 380b58ae7..1e736d24e 100644
--- a/src/GF/UseGrammar/Parsing.hs
+++ b/src/GF/UseGrammar/Parsing.hs
@@ -71,7 +71,14 @@ trees2trms opts sg cn as ts0 info = do
ts1 <- return (map cf2trm0 ts0) ----- should not need annot
mapM (checkErr . (annotate gr) . trExp) ts1 ---- complicated; often fails
_ -> do
- (ts1,ss) <- checkErr $ mapErrN 10 postParse ts0
+ let num = optIntOrN opts flagRawtrees 99999
+ let (ts01,rest) = splitAt num ts0
+ if null rest then return ()
+ else checkWarn ("Warning: only" +++ show num +++ "raw parses out of" +++
+ show (length ts0) +++
+ "considered; use -rawtrees=<Int> to see more"
+ )
+ (ts1,ss) <- checkErr $ mapErrN 10 postParse ts01
if null ts1 then raise ss else return ()
ts2 <- mapM (checkErr . annotate gr . refreshMetas [] . trExp) ts1 ----
if forgive then return ts2 else do