/** {@link EnglishC2DConverter#addDEPHeads(DEPTree, CTTree)} */ private void addXChildren(DEPTree dTree, CTNode cHead, Deque<CTNode> dq, String label) { DEPNode head = getDEPNode(dTree, cHead); DEPNode node; for (CTNode cNode : dq) { node = getDEPNode(dTree, cNode); node.addXHead(head, label); } }
/** Called by {@link EnglishC2DConverter#addDEPHeads(DEPTree, CTTree)} */ private void addXHeadsAux(DEPTree dTree, CTNode cNode, Deque<CTNode> dq, String label) { DEPNode node = getDEPNode(dTree, cNode); DEPNode head; for (CTNode cHead : dq) { head = getDEPNode(dTree, cHead); node.addXHead(head, label); if (label.equals(DEPLibEn.DEP_XSUBJ) && head.isLabel(DEPLibEn.DEP_CCOMP)) head.setLabel(DEPLibEn.DEP_XCOMP); } }
label = tmp[1]; node.addXHead(tree.get(headId), label);
dNode.addXHead(getDEPNode(dTree, ante), DEPLibEn.DEP_REF);
/** Add extra features. */ private void addFeats(DEPTree dTree, CTTree cTree, CTNode cNode) { CTNode ante; String feat; if (cNode.gapIndex != -1 && cNode.getParent().gapIndex == -1 && (ante = cTree.getCoIndexedAntecedent(cNode.gapIndex)) != null) { DEPNode dNode = getDEPNode(dTree, cNode); dNode.addXHead(getDEPNode(dTree, ante), DEPLibEn.DEP_GAP); } if ((feat = getFunctionTags(cNode, s_semTags)) != null) cNode.c2d.putFeat(DEPLibEn.FEAT_SEM, feat); if ((feat = getFunctionTags(cNode, s_synTags)) != null) cNode.c2d.putFeat(DEPLibEn.FEAT_SYN, feat); for (CTNode child : cNode.getChildren()) addFeats(dTree, cTree, child); }
nNode.addXHead(map.get(oHead.id), xHead.getLabel());