public static final boolean TRACE = false;
private static final int INITIAL_CAPACITY = 16;
- private static final int STATE_COUNT = 349;
+ private static final int STATE_COUNT = 345;
private static final int TERMINAL_COUNT = 83;
private static final int NONTERMINAL_COUNT = 51;
- private static final int PRODUCT_COUNT = 133;
+ private static final int PRODUCT_COUNT = 132;
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[6396];
- private static final int[] ERROR_TABLE = new int[906];
+ private static final short[] ACTION_TABLE = new short[6360];
+ private static final int[] ERROR_TABLE = new int[895];
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[1652];
+ private static final short[] GOTO_TABLE = new short[1711];
private static final int[] PRODUCT_LHS = new int[PRODUCT_COUNT];
private static final short STATE_MASK = (short)0x0fff;
"HIDING",
"ARROW",
"COLON",
- "WITH",
"MINUS",
"SYMBOL",
"LESS",
"IN",
"THEN",
"ELSE",
+ "WITH",
"RBRACKET",
"DOTDOT",
"AT",
"fundep",
"ruleDeclaration",
"query",
- "queryBlock",
"lexp",
"symbol",
"faexp",
"accessor",
"case",
+ "queryBlock",
"stringLiteral",
"symbolWithoutMinus",
"listQualifier",
return parse(0);
}
public Object parseCommands() {
- return parse(334);
+ return parse(330);
}
public Object parseImport() {
- return parse(341);
+ return parse(337);
}
public Object parseType() {
- return parse(343);
+ return parse(339);
}
public Object parseExp() {
- return parse(345);
+ return parse(341);
}
public Object parseEquationBlock() {
- return parse(347);
+ return parse(343);
}
case 5:
return reduceLocalTypeAnnotation();
case 6:
- return reduceEntityTypeAnnotation();
- case 7:
return reduceEquationBlock();
- case 8:
+ case 7:
return reduceModuleHeader();
- case 9:
+ case 8:
return reduceTypeAnnotation();
- case 10:
+ case 9:
return reduceValueDefinition();
- case 11:
+ case 10:
return reduceDataDefinition();
- case 12:
+ case 11:
return reduceTypeDefinition();
- case 13:
+ case 12:
return reduceClassDefinition();
- case 14:
+ case 13:
return reduceInstanceDefinition();
- case 15:
+ case 14:
return reduceDerivingInstanceDefinition();
- case 16:
+ case 15:
return reduceDocumentationString();
- case 17:
+ case 16:
return reduceAnnotation();
- case 18:
+ case 17:
return reducePrecedenceDefinition();
- case 19:
+ case 18:
return reduceJustImport();
- case 20:
+ case 19:
return reduceImportJava();
- case 21:
+ case 20:
return reduceEffectDefinition();
- case 22:
+ case 21:
return reduceRuleDefinition();
- case 23:
+ case 22:
return reduceMappingRelationDefinition();
- case 24:
+ case 23:
return reduceRelationDefinition();
- case 25:
+ case 24:
return reduceStatementCommand();
- case 26:
+ case 25:
return reduceImportCommand();
- case 27:
+ case 26:
return reduceGuardStatement();
- case 28:
+ case 27:
return reduceLetStatement();
- case 29:
+ case 28:
return reduceBindStatement();
- case 30:
+ case 29:
return reduceRuleStatement();
- case 31:
+ case 30:
return reduceCHRStatement();
- case 32:
+ case 31:
return reduceVerboseCHRStatement();
- case 33:
+ case 32:
return reduceConstraintStatement();
- case 34:
+ case 33:
return reduceDeclarations();
- case 35:
+ case 34:
return reduceField();
- case 36:
+ case 35:
return reduceFieldShorthand();
- case 37:
+ case 36:
return reduceVarId();
- case 38:
+ case 37:
return reduceEscapedSymbol();
- case 39:
+ case 38:
return reduceTupleConstructor();
- case 40:
+ case 39:
return reduceBinary();
- case 41:
+ case 40:
return reduceSimpleRhs();
- case 42:
+ case 41:
return reduceGuardedRhs();
- case 43:
+ case 42:
return reduceConstructor();
- case 44:
+ case 43:
return reduceRecordConstructor();
- case 45:
+ case 44:
return reduceContext();
- case 46:
+ case 45:
return reduceFundeps();
- case 47:
+ case 46:
return reduceTypeVar();
- case 48:
+ case 47:
return reduceTupleType();
- case 49:
+ case 48:
return reduceListType();
- case 50:
+ case 49:
return reduceListTypeConstructor();
- case 51:
+ case 50:
return reduceTupleTypeConstructor();
- case 52:
+ case 51:
return reduceLambda();
- case 53:
+ case 52:
return reduceLambdaMatch();
- case 54:
+ case 53:
return reduceLet();
- case 55:
+ case 54:
return reduceIf();
- case 56:
+ case 55:
return reduceMatch();
- case 57:
+ case 56:
return reduceDo();
- case 58:
+ case 57:
return reduceSelect();
- case 59:
+ case 58:
return reduceEnforce();
- case 60:
+ case 59:
return reduceVar();
- case 61:
+ case 60:
return reduceHashedId();
- case 62:
+ case 61:
return reduceBlank();
- case 63:
+ case 62:
return reduceInteger();
- case 64:
+ case 63:
return reduceFloat();
- case 65:
+ case 64:
return reduceString();
- case 66:
+ case 65:
return reduceChar();
- case 67:
+ case 66:
return reduceTuple();
- case 68:
+ case 67:
return reduceViewPattern();
- case 69:
+ case 68:
return reduceRightSection();
- case 70:
+ case 69:
return reduceLeftSection();
- case 71:
+ case 70:
return reduceListLiteral();
- case 72:
+ case 71:
return reduceRange();
- case 73:
+ case 72:
return reduceListComprehension();
- case 74:
+ case 73:
return reduceAs();
- case 75:
+ case 74:
return reduceRecord();
- case 76:
+ case 75:
return reduceTransformation();
- case 77:
+ case 76:
return reduceEq();
- case 78:
+ case 77:
return reduceRuleDeclarations();
- case 79:
+ case 78:
return reduceImportShowing();
- case 80:
+ case 79:
return reduceImportHiding();
- case 81:
+ case 80:
return reduceImportValueItem();
- case 82:
+ case 81:
return reduceFieldDescription();
- case 83:
+ case 82:
return reduceStatements();
- case 84:
+ case 83:
return reduceGuardedExpEq();
- case 85:
+ case 84:
return reduceFundep();
- case 86:
+ case 85:
return reduceQueryRuleDeclaration();
- case 87:
+ case 86:
return reduceAnnotation();
- case 88:
+ case 87:
return reduceGuardQuery();
- case 89:
+ case 88:
return reduceEqualsQuery();
- case 90:
+ case 89:
return reduceBindQuery();
- case 91:
+ case 90:
return reduceCompositeQuery();
+ case 91:
+ return reduceApply();
case 92:
- return reduceQueryBlock();
+ return reduceSymbol();
case 93:
- return reduceApply();
+ return reduceEscapedId();
case 94:
- return reduceSymbol();
+ return reduceMinus();
case 95:
- return reduceEscapedId();
+ return reduceLess();
case 96:
- return reduceMinus();
+ return reduceGreater();
case 97:
- return reduceLess();
+ return reduceDot();
case 98:
- return reduceGreater();
+ return reduceFieldAccess();
case 99:
- return reduceDot();
+ return reduceIdAccessor();
case 100:
- return reduceFieldAccess();
+ return reduceStringAccessor();
case 101:
- return reduceIdAccessor();
+ return reduceExpAccessor();
case 102:
- return reduceStringAccessor();
+ return reduceCase();
case 103:
- return reduceExpAccessor();
+ return reduceQueryBlock();
case 104:
- return reduceCase();
- case 105:
return reduceStringLiteral();
- case 106:
+ case 105:
return reduceSymbol();
- case 107:
+ case 106:
return reduceEscapedId();
- case 108:
+ case 107:
return reduceLess();
- case 109:
+ case 108:
return reduceGreater();
- case 110:
+ case 109:
return reduceDot();
- case 111:
+ case 110:
return reduceGuardQualifier();
- case 112:
+ case 111:
return reduceLetQualifier();
- case 113:
+ case 112:
return reduceBindQualifier();
- case 114:
+ case 113:
return reduceThenQualifier();
- case 115:
+ case 114:
return reduceCHRQuery();
- case 116:
+ case 115:
return reduceVerboseCHRQuery();
- case 117:
+ case 116:
return reduceSimpleCaseRhs();
- case 118:
+ case 117:
return reduceGuardedCaseRhs();
- case 119:
+ case 118:
return reduceGuardedExpArrow();
- case 120:
+ case 119:
return reduceGuardEquation();
- case 121:
+ case 120:
return reduceBasicEquation();
- case 122:
+ case 121:
return reduceEffect();
- case 123:
+ case 122:
return reduceJustEtype();
- case 124:
+ case 123:
return reduceForAll();
- case 125:
+ case 124:
return reduceApplyType();
- case 126:
+ case 125:
return reduceDummy();
default:
* exp ::= bexp (HASTYPE type)?
*/
protected abstract Object reduceLocalTypeAnnotation();
- /**
- * exp ::= bexp COLON ID (queryBlock | WITH queryBlock?)?
- */
- protected abstract Object reduceEntityTypeAnnotation();
/**
* equationBlock ::= (equation (SEMICOLON equation)*)?
*/
* query ::= QUERY_OP queryBlock
*/
protected abstract Object reduceCompositeQuery();
- /**
- * queryBlock ::= LBRACE (query (SEMICOLON (query SEMICOLON)* query)?)? RBRACE
- */
- protected abstract Object reduceQueryBlock();
/**
* lexp ::= faexp faexp*
*/
* case ::= exp caseRhs
*/
protected abstract Object reduceCase();
+ /**
+ * queryBlock ::= LBRACE (query (SEMICOLON (query SEMICOLON)* query)?)? RBRACE
+ */
+ protected abstract Object reduceQueryBlock();
/**
* stringLiteral ::= BEGIN_STRING (SUSPEND_STRING exp CONTINUE_STRING)* END_STRING
*/