diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2012-10-01 08:52:54 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2012-10-01 08:52:54 +0000 |
| commit | 6e3503bb7b6c9aac12711477b8a474ce41c1cd7a (patch) | |
| tree | ef55a8a965a4a09473bc9dad97a38ab13fc59c1b /examples/PennTreebank/PennFormat.hs | |
| parent | de679b400acdec70a42b09c525c4c8b4f7d33f09 (diff) | |
move examples/PennTreebank to /treebanks/PennTreebank
Diffstat (limited to 'examples/PennTreebank/PennFormat.hs')
| -rw-r--r-- | examples/PennTreebank/PennFormat.hs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/examples/PennTreebank/PennFormat.hs b/examples/PennTreebank/PennFormat.hs deleted file mode 100644 index 2aaf0a6b6..000000000 --- a/examples/PennTreebank/PennFormat.hs +++ /dev/null @@ -1,38 +0,0 @@ -module PennFormat(parseTreebank, showTree) where - -import Text.PrettyPrint -import Data.Tree -import Data.Char - -parseTreebank :: String -> [Tree String] -parseTreebank [] = [] -parseTreebank (c:cs) - | isSpace c = parseTreebank cs - | c == '(' = let (ts,cs1) = parseTrees cs - in ts ++ parseTreebank cs1 - -parseTrees [] = ([],[]) -parseTrees (c:cs) - | isSpace c = parseTrees cs - | c == ')' = ([],cs) - | c == '(' = let (w, cs1) = parseWord cs - (children,cs2) = parseTrees cs1 - (rest, cs3) = parseTrees cs2 - in (Node (normalize w) children : rest,cs3) - | otherwise = let (w, cs1) = parseWord (c:cs) - (rest, cs2) = parseTrees cs1 - in (Node w [] : rest,cs2) - -normalize tag = - let (tag0,mod) = break (=='-') tag - in if null tag0 - then tag - else tag0 - -parseWord = break (\c -> isSpace c || c == '(' || c == ')') - -printTree (Node w []) = text w -printTree (Node l children) = parens (text l <+> hsep (map printTree children)) - -showTree :: Tree String -> String -showTree = render . printTree |
