summaryrefslogtreecommitdiff
path: root/src/GF/API.hs
diff options
context:
space:
mode:
authoraarne <unknown>2004-05-18 20:57:13 +0000
committeraarne <unknown>2004-05-18 20:57:13 +0000
commit8963681a3b821e85185877dd61b7804661fc5c24 (patch)
treefc2f4dee924cccd3d46c4983d80bc7b9a755ef41 /src/GF/API.hs
parent086733a6fe03c5065002a8fb414af06c9cf67d51 (diff)
peel head i ; gt nometas ; gf2hs
Diffstat (limited to 'src/GF/API.hs')
-rw-r--r--src/GF/API.hs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/GF/API.hs b/src/GF/API.hs
index d748a5517..42101706d 100644
--- a/src/GF/API.hs
+++ b/src/GF/API.hs
@@ -160,13 +160,14 @@ randomTreesIO opts gr n = do
generateTrees :: Options -> GFGrammar -> Maybe Tree -> [Tree]
generateTrees opts gr mt =
optIntOrAll opts flagNumber
- [tr | t <- Gen.generateTrees gr' cat dpt mn mt, Ok tr <- [mkTr t]]
+ [tr | t <- Gen.generateTrees gr' ifm cat dpt mn mt, Ok tr <- [mkTr t]]
where
mkTr = annotate gr' . qualifTerm (absId gr)
gr' = grammar gr
cat = firstAbsCat opts gr
dpt = maybe 3 id $ getOptInt opts flagDepth
mn = getOptInt opts flagAlts
+ ifm = not $ oElem noMetas opts
speechGenerate :: Options -> String -> IO ()
speechGenerate opts str = do
@@ -296,11 +297,14 @@ optTermCommand opts st =
{-
-- wraps term in a function and optionally computes the result
-wrapByFun :: Options -> StateGrammar -> Ident -> Term -> Term
-wrapByFun opts g f t =
+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 $ computeAbsTerm (stateAbstract g) (appCons f' [t])
+ else appCons f' [t]
+ where
+ qualifTerm (absId gr) $
+
optTransfer :: Options -> StateGrammar -> Term -> Term
optTransfer opts g = case getOptVal opts transferFun of