GSS gss = new GSS();
Token.Location loc = input.getLocation();
GSS.Phase current = gss.new Phase(null, this, null, input.next(1, 0, 0), loc, null);
- current.newNode(null, null, pt.start, true);
+ current.newNode(null, Forest.leaf(null, null), pt.start, true);
int count = 1;
for(;;) {
loc = input.getLocation();
}
/** a single state in the LR table and the transitions possible from it */
- public class State implements Comparable<Table.State>, Iterable<Position> {
+ public class State implements Comparable<Table.State>, Iterable<Position>, IntegerMappable {
+ public int toInt() { return idx; }
+
/*
public boolean isResolvable(Token t) {
boolean found = false;
}
private void finish(GSS.Phase.Node parent, Forest result, GSS.Phase target) {
State state = parent.state.gotoSetNonTerminals.get(position.owner());
+ if (result==null) throw new Error();
if (state!=null)
target.newNode(parent, result, state, numPop<=0, this);
}