mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-20 10:19:32 -06:00
introducing multiple inheritance
This commit is contained in:
@@ -181,11 +181,10 @@ filterAbstracts abstr cgr = M.MGrammar (nubBy (\x y -> fst x == fst y) [m | m <-
|
||||
Just a -> elem i $ needs a
|
||||
_ -> True
|
||||
needs a = [i | (i,M.ModMod m) <- ms, not (M.isModAbs m) || dep i a]
|
||||
dep i a = elem i (ext a mse)
|
||||
dep i a = elem i (ext mse a)
|
||||
mse = [(i,me) | (i,M.ModMod m) <- ms, M.isModAbs m, me <- [M.extends m]]
|
||||
ext a es = case lookup a es of
|
||||
Just (Just e) -> a : ext e es
|
||||
Just _ -> a : []
|
||||
ext es a = case lookup a es of
|
||||
Just e -> a : concatMap (ext es) e ---- FIX multiple exts
|
||||
_ -> []
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user