int where = parents().size();
for(Parser.Table.Reduction r : state.getReductions(token))
if (r.numPop >= 1)
- r.reduce(this, null, null);
+ r.reduce(this);
}
public void queueReductions(Node n2) {
if (reducing)
for(Parser.Table.Reduction r : token==null ? state.getEofReductions() : state.getReductions(token))
if (r.numPop==0)
- r.reduce(this, null, r.zero());
+ r.reduce(this);
}
private Node(Node parent, Forest pending, Parser.Table.State state, Phase start) {
}
public String toString() { return "[reduce " + position + "]"; }
- public Forest reduce(GSS.Phase.Node parent, GSS.Phase.Node onlychild, Forest rex) {
- Forest ret = reduce(parent, numPop-1, rex, onlychild, parent.phase());
+ public Forest reduce(GSS.Phase.Node parent) {
+ Forest rex = numPop==0 ? zero() : null;
+ Forest ret = reduce(parent, numPop-1, rex, null, parent.phase());
return ret;
}