this.rright = new int[situations];
this.sym_empty = new boolean[nsyms];
int curr_rindex = 0;
for (int i = 0; i < wrules.length; i++) {
Rule r = wrules[i];
this.rleft[i] = r.getLeft().getIndex();
this.rprio[i] = r.getPriority();
this.rindex[i] = curr_rindex;
SymbolRef[] wright = r.getRight();
for (SymbolRef element : wright) {
this.rright[curr_rindex++] = element.getTarget().getIndex();
}
this.rright[curr_rindex++] = -1 - i;
if (wright.length == 0) {