diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-09-16 18:42:46 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-09-16 18:42:46 +0000 |
| commit | 927ad7b1355a3b72d30970cac808792f848551a6 (patch) | |
| tree | 7d58fcad9db47000abf973f8aeab7707a7f677e0 /src/GF/Canon/GFC.hs | |
| parent | 3917291e92ae5070fc9ec0ea8d37f77a68f243ba (diff) | |
bug fixes in multigrammar handling and GFCC generation
Diffstat (limited to 'src/GF/Canon/GFC.hs')
| -rw-r--r-- | src/GF/Canon/GFC.hs | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/GF/Canon/GFC.hs b/src/GF/Canon/GFC.hs index ae34dc249..ae9097c44 100644 --- a/src/GF/Canon/GFC.hs +++ b/src/GF/Canon/GFC.hs @@ -21,7 +21,11 @@ module GF.Canon.GFC (Context, Printname, prPrintnamesGrammar, mapInfoTerms, - setFlag + setFlag, + flagIncomplete, + isIncompleteCanon, + hasFlagCanon, + flagCanon ) where import GF.Canon.AbsGFC @@ -69,7 +73,20 @@ mapInfoTerms f i = case i of _ -> i setFlag :: String -> String -> [Flag] -> [Flag] -setFlag n v fs = Flg (IC n) (IC v):[f | f@(Flg (IC n') _) <- fs, n' /= n] +setFlag n v fs = flagCanon n v : [f | f@(Flg (IC n') _) <- fs, n' /= n] + +flagIncomplete :: Flag +flagIncomplete = flagCanon "incomplete" "true" + +isIncompleteCanon :: CanonModule -> Bool +isIncompleteCanon = hasFlagCanon flagIncomplete + +hasFlagCanon :: Flag -> CanonModule -> Bool +hasFlagCanon f (_,M.ModMod mo) = elem f $ M.flags mo +hasFlagCanon f _ = True ---- safe, useless + +flagCanon :: String -> String -> Flag +flagCanon f v = Flg (identC f) (identC v) -- for Ha-Jo 20/2/2005 |
