mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
Report errors in at command.
This commit is contained in:
@@ -372,17 +372,18 @@ wrapByFun opts gr f t =
|
||||
g = grammar gr
|
||||
|
||||
applyTransfer :: Options -> GFGrammar -> [(Ident,T.Env)] ->
|
||||
(Maybe Ident,Ident) -> Tree -> Tree
|
||||
applyTransfer opts gr trs (mm,f) t =
|
||||
err (const t) id $ annotate g t'
|
||||
(Maybe Ident,Ident) -> Tree -> Err [Tree]
|
||||
applyTransfer opts gr trs (mm,f) t = mapM (annotate g) ts'
|
||||
where
|
||||
t' = qualifTerm (absId gr) $ trans tr f $ tree2exp t
|
||||
ts' = map (qualifTerm (absId gr)) $ trans tr f $ tree2exp t
|
||||
g = grammar gr
|
||||
tr = case mm of
|
||||
Just m -> maybe empty id $ lookup m trs
|
||||
_ -> ifNull empty (snd . head) trs
|
||||
|
||||
trans tr f = core2exp . T.evaluateExp tr . exp2core f
|
||||
-- FIXME: if the returned value is a list,
|
||||
-- return a list of trees
|
||||
trans :: T.Env -> Ident -> Exp -> [Exp]
|
||||
trans tr f = (:[]) . core2exp . T.evaluateExp tr . exp2core f
|
||||
empty = T.builtin
|
||||
|
||||
{-
|
||||
|
||||
@@ -298,10 +298,10 @@ execC co@(comm, opts0) sa@(sh@(st,(h,_,_,_)),a) = checkOptions st co >> case com
|
||||
g3 = return () ---- system "rm -f grphtmp.*"
|
||||
justOutput opts (g0 >> g1 >> g2 >> g3 >> return ()) sa
|
||||
|
||||
CPutTerm -> changeArg (opTT2CommandArg (optTermCommand opts gro) . s2t) sa
|
||||
CPutTerm -> changeArg (opTT2CommandArg (return . optTermCommand opts gro) . s2t) sa
|
||||
|
||||
CWrapTerm f -> changeArg (opTT2CommandArg (return . wrapByFun opts gro f) . s2t) sa
|
||||
CApplyTransfer f -> changeArg (opTT2CommandArg (return . applyTransfer opts gro transfs f) . s2t) sa
|
||||
CWrapTerm f -> changeArg (opTT2CommandArg (return . return . wrapByFun opts gro f) . s2t) sa
|
||||
CApplyTransfer f -> changeArg (opTT2CommandArg (applyTransfer opts gro transfs f) . s2t) sa
|
||||
CMorphoAnalyse -> changeArg (AString . morphoAnalyse opts gro . prCommandArg) sa
|
||||
CTestTokenizer -> changeArg (AString . optTokenizer opts gro . prCommandArg) sa
|
||||
|
||||
@@ -498,7 +498,7 @@ opTS2CommandArg f (ATrms ts) = AString $ unlines $ map f ts
|
||||
opTS2CommandArg _ (AError s) = AError ("expected term, but got error:" ++++ s)
|
||||
opTS2CommandArg _ a = AError ("expected term, but got:" ++++ prCommandArg a)
|
||||
|
||||
opTT2CommandArg :: (Tree -> [Tree]) -> CommandArg -> CommandArg
|
||||
opTT2CommandArg f (ATrms ts) = ATrms $ concat $ map f ts
|
||||
opTT2CommandArg :: (Tree -> Err [Tree]) -> CommandArg -> CommandArg
|
||||
opTT2CommandArg f (ATrms ts) = err AError (ATrms . concat) $ mapM f ts
|
||||
opTT2CommandArg _ (AError s) = AError ("expected term, but got error:" ++++ s)
|
||||
opTT2CommandArg _ a = AError ("expected term, but got:" ++++ prCommandArg a)
|
||||
|
||||
@@ -17,3 +17,5 @@ wideSnake _ x = case x of
|
||||
in if isSnake CN y' then Thick y' else Wide y'
|
||||
_ -> composOp ? ? compos_Tree ? wideSnake x
|
||||
|
||||
wideSnakeNP : Tree NP -> Tree NP
|
||||
wideSnakeNP = wideSnake NP
|
||||
|
||||
Reference in New Issue
Block a user