summaryrefslogtreecommitdiff
path: root/src/GF/Canon/MkGFC.hs
diff options
context:
space:
mode:
authoraarne <unknown>2004-09-14 17:05:46 +0000
committeraarne <unknown>2004-09-14 17:05:46 +0000
commitfe045070cf4333cee0e634db5c877493d1b16030 (patch)
tree285273eb564dbd3ad510a183a1c701ec02a1b57a /src/GF/Canon/MkGFC.hs
parent35f884ddfd984edb7d580cd54c6f2f1ad9358a34 (diff)
gfcm header
Diffstat (limited to 'src/GF/Canon/MkGFC.hs')
-rw-r--r--src/GF/Canon/MkGFC.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/GF/Canon/MkGFC.hs b/src/GF/Canon/MkGFC.hs
index 8f1e46b21..9d2fad49b 100644
--- a/src/GF/Canon/MkGFC.hs
+++ b/src/GF/Canon/MkGFC.hs
@@ -15,7 +15,14 @@ prCanonModInfo = prt . info2mod
prCanon :: CanonGrammar -> String
prCanon = unlines . map prCanonModInfo . M.modules
+prCanonMGr :: CanonGrammar -> String
+prCanonMGr g = header ++++ prCanon g where
+ header = case M.greatestAbstract g of
+ Just a -> prt (MGr (M.allConcretes g a) a [])
+ _ -> []
+
canon2grammar :: Canon -> CanonGrammar
+canon2grammar (MGr _ _ modules) = canon2grammar (Gr modules) ---- ignoring the header
canon2grammar (Gr modules) = M.MGrammar $ map mod2info modules where
mod2info m = case m of
Mod mt e os flags defs ->