mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
langs option to Make.hs ; utf8 exception in linearization from the coding flag in grammar
This commit is contained in:
@@ -497,7 +497,11 @@ allCommands pgf = Map.fromList [
|
||||
(abstractName pgf ++ ": " ++ showTree t) :
|
||||
[lang ++ ": " ++ linear opts lang t | lang <- optLangs opts]
|
||||
|
||||
unlex opts lang = stringOps opts
|
||||
unlex opts lang = stringOps (exceptUTF8 opts) where
|
||||
exceptUTF8 = if isUTF8 then filter ((/="to_UTF8") . prOpt) else id
|
||||
isUTF8 = case lookFlag pgf lang "coding" of
|
||||
Just "utf8" -> True
|
||||
_ -> False
|
||||
|
||||
optRestricted opts = restrictPGF (hasLin pgf (mkCId (optLang opts))) pgf
|
||||
|
||||
@@ -570,3 +574,5 @@ morphologyQuiz pgf ig cat = do
|
||||
infinity :: Int
|
||||
infinity = 256
|
||||
|
||||
lookFlag :: PGF -> String -> String -> Maybe String
|
||||
lookFlag pgf lang flag = lookConcrFlag pgf (mkCId lang) (mkCId flag)
|
||||
|
||||
@@ -106,10 +106,17 @@ appPredefined t = case t of
|
||||
_ -> retb t
|
||||
---- should really check the absence of arg variables
|
||||
where
|
||||
retb t = return (t,True) -- no further computing needed
|
||||
retf t = return (t,False) -- must be computed further
|
||||
retb t = return (retc t,True) -- no further computing needed
|
||||
retf t = return (retc t,False) -- must be computed further
|
||||
retc t = case t of
|
||||
K [] -> t
|
||||
K s -> foldr1 C (map K (words s))
|
||||
_ -> t
|
||||
norm t = case t of
|
||||
Empty -> K []
|
||||
C u v -> case (norm u,norm v) of
|
||||
(K x,K y) -> K (x +++ y)
|
||||
_ -> t
|
||||
_ -> t
|
||||
fi = fromInteger
|
||||
|
||||
|
||||
Reference in New Issue
Block a user