1
0
forked from GitHub/gf-core

grammar printing options in gf3 and gfc

This commit is contained in:
aarne
2007-11-09 00:21:57 +00:00
parent 16e52b231a
commit 93200c65dc
4 changed files with 45 additions and 10 deletions

View File

@@ -70,7 +70,7 @@ normalize = share . unoptimizeCanon . Sub.unSubelimCanon where
canon2gfcc :: CanonGrammar -> D.GFCC
canon2gfcc cgr@(M.MGrammar ((a,M.ModMod abm):cms)) =
D.GFCC an cns abs cncs
D.GFCC an cns Map.empty abs cncs
where
an = (i2i a)
cns = map (i2i . fst) cms
@@ -86,7 +86,7 @@ canon2gfcc cgr@(M.MGrammar ((a,M.ModMod abm):cms)) =
[(cat,[f | (f, (C.DTyp _ c _,_)) <- lfuns, c==cat]) | (cat,_) <- lcats]
cncs = Map.fromList [mkConcr (i2i lang) mo | (lang,M.ModMod mo) <- cms]
mkConcr lang mo = (lang,D.Concr flags lins opers lincats lindefs printnames)
mkConcr lang mo = (lang,D.Concr flags lins opers lincats lindefs printnames params)
where
flags = Map.fromAscList [] ---- flags
opers = Map.fromAscList [] -- opers will be created as optimization
@@ -97,6 +97,7 @@ canon2gfcc cgr@(M.MGrammar ((a,M.ModMod abm):cms)) =
lindefs = Map.fromAscList
[(i2i c, mkTerm tr) | (c,GFC.CncCat _ tr _) <- tree2list (M.jments mo)]
printnames = Map.fromAscList [] ---- printnames
params = Map.fromAscList [] ---- params
i2i :: Ident -> C.CId
i2i (IC c) = C.CId c