public static final boolean TRACE = false;
private static final int INITIAL_CAPACITY = 16;
- private static final int STATE_COUNT = 353;
+ private static final int STATE_COUNT = 358;
private static final int TERMINAL_COUNT = 84;
- private static final int NONTERMINAL_COUNT = 51;
- private static final int PRODUCT_COUNT = 134;
+ private static final int NONTERMINAL_COUNT = 52;
+ private static final int PRODUCT_COUNT = 135;
private static final int[] ACTION_ROW_ID = new int[STATE_COUNT];
private static final int[] ACTION_COLUMN_ID = new int[TERMINAL_COUNT];
- private static final short[] ACTION_TABLE = new short[6588];
- private static final int[] ERROR_TABLE = new int[927];
+ private static final short[] ACTION_TABLE = new short[6944];
+ private static final int[] ERROR_TABLE = new int[940];
private static final int[] GOTO_ROW_ID = new int[STATE_COUNT];
private static final int[] GOTO_COLUMN_ID = new int[NONTERMINAL_COUNT];
- private static final short[] GOTO_TABLE = new short[1620];
+ private static final short[] GOTO_TABLE = new short[1708];
private static final int[] PRODUCT_LHS = new int[PRODUCT_COUNT];
private static final short STATE_MASK = (short)0x0fff;
"listQualifier",
"chrQuery",
"verboseChrQuery",
+ "constraintSpec",
"caseRhs",
"guardedExpArrow",
"equation",
return parse(0);
}
public Object parseCommands() {
- return parse(337);
+ return parse(342);
}
public Object parseImport() {
- return parse(345);
+ return parse(350);
}
public Object parseType() {
- return parse(347);
+ return parse(352);
}
public Object parseExp() {
- return parse(349);
+ return parse(354);
}
public Object parseEquationBlock() {
- return parse(351);
+ return parse(356);
}
case 117:
return reduceVerboseCHRQuery();
case 118:
- return reduceSimpleCaseRhs();
+ return reduceConstraintSpec();
case 119:
- return reduceGuardedCaseRhs();
+ return reduceSimpleCaseRhs();
case 120:
- return reduceGuardedExpArrow();
+ return reduceGuardedCaseRhs();
case 121:
- return reduceGuardEquation();
+ return reduceGuardedExpArrow();
case 122:
- return reduceBasicEquation();
+ return reduceGuardEquation();
case 123:
- return reduceEffect();
+ return reduceBasicEquation();
case 124:
- return reduceJustEtype();
+ return reduceEffect();
case 125:
- return reduceForAll();
+ return reduceJustEtype();
case 126:
- return reduceApplyType();
+ return reduceForAll();
case 127:
+ return reduceApplyType();
+ case 128:
return reduceDummy();
default:
*/
protected abstract Object reduceVerboseCHRStatement();
/**
- * statement ::= CONSTRAINT ID atype*
+ * statement ::= CONSTRAINT constructor (WHERE constraintSpec)?
*/
protected abstract Object reduceConstraintStatement();
/**
* verboseChrQuery ::= LBRACE listQualifier (SEMICOLON listQualifier)* RBRACE
*/
protected abstract Object reduceVerboseCHRQuery();
+ /**
+ * constraintSpec ::= LBRACE exp (SEMICOLON exp)* RBRACE
+ */
+ protected abstract Object reduceConstraintSpec();
/**
* caseRhs ::= ARROW exp (WHERE statements)?
*/