diff options
| author | krasimir <krasimir@chalmers.se> | 2009-01-19 13:23:03 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-01-19 13:23:03 +0000 |
| commit | d95ca4a103c9023aa104b25acdc9c21418de6a14 (patch) | |
| tree | 7cff6e45e2dc1ba08deb503589e21770c7f239b3 /src/GF/Source/GrammarToSource.hs | |
| parent | fa7ab84471652c40079e4f77d242208376c4b668 (diff) | |
refactor the GF.Grammar.Grammar syntax. The obsolete constructions are removed
Diffstat (limited to 'src/GF/Source/GrammarToSource.hs')
| -rw-r--r-- | src/GF/Source/GrammarToSource.hs | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/GF/Source/GrammarToSource.hs b/src/GF/Source/GrammarToSource.hs index 73b0feafd..d16d75971 100644 --- a/src/GF/Source/GrammarToSource.hs +++ b/src/GF/Source/GrammarToSource.hs @@ -35,13 +35,13 @@ trGrammar :: SourceGrammar -> P.Grammar trGrammar (MGrammar ms) = P.Gr (map trModule ms) -- no includes trModule :: (Ident,SourceModInfo) -> P.ModDef -trModule (i,mo) = case mo of - ModMod m -> P.MModule compl typ body where +trModule (i,m) = P.MModule compl typ body + where compl = case mstatus m of MSIncomplete -> P.CMIncompl _ -> P.CMCompl i' = tri i - typ = case typeOfModule mo of + typ = case mtype m of MTResource -> P.MTResource i' MTAbstract -> P.MTAbstract i' MTConcrete a -> P.MTConcrete i' (tri a) @@ -66,15 +66,8 @@ forName (MTConcrete a) = tri a trOpen :: OpenSpec Ident -> P.Open trOpen o = case o of - OSimple OQNormal i -> P.OName (tri i) - OSimple q i -> P.OQualQO (trQualOpen q) (tri i) - OQualif q i j -> P.OQual (trQualOpen q) (tri i) (tri j) - -trQualOpen q = case q of - OQNormal -> P.QOCompl - OQIncomplete -> P.QOIncompl - OQInterface -> P.QOInterface - + OSimple i -> P.OName (tri i) + OQualif i j -> P.OQual P.QOCompl (tri i) (tri j) mkOpens ds = if null ds then P.NoOpens else P.OpenIn ds mkTopDefs ds = ds @@ -87,8 +80,6 @@ trAnyDef (i,info) = let i' = tri i in case info of Yes t -> [P.DefDef [P.DDef [mkName i'] (trt t)]] _ -> [] AbsFun (May b) _ -> [P.DefFun [P.FunDef [i'] (P.EIndir (tri b))]] - ---- don't destroy definitions! - AbsTrans f -> [P.DefTrans [P.DDef [mkName i'] (trt f)]] ResOper pty ptr -> [P.DefOper [trDef i' pty ptr]] ResParam pp -> [P.DefPar [case pp of |
