package edu.stanford.nlp.trees.international.pennchinese; import java.io.Reader; import edu.stanford.nlp.trees.*; /** * The <code>CTBTreeReaderFactory</code> is a factory for creating a * TreeReader suitable for the Penn CTB. * * @author Christopher Manning */ public class CTBTreeReaderFactory implements TreeReaderFactory { private final TreeNormalizer tn; private final boolean discardFrags; public CTBTreeReaderFactory() { this(new TreeNormalizer()); } public CTBTreeReaderFactory(TreeNormalizer tn) { this(tn, false); } public CTBTreeReaderFactory(TreeNormalizer tn, boolean discardFrags) { this.tn = tn; this.discardFrags = discardFrags; } /** * Create a new <code>TreeReader</code> using the provided * <code>Reader</code>. * * @param in The <code>Reader</code> to build on * @return The new TreeReader */ public TreeReader newTreeReader(Reader in) { if (discardFrags) { return new FragDiscardingPennTreeReader(in, new LabeledScoredTreeFactory(), tn, new CHTBTokenizer(in)); } else { return new PennTreeReader(in, new LabeledScoredTreeFactory(), tn, new CHTBTokenizer(in)); } } }