http://git-wip-us.apache.org/repos/asf/cayenne/blob/05a77250/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java index a5b3d00..e1d31ad 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java @@ -108,181 +108,189 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) switch (pos) { case 0: - if ((active0 & 0x387f4f00004e006L) != 0L) + if ((active0 & 0x18030000000000L) != 0L) { - jjmatchedKind = 59; - return 74; + jjmatchedKind = 69; + return 36; } if ((active0 & 0x80000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; return 6; } if ((active0 & 0x8L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; return 63; } - if ((active0 & 0x18030000000000L) != 0L) + if ((active0 & 0xffc7f4f00004e006L) != 0L || (active1 & 0xeL) != 0L) { - jjmatchedKind = 59; - return 36; + jjmatchedKind = 69; + return 74; } return -1; case 1: - if ((active0 & 0x80000000000L) != 0L) + if ((active0 & 0x18000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 1; - return 5; + return 35; } - if ((active0 & 0x387f7f000046004L) != 0L) + if ((active0 & 0x8002L) != 0L) + return 74; + if ((active0 & 0x80000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 1; - return 74; + return 5; } if ((active0 & 0x8L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 1; return 64; } - if ((active0 & 0x8002L) != 0L) - return 74; - if ((active0 & 0x18000000000000L) != 0L) + if ((active0 & 0xffc7f7f000046004L) != 0L || (active1 & 0xeL) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 1; - return 35; + return 74; } return -1; case 2: - if ((active0 & 0x282ff0000046000L) != 0L) + if ((active0 & 0x5e0500f00000000cL) != 0L) + return 74; + if ((active0 & 0xa1c2ff0000046000L) != 0L || (active1 & 0xaL) != 0L) { - jjmatchedKind = 59; - jjmatchedPos = 2; + if (jjmatchedPos != 2) + { + jjmatchedKind = 69; + jjmatchedPos = 2; + } return 74; } if ((active0 & 0x18000000000000L) != 0L) { - jjmatchedKind = 59; - jjmatchedPos = 2; + if (jjmatchedPos != 2) + { + jjmatchedKind = 69; + jjmatchedPos = 2; + } return 34; } - if ((active0 & 0x500f00000000cL) != 0L) - return 74; return -1; case 3: - if ((active0 & 0x200f70000040000L) != 0L) + if ((active0 & 0x2142080000006000L) != 0L) + return 74; + if ((active0 & 0x18000000000000L) != 0L) { if (jjmatchedPos != 3) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 3; } - return 74; + return 33; } - if ((active0 & 0x18000000000000L) != 0L) + if ((active0 & 0xda80f70000040000L) != 0L || (active1 & 0x8L) != 0L) { if (jjmatchedPos != 3) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 3; } - return 33; - } - if ((active0 & 0x2080000006000L) != 0L) return 74; + } return -1; case 4: + if ((active0 & 0x80310000000000L) != 0L) + return 74; if ((active0 & 0x18000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 4; return 32; } - if ((active0 & 0xc60000044000L) != 0L) + if ((active0 & 0xda00c60000044000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 4; return 74; } - if ((active0 & 0x310000000000L) != 0L) - return 74; return -1; case 5: - if ((active0 & 0x40000044000L) != 0L) + if ((active0 & 0x18000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 5; - return 74; + return 31; } - if ((active0 & 0xc20000000000L) != 0L) + if ((active0 & 0xc000c20000000000L) != 0L) return 74; - if ((active0 & 0x18000000000000L) != 0L) + if ((active0 & 0x1a00040000044000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 5; - return 31; + return 74; } return -1; case 6: - if ((active0 & 0x40000004000L) != 0L) + if ((active0 & 0x18000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 6; - return 74; + return 30; } if ((active0 & 0x40000L) != 0L) return 74; - if ((active0 & 0x18000000000000L) != 0L) + if ((active0 & 0x1a00040000004000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 6; - return 30; + return 74; } return -1; case 7: - if ((active0 & 0x8040000004000L) != 0L) + if ((active0 & 0x1a08040000004000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 7; return 74; } if ((active0 & 0x10000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 7; return 29; } return -1; case 8: + if ((active0 & 0x1200040000000000L) != 0L) + return 74; if ((active0 & 0x10000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 8; return 28; } - if ((active0 & 0x8000000004000L) != 0L) + if ((active0 & 0x808000000004000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 8; return 74; } - if ((active0 & 0x40000000000L) != 0L) - return 74; return -1; case 9: + if ((active0 & 0x800000000000000L) != 0L) + return 74; if ((active0 & 0x10000000000000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 9; return 27; } if ((active0 & 0x8000000004000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 9; return 74; } @@ -290,19 +298,19 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) case 10: if ((active0 & 0x10000000000000L) != 0L) return 26; + if ((active0 & 0x8000000000000L) != 0L) + return 74; if ((active0 & 0x4000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 10; return 74; } - if ((active0 & 0x8000000000000L) != 0L) - return 74; return -1; case 11: if ((active0 & 0x4000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 11; return 74; } @@ -310,7 +318,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) case 12: if ((active0 & 0x4000L) != 0L) { - jjmatchedKind = 59; + jjmatchedKind = 69; jjmatchedPos = 12; return 74; } @@ -335,21 +343,21 @@ private int jjMoveStringLiteralDfa0_0() { case 33: jjmatchedKind = 4; - return jjMoveStringLiteralDfa1_0(0x80L); + return jjMoveStringLiteralDfa1_0(0x80L, 0x0L); case 34: - return jjStopAtPos(0, 64); + return jjStopAtPos(0, 74); case 36: - return jjStopAtPos(0, 54); + return jjStopAtPos(0, 64); case 38: return jjStopAtPos(0, 22); case 39: - return jjStopAtPos(0, 63); + return jjStopAtPos(0, 73); case 40: return jjStopAtPos(0, 16); case 41: return jjStopAtPos(0, 17); case 42: - return jjStopAtPos(0, 58); + return jjStopAtPos(0, 68); case 43: return jjStopAtPos(0, 25); case 44: @@ -360,41 +368,47 @@ private int jjMoveStringLiteralDfa0_0() return jjStopAtPos(0, 27); case 60: jjmatchedKind = 10; - return jjMoveStringLiteralDfa1_0(0x800300L); + return jjMoveStringLiteralDfa1_0(0x800300L, 0x0L); case 61: jjmatchedKind = 5; - return jjMoveStringLiteralDfa1_0(0x40L); + return jjMoveStringLiteralDfa1_0(0x40L, 0x0L); case 62: jjmatchedKind = 11; - return jjMoveStringLiteralDfa1_0(0x1001000L); + return jjMoveStringLiteralDfa1_0(0x1001000L, 0x0L); case 94: return jjStopAtPos(0, 21); case 97: - return jjMoveStringLiteralDfa1_0(0x1001000000004L); + return jjMoveStringLiteralDfa1_0(0x1001000000004L, 0x0L); case 98: - return jjMoveStringLiteralDfa1_0(0x40000L); + return jjMoveStringLiteralDfa1_0(0x40000L, 0x0L); case 99: - return jjMoveStringLiteralDfa1_0(0x18030000000000L); + return jjMoveStringLiteralDfa1_0(0x18030000000000L, 0x0L); case 100: - return jjMoveStringLiteralDfa1_0(0x100000000000000L); + return jjMoveStringLiteralDfa1_0(0x1e00000000000000L, 0x4L); case 101: - return jjMoveStringLiteralDfa1_0(0x200000000000000L); + return jjMoveStringLiteralDfa1_0(0x0L, 0x8L); + case 104: + return jjMoveStringLiteralDfa1_0(0x2000000000000000L, 0x0L); case 105: - return jjMoveStringLiteralDfa1_0(0x8000L); + return jjMoveStringLiteralDfa1_0(0x8000L, 0x0L); case 108: - return jjMoveStringLiteralDfa1_0(0xd00000006000L); + return jjMoveStringLiteralDfa1_0(0xd00000006000L, 0x0L); case 109: - return jjMoveStringLiteralDfa1_0(0x4006000000000L); + return jjMoveStringLiteralDfa1_0(0x4084006000000000L, 0x0L); case 110: - return jjMoveStringLiteralDfa1_0(0x8L); + return jjMoveStringLiteralDfa1_0(0x8L, 0x0L); case 111: - return jjMoveStringLiteralDfa1_0(0x80000000000002L); + return jjMoveStringLiteralDfa1_0(0x2L, 0x2L); case 115: - return jjMoveStringLiteralDfa1_0(0x2048000000000L); + return jjMoveStringLiteralDfa1_0(0x8002048000000000L, 0x0L); case 116: - return jjMoveStringLiteralDfa1_0(0x80000000000L); + return jjMoveStringLiteralDfa1_0(0x80000000000L, 0x0L); case 117: - return jjMoveStringLiteralDfa1_0(0x200000000000L); + return jjMoveStringLiteralDfa1_0(0x200000000000L, 0x0L); + case 119: + return jjMoveStringLiteralDfa1_0(0x100000000000000L, 0x0L); + case 121: + return jjMoveStringLiteralDfa1_0(0x40000000000000L, 0x0L); case 124: return jjStopAtPos(0, 20); case 126: @@ -403,11 +417,11 @@ private int jjMoveStringLiteralDfa0_0() return jjMoveNfa_0(3, 0); } } -private int jjMoveStringLiteralDfa1_0(long active0) +private int jjMoveStringLiteralDfa1_0(long active0, long active1) { try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(0, active0, 0L); + jjStopStringLiteralDfa_0(0, active0, active1); return 1; } switch(curChar) @@ -433,83 +447,90 @@ private int jjMoveStringLiteralDfa1_0(long active0) return jjStopAtPos(1, 24); break; case 97: - return jjMoveStringLiteralDfa2_0(active0, 0x4000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x1e00004000000000L, active1, 0L); case 98: - return jjMoveStringLiteralDfa2_0(active0, 0x181000000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000L, active1, 0x6L); case 101: - return jjMoveStringLiteralDfa2_0(active0, 0x400000040000L); + return jjMoveStringLiteralDfa2_0(active0, 0x8140400000040000L, active1, 0L); case 105: - return jjMoveStringLiteralDfa2_0(active0, 0x2000006000L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000002000006000L, active1, 0L); case 110: if ((active0 & 0x8000L) != 0L) return jjStartNfaWithStates_0(1, 15, 74); - return jjMoveStringLiteralDfa2_0(active0, 0x200000000000004L); + return jjMoveStringLiteralDfa2_0(active0, 0x4L, active1, 0x8L); case 111: - return jjMoveStringLiteralDfa2_0(active0, 0x4930000000008L); + return jjMoveStringLiteralDfa2_0(active0, 0x2084930000000008L, active1, 0L); case 112: - return jjMoveStringLiteralDfa2_0(active0, 0x200000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x200000000000L, active1, 0L); case 113: - return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L, active1, 0L); case 114: if ((active0 & 0x2L) != 0L) return jjStartNfaWithStates_0(1, 1, 74); - return jjMoveStringLiteralDfa2_0(active0, 0x80000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x80000000000L, active1, 0L); case 117: - return jjMoveStringLiteralDfa2_0(active0, 0x18048000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x18048000000000L, active1, 0L); case 118: - return jjMoveStringLiteralDfa2_0(active0, 0x1000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x1000000000L, active1, 0L); default : break; } - return jjStartNfa_0(0, active0, 0L); + return jjStartNfa_0(0, active0, active1); } -private int jjMoveStringLiteralDfa2_0(long old0, long active0) +private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(0, old0, 0L); + if (((active0 &= old0) | (active1 &= old1)) == 0L) + return jjStartNfa_0(0, old0, old1); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(1, active0, 0L); + jjStopStringLiteralDfa_0(1, active0, active1); return 2; } switch(curChar) { case 58: - if ((active0 & 0x100000000000000L) != 0L) - return jjStopAtPos(2, 56); + if ((active1 & 0x4L) != 0L) + return jjStopAtPos(2, 66); break; + case 97: + return jjMoveStringLiteralDfa3_0(active0, 0x40000000000000L, active1, 0L); case 98: - return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0L); case 99: - return jjMoveStringLiteralDfa3_0(active0, 0x800000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x8000800000000000L, active1, 0L); case 100: if ((active0 & 0x4L) != 0L) return jjStartNfaWithStates_0(2, 2, 74); else if ((active0 & 0x4000000000000L) != 0L) return jjStartNfaWithStates_0(2, 50, 74); break; + case 101: + return jjMoveStringLiteralDfa3_0(active0, 0x100000000000000L, active1, 0L); case 103: if ((active0 & 0x1000000000L) != 0L) return jjStartNfaWithStates_0(2, 36, 74); break; case 105: - return jjMoveStringLiteralDfa3_0(active0, 0x80000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x80000000000L, active1, 0L); case 106: - return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2L); case 107: - return jjMoveStringLiteralDfa3_0(active0, 0x6000L); + return jjMoveStringLiteralDfa3_0(active0, 0x6000L, active1, 0L); case 109: if ((active0 & 0x8000000000L) != 0L) return jjStartNfaWithStates_0(2, 39, 74); break; case 110: if ((active0 & 0x2000000000L) != 0L) - return jjStartNfaWithStates_0(2, 37, 74); - return jjMoveStringLiteralDfa3_0(active0, 0x420000000000L); + { + jjmatchedKind = 37; + jjmatchedPos = 2; + } + return jjMoveStringLiteralDfa3_0(active0, 0x4080420000000000L, active1, 0L); case 112: - return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0L); case 114: - return jjMoveStringLiteralDfa3_0(active0, 0x1a000000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x1a000000000000L, active1, 0L); case 115: if ((active0 & 0x1000000000000L) != 0L) return jjStartNfaWithStates_0(2, 48, 74); @@ -517,90 +538,119 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0) case 116: if ((active0 & 0x8L) != 0L) return jjStartNfaWithStates_0(2, 3, 74); - return jjMoveStringLiteralDfa3_0(active0, 0x40000L); + return jjMoveStringLiteralDfa3_0(active0, 0x40000L, active1, 0L); case 117: - return jjMoveStringLiteralDfa3_0(active0, 0x200010000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x2000010000000000L, active1, 0x8L); case 119: - return jjMoveStringLiteralDfa3_0(active0, 0x100000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x100000000000L, active1, 0L); case 120: if ((active0 & 0x4000000000L) != 0L) return jjStartNfaWithStates_0(2, 38, 74); break; + case 121: + if ((active0 & 0x400000000000000L) != 0L) + { + jjmatchedKind = 58; + jjmatchedPos = 2; + } + return jjMoveStringLiteralDfa3_0(active0, 0x1a00000000000000L, active1, 0L); default : break; } - return jjStartNfa_0(1, active0, 0L); + return jjStartNfa_0(1, active0, active1); } -private int jjMoveStringLiteralDfa3_0(long old0, long active0) +private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(1, old0, 0L); + if (((active0 &= old0) | (active1 &= old1)) == 0L) + return jjStartNfa_0(1, old0, old1); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(2, active0, 0L); + jjStopStringLiteralDfa_0(2, active0, active1); return 3; } switch(curChar) { case 58: - if ((active0 & 0x80000000000000L) != 0L) - return jjStopAtPos(3, 55); + if ((active1 & 0x2L) != 0L) + return jjStopAtPos(3, 65); break; + case 79: + return jjMoveStringLiteralDfa4_0(active0, 0x1a00000000000000L, active1, 0L); case 97: - return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, active1, 0L); case 99: - return jjMoveStringLiteralDfa4_0(active0, 0x20000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x20000000000L, active1, 0L); case 101: if ((active0 & 0x2000L) != 0L) { jjmatchedKind = 13; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x300000004000L); + return jjMoveStringLiteralDfa4_0(active0, 0x300000004000L, active1, 0L); case 103: - return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L); + case 107: + if ((active0 & 0x100000000000000L) != 0L) + return jjStartNfaWithStates_0(3, 56, 74); + break; case 109: if ((active0 & 0x80000000000L) != 0L) return jjStartNfaWithStates_0(3, 43, 74); - return jjMoveStringLiteralDfa4_0(active0, 0x200000000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8L); case 110: - return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1, 0L); + case 111: + return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000000L, active1, 0L); case 114: - return jjMoveStringLiteralDfa4_0(active0, 0x18000000000000L); + if ((active0 & 0x40000000000000L) != 0L) + return jjStartNfaWithStates_0(3, 54, 74); + else if ((active0 & 0x2000000000000000L) != 0L) + return jjStartNfaWithStates_0(3, 61, 74); + return jjMoveStringLiteralDfa4_0(active0, 0x18000000000000L, active1, 0L); case 115: - return jjMoveStringLiteralDfa4_0(active0, 0x40000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x40000000000L, active1, 0L); case 116: if ((active0 & 0x2000000000000L) != 0L) return jjStartNfaWithStates_0(3, 49, 74); - break; + return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L, active1, 0L); + case 117: + return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000000L, active1, 0L); case 119: - return jjMoveStringLiteralDfa4_0(active0, 0x40000L); + return jjMoveStringLiteralDfa4_0(active0, 0x40000L, active1, 0L); default : break; } - return jjStartNfa_0(2, active0, 0L); + return jjStartNfa_0(2, active0, active1); } -private int jjMoveStringLiteralDfa4_0(long old0, long active0) +private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(2, old0, 0L); + if (((active0 &= old0) | (active1 &= old1)) == 0L) + return jjStartNfa_0(2, old0, old1); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(3, active0, 0L); + jjStopStringLiteralDfa_0(3, active0, active1); return 4; } switch(curChar) { case 58: - if ((active0 & 0x200000000000000L) != 0L) - return jjStopAtPos(4, 57); + if ((active1 & 0x8L) != 0L) + return jjStopAtPos(4, 67); break; case 73: - return jjMoveStringLiteralDfa5_0(active0, 0x4000L); + return jjMoveStringLiteralDfa5_0(active0, 0x4000L, active1, 0L); case 97: - return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L, active1, 0L); case 101: - return jjMoveStringLiteralDfa5_0(active0, 0x18000000040000L); + return jjMoveStringLiteralDfa5_0(active0, 0x18000000040000L, active1, 0L); + case 102: + return jjMoveStringLiteralDfa5_0(active0, 0x1a00000000000000L, active1, 0L); + case 104: + if ((active0 & 0x80000000000000L) != 0L) + return jjStartNfaWithStates_0(4, 55, 74); + break; + case 110: + return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0L); case 114: if ((active0 & 0x100000000000L) != 0L) return jjStartNfaWithStates_0(4, 44, 74); @@ -610,16 +660,16 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0) case 116: if ((active0 & 0x10000000000L) != 0L) return jjStartNfaWithStates_0(4, 40, 74); - return jjMoveStringLiteralDfa5_0(active0, 0xc40000000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x4000c40000000000L, active1, 0L); default : break; } - return jjStartNfa_0(3, active0, 0L); + return jjStartNfa_0(3, active0, active1); } -private int jjMoveStringLiteralDfa5_0(long old0, long active0) +private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(3, old0, 0L); + if (((active0 &= old0) | (active1 &= old1)) == 0L) + return jjStartNfa_0(3, old0, old1); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(4, active0, 0L); @@ -627,9 +677,21 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0) } switch(curChar) { + case 77: + return jjMoveStringLiteralDfa6_0(active0, 0x800000000000000L); + case 87: + return jjMoveStringLiteralDfa6_0(active0, 0x1000000000000000L); + case 89: + return jjMoveStringLiteralDfa6_0(active0, 0x200000000000000L); + case 100: + if ((active0 & 0x8000000000000000L) != 0L) + return jjStartNfaWithStates_0(5, 63, 74); + break; case 101: if ((active0 & 0x800000000000L) != 0L) return jjStartNfaWithStates_0(5, 47, 74); + else if ((active0 & 0x4000000000000000L) != 0L) + return jjStartNfaWithStates_0(5, 62, 74); return jjMoveStringLiteralDfa6_0(active0, 0x40000L); case 103: return jjMoveStringLiteralDfa6_0(active0, 0x4000L); @@ -661,12 +723,16 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0) } switch(curChar) { + case 101: + return jjMoveStringLiteralDfa7_0(active0, 0x1200000000000000L); case 105: return jjMoveStringLiteralDfa7_0(active0, 0x40000000000L); case 110: if ((active0 & 0x40000L) != 0L) return jjStartNfaWithStates_0(6, 18, 74); return jjMoveStringLiteralDfa7_0(active0, 0x4000L); + case 111: + return jjMoveStringLiteralDfa7_0(active0, 0x800000000000000L); case 116: return jjMoveStringLiteralDfa7_0(active0, 0x18000000000000L); default : @@ -689,8 +755,12 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0) return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000L); case 84: return jjMoveStringLiteralDfa8_0(active0, 0x10000000000000L); + case 97: + return jjMoveStringLiteralDfa8_0(active0, 0x200000000000000L); + case 101: + return jjMoveStringLiteralDfa8_0(active0, 0x1000000000000000L); case 110: - return jjMoveStringLiteralDfa8_0(active0, 0x40000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0x800040000000000L); case 111: return jjMoveStringLiteralDfa8_0(active0, 0x4000L); default : @@ -717,8 +787,16 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0) break; case 105: return jjMoveStringLiteralDfa9_0(active0, 0x10000000000000L); + case 107: + if ((active0 & 0x1000000000000000L) != 0L) + return jjStartNfaWithStates_0(8, 60, 74); + break; case 114: + if ((active0 & 0x200000000000000L) != 0L) + return jjStartNfaWithStates_0(8, 57, 74); return jjMoveStringLiteralDfa9_0(active0, 0x4000L); + case 116: + return jjMoveStringLiteralDfa9_0(active0, 0x800000000000000L); default : break; } @@ -737,6 +815,10 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0) { case 101: return jjMoveStringLiteralDfa10_0(active0, 0x4000L); + case 104: + if ((active0 & 0x800000000000000L) != 0L) + return jjStartNfaWithStates_0(9, 59, 74); + break; case 109: return jjMoveStringLiteralDfa10_0(active0, 0x10000000000000L); case 116: @@ -855,324 +937,324 @@ private int jjMoveNfa_0(int startState, int curPos) case 26: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 32: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 63: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 5: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 64: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 30: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 29: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 35: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 27: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 33: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 6: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 74: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; @@ -1183,137 +1265,137 @@ private int jjMoveNfa_0(int startState, int curPos) jjCheckNAdd(42); if ((0x3fe000000000000L & l) != 0L) { - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddTwoStates(39, 40); } else if (curChar == 48) { - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddStates(9, 11); } break; case 31: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 36: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 28: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 34: if ((0x3ff000000000000L & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } else if (curChar == 43) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; } else if (curChar == 46) jjstateSet[jjnewStateCnt++] = 70; if ((0x3ff000000000000L & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } else if (curChar == 43) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); } break; case 38: if ((0x3fe000000000000L & l) == 0L) break; - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddTwoStates(39, 40); break; case 39: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddTwoStates(39, 40); break; case 41: @@ -1323,8 +1405,8 @@ private int jjMoveNfa_0(int startState, int curPos) case 42: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 72) - kind = 72; + if (kind > 82) + kind = 82; jjCheckNAddStates(12, 14); break; case 44: @@ -1334,8 +1416,8 @@ private int jjMoveNfa_0(int startState, int curPos) case 45: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 72) - kind = 72; + if (kind > 82) + kind = 82; jjCheckNAddTwoStates(45, 46); break; case 47: @@ -1349,15 +1431,15 @@ private int jjMoveNfa_0(int startState, int curPos) case 49: if (curChar != 46) break; - if (kind > 72) - kind = 72; + if (kind > 82) + kind = 82; jjCheckNAddStates(15, 17); break; case 50: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 72) - kind = 72; + if (kind > 82) + kind = 82; jjCheckNAddStates(15, 17); break; case 51: @@ -1371,8 +1453,8 @@ private int jjMoveNfa_0(int startState, int curPos) case 54: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 72) - kind = 72; + if (kind > 82) + kind = 82; jjCheckNAddTwoStates(54, 46); break; case 55: @@ -1382,36 +1464,36 @@ private int jjMoveNfa_0(int startState, int curPos) case 56: if (curChar != 48) break; - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddStates(9, 11); break; case 57: if ((0xff000000000000L & l) == 0L) break; - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddTwoStates(57, 40); break; case 59: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddTwoStates(59, 40); break; case 67: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); break; case 68: if (curChar != 43) break; - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAdd(69); break; case 69: @@ -1421,20 +1503,20 @@ private int jjMoveNfa_0(int startState, int curPos) case 71: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(18, 20); break; case 72: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); break; case 73: - if (curChar == 43 && kind > 60) - kind = 60; + if (curChar == 43 && kind > 70) + kind = 70; break; default : break; } @@ -1450,14 +1532,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 26: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 115) @@ -1466,14 +1548,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 32: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 110) @@ -1482,14 +1564,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 63: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 111) @@ -1500,14 +1582,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 5: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 117) @@ -1516,14 +1598,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 64: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 119) @@ -1535,14 +1617,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 30: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 84) @@ -1551,14 +1633,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 29: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 105) @@ -1567,14 +1649,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 35: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 114) @@ -1583,14 +1665,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 27: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 101) @@ -1599,14 +1681,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 33: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 101) @@ -1615,14 +1697,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 6: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 114) @@ -1631,22 +1713,22 @@ private int jjMoveNfa_0(int startState, int curPos) case 74: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } break; case 3: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(21, 25); } if (curChar == 110) @@ -1667,14 +1749,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 31: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 116) @@ -1683,14 +1765,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 36: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 117) @@ -1699,14 +1781,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 28: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 109) @@ -1715,14 +1797,14 @@ private int jjMoveNfa_0(int startState, int curPos) case 34: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); } if (curChar == 114) @@ -1825,16 +1907,16 @@ private int jjMoveNfa_0(int startState, int curPos) jjstateSet[jjnewStateCnt++] = 36; break; case 40: - if ((0x110000001100L & l) != 0L && kind > 71) - kind = 71; + if ((0x110000001100L & l) != 0L && kind > 81) + kind = 81; break; case 43: if ((0x2000000020L & l) != 0L) jjAddStates(28, 29); break; case 46: - if ((0x5400000054L & l) != 0L && kind > 72) - kind = 72; + if ((0x5400000054L & l) != 0L && kind > 82) + kind = 82; break; case 52: if ((0x2000000020L & l) != 0L) @@ -1847,8 +1929,8 @@ private int jjMoveNfa_0(int startState, int curPos) case 59: if ((0x7e0000007eL & l) == 0L) break; - if (kind > 71) - kind = 71; + if (kind > 81) + kind = 81; jjCheckNAddTwoStates(59, 40); break; case 60: @@ -1870,30 +1952,30 @@ private int jjMoveNfa_0(int startState, int curPos) case 66: if ((0x7fffffe87fffffeL & l) == 0L) break; - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(21, 25); break; case 67: if ((0x7fffffe87fffffeL & l) == 0L) break; - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(0, 2); break; case 70: case 71: if ((0x7fffffe87fffffeL & l) == 0L) break; - if (kind > 59) - kind = 59; + if (kind > 69) + kind = 69; jjCheckNAddStates(18, 20); break; case 72: if ((0x7fffffe87fffffeL & l) == 0L) break; - if (kind > 60) - kind = 60; + if (kind > 70) + kind = 70; jjCheckNAddTwoStates(72, 73); break; default : break; @@ -1945,7 +2027,7 @@ private int jjMoveStringLiteralDfa0_1() switch(curChar) { case 39: - return jjStopAtPos(0, 67); + return jjStopAtPos(0, 77); default : return jjMoveNfa_1(0, 0); } @@ -1975,12 +2057,12 @@ private int jjMoveNfa_1(int startState, int curPos) switch(jjstateSet[--i]) { case 0: - if ((0xffffff7fffffffffL & l) != 0L && kind > 66) - kind = 66; + if ((0xffffff7fffffffffL & l) != 0L && kind > 76) + kind = 76; break; case 1: - if ((0x8400000000L & l) != 0L && kind > 65) - kind = 65; + if ((0x8400000000L & l) != 0L && kind > 75) + kind = 75; break; case 2: if ((0xf000000000000L & l) != 0L) @@ -1989,13 +2071,13 @@ private int jjMoveNfa_1(int startState, int curPos) case 3: if ((0xff000000000000L & l) == 0L) break; - if (kind > 65) - kind = 65; + if (kind > 75) + kind = 75; jjstateSet[jjnewStateCnt++] = 4; break; case 4: - if ((0xff000000000000L & l) != 0L && kind > 65) - kind = 65; + if ((0xff000000000000L & l) != 0L && kind > 75) + kind = 75; break; default : break; } @@ -2011,19 +2093,19 @@ private int jjMoveNfa_1(int startState, int curPos) case 0: if ((0xffffffffefffffffL & l) != 0L) { - if (kind > 66) - kind = 66; + if (kind > 76) + kind = 76; } else if (curChar == 92) jjAddStates(32, 34); break; case 1: - if ((0x14404510000000L & l) != 0L && kind > 65) - kind = 65; + if ((0x14404510000000L & l) != 0L && kind > 75) + kind = 75; break; case 5: - if ((0xffffffffefffffffL & l) != 0L && kind > 66) - kind = 66; + if ((0xffffffffefffffffL & l) != 0L && kind > 76) + kind = 76; break; default : break; } @@ -2041,8 +2123,8 @@ private int jjMoveNfa_1(int startState, int curPos) switch(jjstateSet[--i]) { case 0: - if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 66) - kind = 66; + if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 76) + kind = 76; break; default : break; } @@ -2078,7 +2160,7 @@ private int jjMoveStringLiteralDfa0_2() switch(curChar) { case 34: - return jjStopAtPos(0, 70); + return jjStopAtPos(0, 80); default : return jjMoveNfa_2(0, 0); } @@ -2102,12 +2184,12 @@ private int jjMoveNfa_2(int startState, int curPos) switch(jjstateSet[--i]) { case 0: - if ((0xfffffffbffffffffL & l) != 0L && kind > 69) - kind = 69; + if ((0xfffffffbffffffffL & l) != 0L && kind > 79) + kind = 79; break; case 1: - if ((0x8400000000L & l) != 0L && kind > 68) - kind = 68; + if ((0x8400000000L & l) != 0L && kind > 78) + kind = 78; break; case 2: if ((0xf000000000000L & l) != 0L) @@ -2116,13 +2198,13 @@ private int jjMoveNfa_2(int startState, int curPos) case 3: if ((0xff000000000000L & l) == 0L) break; - if (kind > 68) - kind = 68; + if (kind > 78) + kind = 78; jjstateSet[jjnewStateCnt++] = 4; break; case 4: - if ((0xff000000000000L & l) != 0L && kind > 68) - kind = 68; + if ((0xff000000000000L & l) != 0L && kind > 78) + kind = 78; break; default : break; } @@ -2138,19 +2220,19 @@ private int jjMoveNfa_2(int startState, int curPos) case 0: if ((0xffffffffefffffffL & l) != 0L) { - if (kind > 69) - kind = 69; + if (kind > 79) + kind = 79; } else if (curChar == 92) jjAddStates(32, 34); break; case 1: - if ((0x14404510000000L & l) != 0L && kind > 68) - kind = 68; + if ((0x14404510000000L & l) != 0L && kind > 78) + kind = 78; break; case 5: - if ((0xffffffffefffffffL & l) != 0L && kind > 69) - kind = 69; + if ((0xffffffffefffffffL & l) != 0L && kind > 79) + kind = 79; break; default : break; } @@ -2168,8 +2250,8 @@ private int jjMoveNfa_2(int startState, int curPos) switch(jjstateSet[--i]) { case 0: - if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 69) - kind = 69; + if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 79) + kind = 79; break; default : break; } @@ -2216,9 +2298,12 @@ null, null, null, "\141\166\147", "\155\151\156", "\155\141\170", "\163\165\155" "\143\157\165\156\164", "\143\157\156\143\141\164", "\163\165\142\163\164\162\151\156\147", "\164\162\151\155", "\154\157\167\145\162", "\165\160\160\145\162", "\154\145\156\147\164\150", "\154\157\143\141\164\145", "\141\142\163", "\163\161\162\164", "\155\157\144", -"\143\165\162\162\145\156\164\104\141\164\145", "\143\165\162\162\145\156\164\124\151\155\145", null, "\44", -"\157\142\152\72", "\144\142\72", "\145\156\165\155\72", "\52", null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, }; +"\143\165\162\162\145\156\164\104\141\164\145", "\143\165\162\162\145\156\164\124\151\155\145", null, "\171\145\141\162", +"\155\157\156\164\150", "\167\145\145\153", "\144\141\171\117\146\131\145\141\162", "\144\141\171", +"\144\141\171\117\146\115\157\156\164\150", "\144\141\171\117\146\127\145\145\153", "\150\157\165\162", +"\155\151\156\165\164\145", "\163\145\143\157\156\144", "\44", "\157\142\152\72", "\144\142\72", +"\145\156\165\155\72", "\52", null, null, null, null, null, null, null, null, null, null, null, null, +null, null, null, null, null, null, }; /** Lexer state names. */ public static final String[] lexStateNames = { @@ -2231,17 +2316,17 @@ public static final String[] lexStateNames = { public static final int[] jjnewLexState = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, - -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, + -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, }; static final long[] jjtoToken = { - 0x1ffffffe1fffffffL, 0x1c8L, + 0xfffffffe1fffffffL, 0x7207fL, }; static final long[] jjtoSkip = { 0x1e0000000L, 0x0L, }; static final long[] jjtoMore = { - 0x8000000000000000L, 0x37L, + 0x0L, 0xde00L, }; protected JavaCharStream input_stream; private final int[] jjrounds = new int[74]; @@ -2433,32 +2518,32 @@ void MoreLexicalActions() jjimageLen += (lengthOfMatch = jjmatchedPos + 1); switch(jjmatchedKind) { - case 63 : + case 73 : image.append(input_stream.GetSuffix(jjimageLen)); jjimageLen = 0; stringBuffer = new StringBuffer(); break; - case 64 : + case 74 : image.append(input_stream.GetSuffix(jjimageLen)); jjimageLen = 0; stringBuffer = new StringBuffer(); break; - case 65 : + case 75 : image.append(input_stream.GetSuffix(jjimageLen)); jjimageLen = 0; stringBuffer.append( escapeChar() ); break; - case 66 : + case 76 : image.append(input_stream.GetSuffix(jjimageLen)); jjimageLen = 0; stringBuffer.append( image.charAt(image.length()-1) ); break; - case 68 : + case 78 : image.append(input_stream.GetSuffix(jjimageLen)); jjimageLen = 0; stringBuffer.append( escapeChar() ); break; - case 69 : + case 79 : image.append(input_stream.GetSuffix(jjimageLen)); jjimageLen = 0; stringBuffer.append( image.charAt(image.length()-1) ); @@ -2471,19 +2556,19 @@ void TokenLexicalActions(Token matchedToken) { switch(jjmatchedKind) { - case 67 : + case 77 : image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))); literalValue = stringBuffer.toString(); break; - case 70 : + case 80 : image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))); literalValue = stringBuffer.toString(); break; - case 71 : + case 81 : image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))); literalValue = makeInt(); break; - case 72 : + case 82 : image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))); literalValue = makeFloat(); break;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/05a77250/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.java index b03d25e..2b8c022 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTreeConstants.java @@ -74,9 +74,10 @@ public interface ExpressionParserTreeConstants public int JJTCURRENTDATE = 49; public int JJTCURRENTTIME = 50; public int JJTCURRENTTIMESTAMP = 51; - public int JJTNAMEDPARAMETER = 52; - public int JJTOBJPATH = 53; - public int JJTDBPATH = 54; + public int JJTEXTRACT = 52; + public int JJTNAMEDPARAMETER = 53; + public int JJTOBJPATH = 54; + public int JJTDBPATH = 55; public String[] jjtNodeName = { @@ -132,9 +133,10 @@ public interface ExpressionParserTreeConstants "CurrentDate", "CurrentTime", "CurrentTimestamp", + "Extract", "NamedParameter", "ObjPath", "DbPath", }; } -/* JavaCC - OriginalChecksum=7571de31b81c878cf4b5f52ebb555fb1 (do not edit this line) */ +/* JavaCC - OriginalChecksum=fa5ebea216f594b98b337cf22871715e (do not edit this line) */ http://git-wip-us.apache.org/repos/asf/cayenne/blob/05a77250/cayenne-server/src/main/jjtree/org/apache/cayenne/exp/parser/ExpressionParser.jjt ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/jjtree/org/apache/cayenne/exp/parser/ExpressionParser.jjt b/cayenne-server/src/main/jjtree/org/apache/cayenne/exp/parser/ExpressionParser.jjt index f61c692..2bca76d 100644 --- a/cayenne-server/src/main/jjtree/org/apache/cayenne/exp/parser/ExpressionParser.jjt +++ b/cayenne-server/src/main/jjtree/org/apache/cayenne/exp/parser/ExpressionParser.jjt @@ -179,13 +179,13 @@ void scalarConstExpression() : {} | namedParameter() | - <INT_LITERAL> { jjtThis.setValue(token_source.literalValue); } #Scalar(0) + <INT_LITERAL> { jjtThis.setValue(token_source.literalValue); } #Scalar(0) | - <FLOAT_LITERAL>{ jjtThis.setValue(token_source.literalValue); } #Scalar(0) + <FLOAT_LITERAL> { jjtThis.setValue(token_source.literalValue); } #Scalar(0) | - <TRUE> { jjtThis.setValue(true); } #Scalar(0) + <TRUE> { jjtThis.setValue(true); } #Scalar(0) | - <FALSE> { jjtThis.setValue(false); } #Scalar(0) + <FALSE> { jjtThis.setValue(false); } #Scalar(0) } void numericExpression() : {} @@ -314,7 +314,7 @@ void upper() #Upper : { } void functionsReturningNumerics() : { } { - length() | locate() | abs() | sqrt() | mod() + length() | locate() | abs() | sqrt() | mod() | dateTimeExtractingFunction() } void length() #Length : { } @@ -397,6 +397,27 @@ void currentTimestamp() #CurrentTimestamp : {} <CURRENT_TIMESTAMP> "(" ")" } +/* Date/time parts extracting function */ +void dateTimeExtractingFunction() #Extract(1) : { + Token t; +} +{ + ( + t = <YEAR> + | t = <MONTH> + | t = <WEEK> + | t = <DAY_OF_YEAR> + | t = <DAY> + | t = <DAY_OF_MONTH> + | t = <DAY_OF_WEEK> + | t = <HOUR> + | t = <MINUTE> + | t = <SECOND> + ) { + jjtThis.setPartToken(t.image); + } + "(" pathExpression() ")" +} TOKEN_MGR_DECLS: { @@ -521,6 +542,24 @@ TOKEN : /* functions returning datetime */ | <CURRENT_TIMESTAMP: "currentTimestamp" | "now" > } +/* + Data/time parts extracting functions' names. + MUST be in sync with enum ASTExtract.DateTimePart. +*/ +TOKEN : +{ + <YEAR: "year"> + | <MONTH: "month"> + | <WEEK: "week"> + | <DAY_OF_YEAR: "dayOfYear"> + | <DAY: "day"> + | <DAY_OF_MONTH: "dayOfMonth"> + | <DAY_OF_WEEK: "dayOfWeek"> + | <HOUR: "hour"> + | <MINUTE: "minute"> + | <SECOND: "second"> +} + void namedParameter() : { Token t; http://git-wip-us.apache.org/repos/asf/cayenne/blob/05a77250/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentDateTest.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentDateTest.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentDateTest.java new file mode 100644 index 0000000..f3bb0aa --- /dev/null +++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentDateTest.java @@ -0,0 +1,51 @@ +/***************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ****************************************************************/ + +package org.apache.cayenne.exp.parser; + +import java.util.Date; + +import org.apache.cayenne.exp.Expression; +import org.apache.cayenne.exp.ExpressionFactory; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * @since 4.0 + */ +public class ASTCurrentDateTest { + + @Test + public void testParse() { + Expression exp2 = ExpressionFactory.exp("currentDate()"); + assertTrue(exp2 instanceof ASTCurrentDate); + + assertEquals("currentDate()", exp2.toString()); + } + + @Test + public void testEvaluate() { + Expression exp = new ASTCurrentDate(); + Object result = exp.evaluate(new Object()); + assertTrue(result instanceof Date); + } + +} http://git-wip-us.apache.org/repos/asf/cayenne/blob/05a77250/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentTimeTest.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentTimeTest.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentTimeTest.java new file mode 100644 index 0000000..d79b65d --- /dev/null +++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ASTCurrentTimeTest.java @@ -0,0 +1,50 @@ +/***************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ****************************************************************/ + +package org.apache.cayenne.exp.parser; + +import java.util.Date; + +import org.apache.cayenne.exp.Expression; +import org.apache.cayenne.exp.ExpressionFactory; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * @since 4.0 + */ +public class ASTCurrentTimeTest { + + @Test + public void testParse() { + Expression exp2 = ExpressionFactory.exp("currentTime()"); + assertTrue(exp2 instanceof ASTCurrentTime); + + assertEquals("currentTime()", exp2.toString()); + } + + @Test + public void testEvaluate() { + Expression exp = new ASTCurrentTime(); + Object result = exp.evaluate(new Object()); + assertTrue(result instanceof Date); + } +}
