diff --git a/prism/src/parser/PrismParser.java b/prism/src/parser/PrismParser.java index 5d92b3eb..25fd96c7 100644 --- a/prism/src/parser/PrismParser.java +++ b/prism/src/parser/PrismParser.java @@ -2086,6 +2086,18 @@ public class PrismParser implements PrismParserConstants { } // Temporal operarors (X, U, F, G, W, R) + +// Note: the potential occurrence of two successive (unseparated) expressions +// (e.g. "a" and "b" in "F<=a b") is a grammar flaw because the function and +// minus operators can cause ambiguities, for example: +// "F<=a(b)+c(d)" = "F<=a" "(b)+c(d)" = "F<=a(b)+c" "(d)" ? +// "F<=-a-b-c" = "F<=-a" "-b-c" = "F<=-a-b" "-c" ? +// In many cases, these could be distinguished by type checking but +// that does not really help since this is done post-parsing. +// To prevent (very common) cases such as "F<=t (b)", "F<=t (b)&(c)", etc. +// being mis-parsed ("t(b)" would always be taken over "t"), we catch this case +// separately. This means that more complex time-bounds, especially those that +// include an identifier should be parenthesised, e.g. "F<=(t1+t2)". static final public Expression ExpressionTemporal() throws ParseException { ExpressionTemporal expr = new ExpressionTemporal(); Expression expr1 = null, expr2 = null; @@ -2159,98 +2171,87 @@ public class PrismParser implements PrismParserConstants { jj_la1[63] = jj_gen; ; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case FALSE: - case FUNC: - case MAX: - case MIN: - case PMAX: - case PMIN: - case P: - case RMAX: - case RMIN: - case R: - case S: - case TRUE: - case NOT: - case LPARENTH: - case MINUS: - case DQUOTE: - case REG_INT: - case REG_DOUBLE: - case REG_IDENT: - expr2 = Expression(); - break; - default: - jj_la1[64] = jj_gen; - ; - } - if (tb != null) expr.setLowerBound(tb.lBound); - if (tb != null) expr.setUpperBound(tb.uBound); + expr2 = Expression(); + if (tb != null) { expr.setLowerBound(tb.lBound); expr.setUpperBound(tb.uBound); } if (expr1 != null) expr.setOperand1(expr1); if (expr2 != null) expr.setOperand2(expr2); expr.setPosition(begin, getToken(0)); - - // This is the usual case. - if (expr2 != null) { - {if (true) return expr;} - } - // And this is a bit of inelegant jiggery-pokery. - // The problem is that bounded path formulas sometimes need - // two successive expressions with no separator, e.g. t and b in "F<=t b". - // Parsing two successive expressions is tricky because: - // 1. e.g. "t (b)" gets parsed a as single expression: function "t(b)" - // 2. e.g. "-a -b" gets parsed as a single expression: subtraction "(-a)-b" - // These are the only two problem cases. The cunning plan is to make the second - // expression optional and then check if it is missing afterwards. - // Note that case 2 is genuinely ambiguous (e.g. where to split "-a-b-c"?). - // Fortunately this does not type check (the expression should be Boolean) - // so we don't really care. - else { - if (tb != null) { - if (tb.lBound == null) { - if (tb.uBound instanceof ExpressionFunc && ((ExpressionFunc)tb.uBound).getNumOperands() == 1) { - Expression actualBound = new ExpressionIdent(((ExpressionFunc)tb.uBound).getName()); - actualBound.setPosition(tb.uBound); - actualBound.setEndColumn(actualBound.getBeginColumn()+((ExpressionFunc)tb.uBound).getName().length()-1); - expr.setUpperBound(actualBound); - Expression actualOperand2 = ((ExpressionFunc)tb.uBound).getOperand(0); - actualOperand2 = Expression.Parenth(actualOperand2); - actualOperand2.setPosition(((ExpressionFunc)tb.uBound).getOperand(0)); - expr.setOperand2(actualOperand2); - {if (true) return expr;} - } - } - if (tb.uBound == null) { - if (tb.lBound instanceof ExpressionFunc && ((ExpressionFunc)tb.lBound).getNumOperands() == 1) { - Expression actualBound = new ExpressionIdent(((ExpressionFunc)tb.lBound).getName()); - actualBound.setPosition(tb.lBound); - actualBound.setEndColumn(actualBound.getBeginColumn()+((ExpressionFunc)tb.lBound).getName().length()-1); - expr.setLowerBound(actualBound); - Expression actualOperand2 = ((ExpressionFunc)tb.lBound).getOperand(0); - actualOperand2 = Expression.Parenth(actualOperand2); - actualOperand2.setPosition(((ExpressionFunc)tb.uBound).getOperand(0)); - expr.setOperand2(actualOperand2); - {if (true) return expr;} - } - } - } - {if (true) throw generateParseException();} - } + {if (true) return expr;} throw new Error("Missing return statement in function"); } // Time bound for temporal operators +// (see ExpressionTemporal production for lookahead explanation) static final public TimeBound TimeBound() throws ParseException { TimeBound tb = new TimeBound(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LE: jj_consume_token(LE); - tb.uBound = Expression(); + if (jj_2_9(2147483647)) { + tb.uBound = ExpressionIdent(); + } else { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case FALSE: + case FUNC: + case MAX: + case MIN: + case PMAX: + case PMIN: + case P: + case RMAX: + case RMIN: + case R: + case S: + case TRUE: + case NOT: + case LPARENTH: + case MINUS: + case DQUOTE: + case REG_INT: + case REG_DOUBLE: + case REG_IDENT: + tb.uBound = Expression(); + break; + default: + jj_la1[64] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } break; case GE: jj_consume_token(GE); - tb.lBound = Expression(); + if (jj_2_10(2147483647)) { + tb.lBound = ExpressionIdent(); + } else { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case FALSE: + case FUNC: + case MAX: + case MIN: + case PMAX: + case PMIN: + case P: + case RMAX: + case RMIN: + case R: + case S: + case TRUE: + case NOT: + case LPARENTH: + case MINUS: + case DQUOTE: + case REG_INT: + case REG_DOUBLE: + case REG_IDENT: + tb.uBound = Expression(); + break; + default: + jj_la1[65] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } break; case LBRACKET: jj_consume_token(LBRACKET); @@ -2260,7 +2261,7 @@ public class PrismParser implements PrismParserConstants { jj_consume_token(RBRACKET); break; default: - jj_la1[65] = jj_gen; + jj_la1[66] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2294,7 +2295,7 @@ public class PrismParser implements PrismParserConstants { relOp = "="; break; default: - jj_la1[66] = jj_gen; + jj_la1[67] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2305,7 +2306,7 @@ public class PrismParser implements PrismParserConstants { filter = Filter(); break; default: - jj_la1[67] = jj_gen; + jj_la1[68] = jj_gen; ; } jj_consume_token(RBRACKET); @@ -2336,7 +2337,7 @@ public class PrismParser implements PrismParserConstants { index = RewardIndex(); break; default: - jj_la1[68] = jj_gen; + jj_la1[69] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -2366,7 +2367,7 @@ public class PrismParser implements PrismParserConstants { relOp = "max="; break; default: - jj_la1[69] = jj_gen; + jj_la1[70] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2384,7 +2385,7 @@ public class PrismParser implements PrismParserConstants { relOp = "max="; break; default: - jj_la1[70] = jj_gen; + jj_la1[71] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2395,7 +2396,7 @@ public class PrismParser implements PrismParserConstants { filter = Filter(); break; default: - jj_la1[71] = jj_gen; + jj_la1[72] = jj_gen; ; } jj_consume_token(RBRACKET); @@ -2413,7 +2414,7 @@ public class PrismParser implements PrismParserConstants { static final public Object RewardIndex() throws ParseException { Object index; jj_consume_token(LBRACE); - if (jj_2_9(2147483647)) { + if (jj_2_11(2147483647)) { jj_consume_token(DQUOTE); index = Identifier(); jj_consume_token(DQUOTE); @@ -2441,7 +2442,7 @@ public class PrismParser implements PrismParserConstants { index = Expression(); break; default: - jj_la1[72] = jj_gen; + jj_la1[73] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2479,7 +2480,7 @@ public class PrismParser implements PrismParserConstants { ret = new ExpressionTemporal(ExpressionTemporal.R_S, null, null); break; default: - jj_la1[73] = jj_gen; + jj_la1[74] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2502,7 +2503,7 @@ public class PrismParser implements PrismParserConstants { s = "init"; break; default: - jj_la1[74] = jj_gen; + jj_la1[75] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2547,7 +2548,7 @@ public class PrismParser implements PrismParserConstants { {if (true) return ExpressionBinaryOp.NE;} break; default: - jj_la1[75] = jj_gen; + jj_la1[76] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2574,7 +2575,7 @@ public class PrismParser implements PrismParserConstants { {if (true) return ExpressionBinaryOp.LE;} break; default: - jj_la1[76] = jj_gen; + jj_la1[77] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -2599,7 +2600,7 @@ public class PrismParser implements PrismParserConstants { step = Expression(); break; default: - jj_la1[77] = jj_gen; + jj_la1[78] = jj_gen; ; } jj_consume_token(0); @@ -2675,90 +2676,27 @@ public class PrismParser implements PrismParserConstants { finally { jj_save(8, xla); } } - static final private boolean jj_3R_104() { - if (jj_3R_120()) return true; - return false; - } - - static final private boolean jj_3R_130() { - if (jj_scan_token(S)) return true; - return false; - } - - static final private boolean jj_3R_70() { - if (jj_3R_76()) return true; - return false; - } - - static final private boolean jj_3R_144() { - if (jj_scan_token(MAX)) return true; - return false; - } - - static final private boolean jj_3R_129() { - if (jj_scan_token(F)) return true; - if (jj_3R_33()) return true; - return false; - } - - static final private boolean jj_3R_143() { - if (jj_scan_token(MIN)) return true; - return false; - } - - static final private boolean jj_3R_128() { - if (jj_scan_token(I)) return true; - if (jj_scan_token(EQ)) return true; - if (jj_3R_33()) return true; - return false; - } - - static final private boolean jj_3R_69() { - if (jj_3R_75()) return true; - return false; - } - - static final private boolean jj_3R_127() { - if (jj_scan_token(C)) return true; - if (jj_scan_token(LE)) return true; - if (jj_3R_33()) return true; - return false; - } - - static final private boolean jj_3R_145() { - if (jj_scan_token(DQUOTE)) return true; - if (jj_3R_27()) return true; - if (jj_scan_token(DQUOTE)) return true; - return false; + static final private boolean jj_2_10(int xla) { + jj_la = xla; jj_lastpos = jj_scanpos = token; + try { return !jj_3_10(); } + catch(LookaheadSuccess ls) { return true; } + finally { jj_save(9, xla); } } - static final private boolean jj_3R_112() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_127()) { - jj_scanpos = xsp; - if (jj_3R_128()) { - jj_scanpos = xsp; - if (jj_3R_129()) { - jj_scanpos = xsp; - if (jj_3R_130()) return true; - } - } - } - return false; + static final private boolean jj_2_11(int xla) { + jj_la = xla; jj_lastpos = jj_scanpos = token; + try { return !jj_3_11(); } + catch(LookaheadSuccess ls) { return true; } + finally { jj_save(10, xla); } } - static final private boolean jj_3R_59() { + static final private boolean jj_3R_60() { if (jj_scan_token(MINUS)) return true; return false; } - static final private boolean jj_3R_30() { - if (jj_scan_token(LPARENTH)) return true; - if (jj_3R_32()) return true; - if (jj_scan_token(EQ)) return true; - if (jj_3R_33()) return true; - if (jj_scan_token(RPARENTH)) return true; + static final private boolean jj_3R_27() { + if (jj_scan_token(REG_IDENT)) return true; return false; } @@ -2774,11 +2712,9 @@ public class PrismParser implements PrismParserConstants { return false; } - static final private boolean jj_3R_68() { + static final private boolean jj_3R_69() { Token xsp; xsp = jj_scanpos; - if (jj_3R_69()) { - jj_scanpos = xsp; if (jj_3R_70()) { jj_scanpos = xsp; if (jj_3R_71()) { @@ -2787,7 +2723,9 @@ public class PrismParser implements PrismParserConstants { jj_scanpos = xsp; if (jj_3R_73()) { jj_scanpos = xsp; - if (jj_3R_74()) return true; + if (jj_3R_74()) { + jj_scanpos = xsp; + if (jj_3R_75()) return true; } } } @@ -2796,6 +2734,15 @@ public class PrismParser implements PrismParserConstants { return false; } + static final private boolean jj_3R_31() { + if (jj_scan_token(LPARENTH)) return true; + if (jj_3R_33()) return true; + if (jj_scan_token(EQ)) return true; + if (jj_3R_34()) return true; + if (jj_scan_token(RPARENTH)) return true; + return false; + } + static final private boolean jj_3_7() { if (jj_scan_token(OR)) return true; if (jj_scan_token(OR)) return true; @@ -2803,9 +2750,9 @@ public class PrismParser implements PrismParserConstants { return false; } - static final private boolean jj_3R_121() { + static final private boolean jj_3R_122() { if (jj_scan_token(LBRACE)) return true; - if (jj_3R_33()) return true; + if (jj_3R_34()) return true; if (jj_scan_token(RBRACE)) return true; Token xsp; while (true) { @@ -2815,35 +2762,35 @@ public class PrismParser implements PrismParserConstants { return false; } + static final private boolean jj_3R_66() { + if (jj_3R_69()) return true; + return false; + } + static final private boolean jj_3R_65() { - if (jj_3R_68()) return true; + if (jj_scan_token(MINUS)) return true; + if (jj_3R_57()) return true; return false; } - static final private boolean jj_3R_138() { - if (jj_scan_token(LBRACE)) return true; + static final private boolean jj_3R_101() { + if (jj_scan_token(DQUOTE)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_145()) { + if (jj_3R_115()) { jj_scanpos = xsp; - if (jj_3R_146()) return true; + if (jj_3R_116()) return true; } - if (jj_scan_token(RBRACE)) return true; - return false; - } - - static final private boolean jj_3R_64() { - if (jj_scan_token(MINUS)) return true; - if (jj_3R_56()) return true; + if (jj_scan_token(DQUOTE)) return true; return false; } - static final private boolean jj_3R_29() { - if (jj_3R_30()) return true; + static final private boolean jj_3R_30() { + if (jj_3R_31()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_31()) { jj_scanpos = xsp; break; } + if (jj_3R_32()) { jj_scanpos = xsp; break; } } return false; } @@ -2853,70 +2800,80 @@ public class PrismParser implements PrismParserConstants { return false; } + static final private boolean jj_3R_117() { + if (jj_3R_54()) return true; + if (jj_3R_34()) return true; + return false; + } + + static final private boolean jj_3R_114() { + if (jj_3R_122()) return true; + return false; + } + static final private boolean jj_3R_28() { Token xsp; xsp = jj_scanpos; - if (jj_3R_29()) { + if (jj_3R_30()) { jj_scanpos = xsp; if (jj_scan_token(42)) return true; } return false; } - static final private boolean jj_3R_116() { - if (jj_3R_53()) return true; - if (jj_3R_33()) return true; - return false; - } - - static final private boolean jj_3R_56() { + static final private boolean jj_3R_57() { Token xsp; xsp = jj_scanpos; - if (jj_3R_64()) { + if (jj_3R_65()) { jj_scanpos = xsp; - if (jj_3R_65()) return true; + if (jj_3R_66()) return true; } return false; } - static final private boolean jj_3R_122() { - if (jj_3R_138()) return true; + static final private boolean jj_3_11() { + if (jj_scan_token(DQUOTE)) return true; return false; } - static final private boolean jj_3R_119() { + static final private boolean jj_3R_120() { if (jj_scan_token(MAX)) return true; if (jj_scan_token(EQ)) return true; if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_66() { + static final private boolean jj_3R_67() { if (jj_scan_token(TIMES)) return true; return false; } - static final private boolean jj_3R_118() { + static final private boolean jj_3R_119() { if (jj_scan_token(MIN)) return true; if (jj_scan_token(EQ)) return true; if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_117() { + static final private boolean jj_3R_118() { if (jj_scan_token(EQ)) return true; if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_57() { + static final private boolean jj_3R_58() { Token xsp; xsp = jj_scanpos; - if (jj_3R_66()) { + if (jj_3R_67()) { jj_scanpos = xsp; - if (jj_3R_67()) return true; + if (jj_3R_68()) return true; } - if (jj_3R_56()) return true; + if (jj_3R_57()) return true; + return false; + } + + static final private boolean jj_3R_131() { + if (jj_scan_token(S)) return true; return false; } @@ -2926,475 +2883,554 @@ public class PrismParser implements PrismParserConstants { return false; } - static final private boolean jj_3R_103() { - if (jj_scan_token(PMAX)) return true; - if (jj_scan_token(EQ)) return true; - if (jj_scan_token(QMARK)) return true; + static final private boolean jj_3R_130() { + if (jj_scan_token(F)) return true; + if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_102() { - if (jj_scan_token(PMIN)) return true; + static final private boolean jj_3R_104() { + if (jj_scan_token(PMAX)) return true; if (jj_scan_token(EQ)) return true; if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_126() { - if (jj_scan_token(MAX)) return true; + static final private boolean jj_3R_129() { + if (jj_scan_token(I)) return true; if (jj_scan_token(EQ)) return true; - if (jj_scan_token(QMARK)) return true; + if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_111() { - if (jj_scan_token(RMAX)) return true; + static final private boolean jj_3R_103() { + if (jj_scan_token(PMIN)) return true; if (jj_scan_token(EQ)) return true; if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_125() { - if (jj_scan_token(MIN)) return true; - if (jj_scan_token(EQ)) return true; - if (jj_scan_token(QMARK)) return true; + static final private boolean jj_3R_128() { + if (jj_scan_token(C)) return true; + if (jj_scan_token(LE)) return true; + if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_110() { - if (jj_scan_token(RMIN)) return true; - if (jj_scan_token(EQ)) return true; - if (jj_scan_token(QMARK)) return true; - return false; - } - - static final private boolean jj_3R_124() { - if (jj_scan_token(EQ)) return true; - if (jj_scan_token(QMARK)) return true; + static final private boolean jj_3R_145() { + if (jj_scan_token(DQUOTE)) return true; + if (jj_3R_27()) return true; + if (jj_scan_token(DQUOTE)) return true; return false; } - static final private boolean jj_3R_108() { - if (jj_3R_121()) return true; + static final private boolean jj_3R_113() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_128()) { + jj_scanpos = xsp; + if (jj_3R_129()) { + jj_scanpos = xsp; + if (jj_3R_130()) { + jj_scanpos = xsp; + if (jj_3R_131()) return true; + } + } + } return false; } - static final private boolean jj_3R_101() { + static final private boolean jj_3R_102() { if (jj_scan_token(P)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_116()) { - jj_scanpos = xsp; if (jj_3R_117()) { jj_scanpos = xsp; if (jj_3R_118()) { jj_scanpos = xsp; - if (jj_3R_119()) return true; + if (jj_3R_119()) { + jj_scanpos = xsp; + if (jj_3R_120()) return true; } } } return false; } - static final private boolean jj_3R_97() { + static final private boolean jj_3R_98() { Token xsp; xsp = jj_scanpos; - if (jj_3R_101()) { - jj_scanpos = xsp; if (jj_3R_102()) { jj_scanpos = xsp; - if (jj_3R_103()) return true; + if (jj_3R_103()) { + jj_scanpos = xsp; + if (jj_3R_104()) return true; } } if (jj_scan_token(LBRACKET)) return true; - if (jj_3R_104()) return true; + if (jj_3R_105()) return true; xsp = jj_scanpos; - if (jj_3R_105()) jj_scanpos = xsp; + if (jj_3R_106()) jj_scanpos = xsp; if (jj_scan_token(RBRACKET)) return true; return false; } - static final private boolean jj_3R_51() { - if (jj_3R_56()) return true; + static final private boolean jj_3R_52() { + if (jj_3R_57()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_57()) { jj_scanpos = xsp; break; } + if (jj_3R_58()) { jj_scanpos = xsp; break; } } return false; } - static final private boolean jj_3R_123() { - if (jj_3R_53()) return true; - if (jj_3R_33()) return true; + static final private boolean jj_3_8() { + if (jj_scan_token(OR)) return true; + if (jj_scan_token(LBRACKET)) return true; return false; } - static final private boolean jj_3R_109() { - if (jj_scan_token(R)) return true; + static final private boolean jj_3R_59() { + if (jj_scan_token(PLUS)) return true; + return false; + } + + static final private boolean jj_3R_53() { Token xsp; xsp = jj_scanpos; - if (jj_3R_122()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_123()) { - jj_scanpos = xsp; - if (jj_3R_124()) { - jj_scanpos = xsp; - if (jj_3R_125()) { + if (jj_3R_59()) { jj_scanpos = xsp; - if (jj_3R_126()) return true; - } - } + if (jj_3R_60()) return true; } + if (jj_3R_52()) return true; return false; } - static final private boolean jj_3R_99() { + static final private boolean jj_3R_138() { + if (jj_scan_token(LBRACE)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_109()) { - jj_scanpos = xsp; - if (jj_3R_110()) { + if (jj_3R_145()) { jj_scanpos = xsp; - if (jj_3R_111()) return true; - } + if (jj_3R_146()) return true; } - if (jj_scan_token(LBRACKET)) return true; - if (jj_3R_112()) return true; - xsp = jj_scanpos; - if (jj_3R_113()) jj_scanpos = xsp; - if (jj_scan_token(RBRACKET)) return true; + if (jj_scan_token(RBRACE)) return true; return false; } - static final private boolean jj_3_8() { - if (jj_scan_token(OR)) return true; - if (jj_scan_token(LBRACKET)) return true; + static final private boolean jj_3R_96() { + if (jj_3R_101()) return true; return false; } - static final private boolean jj_3R_58() { - if (jj_scan_token(PLUS)) return true; + static final private boolean jj_3R_95() { + if (jj_3R_100()) return true; return false; } - static final private boolean jj_3R_52() { + static final private boolean jj_3R_94() { + if (jj_3R_99()) return true; + return false; + } + + static final private boolean jj_3R_93() { + if (jj_3R_98()) return true; + return false; + } + + static final private boolean jj_3R_49() { + if (jj_3R_52()) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3R_58()) { - jj_scanpos = xsp; - if (jj_3R_59()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_53()) { jj_scanpos = xsp; break; } } - if (jj_3R_51()) return true; return false; } - static final private boolean jj_3R_95() { - if (jj_3R_100()) return true; + static final private boolean jj_3R_153() { + if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_94() { - if (jj_3R_99()) return true; + static final private boolean jj_3R_151() { + if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_93() { - if (jj_3R_98()) return true; + static final private boolean jj_3R_123() { + if (jj_3R_138()) return true; return false; } static final private boolean jj_3R_92() { - if (jj_3R_97()) return true; + if (jj_3R_27()) return true; return false; } - static final private boolean jj_3R_48() { - if (jj_3R_51()) return true; + static final private boolean jj_3R_81() { Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_52()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_93()) { + jj_scanpos = xsp; + if (jj_3R_94()) { + jj_scanpos = xsp; + if (jj_3R_95()) { + jj_scanpos = xsp; + if (jj_3R_96()) return true; + } + } } return false; } - static final private boolean jj_3R_91() { - if (jj_3R_27()) return true; + static final private boolean jj_3R_127() { + if (jj_scan_token(MAX)) return true; + if (jj_scan_token(EQ)) return true; + if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_107() { + static final private boolean jj_3R_112() { + if (jj_scan_token(RMAX)) return true; if (jj_scan_token(EQ)) return true; if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_106() { - if (jj_3R_53()) return true; - if (jj_3R_33()) return true; + static final private boolean jj_3R_126() { + if (jj_scan_token(MIN)) return true; + if (jj_scan_token(EQ)) return true; + if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_80() { + static final private boolean jj_3R_111() { + if (jj_scan_token(RMIN)) return true; + if (jj_scan_token(EQ)) return true; + if (jj_scan_token(QMARK)) return true; + return false; + } + + static final private boolean jj_3R_125() { + if (jj_scan_token(EQ)) return true; + if (jj_scan_token(QMARK)) return true; + return false; + } + + static final private boolean jj_3R_109() { + if (jj_3R_122()) return true; + return false; + } + + static final private boolean jj_3R_97() { + if (jj_scan_token(COMMA)) return true; + if (jj_3R_34()) return true; + return false; + } + + static final private boolean jj_3R_50() { + if (jj_3R_54()) return true; + if (jj_3R_49()) return true; + return false; + } + + static final private boolean jj_3R_124() { + if (jj_3R_54()) return true; + if (jj_3R_34()) return true; + return false; + } + + static final private boolean jj_3R_110() { + if (jj_scan_token(R)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_92()) { + if (jj_3R_123()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_124()) { jj_scanpos = xsp; - if (jj_3R_93()) { + if (jj_3R_125()) { jj_scanpos = xsp; - if (jj_3R_94()) { + if (jj_3R_126()) { jj_scanpos = xsp; - if (jj_3R_95()) return true; + if (jj_3R_127()) return true; } } } return false; } - static final private boolean jj_3R_98() { - if (jj_scan_token(S)) return true; + static final private boolean jj_3R_100() { Token xsp; xsp = jj_scanpos; - if (jj_3R_106()) { + if (jj_3R_110()) { + jj_scanpos = xsp; + if (jj_3R_111()) { jj_scanpos = xsp; - if (jj_3R_107()) return true; + if (jj_3R_112()) return true; + } } if (jj_scan_token(LBRACKET)) return true; - if (jj_3R_33()) return true; + if (jj_3R_113()) return true; xsp = jj_scanpos; - if (jj_3R_108()) jj_scanpos = xsp; + if (jj_3R_114()) jj_scanpos = xsp; if (jj_scan_token(RBRACKET)) return true; return false; } - static final private boolean jj_3R_96() { - if (jj_scan_token(COMMA)) return true; - if (jj_3R_33()) return true; - return false; - } - - static final private boolean jj_3R_49() { - if (jj_3R_53()) return true; - if (jj_3R_48()) return true; - return false; - } - - static final private boolean jj_3R_46() { - if (jj_3R_48()) return true; + static final private boolean jj_3R_47() { + if (jj_3R_49()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_49()) { jj_scanpos = xsp; break; } + if (jj_3R_50()) { jj_scanpos = xsp; break; } } return false; } - static final private boolean jj_3_1() { - if (jj_scan_token(MODULE)) return true; - if (jj_3R_27()) return true; - if (jj_scan_token(EQ)) return true; - return false; - } - - static final private boolean jj_3R_79() { + static final private boolean jj_3R_80() { if (jj_scan_token(LPARENTH)) return true; - if (jj_3R_33()) return true; + if (jj_3R_34()) return true; if (jj_scan_token(RPARENTH)) return true; return false; } - static final private boolean jj_3R_90() { + static final private boolean jj_3R_91() { if (jj_scan_token(MAX)) return true; return false; } - static final private boolean jj_3R_47() { - if (jj_3R_50()) return true; - if (jj_3R_46()) return true; - return false; - } - - static final private boolean jj_3R_149() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_3R_33()) return true; - if (jj_scan_token(COMMA)) return true; - if (jj_3R_33()) return true; - if (jj_scan_token(RBRACKET)) return true; + static final private boolean jj_3_1() { + if (jj_scan_token(MODULE)) return true; + if (jj_3R_27()) return true; + if (jj_scan_token(EQ)) return true; return false; } - static final private boolean jj_3R_148() { - if (jj_scan_token(GE)) return true; - if (jj_3R_33()) return true; + static final private boolean jj_3R_48() { + if (jj_3R_51()) return true; + if (jj_3R_47()) return true; return false; } - static final private boolean jj_3R_45() { - if (jj_3R_46()) return true; + static final private boolean jj_3R_46() { + if (jj_3R_47()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_47()) { jj_scanpos = xsp; break; } + if (jj_3R_48()) { jj_scanpos = xsp; break; } } return false; } - static final private boolean jj_3R_147() { - if (jj_scan_token(LE)) return true; - if (jj_3R_33()) return true; + static final private boolean jj_3R_85() { + if (jj_scan_token(FALSE)) return true; return false; } - static final private boolean jj_3R_142() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_147()) { - jj_scanpos = xsp; - if (jj_3R_148()) { - jj_scanpos = xsp; - if (jj_3R_149()) return true; - } - } + static final private boolean jj_3R_84() { + if (jj_scan_token(TRUE)) return true; return false; } - static final private boolean jj_3R_84() { - if (jj_scan_token(FALSE)) return true; + static final private boolean jj_3R_45() { + if (jj_3R_46()) return true; return false; } - static final private boolean jj_3R_83() { - if (jj_scan_token(TRUE)) return true; + static final private boolean jj_3R_108() { + if (jj_scan_token(EQ)) return true; + if (jj_scan_token(QMARK)) return true; return false; } - static final private boolean jj_3R_44() { - if (jj_3R_45()) return true; + static final private boolean jj_3R_83() { + if (jj_scan_token(REG_DOUBLE)) return true; return false; } - static final private boolean jj_3R_82() { - if (jj_scan_token(REG_DOUBLE)) return true; + static final private boolean jj_3R_107() { + if (jj_3R_54()) return true; + if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_43() { + static final private boolean jj_3R_44() { if (jj_scan_token(NOT)) return true; - if (jj_3R_41()) return true; + if (jj_3R_42()) return true; return false; } - static final private boolean jj_3R_81() { + static final private boolean jj_3R_82() { if (jj_scan_token(REG_INT)) return true; return false; } - static final private boolean jj_3R_75() { + static final private boolean jj_3R_76() { Token xsp; xsp = jj_scanpos; - if (jj_3R_81()) { - jj_scanpos = xsp; if (jj_3R_82()) { jj_scanpos = xsp; if (jj_3R_83()) { jj_scanpos = xsp; - if (jj_3R_84()) return true; + if (jj_3R_84()) { + jj_scanpos = xsp; + if (jj_3R_85()) return true; } } } return false; } - static final private boolean jj_3R_89() { + static final private boolean jj_3R_90() { if (jj_scan_token(MIN)) return true; return false; } - static final private boolean jj_3R_41() { + static final private boolean jj_3R_99() { + if (jj_scan_token(S)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_43()) { + if (jj_3R_107()) { jj_scanpos = xsp; - if (jj_3R_44()) return true; + if (jj_3R_108()) return true; } + if (jj_scan_token(LBRACKET)) return true; + if (jj_3R_34()) return true; + xsp = jj_scanpos; + if (jj_3R_109()) jj_scanpos = xsp; + if (jj_scan_token(RBRACKET)) return true; return false; } - static final private boolean jj_3R_87() { + static final private boolean jj_3R_42() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_44()) { + jj_scanpos = xsp; + if (jj_3R_45()) return true; + } + return false; + } + + static final private boolean jj_3_10() { + if (jj_3R_29()) return true; + return false; + } + + static final private boolean jj_3_9() { + if (jj_3R_29()) return true; + return false; + } + + static final private boolean jj_3R_29() { + if (jj_3R_27()) return true; + return false; + } + + static final private boolean jj_3R_88() { if (jj_scan_token(MAX)) return true; return false; } - static final private boolean jj_3R_42() { + static final private boolean jj_3R_152() { + if (jj_3R_29()) return true; + return false; + } + + static final private boolean jj_3R_43() { if (jj_scan_token(AND)) return true; - if (jj_3R_41()) return true; + if (jj_3R_42()) return true; return false; } - static final private boolean jj_3R_39() { - if (jj_3R_41()) return true; + static final private boolean jj_3R_150() { + if (jj_3R_29()) return true; + return false; + } + + static final private boolean jj_3R_40() { + if (jj_3R_42()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_42()) { jj_scanpos = xsp; break; } + if (jj_3R_43()) { jj_scanpos = xsp; break; } } return false; } - static final private boolean jj_3R_63() { - if (jj_scan_token(LE)) return true; + static final private boolean jj_3R_89() { + if (jj_3R_34()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_97()) { jj_scanpos = xsp; break; } + } return false; } - static final private boolean jj_3R_62() { - if (jj_scan_token(GE)) return true; + static final private boolean jj_3R_149() { + if (jj_scan_token(LBRACKET)) return true; + if (jj_3R_34()) return true; + if (jj_scan_token(COMMA)) return true; + if (jj_3R_34()) return true; + if (jj_scan_token(RBRACKET)) return true; return false; } - static final private boolean jj_3_3() { - if (jj_scan_token(LABEL)) return true; + static final private boolean jj_3R_148() { + if (jj_scan_token(GE)) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_152()) { + jj_scanpos = xsp; + if (jj_3R_153()) return true; + } return false; } - static final private boolean jj_3R_88() { - if (jj_3R_33()) return true; + static final private boolean jj_3R_147() { + if (jj_scan_token(LE)) return true; Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_96()) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_150()) { + jj_scanpos = xsp; + if (jj_3R_151()) return true; } return false; } - static final private boolean jj_3R_61() { - if (jj_scan_token(LT)) return true; + static final private boolean jj_3_3() { + if (jj_scan_token(LABEL)) return true; return false; } - static final private boolean jj_3R_53() { + static final private boolean jj_3R_141() { + if (jj_scan_token(R)) return true; + return false; + } + + static final private boolean jj_3R_142() { Token xsp; xsp = jj_scanpos; - if (jj_3R_60()) { - jj_scanpos = xsp; - if (jj_3R_61()) { + if (jj_3R_147()) { jj_scanpos = xsp; - if (jj_3R_62()) { + if (jj_3R_148()) { jj_scanpos = xsp; - if (jj_3R_63()) return true; - } + if (jj_3R_149()) return true; } } return false; } - static final private boolean jj_3R_60() { - if (jj_scan_token(GT)) return true; + static final private boolean jj_3R_140() { + if (jj_scan_token(W)) return true; return false; } - static final private boolean jj_3R_146() { - if (jj_3R_33()) return true; + static final private boolean jj_3R_139() { + if (jj_scan_token(U)) return true; return false; } @@ -3404,77 +3440,71 @@ public class PrismParser implements PrismParserConstants { return false; } - static final private boolean jj_3R_40() { + static final private boolean jj_3R_41() { if (jj_scan_token(OR)) return true; - if (jj_3R_39()) return true; + if (jj_3R_40()) return true; return false; } - static final private boolean jj_3R_55() { - if (jj_scan_token(NE)) return true; + static final private boolean jj_3R_135() { + if (jj_scan_token(G)) return true; return false; } - static final private boolean jj_3R_37() { - if (jj_3R_39()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_40()) { jj_scanpos = xsp; break; } - } + static final private boolean jj_3R_134() { + if (jj_scan_token(F)) return true; return false; } - static final private boolean jj_3R_50() { + static final private boolean jj_3R_38() { + if (jj_3R_40()) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3R_54()) { - jj_scanpos = xsp; - if (jj_3R_55()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_41()) { jj_scanpos = xsp; break; } } return false; } - static final private boolean jj_3R_54() { - if (jj_scan_token(EQ)) return true; - return false; - } - - static final private boolean jj_3R_78() { + static final private boolean jj_3R_79() { if (jj_scan_token(FUNC)) return true; if (jj_scan_token(LPARENTH)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_89()) { - jj_scanpos = xsp; if (jj_3R_90()) { jj_scanpos = xsp; - if (jj_3R_91()) return true; + if (jj_3R_91()) { + jj_scanpos = xsp; + if (jj_3R_92()) return true; } } if (jj_scan_token(COMMA)) return true; - if (jj_3R_88()) return true; + if (jj_3R_89()) return true; if (jj_scan_token(RPARENTH)) return true; return false; } - static final private boolean jj_3R_115() { - if (jj_scan_token(INIT)) return true; - return false; - } - - static final private boolean jj_3R_141() { - if (jj_scan_token(R)) return true; + static final private boolean jj_3R_136() { + if (jj_3R_142()) return true; return false; } - static final private boolean jj_3R_140() { - if (jj_scan_token(W)) return true; + static final private boolean jj_3R_133() { + if (jj_3R_34()) return true; + Token xsp; + xsp = jj_scanpos; + if (jj_3R_139()) { + jj_scanpos = xsp; + if (jj_3R_140()) { + jj_scanpos = xsp; + if (jj_3R_141()) return true; + } + } return false; } - static final private boolean jj_3R_139() { - if (jj_scan_token(U)) return true; + static final private boolean jj_3R_132() { + if (jj_scan_token(X)) return true; return false; } @@ -3483,179 +3513,178 @@ public class PrismParser implements PrismParserConstants { return false; } - static final private boolean jj_3R_134() { - if (jj_scan_token(G)) return true; - return false; - } - - static final private boolean jj_3R_38() { + static final private boolean jj_3R_39() { if (jj_scan_token(IMPLIES)) return true; - if (jj_3R_37()) return true; + if (jj_3R_38()) return true; return false; } - static final private boolean jj_3R_133() { - if (jj_scan_token(F)) return true; + static final private boolean jj_3R_87() { + if (jj_scan_token(MIN)) return true; return false; } - static final private boolean jj_3R_35() { - if (jj_3R_37()) return true; + static final private boolean jj_3R_36() { + if (jj_3R_38()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_38()) { jj_scanpos = xsp; break; } + if (jj_3R_39()) { jj_scanpos = xsp; break; } } return false; } - static final private boolean jj_3R_86() { - if (jj_scan_token(MIN)) return true; - return false; - } - - static final private boolean jj_3R_136() { - if (jj_3R_33()) return true; - return false; - } - - static final private boolean jj_3R_77() { + static final private boolean jj_3R_78() { Token xsp; xsp = jj_scanpos; - if (jj_3R_86()) { + if (jj_3R_87()) { jj_scanpos = xsp; - if (jj_3R_87()) return true; + if (jj_3R_88()) return true; } if (jj_scan_token(LPARENTH)) return true; - if (jj_3R_88()) return true; + if (jj_3R_89()) return true; if (jj_scan_token(RPARENTH)) return true; return false; } - static final private boolean jj_3R_135() { - if (jj_3R_142()) return true; + static final private boolean jj_3R_64() { + if (jj_scan_token(LE)) return true; return false; } - static final private boolean jj_3R_132() { - if (jj_3R_33()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_139()) { - jj_scanpos = xsp; - if (jj_3R_140()) { - jj_scanpos = xsp; - if (jj_3R_141()) return true; - } - } + static final private boolean jj_3R_63() { + if (jj_scan_token(GE)) return true; return false; } - static final private boolean jj_3R_32() { - if (jj_scan_token(REG_IDENTPRIME)) return true; + static final private boolean jj_3R_37() { + if (jj_scan_token(QMARK)) return true; + if (jj_3R_36()) return true; + if (jj_scan_token(COLON)) return true; + if (jj_3R_35()) return true; return false; } - static final private boolean jj_3R_131() { - if (jj_scan_token(X)) return true; + static final private boolean jj_3R_62() { + if (jj_scan_token(LT)) return true; return false; } - static final private boolean jj_3R_114() { - if (jj_3R_27()) return true; + static final private boolean jj_3R_54() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_61()) { + jj_scanpos = xsp; + if (jj_3R_62()) { + jj_scanpos = xsp; + if (jj_3R_63()) { + jj_scanpos = xsp; + if (jj_3R_64()) return true; + } + } + } return false; } - static final private boolean jj_3R_36() { - if (jj_scan_token(QMARK)) return true; - if (jj_3R_35()) return true; - if (jj_scan_token(COLON)) return true; + static final private boolean jj_3R_61() { + if (jj_scan_token(GT)) return true; + return false; + } + + static final private boolean jj_3R_121() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_132()) { + jj_scanpos = xsp; + if (jj_3R_133()) { + jj_scanpos = xsp; + if (jj_3R_134()) { + jj_scanpos = xsp; + if (jj_3R_135()) return true; + } + } + } + xsp = jj_scanpos; + if (jj_3R_136()) jj_scanpos = xsp; if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_34() { - if (jj_3R_35()) return true; + static final private boolean jj_3R_35() { + if (jj_3R_36()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_36()) jj_scanpos = xsp; + if (jj_3R_37()) jj_scanpos = xsp; return false; } - static final private boolean jj_3R_85() { + static final private boolean jj_3R_86() { if (jj_scan_token(LPARENTH)) return true; - if (jj_3R_88()) return true; + if (jj_3R_89()) return true; if (jj_scan_token(RPARENTH)) return true; return false; } - static final private boolean jj_3R_27() { - if (jj_scan_token(REG_IDENT)) return true; + static final private boolean jj_3R_146() { + if (jj_3R_34()) return true; return false; } - static final private boolean jj_3R_76() { + static final private boolean jj_3R_77() { if (jj_3R_27()) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_85()) jj_scanpos = xsp; + if (jj_3R_86()) jj_scanpos = xsp; return false; } - static final private boolean jj_3R_120() { + static final private boolean jj_3R_56() { + if (jj_scan_token(NE)) return true; + return false; + } + + static final private boolean jj_3R_51() { Token xsp; xsp = jj_scanpos; - if (jj_3R_131()) { - jj_scanpos = xsp; - if (jj_3R_132()) { - jj_scanpos = xsp; - if (jj_3R_133()) { + if (jj_3R_55()) { jj_scanpos = xsp; - if (jj_3R_134()) return true; - } - } + if (jj_3R_56()) return true; } - xsp = jj_scanpos; - if (jj_3R_135()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_136()) jj_scanpos = xsp; return false; } - static final private boolean jj_3R_33() { - if (jj_3R_34()) return true; + static final private boolean jj_3R_55() { + if (jj_scan_token(EQ)) return true; return false; } - static final private boolean jj_3R_67() { - if (jj_scan_token(DIVIDE)) return true; + static final private boolean jj_3R_116() { + if (jj_scan_token(INIT)) return true; return false; } - static final private boolean jj_3R_100() { - if (jj_scan_token(DQUOTE)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_114()) { - jj_scanpos = xsp; - if (jj_3R_115()) return true; - } - if (jj_scan_token(DQUOTE)) return true; + static final private boolean jj_3R_34() { + if (jj_3R_35()) return true; return false; } - static final private boolean jj_3R_105() { - if (jj_3R_121()) return true; + static final private boolean jj_3R_68() { + if (jj_scan_token(DIVIDE)) return true; return false; } - static final private boolean jj_3R_74() { - if (jj_3R_80()) return true; + static final private boolean jj_3R_106() { + if (jj_3R_122()) return true; return false; } - static final private boolean jj_3R_113() { - if (jj_3R_121()) return true; + static final private boolean jj_3R_75() { + if (jj_3R_81()) return true; + return false; + } + + static final private boolean jj_3R_74() { + if (jj_3R_80()) return true; return false; } @@ -3664,19 +3693,24 @@ public class PrismParser implements PrismParserConstants { return false; } - static final private boolean jj_3R_31() { + static final private boolean jj_3R_32() { if (jj_scan_token(AND)) return true; - if (jj_3R_30()) return true; + if (jj_3R_31()) return true; return false; } - static final private boolean jj_3_9() { - if (jj_scan_token(DQUOTE)) return true; + static final private boolean jj_3R_72() { + if (jj_3R_78()) return true; return false; } - static final private boolean jj_3R_72() { - if (jj_3R_78()) return true; + static final private boolean jj_3R_105() { + if (jj_3R_121()) return true; + return false; + } + + static final private boolean jj_3R_33() { + if (jj_scan_token(REG_IDENTPRIME)) return true; return false; } @@ -3685,6 +3719,26 @@ public class PrismParser implements PrismParserConstants { return false; } + static final private boolean jj_3R_144() { + if (jj_scan_token(MAX)) return true; + return false; + } + + static final private boolean jj_3R_115() { + if (jj_3R_27()) return true; + return false; + } + + static final private boolean jj_3R_143() { + if (jj_scan_token(MIN)) return true; + return false; + } + + static final private boolean jj_3R_70() { + if (jj_3R_76()) return true; + return false; + } + static private boolean jj_initialized_once = false; static public PrismParserTokenManager token_source; static SimpleCharStream jj_input_stream; @@ -3695,7 +3749,7 @@ public class PrismParser implements PrismParserConstants { static public boolean lookingAhead = false; static private boolean jj_semLA; static private int jj_gen; - static final private int[] jj_la1 = new int[78]; + static final private int[] jj_la1 = new int[79]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -3705,15 +3759,15 @@ public class PrismParser implements PrismParserConstants { jj_la1_2(); } private static void jj_la1_0() { - jj_la1_0 = new int[] {0x154a4130,0x11424130,0x4080000,0xe2c0a010,0x0,0xe2c0a010,0xe2c0a010,0x0,0xe2c0a010,0x11000120,0x200088,0x200088,0x0,0x10,0x0,0x80000,0x80000,0x8,0x0,0x0,0x0,0x0,0xe280a000,0x0,0x0,0x0,0x2800000,0x2800000,0xe280a000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe280a000,0x0,0x0,0x0,0x0,0x0,0x0,0xe280a000,0xe280a000,0x0,0x2800000,0x2800000,0x0,0x2000,0xe0000000,0x2800000,0xe0000000,0x0,0x0,0x2800000,0x0,0xea85a000,0x0,0xe280a000,0x0,0x0,0x0,0x0,0x2800000,0x0,0x0,0xe280a000,0x110040,0x80000,0x0,0x0,0x0,}; + jj_la1_0 = new int[] {0x154a4130,0x11424130,0x4080000,0xe2c0a010,0x0,0xe2c0a010,0xe2c0a010,0x0,0xe2c0a010,0x11000120,0x200088,0x200088,0x0,0x10,0x0,0x80000,0x80000,0x8,0x0,0x0,0x0,0x0,0xe280a000,0x0,0x0,0x0,0x2800000,0x2800000,0xe280a000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe280a000,0x0,0x0,0x0,0x0,0x0,0x0,0xe280a000,0xe280a000,0x0,0x2800000,0x2800000,0x0,0x2000,0xe0000000,0x2800000,0xe0000000,0x0,0x0,0x2800000,0x0,0xea85a000,0x0,0xe280a000,0xe280a000,0x0,0x0,0x0,0x0,0x2800000,0x0,0x0,0xe280a000,0x110040,0x80000,0x0,0x0,0x0,}; } private static void jj_la1_1() { - jj_la1_1 = new int[] {0x30f,0x107,0x208,0x4024f6,0x80000,0x4024f6,0x4024f6,0x80000,0x4024f6,0x101,0x0,0x0,0x6,0x6,0x10000000,0x0,0x0,0x1000000,0x0,0x1000000,0x0,0x0,0x4024f0,0x4000,0x400400,0x100000,0x0,0x0,0x14024f0,0x0,0x1000000,0x100000,0x4000000,0x100000,0x100000,0x4000000,0x400000,0x0,0x10000,0x8000,0x4000,0x4024f0,0x30000000,0xc0000000,0x0,0x0,0x0,0x0,0x4004f0,0x4004f0,0x400000,0x0,0x0,0x100000,0x400,0xf0,0xd0000000,0x0,0x4000000,0x4000000,0x0,0x1840,0x4024f0,0x1000000,0x4024f0,0x1000000,0xd0000000,0x4000000,0x4000000,0xd0000000,0x70,0x4000000,0x4024f0,0x80,0x0,0x30000000,0xc0000000,0x40000,}; + jj_la1_1 = new int[] {0x30f,0x107,0x208,0x4024f6,0x80000,0x4024f6,0x4024f6,0x80000,0x4024f6,0x101,0x0,0x0,0x6,0x6,0x10000000,0x0,0x0,0x1000000,0x0,0x1000000,0x0,0x0,0x4024f0,0x4000,0x400400,0x100000,0x0,0x0,0x14024f0,0x0,0x1000000,0x100000,0x4000000,0x100000,0x100000,0x4000000,0x400000,0x0,0x10000,0x8000,0x4000,0x4024f0,0x30000000,0xc0000000,0x0,0x0,0x0,0x0,0x4004f0,0x4004f0,0x400000,0x0,0x0,0x100000,0x400,0xf0,0xd0000000,0x0,0x4000000,0x4000000,0x0,0x1840,0x4024f0,0x1000000,0x4024f0,0x4024f0,0x1000000,0xd0000000,0x4000000,0x4000000,0xd0000000,0x70,0x4000000,0x4024f0,0x80,0x0,0x30000000,0xc0000000,0x40000,}; } private static void jj_la1_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x2e08,0x0,0x2e08,0x2e08,0x0,0x2e08,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x0,0x2000,0x4,0x2e08,0x0,0x0,0x0,0x2000,0x2000,0x2e08,0x2000,0x0,0x0,0x20,0x0,0x0,0x20,0x2000,0x100,0x0,0x0,0x0,0x2e08,0x0,0x3,0xc,0xc,0x30,0x30,0x2e08,0x2e00,0x0,0x0,0x2000,0x0,0xc00,0x200,0x3,0x0,0x0,0x0,0x0,0x0,0x2e08,0x3,0x2e08,0x3,0x3,0x0,0x0,0x3,0x0,0x0,0x2e08,0x0,0x2000,0x0,0x3,0x0,}; + jj_la1_2 = new int[] {0x0,0x0,0x0,0x2e08,0x0,0x2e08,0x2e08,0x0,0x2e08,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x0,0x2000,0x4,0x2e08,0x0,0x0,0x0,0x2000,0x2000,0x2e08,0x2000,0x0,0x0,0x20,0x0,0x0,0x20,0x2000,0x100,0x0,0x0,0x0,0x2e08,0x0,0x3,0xc,0xc,0x30,0x30,0x2e08,0x2e00,0x0,0x0,0x2000,0x0,0xc00,0x200,0x3,0x0,0x0,0x0,0x0,0x0,0x2e08,0x3,0x2e08,0x2e08,0x3,0x3,0x0,0x0,0x3,0x0,0x0,0x2e08,0x0,0x2000,0x0,0x3,0x0,}; } - static final private JJCalls[] jj_2_rtns = new JJCalls[9]; + static final private JJCalls[] jj_2_rtns = new JJCalls[11]; static private boolean jj_rescan = false; static private int jj_gc = 0; @@ -3733,7 +3787,7 @@ public class PrismParser implements PrismParserConstants { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 78; i++) jj_la1[i] = -1; + for (int i = 0; i < 79; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -3746,7 +3800,7 @@ public class PrismParser implements PrismParserConstants { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 78; i++) jj_la1[i] = -1; + for (int i = 0; i < 79; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -3763,7 +3817,7 @@ public class PrismParser implements PrismParserConstants { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 78; i++) jj_la1[i] = -1; + for (int i = 0; i < 79; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -3773,7 +3827,7 @@ public class PrismParser implements PrismParserConstants { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 78; i++) jj_la1[i] = -1; + for (int i = 0; i < 79; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -3789,7 +3843,7 @@ public class PrismParser implements PrismParserConstants { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 78; i++) jj_la1[i] = -1; + for (int i = 0; i < 79; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -3798,7 +3852,7 @@ public class PrismParser implements PrismParserConstants { token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 78; i++) jj_la1[i] = -1; + for (int i = 0; i < 79; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -3917,7 +3971,7 @@ public class PrismParser implements PrismParserConstants { la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 78; i++) { + for (int i = 0; i < 79; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1< Identifier() ) rm = RenamedModule() { mf.addRenamedModule(rm); } | // Module m = Module() { mf.addModule(m); } | @@ -608,6 +608,7 @@ void LabelDef(LabelList labelList) throws PrismLangException : Expression name = null, expr = null; } { + // Lookahead required because of the error handling clause below LOOKAHEAD(