diff options
Diffstat (limited to 'src/GF/Source/SourceToGrammar.hs')
| -rw-r--r-- | src/GF/Source/SourceToGrammar.hs | 6 |
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'] |
