mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 03:32:51 -06:00
More woek on interfaces
This commit is contained in:
@@ -74,19 +74,21 @@ transModDef x = case x of
|
||||
id' <- transIdent id
|
||||
open' <- transIdent open
|
||||
return (transResDef, GM.MTInstance open', id')
|
||||
|
||||
(extends', opens', defs',flags') <- case body of
|
||||
|
||||
case body of
|
||||
MBody extends opens defs -> do
|
||||
extends' <- transExtend extends
|
||||
opens' <- transOpens opens
|
||||
defs0 <- mapM trDef $ getTopDefs defs
|
||||
defs' <- U.buildAnyTree [d | Left ds <- defs0, d <- ds]
|
||||
flags' <- return [f | Right fs <- defs0, f <- fs]
|
||||
return $ (extends', opens', defs',flags')
|
||||
MReuse _ ->
|
||||
return (Nothing,[],NT,[])
|
||||
|
||||
return $ (id', GM.ModMod (GM.Module mtyp' mstat' flags' extends' opens' defs'))
|
||||
return $ (id', GM.ModMod (GM.Module mtyp' mstat' flags' extends' opens' defs'))
|
||||
MReuse _ -> do
|
||||
return (id', GM.ModMod (GM.Module mtyp' mstat' [] Nothing [] NT))
|
||||
MWith m opens -> do
|
||||
m' <- transIdent m
|
||||
opens' <- mapM transOpen opens
|
||||
return (id', GM.ModWith mtyp' mstat' m' opens')
|
||||
|
||||
transComplMod :: ComplMod -> GM.ModuleStatus
|
||||
transComplMod x = case x of
|
||||
|
||||
Reference in New Issue
Block a user