X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Finternal%2Fparsing%2Fparser%2FSCLParser.java;h=6278817097fffebc0c52fda65c6c7968a006f807;hp=6852771b1b8558f107758215e1e557d31dc56cf2;hb=3d043320cdee8dda92758f4ea1c324a82c7d9094;hpb=e3ee31da93393a7338ebfbc71620d124eedea946 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLParser.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLParser.java index 6852771b1..627881709 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLParser.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLParser.java @@ -13,15 +13,15 @@ public abstract class SCLParser { public static final boolean TRACE = false; private static final int INITIAL_CAPACITY = 16; - private static final int STATE_COUNT = 363; - private static final int TERMINAL_COUNT = 86; + private static final int STATE_COUNT = 368; + private static final int TERMINAL_COUNT = 88; private static final int NONTERMINAL_COUNT = 52; - private static final int PRODUCT_COUNT = 139; + private static final int PRODUCT_COUNT = 142; 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[6765]; - private static final int[] ERROR_TABLE = new int[976]; + private static final short[] ACTION_TABLE = new short[6820]; + private static final int[] ERROR_TABLE = new int[1012]; 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[1953]; @@ -118,6 +118,8 @@ public abstract class SCLParser { "BY", "QUERY_OP", "FORALL", + "DOUBLE_LESS", + "DOUBLE_GREATER", "COMMENT", "EOL", "EOF" @@ -397,19 +399,19 @@ public abstract class SCLParser { return parse(0); } public Object parseCommands() { - return parse(347); + return parse(352); } public Object parseImport() { - return parse(355); + return parse(360); } public Object parseType() { - return parse(357); + return parse(362); } public Object parseExp() { - return parse(359); + return parse(364); } public Object parseEquationBlock() { - return parse(361); + return parse(366); } @@ -517,170 +519,176 @@ public abstract class SCLParser { case 49: return reduceTypeVar(); case 50: - return reduceTupleType(); + return reducePlainEffect(); case 51: - return reduceListType(); + return reduceTupleType(); case 52: - return reduceListTypeConstructor(); + return reduceListType(); case 53: - return reduceTupleTypeConstructor(); + return reduceListTypeConstructor(); case 54: - return reduceLambda(); + return reduceTupleTypeConstructor(); case 55: - return reduceLambdaMatch(); + return reduceLambda(); case 56: - return reduceLet(); + return reduceLambdaMatch(); case 57: - return reduceIf(); + return reduceLet(); case 58: - return reduceMatch(); + return reduceIf(); case 59: - return reduceDo(); + return reduceMatch(); case 60: - return reduceSelect(); + return reduceDo(); case 61: - return reduceCHRSelect(); + return reduceSelect(); case 62: - return reduceEnforce(); + return reduceCHRSelect(); case 63: - return reduceVar(); + return reduceEnforce(); case 64: - return reduceHashedId(); + return reduceVar(); case 65: - return reduceBlank(); + return reduceHashedId(); case 66: - return reduceInteger(); + return reduceBlank(); case 67: - return reduceFloat(); + return reduceInteger(); case 68: - return reduceString(); + return reduceFloat(); case 69: - return reduceChar(); + return reduceString(); case 70: - return reduceTuple(); + return reduceChar(); case 71: - return reduceViewPattern(); + return reduceTuple(); case 72: - return reduceRightSection(); + return reduceViewPattern(); case 73: - return reduceLeftSection(); + return reduceRightSection(); case 74: - return reduceListLiteral(); + return reduceLeftSection(); case 75: - return reduceRange(); + return reduceListLiteral(); case 76: - return reduceListComprehension(); + return reduceRange(); case 77: - return reduceAs(); + return reduceListComprehension(); case 78: - return reduceRecord(); + return reduceAs(); case 79: - return reduceTransformation(); + return reduceRecord(); case 80: - return reduceEq(); + return reduceTransformation(); case 81: - return reduceRuleDeclarations(); + return reduceEq(); case 82: - return reduceStatements(); + return reduceRuleDeclarations(); case 83: - return reduceImportShowing(); + return reduceStatements(); case 84: - return reduceImportHiding(); + return reduceImportShowing(); case 85: - return reduceImportValueItem(); + return reduceImportHiding(); case 86: - return reduceFieldDescription(); + return reduceImportValueItem(); case 87: - return reduceGuardedExpEq(); + return reduceFieldDescription(); case 88: - return reduceFundep(); + return reduceGuardedExpEq(); case 89: - return reduceQueryRuleDeclaration(); + return reduceFundep(); case 90: - return reduceAnnotation(); + return reduceQueryRuleDeclaration(); case 91: - return reduceGuardQuery(); + return reduceAnnotation(); case 92: - return reduceEqualsQuery(); + return reduceGuardQuery(); case 93: - return reduceBindQuery(); + return reduceEqualsQuery(); case 94: - return reduceCompositeQuery(); + return reduceBindQuery(); case 95: - return reduceApply(); + return reduceCompositeQuery(); case 96: - return reduceSymbol(); + return reduceApply(); case 97: - return reduceEscapedId(); + return reduceSymbol(); case 98: - return reduceMinus(); + return reduceEscapedId(); case 99: - return reduceLess(); + return reduceMinus(); case 100: - return reduceGreater(); + return reduceLess(); case 101: - return reduceDot(); + return reduceGreater(); case 102: - return reduceFieldAccess(); + return reduceDoubleLess(); case 103: - return reduceIdAccessor(); + return reduceDoubleGreater(); case 104: - return reduceStringAccessor(); + return reduceDot(); case 105: - return reduceExpAccessor(); + return reduceFieldAccess(); case 106: - return reduceCase(); + return reduceIdAccessor(); case 107: - return reduceQueryBlock(); + return reduceStringAccessor(); case 108: - return reduceVerboseCHRConjunction(); + return reduceExpAccessor(); case 109: - return reduceStringLiteral(); + return reduceCase(); case 110: - return reduceSymbol(); + return reduceQueryBlock(); case 111: - return reduceEscapedId(); + return reduceVerboseCHRConjunction(); case 112: - return reduceLess(); + return reduceStringLiteral(); case 113: - return reduceGreater(); + return reduceSymbol(); case 114: - return reduceDot(); + return reduceEscapedId(); case 115: - return reduceGuardQualifier(); + return reduceLess(); case 116: - return reduceLetQualifier(); + return reduceGreater(); case 117: - return reduceBindQualifier(); + return reduceDot(); case 118: - return reduceThenQualifier(); + return reduceGuardQualifier(); case 119: - return reduceCHRConjunction(); + return reduceLetQualifier(); case 120: - return reduceCHRAtom(); + return reduceBindQualifier(); case 121: - return reduceCHREquals(); + return reduceThenQualifier(); case 122: - return reduceCHRBinds(); + return reduceCHRConjunction(); case 123: - return reduceSimpleCaseRhs(); + return reduceCHRAtom(); case 124: - return reduceGuardedCaseRhs(); + return reduceCHREquals(); case 125: - return reduceGuardedExpArrow(); + return reduceCHRBinds(); case 126: - return reduceGuardEquation(); + return reduceSimpleCaseRhs(); case 127: - return reduceBasicEquation(); + return reduceGuardedCaseRhs(); case 128: - return reduceEffect(); + return reduceGuardedExpArrow(); case 129: - return reduceJustEtype(); + return reduceGuardEquation(); case 130: - return reduceForAll(); + return reduceBasicEquation(); case 131: - return reduceApplyType(); + return reduceEffect(); case 132: + return reduceJustEtype(); + case 133: + return reduceForAll(); + case 134: + return reduceApplyType(); + case 135: return reduceDummy(); default: @@ -901,6 +909,10 @@ public abstract class SCLParser { * atype ::= ID */ protected abstract Object reduceTypeVar(); + /** + * atype ::= DOUBLE_LESS ID (COMMA ID)* DOUBLE_GREATER + */ + protected abstract Object reducePlainEffect(); /** * atype ::= LPAREN (type (COMMA (type COMMA)* type)?)? RPAREN */ @@ -1101,6 +1113,14 @@ public abstract class SCLParser { * symbol ::= GREATER */ protected abstract Object reduceGreater(); + /** + * symbol ::= DOUBLE_LESS + */ + protected abstract Object reduceDoubleLess(); + /** + * symbol ::= DOUBLE_GREATER + */ + protected abstract Object reduceDoubleGreater(); /** * symbol ::= SEPARATED_DOT */