package edu.stanford.nlp.trees.tregex.tsurgeon;
import edu.stanford.nlp.trees.tregex.TregexMatcher;
import edu.stanford.nlp.trees.Tree;
/**
* @author Roger Levy (rog@nlp.stanford.edu)
*/
class CoindexNodes extends TsurgeonPattern {
private static final String coindexationIntroductionString = "-";
public CoindexNodes(TsurgeonPattern[] children) {
super("coindex", children);
}
@Override
public Tree evaluate(Tree t, TregexMatcher m) {
int newIndex = root.coindexer.generateIndex();
for(TsurgeonPattern child : children) {
Tree node = child.evaluate(t,m);
node.label().setValue(node.label().value() + coindexationIntroductionString + newIndex);
}
return t;
}
@Override
protected void setRoot(TsurgeonPatternRoot root) {
super.setRoot(root);
root.setCoindexes();
}
}