blob: 7b6b5ea37a2b1232a7e2758c98bdbb3c8d9be86a [file] [log] [blame]
Index: src/java/org/apache/lucene/queryParser/QueryParser.java
===================================================================
--- src/java/org/apache/lucene/queryParser/QueryParser.java (revision 660399)
+++ src/java/org/apache/lucene/queryParser/QueryParser.java (working copy)
@@ -1337,10 +1337,10 @@
jj_la1_1();
}
private static void jj_la1_0() {
- jj_la1_0 = new int[] {0x180,0x180,0xe00,0xe00,0x1f69f80,0x48000,0x10000,0x1f69000,0x1348000,0x80000,0x80000,0x10000,0x18000000,0x2000000,0x18000000,0x10000,0x80000000,0x20000000,0x80000000,0x10000,0x80000,0x10000,0x1f68000,};
+ jj_la1_0 = new int[] {0x300,0x300,0x1c00,0x1c00,0x3ed3f00,0x90000,0x20000,0x3ed2000,0x2690000,0x100000,0x100000,0x20000,0x30000000,0x4000000,0x30000000,0x20000,0x0,0x40000000,0x0,0x20000,0x100000,0x20000,0x3ed0000,};
}
private static void jj_la1_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x0,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[1];
private boolean jj_rescan = false;
@@ -1489,10 +1489,7 @@
public ParseException generateParseException() {
jj_expentries.removeAllElements();
- boolean[] la1tokens = new boolean[33];
- for (int i = 0; i < 33; i++) {
- la1tokens[i] = false;
- }
+ boolean[] la1tokens = new boolean[34];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
@@ -1509,7 +1506,7 @@
}
}
}
- for (int i = 0; i < 33; i++) {
+ for (int i = 0; i < 34; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
@@ -1535,6 +1532,7 @@
final private void jj_rescan_token() {
jj_rescan = true;
for (int i = 0; i < 1; i++) {
+ try {
JJCalls p = jj_2_rtns[i];
do {
if (p.gen > jj_gen) {
@@ -1545,6 +1543,7 @@
}
p = p.next;
} while (p != null);
+ } catch(LookaheadSuccess ls) { }
}
jj_rescan = false;
}
Index: src/java/org/apache/lucene/queryParser/QueryParser.jj
===================================================================
--- src/java/org/apache/lucene/queryParser/QueryParser.jj (revision 660399)
+++ src/java/org/apache/lucene/queryParser/QueryParser.jj (working copy)
@@ -908,6 +908,7 @@
| <_ESCAPED_CHAR> ) >
| <#_TERM_CHAR: ( <_TERM_START_CHAR> | <_ESCAPED_CHAR> | "-" | "+" ) >
| <#_WHITESPACE: ( " " | "\t" | "\n" | "\r") >
+| <#_QUOTED_CHAR: ( ~[ "\"", "\\" ] | <_ESCAPED_CHAR> ) >
}
<DEFAULT, RangeIn, RangeEx> SKIP : {
@@ -925,7 +926,7 @@
| <COLON: ":" >
| <STAR: "*" >
| <CARAT: "^" > : Boost
-| <QUOTED: "\"" (~["\""] | "\\\"")* "\"">
+| <QUOTED: "\"" (<_QUOTED_CHAR>)* "\"">
| <TERM: <_TERM_START_CHAR> (<_TERM_CHAR>)* >
| <FUZZY_SLOP: "~" ( (<_NUM_CHAR>)+ ( "." (<_NUM_CHAR>)+ )? )? >
| <PREFIXTERM: ("*") | ( <_TERM_START_CHAR> (<_TERM_CHAR>)* "*" ) >
Index: src/java/org/apache/lucene/queryParser/QueryParserConstants.java
===================================================================
--- src/java/org/apache/lucene/queryParser/QueryParserConstants.java (revision 660399)
+++ src/java/org/apache/lucene/queryParser/QueryParserConstants.java (working copy)
@@ -9,32 +9,33 @@
int _TERM_START_CHAR = 3;
int _TERM_CHAR = 4;
int _WHITESPACE = 5;
- int AND = 7;
- int OR = 8;
- int NOT = 9;
- int PLUS = 10;
- int MINUS = 11;
- int LPAREN = 12;
- int RPAREN = 13;
- int COLON = 14;
- int STAR = 15;
- int CARAT = 16;
- int QUOTED = 17;
- int TERM = 18;
- int FUZZY_SLOP = 19;
- int PREFIXTERM = 20;
- int WILDTERM = 21;
- int RANGEIN_START = 22;
- int RANGEEX_START = 23;
- int NUMBER = 24;
- int RANGEIN_TO = 25;
- int RANGEIN_END = 26;
- int RANGEIN_QUOTED = 27;
- int RANGEIN_GOOP = 28;
- int RANGEEX_TO = 29;
- int RANGEEX_END = 30;
- int RANGEEX_QUOTED = 31;
- int RANGEEX_GOOP = 32;
+ int _QUOTED_CHAR = 6;
+ int AND = 8;
+ int OR = 9;
+ int NOT = 10;
+ int PLUS = 11;
+ int MINUS = 12;
+ int LPAREN = 13;
+ int RPAREN = 14;
+ int COLON = 15;
+ int STAR = 16;
+ int CARAT = 17;
+ int QUOTED = 18;
+ int TERM = 19;
+ int FUZZY_SLOP = 20;
+ int PREFIXTERM = 21;
+ int WILDTERM = 22;
+ int RANGEIN_START = 23;
+ int RANGEEX_START = 24;
+ int NUMBER = 25;
+ int RANGEIN_TO = 26;
+ int RANGEIN_END = 27;
+ int RANGEIN_QUOTED = 28;
+ int RANGEIN_GOOP = 29;
+ int RANGEEX_TO = 30;
+ int RANGEEX_END = 31;
+ int RANGEEX_QUOTED = 32;
+ int RANGEEX_GOOP = 33;
int Boost = 0;
int RangeEx = 1;
@@ -48,7 +49,8 @@
"<_TERM_START_CHAR>",
"<_TERM_CHAR>",
"<_WHITESPACE>",
- "<token of kind 6>",
+ "<_QUOTED_CHAR>",
+ "<token of kind 7>",
"<AND>",
"<OR>",
"<NOT>",
Index: src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java
===================================================================
--- src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java (revision 660399)
+++ src/java/org/apache/lucene/queryParser/QueryParserTokenManager.java (working copy)
@@ -45,23 +45,23 @@
switch(curChar)
{
case 40:
- return jjStopAtPos(0, 12);
+ return jjStopAtPos(0, 13);
case 41:
- return jjStopAtPos(0, 13);
+ return jjStopAtPos(0, 14);
case 42:
- return jjStartNfaWithStates_3(0, 15, 36);
+ return jjStartNfaWithStates_3(0, 16, 36);
case 43:
- return jjStopAtPos(0, 10);
+ return jjStopAtPos(0, 11);
case 45:
- return jjStopAtPos(0, 11);
+ return jjStopAtPos(0, 12);
case 58:
- return jjStopAtPos(0, 14);
+ return jjStopAtPos(0, 15);
case 91:
- return jjStopAtPos(0, 22);
+ return jjStopAtPos(0, 23);
case 94:
- return jjStopAtPos(0, 16);
+ return jjStopAtPos(0, 17);
case 123:
- return jjStopAtPos(0, 23);
+ return jjStopAtPos(0, 24);
default :
return jjMoveNfa_3(0, 0);
}
@@ -125,57 +125,56 @@
case 25:
if ((0xfbfffcf8ffffd9ffL & l) == 0L)
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 0:
if ((0xfbffd4f8ffffd9ffL & l) != 0L)
{
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
}
else if ((0x100002600L & l) != 0L)
{
- if (kind > 6)
- kind = 6;
+ if (kind > 7)
+ kind = 7;
}
else if (curChar == 34)
jjCheckNAddStates(0, 2);
else if (curChar == 33)
{
- if (kind > 9)
- kind = 9;
+ if (kind > 10)
+ kind = 10;
}
if ((0x7bffd0f8ffffd9ffL & l) != 0L)
{
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddStates(3, 7);
}
else if (curChar == 42)
{
- if (kind > 20)
- kind = 20;
+ if (kind > 21)
+ kind = 21;
}
if (curChar == 38)
jjstateSet[jjnewStateCnt++] = 4;
break;
case 4:
- if (curChar == 38 && kind > 7)
- kind = 7;
+ if (curChar == 38 && kind > 8)
+ kind = 8;
break;
case 5:
if (curChar == 38)
jjstateSet[jjnewStateCnt++] = 4;
break;
case 13:
- if (curChar == 33 && kind > 9)
- kind = 9;
+ if (curChar == 33 && kind > 10)
+ kind = 10;
break;
case 14:
- case 16:
if (curChar == 34)
jjCheckNAddStates(0, 2);
break;
@@ -183,15 +182,18 @@
if ((0xfffffffbffffffffL & l) != 0L)
jjCheckNAddStates(0, 2);
break;
+ case 17:
+ jjCheckNAddStates(0, 2);
+ break;
case 18:
- if (curChar == 34 && kind > 17)
- kind = 17;
+ if (curChar == 34 && kind > 18)
+ kind = 18;
break;
case 20:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 19)
- kind = 19;
+ if (kind > 20)
+ kind = 20;
jjAddStates(8, 9);
break;
case 21:
@@ -201,43 +203,43 @@
case 22:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 19)
- kind = 19;
+ if (kind > 20)
+ kind = 20;
jjCheckNAdd(22);
break;
case 23:
- if (curChar == 42 && kind > 20)
- kind = 20;
+ if (curChar == 42 && kind > 21)
+ kind = 21;
break;
case 24:
if ((0xfbffd4f8ffffd9ffL & l) == 0L)
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 27:
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 28:
if ((0x7bffd0f8ffffd9ffL & l) == 0L)
break;
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddStates(3, 7);
break;
case 29:
if ((0x7bfff8f8ffffd9ffL & l) == 0L)
break;
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddTwoStates(29, 30);
break;
case 31:
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddTwoStates(29, 30);
break;
case 32:
@@ -261,8 +263,8 @@
case 36:
if ((0x97ffffff87ffffffL & l) != 0L)
{
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
}
else if (curChar == 92)
@@ -271,22 +273,22 @@
case 0:
if ((0x97ffffff87ffffffL & l) != 0L)
{
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddStates(3, 7);
}
else if (curChar == 92)
jjCheckNAddStates(13, 15);
else if (curChar == 126)
{
- if (kind > 19)
- kind = 19;
+ if (kind > 20)
+ kind = 20;
jjstateSet[jjnewStateCnt++] = 20;
}
if ((0x97ffffff87ffffffL & l) != 0L)
{
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
}
if (curChar == 78)
@@ -299,8 +301,8 @@
jjstateSet[jjnewStateCnt++] = 2;
break;
case 1:
- if (curChar == 68 && kind > 7)
- kind = 7;
+ if (curChar == 68 && kind > 8)
+ kind = 8;
break;
case 2:
if (curChar == 78)
@@ -311,24 +313,24 @@
jjstateSet[jjnewStateCnt++] = 2;
break;
case 6:
- if (curChar == 82 && kind > 8)
- kind = 8;
+ if (curChar == 82 && kind > 9)
+ kind = 9;
break;
case 7:
if (curChar == 79)
jjstateSet[jjnewStateCnt++] = 6;
break;
case 8:
- if (curChar == 124 && kind > 8)
- kind = 8;
+ if (curChar == 124 && kind > 9)
+ kind = 9;
break;
case 9:
if (curChar == 124)
jjstateSet[jjnewStateCnt++] = 8;
break;
case 10:
- if (curChar == 84 && kind > 9)
- kind = 9;
+ if (curChar == 84 && kind > 10)
+ kind = 10;
break;
case 11:
if (curChar == 79)
@@ -339,31 +341,35 @@
jjstateSet[jjnewStateCnt++] = 11;
break;
case 15:
- jjAddStates(0, 2);
+ if ((0xffffffffefffffffL & l) != 0L)
+ jjCheckNAddStates(0, 2);
break;
- case 17:
+ case 16:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 16;
+ jjstateSet[jjnewStateCnt++] = 17;
break;
+ case 17:
+ jjCheckNAddStates(0, 2);
+ break;
case 19:
if (curChar != 126)
break;
- if (kind > 19)
- kind = 19;
+ if (kind > 20)
+ kind = 20;
jjstateSet[jjnewStateCnt++] = 20;
break;
case 24:
if ((0x97ffffff87ffffffL & l) == 0L)
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 25:
if ((0x97ffffff87ffffffL & l) == 0L)
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 26:
@@ -371,22 +377,22 @@
jjCheckNAddTwoStates(27, 27);
break;
case 27:
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 28:
if ((0x97ffffff87ffffffL & l) == 0L)
break;
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddStates(3, 7);
break;
case 29:
if ((0x97ffffff87ffffffL & l) == 0L)
break;
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddTwoStates(29, 30);
break;
case 30:
@@ -394,8 +400,8 @@
jjCheckNAddTwoStates(31, 31);
break;
case 31:
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddTwoStates(29, 30);
break;
case 32:
@@ -433,48 +439,49 @@
case 27:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 0:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
}
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddStates(3, 7);
}
break;
case 15:
+ case 17:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(0, 2);
+ jjCheckNAddStates(0, 2);
break;
case 24:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 21)
- kind = 21;
+ if (kind > 22)
+ kind = 22;
jjCheckNAddTwoStates(25, 26);
break;
case 28:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddStates(3, 7);
break;
case 29:
case 31:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 18)
- kind = 18;
+ if (kind > 19)
+ kind = 19;
jjCheckNAddTwoStates(29, 30);
break;
case 32:
@@ -504,9 +511,9 @@
switch (pos)
{
case 0:
- if ((active0 & 0x20000000L) != 0L)
+ if ((active0 & 0x40000000L) != 0L)
{
- jjmatchedKind = 32;
+ jjmatchedKind = 33;
return 6;
}
return -1;
@@ -531,9 +538,9 @@
switch(curChar)
{
case 84:
- return jjMoveStringLiteralDfa1_1(0x20000000L);
+ return jjMoveStringLiteralDfa1_1(0x40000000L);
case 125:
- return jjStopAtPos(0, 30);
+ return jjStopAtPos(0, 31);
default :
return jjMoveNfa_1(0, 0);
}
@@ -548,8 +555,8 @@
switch(curChar)
{
case 79:
- if ((active0 & 0x20000000L) != 0L)
- return jjStartNfaWithStates_1(1, 29, 6);
+ if ((active0 & 0x40000000L) != 0L)
+ return jjStartNfaWithStates_1(1, 30, 6);
break;
default :
break;
@@ -578,14 +585,14 @@
case 0:
if ((0xfffffffeffffffffL & l) != 0L)
{
- if (kind > 32)
- kind = 32;
+ if (kind > 33)
+ kind = 33;
jjCheckNAdd(6);
}
if ((0x100002600L & l) != 0L)
{
- if (kind > 6)
- kind = 6;
+ if (kind > 7)
+ kind = 7;
}
else if (curChar == 34)
jjCheckNAddTwoStates(2, 4);
@@ -603,14 +610,14 @@
jjCheckNAddStates(16, 18);
break;
case 5:
- if (curChar == 34 && kind > 31)
- kind = 31;
+ if (curChar == 34 && kind > 32)
+ kind = 32;
break;
case 6:
if ((0xfffffffeffffffffL & l) == 0L)
break;
- if (kind > 32)
- kind = 32;
+ if (kind > 33)
+ kind = 33;
jjCheckNAdd(6);
break;
default : break;
@@ -628,8 +635,8 @@
case 6:
if ((0xdfffffffffffffffL & l) == 0L)
break;
- if (kind > 32)
- kind = 32;
+ if (kind > 33)
+ kind = 33;
jjCheckNAdd(6);
break;
case 2:
@@ -658,8 +665,8 @@
case 6:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 32)
- kind = 32;
+ if (kind > 33)
+ kind = 33;
jjCheckNAdd(6);
break;
case 2:
@@ -709,8 +716,8 @@
case 0:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 24)
- kind = 24;
+ if (kind > 25)
+ kind = 25;
jjAddStates(19, 20);
break;
case 1:
@@ -720,8 +727,8 @@
case 2:
if ((0x3ff000000000000L & l) == 0L)
break;
- if (kind > 24)
- kind = 24;
+ if (kind > 25)
+ kind = 25;
jjCheckNAdd(2);
break;
default : break;
@@ -772,9 +779,9 @@
switch (pos)
{
case 0:
- if ((active0 & 0x2000000L) != 0L)
+ if ((active0 & 0x4000000L) != 0L)
{
- jjmatchedKind = 28;
+ jjmatchedKind = 29;
return 6;
}
return -1;
@@ -799,9 +806,9 @@
switch(curChar)
{
case 84:
- return jjMoveStringLiteralDfa1_2(0x2000000L);
+ return jjMoveStringLiteralDfa1_2(0x4000000L);
case 93:
- return jjStopAtPos(0, 26);
+ return jjStopAtPos(0, 27);
default :
return jjMoveNfa_2(0, 0);
}
@@ -816,8 +823,8 @@
switch(curChar)
{
case 79:
- if ((active0 & 0x2000000L) != 0L)
- return jjStartNfaWithStates_2(1, 25, 6);
+ if ((active0 & 0x4000000L) != 0L)
+ return jjStartNfaWithStates_2(1, 26, 6);
break;
default :
break;
@@ -846,14 +853,14 @@
case 0:
if ((0xfffffffeffffffffL & l) != 0L)
{
- if (kind > 28)
- kind = 28;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(6);
}
if ((0x100002600L & l) != 0L)
{
- if (kind > 6)
- kind = 6;
+ if (kind > 7)
+ kind = 7;
}
else if (curChar == 34)
jjCheckNAddTwoStates(2, 4);
@@ -871,14 +878,14 @@
jjCheckNAddStates(16, 18);
break;
case 5:
- if (curChar == 34 && kind > 27)
- kind = 27;
+ if (curChar == 34 && kind > 28)
+ kind = 28;
break;
case 6:
if ((0xfffffffeffffffffL & l) == 0L)
break;
- if (kind > 28)
- kind = 28;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(6);
break;
default : break;
@@ -896,8 +903,8 @@
case 6:
if ((0xffffffffdfffffffL & l) == 0L)
break;
- if (kind > 28)
- kind = 28;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(6);
break;
case 2:
@@ -926,8 +933,8 @@
case 6:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
- if (kind > 28)
- kind = 28;
+ if (kind > 29)
+ kind = 29;
jjCheckNAdd(6);
break;
case 2:
@@ -952,7 +959,7 @@
}
}
static final int[] jjnextStates = {
- 15, 17, 18, 29, 32, 23, 33, 30, 20, 21, 32, 23, 33, 31, 34, 27,
+ 15, 16, 18, 29, 32, 23, 33, 30, 20, 21, 32, 23, 33, 31, 34, 27,
2, 4, 5, 0, 1,
};
private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
@@ -968,9 +975,9 @@
}
}
public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, null, null, null, null, "\53", "\55", "\50",
-"\51", "\72", "\52", "\136", null, null, null, null, null, "\133", "\173", null,
-"\124\117", "\135", null, null, "\124\117", "\175", null, null, };
+"", null, null, null, null, null, null, null, null, null, null, "\53", "\55",
+"\50", "\51", "\72", "\52", "\136", null, null, null, null, null, "\133", "\173",
+null, "\124\117", "\135", null, null, "\124\117", "\175", null, null, };
public static final String[] lexStateNames = {
"Boost",
"RangeEx",
@@ -978,25 +985,23 @@
"DEFAULT",
};
public static final int[] jjnewLexState = {
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 2, 1, 3,
- -1, 3, -1, -1, -1, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 2, 1,
+ 3, -1, 3, -1, -1, -1, 3, -1, -1,
};
static final long[] jjtoToken = {
- 0x1ffffff81L,
+ 0x3ffffff01L,
};
static final long[] jjtoSkip = {
- 0x40L,
+ 0x80L,
};
protected CharStream input_stream;
private final int[] jjrounds = new int[36];
private final int[] jjstateSet = new int[72];
protected char curChar;
-public QueryParserTokenManager(CharStream stream)
-{
+public QueryParserTokenManager(CharStream stream){
input_stream = stream;
}
-public QueryParserTokenManager(CharStream stream, int lexState)
-{
+public QueryParserTokenManager(CharStream stream, int lexState){
this(stream);
SwitchTo(lexState);
}
Index: src/test/org/apache/lucene/queryParser/TestQueryParser.java
===================================================================
--- src/test/org/apache/lucene/queryParser/TestQueryParser.java (revision 659725)
+++ src/test/org/apache/lucene/queryParser/TestQueryParser.java (working copy)
@@ -614,6 +614,9 @@
assertQueryEquals("\\\\", a, "\\"); // escaped backslash
assertParseException("\\"); // a backslash must always be escaped
+
+ // LUCENE-1189
+ assertQueryEquals("(\"a\\\\\") or (\"b\")", a ,"a\\ or b");
}
public void testQueryStringEscaping() throws Exception {