forked from GitHub/gf-core
filter the duplications when doing 'l -table'
This commit is contained in:
@@ -63,7 +63,7 @@ type CncType = (CId, FId) -- concrete type is the abstract type (the category
|
|||||||
|
|
||||||
linTree :: PGF -> Language -> Expr -> [Array LIndex BracketedTokn]
|
linTree :: PGF -> Language -> Expr -> [Array LIndex BracketedTokn]
|
||||||
linTree pgf lang e =
|
linTree pgf lang e =
|
||||||
[amapWithIndex (\label -> Bracket_ cat fid label [e]) lin | (_,((cat,fid),e,lin)) <- lin0 [] [] Nothing 0 e e]
|
nub [amapWithIndex (\label -> Bracket_ cat fid label [e]) lin | (_,((cat,fid),e,lin)) <- lin0 [] [] Nothing 0 e e]
|
||||||
where
|
where
|
||||||
cnc = lookMap (error "no lang") lang (concretes pgf)
|
cnc = lookMap (error "no lang") lang (concretes pgf)
|
||||||
lp = lproductions cnc
|
lp = lproductions cnc
|
||||||
|
|||||||
@@ -229,6 +229,7 @@ data BracketedTokn
|
|||||||
= LeafKS [String]
|
= LeafKS [String]
|
||||||
| LeafKP [String] [Alternative]
|
| LeafKP [String] [Alternative]
|
||||||
| Bracket_ CId {-# UNPACK #-} !FId {-# UNPACK #-} !LIndex [Expr] [BracketedTokn] -- Invariant: the list is not empty
|
| Bracket_ CId {-# UNPACK #-} !FId {-# UNPACK #-} !LIndex [Expr] [BracketedTokn] -- Invariant: the list is not empty
|
||||||
|
deriving Eq
|
||||||
|
|
||||||
type LinTable = Array.Array LIndex [BracketedTokn]
|
type LinTable = Array.Array LIndex [BracketedTokn]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user