summaryrefslogtreecommitdiff
path: root/src/GF/Devel/Modules.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-12-03 17:40:59 +0000
committeraarne <aarne@cs.chalmers.se>2007-12-03 17:40:59 +0000
commit4500ce63167e6dce38b103090ff4e0849c9dbe45 (patch)
treebf7180d9844dd64878916545ab82719e81ef4391 /src/GF/Devel/Modules.hs
parentcea1946f3f91fc3c25b698bf87d0a443b865f4be (diff)
started parsing GF source into the new format
Diffstat (limited to 'src/GF/Devel/Modules.hs')
-rw-r--r--src/GF/Devel/Modules.hs15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/GF/Devel/Modules.hs b/src/GF/Devel/Modules.hs
index ff02af404..112cca221 100644
--- a/src/GF/Devel/Modules.hs
+++ b/src/GF/Devel/Modules.hs
@@ -22,25 +22,24 @@ emptyGF = GF Nothing [] empty empty
data Module = Module {
mtype :: ModuleType,
- mof :: Ident, -- other for concrete, same for rest
- minterfaces :: [(Ident,Ident)], -- non-empty for functors
+ minterfaces :: [(Ident,Ident)], -- non-empty for functors
+ minstances :: [((Ident,MInclude),[(Ident,Ident)])], -- non-empty for instant'ions
mextends :: [(Ident,MInclude)],
- minstances :: [(Ident,Ident)], -- non-empty for instantiations
- mopens :: [(Ident,Ident)], -- used name, original name
+ mopens :: [(Ident,Ident)], -- used name, original name
mflags :: Map Ident String,
mjments :: Map Ident (Either Judgement Ident) -- def or indirection
}
emptyModule :: Ident -> Module
-emptyModule m = Module MGrammar m [] [] [] [] empty empty
+emptyModule m = Module MTGrammar [] [] [] [] empty empty
listJudgements :: Module -> [(Ident,Either Judgement Ident)]
listJudgements = assocs . mjments
data ModuleType =
- MAbstract
- | MConcrete
- | MGrammar
+ MTAbstract
+ | MTConcrete Ident
+ | MTGrammar
data MInclude =
MIAll