public class TreeReader
extends java.lang.Object
TreeReader
interface to read Penn Treebank-style files. The reader is implemented as a pushdown automaton (PDA) that
parses the Lisp-style format in which the trees are stored. This reader is compatible with both PTB and PATB trees.Modifier and Type | Field and Description |
---|---|
private MutableAParseTree |
currentTree |
private static java.lang.String |
leftParen |
private static java.lang.String |
rightParen |
private java.util.ArrayList<MutableAParseTree> |
stack |
private Tokenizer<java.lang.String> |
tokenizer |
private TreeNormalizer |
treeNormalizer |
Constructor and Description |
---|
TreeReader(java.io.StringReader stringReader)
Constructor
|
Modifier and Type | Method and Description |
---|---|
private AParseTree |
getTreeFromInputStream() |
static void |
main(java.lang.String[] args) |
static AParseTree |
make(java.lang.String inputString)
This gives you a tree from a String representation (as a bracketed Tree, of the kind produced by
toString() , pennPrint() , or as
in the Penn Treebank. |
AParseTree |
readTree()
Reads a single tree in standard Penn Treebank format from the input stream.
|
private final Tokenizer<java.lang.String> tokenizer
private final TreeNormalizer treeNormalizer
private MutableAParseTree currentTree
private java.util.ArrayList<MutableAParseTree> stack
private static final java.lang.String leftParen
private static final java.lang.String rightParen
public TreeReader(java.io.StringReader stringReader)
stringReader
- string readerpublic static AParseTree make(java.lang.String inputString)
toString()
, pennPrint()
, or as
in the Penn Treebank. It's not the most efficient thing to do for heavy duty usage.inputString
- input stringpublic AParseTree readTree() throws java.io.IOException
IOException
.
Note that the method will skip malformed trees and attempt to read additional trees from the input stream. It is possible, however, that a malformed tree
will corrupt the token stream. In this case, an IOException
will eventually be thrown.
null
at end of token stream.java.io.IOException
- exceptionprivate AParseTree getTreeFromInputStream()
public static void main(java.lang.String[] args)