1
0
forked from GitHub/gf-core

added option -number to limit the number of parse results

This commit is contained in:
krangelov
2019-09-20 07:18:58 +02:00
parent b3c07d45b9
commit a0cfe09e09
3 changed files with 31 additions and 30 deletions

View File

@@ -37,13 +37,13 @@ class Monad m => TypeCheckArg m where typeCheckArg :: Expr -> m Expr
--------------------------------------------------------------------------------
data CommandArguments = Exprs [Expr] | Strings [String] | Term Term
data CommandArguments = Exprs [(Expr,Float)] | Strings [String] | Term Term
newtype CommandOutput = Piped (CommandArguments,String) ---- errors, etc
-- ** Converting command output
fromStrings ss = Piped (Strings ss, unlines ss)
fromExprs es = Piped (Exprs es,unlines (map (showExpr []) es))
fromExprs es = Piped (Exprs es,unlines (map (showExpr [] . fst) es))
fromString s = Piped (Strings [s], s)
pipeWithMessage es msg = Piped (Exprs es,msg)
pipeMessage msg = Piped (Exprs [],msg)
@@ -58,15 +58,15 @@ toStrings args =
Exprs es -> zipWith showAsString (True:repeat False) es
Term t -> [render t]
where
showAsString first t =
case unStr t of
showAsString first (e,p) =
case unStr e of
Just s -> s
Nothing -> ['\n'|not first] ++
showExpr [] t ---newline needed in other cases than the first
showExpr [] e ---newline needed in other cases than the first
toExprs args =
case args of
Exprs es -> es
Exprs es -> map fst es
Strings ss -> map mkStr ss
Term t -> [mkStr (render t)]
@@ -74,7 +74,7 @@ toTerm args =
case args of
Term t -> t
Strings ss -> string2term $ unwords ss -- hmm
Exprs es -> string2term $ unwords $ map (showExpr []) es -- hmm
Exprs es -> string2term $ unwords $ map (showExpr [] . fst) es -- hmm
-- ** Creating documentation