diff options
| author | krasimir <krasimir@chalmers.se> | 2010-05-01 21:02:32 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2010-05-01 21:02:32 +0000 |
| commit | 4e85f8ada33b2b7fb5f06750ef5f1d9ac81130b2 (patch) | |
| tree | 472ae693f4032b9d9dcb9361fd9235754907be2b /src/runtime/haskell/PGF/Macros.hs | |
| parent | 029fbec8f361d0978fd595707c393fb51d289ecb (diff) | |
refactor BracketedString
Diffstat (limited to 'src/runtime/haskell/PGF/Macros.hs')
| -rw-r--r-- | src/runtime/haskell/PGF/Macros.hs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/runtime/haskell/PGF/Macros.hs b/src/runtime/haskell/PGF/Macros.hs index 1b563fc48..0670a0d20 100644 --- a/src/runtime/haskell/PGF/Macros.hs +++ b/src/runtime/haskell/PGF/Macros.hs @@ -212,7 +212,7 @@ updateProductionIndices pgf = pgf{ concretes = fmap updateConcrete (concretes pg -- mark the beginning and the end of each constituent. data BracketedString = Leaf String -- ^ this is the leaf i.e. a single token - | Bracket {-# UNPACK #-} !FId {-# UNPACK #-} !LIndex CId [BracketedString] -- ^ this is a bracket. The 'CId' is the category of + | Bracket CId {-# UNPACK #-} !FId {-# UNPACK #-} !LIndex [BracketedString] -- ^ this is a bracket. The 'CId' is the category of -- the phrase. The 'FId' is an unique identifier for -- every phrase in the sentence. For context-free grammars -- i.e. without discontinuous constituents this identifier @@ -227,7 +227,7 @@ data BracketedString data BracketedTokn = LeafKS [String] | LeafKP [String] [Alternative] - | Bracket_ {-# UNPACK #-} !FId {-# UNPACK #-} !LIndex CId [BracketedTokn] -- Invariant: the list is not empty + | Bracket_ CId {-# UNPACK #-} !FId {-# UNPACK #-} !LIndex [BracketedTokn] -- Invariant: the list is not empty type LinTable = Array.Array LIndex [BracketedTokn] @@ -238,7 +238,7 @@ showBracketedString :: BracketedString -> String showBracketedString = render . ppBracketedString ppBracketedString (Leaf t) = text t -ppBracketedString (Bracket fcat index cat bss) = parens (ppCId cat <+> hsep (map ppBracketedString bss)) +ppBracketedString (Bracket cat fcat index bss) = parens (ppCId cat <+> hsep (map ppBracketedString bss)) untokn :: String -> BracketedTokn -> (String,[BracketedString]) untokn nw (LeafKS ts) = (head ts,map Leaf ts) @@ -249,9 +249,9 @@ untokn nw (LeafKP d vs) = let ts = sel d vs nw case [v | Alt v cs <- vs, any (\c -> isPrefixOf c nw) cs] of v:_ -> v _ -> d -untokn nw (Bracket_ fid index cat bss) = +untokn nw (Bracket_ cat fid index bss) = let (nw',bss') = mapAccumR untokn nw bss - in (nw',[Bracket fid index cat (concat bss')]) + in (nw',[Bracket cat fid index (concat bss')]) flattenBracketedString :: BracketedString -> [String] flattenBracketedString (Leaf w) = [w] |
