summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/ExampleBased.hs
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2010-12-06 10:49:38 +0000
committeraarne <aarne@chalmers.se>2010-12-06 10:49:38 +0000
commit1f75143d6c8515bc459110d9512b903140f3882e (patch)
tree7603e42fe2818c5c3a1128fbd077f195831cbcea /src/compiler/GF/Compile/ExampleBased.hs
parent7fba8c338d04777c82a2d04c4bc82a4da0e86659 (diff)
printing option -api in the eb command
Diffstat (limited to 'src/compiler/GF/Compile/ExampleBased.hs')
-rw-r--r--src/compiler/GF/Compile/ExampleBased.hs21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/compiler/GF/Compile/ExampleBased.hs b/src/compiler/GF/Compile/ExampleBased.hs
index 24944d9b6..b4c0caf75 100644
--- a/src/compiler/GF/Compile/ExampleBased.hs
+++ b/src/compiler/GF/Compile/ExampleBased.hs
@@ -6,6 +6,7 @@ module GF.Compile.ExampleBased (
import PGF
import PGF.Probabilistic
import PGF.Morphology
+import PGF.ToAPI
import Data.List
@@ -55,11 +56,16 @@ convertFile conf src file = do
return []
ParseOk ts ->
case rank ts of
- (t:tt) -> appv ("WARNING: ambiguous example " ++ ex) >>
- appn t >> mapM_ (appn . (" --- " ++)) tt >> return []
- appn ")"
+ (t:tt) -> do
+ if null tt
+ then return ()
+ else appv ("WARNING: ambiguous example " ++ ex)
+ appn t
+ mapM_ (appn . (" --- " ++)) tt
+ appn ")"
+ return []
return ws
- rank ts = [showExpr [] t ++ " -- " ++ show p | (t,p) <- rankTreesByProbs pgf ts]
+ rank ts = [printExp conf t ++ " -- " ++ show p | (t,p) <- rankTreesByProbs pgf ts]
appf = appendFile file
appn s = appf s >> appf "\n"
appv s = appn ("--- " ++ s) >> putStrLn s
@@ -68,9 +74,10 @@ data ExConfiguration = ExConf {
resource_pgf :: PGF,
resource_morpho :: Morpho,
verbose :: Bool,
- language :: Language
+ language :: Language,
+ printExp :: Tree -> String
}
-configureExBased :: PGF -> Morpho -> Language -> ExConfiguration
-configureExBased pgf morpho lang = ExConf pgf morpho False lang
+configureExBased :: PGF -> Morpho -> Language -> (Tree -> String) -> ExConfiguration
+configureExBased pgf morpho lang pr = ExConf pgf morpho False lang pr