/** * Sets dependents of each node in this tree only if no dependent has ever been set before. * If you are not sure if you have set any dependent or not, use {@link DEPTree#resetDependents()} instead. */ public void setDependents() { if (get(0).l_dependents != null) return; resetDependents(); }
/** Called by {@link LGAsk#generateQuestionFromAsk(DEPTree, String)}. */ private void resetDEPTree(DEPTree tree, DEPNode root) { List<DEPNode> remove = new ArrayList<DEPNode>(); convertUserToYou(root, remove); tree.removeAll(remove); resetDEPTreePost(tree, root); tree.resetIDs(); tree.resetDependents(); }
/** {@link LGAsk#generateAskFromQuestion(DEPTree, String)}. */ private DEPTree generateAskFromQuestionAux(DEPTree tree, DEPNode verb) { LGLibEn.convertFirstFormToLowerCase(tree); DEPNode ref = getReferentArgument(verb); if (ref == null || !ref.isLabel(DEPLibEn.P_SBJ)) relocateAuxiliary(tree, verb); addPrefix(tree, verb, ref); convertYouToUser(tree, verb); addPeriod(tree, verb); tree.resetIDs(); tree.resetDependents(); return tree; }