package edu.stanford.nlp.parser.lexparser;
import java.util.List;
import edu.stanford.nlp.ling.HasWord;
/** @author Dan Klein */
class TwinScorer implements Scorer {
private Scorer scorer1;
private Scorer scorer2;
public double oScore(Edge edge) {
return scorer1.oScore(edge) + scorer2.oScore(edge);
}
public double iScore(Edge edge) {
return scorer1.iScore(edge) + scorer2.iScore(edge);
}
public boolean oPossible(Hook hook) {
return scorer1.oPossible(hook) && scorer2.oPossible(hook);
}
public boolean iPossible(Hook hook) {
return scorer1.iPossible(hook) && scorer2.iPossible(hook);
}
public boolean parse(List<? extends HasWord> words) {
boolean b1 = scorer1.parse(words);
boolean b2 = scorer2.parse(words);
return (b1 && b2);
}
public TwinScorer(Scorer scorer1, Scorer scorer2) {
this.scorer1 = scorer1;
this.scorer2 = scorer2;
}
}