summaryrefslogtreecommitdiff
path: root/src/GF/Source/SourceToGrammar.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/Source/SourceToGrammar.hs
parent35f884ddfd984edb7d580cd54c6f2f1ad9358a34 (diff)
gfcm header
Diffstat (limited to 'src/GF/Source/SourceToGrammar.hs')
-rw-r--r--src/GF/Source/SourceToGrammar.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/GF/Source/SourceToGrammar.hs b/src/GF/Source/SourceToGrammar.hs
index 33e8f9356..31e917469 100644
--- a/src/GF/Source/SourceToGrammar.hs
+++ b/src/GF/Source/SourceToGrammar.hs
@@ -139,7 +139,8 @@ transTransfer x = case x of
transExtend :: Extend -> Err (Maybe Ident)
transExtend x = case x of
- Ext id -> transIdent id >>= return . Just
+ Ext [id] -> transIdent id >>= return . Just
+ Ext ids -> Bad "sorry, no support for multiple inheritance yet"
NoExt -> return Nothing
transOpens :: Opens -> Err [GM.OpenSpec Ident]
@@ -173,6 +174,9 @@ transAbsDef x = case x of
DefFun fundefs -> do
fundefs' <- mapM transFunDef fundefs
returnl [(fun, G.AbsFun (yes typ) nope) | (funs,typ) <- fundefs', fun <- funs]
+ DefFunData fundefs -> do
+ fundefs' <- mapM transFunDef fundefs
+ returnl [(fun, G.AbsFun (yes typ) (yes G.EData)) | (funs,typ) <- fundefs', fun <- funs]
DefDef defs -> do
defs' <- liftM concat $ mapM getDefsGen defs
returnl [(c, G.AbsFun nope pe) | (c,(_,pe)) <- defs']