1
0
forked from GitHub/gf-core

langs option to Make.hs ; utf8 exception in linearization from the coding flag in grammar

This commit is contained in:
aarne
2008-06-24 08:35:02 +00:00
parent 7e6a3cf32e
commit 223480bb77
2 changed files with 16 additions and 3 deletions

View File

@@ -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)

View File

@@ -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