public static String tree2str(TreebankNode pathTree){ StringBuffer buff = new StringBuffer(); buff.append("("); try{ buff.append(pathTree.getNodeType()); }catch(Exception e){ System.err.println("Caught NPE"); } if(pathTree.getLeaf()){ //pathTree.getChildren().size() == 1 && pathTree.getChildren(0).getLeaf()){ buff.append(" "); buff.append(pathTree.getNodeValue()); // buff.append(")"); }else{ for(int i = 0; i < pathTree.getChildren().size(); i++){ buff.append(" "); buff.append(tree2str(pathTree.getChildren(i))); } } buff.append(")"); return buff.toString(); }
public static String tree2str(TreebankNode pathTree){ StringBuffer buff = new StringBuffer(); buff.append("("); try{ buff.append(pathTree.getNodeType()); }catch(Exception e){ System.err.println("Caught NPE"); } if(pathTree.getLeaf()){ //pathTree.getChildren().size() == 1 && pathTree.getChildren(0).getLeaf()){ buff.append(" "); buff.append(pathTree.getNodeValue()); // buff.append(")"); }else{ for(int i = 0; i < pathTree.getChildren().size(); i++){ buff.append(" "); buff.append(tree2str(pathTree.getChildren(i))); } } buff.append(")"); return buff.toString(); }
public static SimpleTree getSimpleClone(TreebankNode node) { SimpleTree t = new SimpleTree(node.getNodeType()); if(node instanceof TerminalTreebankNode){ t.addChild(new SimpleTree(node.getNodeValue())); }else{ for(int i = 0; i < node.getChildren().size(); i++){ t.addChild(getSimpleClone(node.getChildren(i))); } } return t; }
public static SimpleTree getSimpleClone(TreebankNode node) { SimpleTree t = new SimpleTree(node.getNodeType()); if(node instanceof TerminalTreebankNode){ t.addChild(new SimpleTree(node.getNodeValue())); }else{ for(int i = 0; i < node.getChildren().size(); i++){ t.addChild(getSimpleClone(node.getChildren(i))); } } return t; }
private static SimpleTree buildSimpleClonePET(TreebankNode lca, TreebankNode t1, TreebankNode t2){ SimpleTree t = new SimpleTree(lca.getNodeType()); if(lca instanceof TerminalTreebankNode){ t.addChild(new SimpleTree(lca.getNodeValue())); }else{ for(int i = 0; i < lca.getChildren().size(); i++){ TreebankNode tn = lca.getChildren(i); if(tn.getEnd() > t1.getBegin() && tn.getBegin() < t2.getEnd()){ t.addChild(buildSimpleClonePET(lca.getChildren(i), t1, t2)); } } } return t; }
private static SimpleTree buildSimpleClonePET(TreebankNode lca, TreebankNode t1, TreebankNode t2){ SimpleTree t = new SimpleTree(lca.getNodeType()); if(lca instanceof TerminalTreebankNode){ t.addChild(new SimpleTree(lca.getNodeValue())); }else{ for(int i = 0; i < lca.getChildren().size(); i++){ TreebankNode tn = lca.getChildren(i); if(tn.getEnd() > t1.getBegin() && tn.getBegin() < t2.getEnd()){ t.addChild(buildSimpleClonePET(lca.getChildren(i), t1, t2)); } } } return t; }
public static TreebankNode getTreeCopy(JCas jcas, TreebankNode orig){ TreebankNode copy = null; if(orig instanceof TerminalTreebankNode){ copy = new TerminalTreebankNode(jcas); copy.setLeaf(true); copy.setChildren(null); }else{ copy = new TreebankNode(jcas); copy.setChildren(new FSArray(jcas, orig.getChildren().size())); for(int i = 0; i < orig.getChildren().size(); i++){ copy.setChildren(i, getTreeCopy(jcas, orig.getChildren(i))); copy.getChildren(i).setParent(copy); } } copy.setNodeType(orig.getNodeType()); copy.setNodeValue(orig.getNodeValue()); copy.setBegin(orig.getBegin()); copy.setEnd(orig.getEnd()); return copy; }
public static TreebankNode getTreeCopy(JCas jcas, TreebankNode orig){ TreebankNode copy = null; if(orig instanceof TerminalTreebankNode){ copy = new TerminalTreebankNode(jcas); copy.setLeaf(true); copy.setChildren(null); }else{ copy = new TreebankNode(jcas); copy.setChildren(new FSArray(jcas, orig.getChildren().size())); for(int i = 0; i < orig.getChildren().size(); i++){ copy.setChildren(i, getTreeCopy(jcas, orig.getChildren(i))); copy.getChildren(i).setParent(copy); } } copy.setNodeType(orig.getNodeType()); copy.setNodeValue(orig.getNodeValue()); copy.setBegin(orig.getBegin()); copy.setEnd(orig.getEnd()); return copy; }