You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "jeroen lauwers (JIRA)" <ji...@apache.org> on 2008/06/27 14:21:45 UTC
[jira] Created: (LUCENENET-118) Trailing and leading wildcards in
Lucene.NET 2.1
Trailing and leading wildcards in Lucene.NET 2.1
------------------------------------------------
Key: LUCENENET-118
URL: https://issues.apache.org/jira/browse/LUCENENET-118
Project: Lucene.Net
Issue Type: Improvement
Environment: Lucene.NET 2.1
.NET2.0
Reporter: jeroen lauwers
Priority: Minor
See java project LUCENE-813
The patch of the java project was applied to QueryParserTokenManager.cs
(but only quickly tested)
It seems to work :-)
{code:title=QueryParserTokenManager.cs|borderStyle=solid}
/*
* 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.
*/
/* Generated By:JavaCC: Do not edit this line. QueryParserTokenManager.java */
using System;
using Term = Lucene.Net.Index.Term;
using Lucene.Net.Analysis;
using Lucene.Net.Documents;
using Lucene.Net.Search;
using Searchable = Lucene.Net.Search.Searchable;
using Parameter = Lucene.Net.Util.Parameter;
namespace Lucene.Net.QueryParsers
{
public class QueryParserTokenManager : QueryParserConstants
{
private void InitBlock()
{
System.IO.StreamWriter temp_writer;
temp_writer = new System.IO.StreamWriter(System.Console.OpenStandardOutput(), System.Console.Out.Encoding);
temp_writer.AutoFlush = true;
debugStream = temp_writer;
}
public System.IO.StreamWriter debugStream;
public virtual void SetDebugStream(System.IO.StreamWriter ds)
{
debugStream = ds;
}
private int JjStopStringLiteralDfa_3(int pos, long active0)
{
switch (pos)
{
default:
return -1;
}
}
private int JjStartNfa_3(int pos, long active0)
{
return JjMoveNfa_3(JjStopStringLiteralDfa_3(pos, active0), pos + 1);
}
private int JjStopAtPos(int pos, int kind)
{
jjmatchedKind = kind;
jjmatchedPos = pos;
return pos + 1;
}
private int JjStartNfaWithStates_3(int pos, int kind, int state)
{
jjmatchedKind = kind;
jjmatchedPos = pos;
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException)
{
return pos + 1;
}
return JjMoveNfa_3(state, pos + 1);
}
private int JjMoveStringLiteralDfa0_3()
{
switch (curChar)
{
case (char)(40):
return JjStopAtPos(0, 12);
case (char)(41):
return JjStopAtPos(0, 13);
case (char)(42):
return JjStartNfaWithStates_3(0, 15, 36);
case (char)(43):
return JjStopAtPos(0, 10);
case (char)(45):
return JjStopAtPos(0, 11);
case (char)(58):
return JjStopAtPos(0, 14);
case (char)(91):
return JjStopAtPos(0, 22);
case (char)(94):
return JjStopAtPos(0, 16);
case (char)(123):
return JjStopAtPos(0, 23);
default:
return JjMoveNfa_3(0, 0);
}
}
private void JjCheckNAdd(int state)
{
if (jjrounds[state] != jjround)
{
jjstateSet[jjnewStateCnt++] = state;
jjrounds[state] = jjround;
}
}
private void JjAddStates(int start, int end)
{
do
{
jjstateSet[jjnewStateCnt++] = jjnextStates[start];
}
while (start++ != end);
}
private void JjCheckNAddTwoStates(int state1, int state2)
{
JjCheckNAdd(state1);
JjCheckNAdd(state2);
}
private void JjCheckNAddStates(int start, int end)
{
do
{
JjCheckNAdd(jjnextStates[start]);
}
while (start++ != end);
}
private void JjCheckNAddStates(int start)
{
JjCheckNAdd(jjnextStates[start]);
JjCheckNAdd(jjnextStates[start + 1]);
}
internal static readonly ulong[] jjbitVec0 = new ulong[] { 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL };
internal static readonly ulong[] jjbitVec2 = new ulong[] { 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL };
private int JjMoveNfa_3(int startState, int curPos)
{
int[] nextStates;
int startsAt = 0;
jjnewStateCnt = 36;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
for (; ; )
{
if (++jjround == 0x7fffffff)
ReInitRounds();
if (curChar < 64)
{
ulong l = ((ulong)1L) << curChar;
MatchLoop:
do
{
switch (jjstateSet[--i])
{
case 36:
case 25:
if ((0xfbfffcf8ffffd9ffL & l) == 0L)
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 0:
if ((0xfbffd4f8ffffd9ffL & l) != (ulong)0L)
{
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
}
else if ((0x100002600L & l) != (ulong)0L)
{
if (kind > 6)
kind = 6;
}
else if (curChar == 34)
JjCheckNAddTwoStates(15, 17);
else if (curChar == 33)
{
if (kind > 9)
kind = 9;
}
if ((0x7bffd0f8ffffd9ffL & l) != (ulong)0L)
{
if (kind > 18)
kind = 18;
JjCheckNAddStates(0, 4);
}
else if (curChar == 42)
{
if (kind > 20)
kind = 20;
}
if (curChar == 38)
jjstateSet[jjnewStateCnt++] = 4;
break;
case 4:
if (curChar == 38 && kind > 7)
kind = 7;
break;
case 5:
if (curChar == 38)
jjstateSet[jjnewStateCnt++] = 4;
break;
case 13:
if (curChar == 33 && kind > 9)
kind = 9;
break;
case 14:
if (curChar == 34)
JjCheckNAddTwoStates(15, 17);
break;
case 15:
if ((0xfffffffbffffffffL & l) != (ulong)0L)
JjCheckNAddStates(5, 7);
break;
case 16:
if (curChar == 34)
JjCheckNAddStates(5, 7);
break;
case 18:
if (curChar == 34 && kind > 17)
kind = 17;
break;
case 20:
if ((0x3ff000000000000L & l) == (ulong)0L)
break;
if (kind > 19)
kind = 19;
JjAddStates(8, 9);
break;
case 21:
if (curChar == 46)
JjCheckNAdd(22);
break;
case 22:
if ((0x3ff000000000000L & l) == (ulong)0L)
break;
if (kind > 19)
kind = 19;
JjCheckNAdd(22);
break;
case 23:
if (curChar == 42 && kind > 20)
kind = 20;
break;
case 24:
if ((0xfbffd4f8ffffd9ffL & l) == (ulong)0L)
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 27:
if ((0x84002f0600000000L & l) == (ulong)0L)
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 28:
if ((0x7bffd0f8ffffd9ffL & l) == (ulong)0L)
break;
if (kind > 18)
kind = 18;
JjCheckNAddStates(0, 4);
break;
case 29:
if ((0x7bfff8f8ffffd9ffL & l) == (ulong)0L)
break;
if (kind > 18)
kind = 18;
JjCheckNAddTwoStates(29, 30);
break;
case 31:
if ((0x84002f0600000000L & l) == (ulong)0L)
break;
if (kind > 18)
kind = 18;
JjCheckNAddTwoStates(29, 30);
break;
case 32:
if ((0x7bfff8f8ffffd9ffL & l) != 0L)
JjCheckNAddStates(10, 12);
break;
case 34:
if ((0x84002f0600000000L & l) != 0L)
JjCheckNAddStates(10, 12);
break;
default: break;
}
}
while (i != startsAt);
}
else if (curChar < 128)
{
ulong l = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 36:
if ((0x97ffffff97ffffffL & l) != (ulong)0L)
{
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
}
if (curChar == 92)
JjCheckNAddTwoStates(27, 27);
break;
case 0:
if ((0x97ffffff97ffffffL & l) != (ulong)0L)
{
if (kind > 18)
kind = 18;
JjCheckNAddStates(0, 4);
}
else if (curChar == 126)
{
if (kind > 19)
kind = 19;
jjstateSet[jjnewStateCnt++] = 20;
}
if ((0x97ffffff97ffffffL & l) != (ulong)0L)
{
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
}
if (curChar == 92)
JjCheckNAddStates(13, 15);
else if (curChar == 78)
jjstateSet[jjnewStateCnt++] = 11;
else if (curChar == 124)
jjstateSet[jjnewStateCnt++] = 8;
else if (curChar == 79)
jjstateSet[jjnewStateCnt++] = 6;
else if (curChar == 65)
jjstateSet[jjnewStateCnt++] = 2;
break;
case 1:
if (curChar == 68 && kind > 7)
kind = 7;
break;
case 2:
if (curChar == 78)
jjstateSet[jjnewStateCnt++] = 1;
break;
case 3:
if (curChar == 65)
jjstateSet[jjnewStateCnt++] = 2;
break;
case 6:
if (curChar == 82 && kind > 8)
kind = 8;
break;
case 7:
if (curChar == 79)
jjstateSet[jjnewStateCnt++] = 6;
break;
case 8:
if (curChar == 124 && kind > 8)
kind = 8;
break;
case 9:
if (curChar == 124)
jjstateSet[jjnewStateCnt++] = 8;
break;
case 10:
if (curChar == 84 && kind > 9)
kind = 9;
break;
case 11:
if (curChar == 79)
jjstateSet[jjnewStateCnt++] = 10;
break;
case 12:
if (curChar == 78)
jjstateSet[jjnewStateCnt++] = 11;
break;
case 15:
JjAddStates(5, 7);
break;
case 17:
if (curChar == 92)
jjstateSet[jjnewStateCnt++] = 16;
break;
case 19:
if (curChar != 126)
break;
if (kind > 19)
kind = 19;
jjstateSet[jjnewStateCnt++] = 20;
break;
case 24:
if ((0x97ffffff97ffffffL & l) == (ulong)0L)
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 25:
if ((0x97ffffff97ffffffL & l) == (ulong)0L)
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 26:
if (curChar == 92)
JjCheckNAddTwoStates(27, 27);
break;
case 27:
if ((0x6800000078000000L & l) == (ulong)0L)
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 28:
if ((0x97ffffff97ffffffL & l) == (ulong)0L)
break;
if (kind > 18)
kind = 18;
JjCheckNAddTwoStates(0, 4);
break;
case 29:
if ((0x97ffffff97ffffffL & l) == (ulong)0L)
break;
if (kind > 18)
kind = 18;
JjCheckNAddTwoStates(29, 30);
break;
case 30:
if (curChar == 92)
JjCheckNAddTwoStates(31, 31);
break;
case 31:
if ((0x6800000078000000L & l) == (ulong)0L)
break;
if (kind > 18)
kind = 18;
JjCheckNAddTwoStates(29, 30);
break;
case 32:
if ((0x97ffffff97ffffffL & l) != 0L)
JjCheckNAddStates(10, 12);
break;
case 33:
if (curChar == 92)
JjCheckNAddTwoStates(34, 34);
break;
case 34:
if ((0x6800000078000000L & l) != (ulong)0L)
JjCheckNAddStates(10, 12);
break;
case 35:
if (curChar == 92)
JjCheckNAddStates(13, 15);
break;
default: break;
}
}
while (i != startsAt);
}
else
{
int hiByte = (int)(curChar >> 8);
int i1 = hiByte >> 6;
ulong l1 = ((ulong)1L) << (hiByte & 63);
int i2 = (curChar & 0xff) >> 6;
ulong l2 = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 36:
case 25:
if (!JjCanMove_0(hiByte, i1, i2, l1, l2))
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 0:
if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
{
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
}
if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
{
if (kind > 18)
kind = 18;
JjCheckNAddStates(0, 4);
}
break;
case 15:
if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
JjAddStates(5, 7);
break;
case 24:
if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
break;
if (kind > 21)
kind = 21;
JjCheckNAddTwoStates(25, 26);
break;
case 28:
if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
break;
if (kind > 18)
kind = 18;
JjCheckNAddStates(0, 4);
break;
case 29:
if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
break;
if (kind > 18)
kind = 18;
JjCheckNAddTwoStates(29, 30);
break;
case 32:
if (JjCanMove_0(hiByte, i1, i2, l1, l2))
JjCheckNAddStates(10, 12);
break;
default: break;
}
}
while (i != startsAt);
}
if (kind != 0x7fffffff)
{
jjmatchedKind = kind;
jjmatchedPos = curPos;
kind = 0x7fffffff;
}
++curPos;
if ((i = jjnewStateCnt) == (startsAt = 36 - (jjnewStateCnt = startsAt)))
return curPos;
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException e)
{
return curPos;
}
}
}
private int JjStopStringLiteralDfa_1(int pos, ulong active0)
{
switch (pos)
{
case 0:
if ((active0 & 0x20000000L) != 0L)
{
jjmatchedKind = 32;
return 6;
}
return -1;
default:
return -1;
}
}
private int JjStartNfa_1(int pos, ulong active0)
{
return JjMoveNfa_1(JjStopStringLiteralDfa_1(pos, (ulong)active0), pos + 1);
}
private int JjStartNfaWithStates_1(int pos, int kind, int state)
{
jjmatchedKind = kind;
jjmatchedPos = pos;
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException)
{
return pos + 1;
}
return JjMoveNfa_1(state, pos + 1);
}
private int JjMoveStringLiteralDfa0_1()
{
switch (curChar)
{
case (char)(84):
return JjMoveStringLiteralDfa1_1((ulong)0x20000000L);
case (char)(125):
return JjStopAtPos(0, 30);
default:
return JjMoveNfa_1(0, 0);
}
}
private int JjMoveStringLiteralDfa1_1(ulong active0)
{
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException)
{
JjStopStringLiteralDfa_1(0, (ulong)active0);
return 1;
}
switch (curChar)
{
case (char)(79):
if ((active0 & 0x20000000L) != 0L)
return JjStartNfaWithStates_1(1, 29, 6);
break;
default:
break;
}
return JjStartNfa_1(0, (ulong)active0);
}
private int JjMoveNfa_1(int startState, int curPos)
{
int[] nextStates;
int startsAt = 0;
jjnewStateCnt = 7;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
for (; ; )
{
if (++jjround == 0x7fffffff)
ReInitRounds();
if (curChar < 64)
{
ulong l = ((ulong)1L) << curChar;
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 0:
if ((0xfffffffeffffffffL & l) != (ulong)0L)
{
if (kind > 32)
kind = 32;
JjCheckNAdd(6);
}
if ((0x100002600L & l) != (ulong)0L)
{
if (kind > 6)
kind = 6;
}
else if (curChar == 34)
JjCheckNAddTwoStates(2, 4);
break;
case 1:
if (curChar == 34)
JjCheckNAddTwoStates(2, 4);
break;
case 2:
if ((0xfffffffbffffffffL & l) != (ulong)0L)
JjCheckNAddStates(16, 18);
break;
case 3:
if (curChar == 34)
JjCheckNAddStates(16, 18);
break;
case 5:
if (curChar == 34 && kind > 31)
kind = 31;
break;
case 6:
if ((0xfffffffeffffffffL & l) == (ulong)0L)
break;
if (kind > 32)
kind = 32;
JjCheckNAdd(6);
break;
default: break;
}
}
while (i != startsAt);
}
else if (curChar < 128)
{
ulong l = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 0:
case 6:
if ((0xdfffffffffffffffL & l) == (ulong)0L)
break;
if (kind > 32)
kind = 32;
JjCheckNAdd(6);
break;
case 2:
JjAddStates(16, 18);
break;
case 4:
if (curChar == 92)
jjstateSet[jjnewStateCnt++] = 3;
break;
default: break;
}
}
while (i != startsAt);
}
else
{
int hiByte = (int)(curChar >> 8);
int i1 = hiByte >> 6;
ulong l1 = ((ulong)1L) << (hiByte & 63);
int i2 = (curChar & 0xff) >> 6;
ulong l2 = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 0:
case 6:
if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
break;
if (kind > 32)
kind = 32;
JjCheckNAdd(6);
break;
case 2:
if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
JjAddStates(16, 18);
break;
default: break;
}
}
while (i != startsAt);
}
if (kind != 0x7fffffff)
{
jjmatchedKind = kind;
jjmatchedPos = curPos;
kind = 0x7fffffff;
}
++curPos;
if ((i = jjnewStateCnt) == (startsAt = 7 - (jjnewStateCnt = startsAt)))
return curPos;
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException)
{
return curPos;
}
}
}
private int JjMoveStringLiteralDfa0_0()
{
return JjMoveNfa_0(0, 0);
}
private int JjMoveNfa_0(int startState, int curPos)
{
int[] nextStates;
int startsAt = 0;
jjnewStateCnt = 3;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
for (; ; )
{
if (++jjround == 0x7fffffff)
ReInitRounds();
if (curChar < 64)
{
ulong l = ((ulong)1L) << curChar;
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 0:
if ((0x3ff000000000000L & l) == (ulong)0L)
break;
if (kind > 24)
kind = 24;
JjAddStates(19, 20);
break;
case 1:
if (curChar == 46)
JjCheckNAdd(2);
break;
case 2:
if ((0x3ff000000000000L & l) == (ulong)0L)
break;
if (kind > 24)
kind = 24;
JjCheckNAdd(2);
break;
default: break;
}
}
while (i != startsAt);
}
else if (curChar < 128)
{
ulong l = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
default: break;
}
}
while (i != startsAt);
}
else
{
int hiByte = (int)(curChar >> 8);
int i1 = hiByte >> 6;
ulong l1 = ((ulong)1L) << (hiByte & 63);
int i2 = (curChar & 0xff) >> 6;
ulong l2 = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
default: break;
}
}
while (i != startsAt);
}
if (kind != 0x7fffffff)
{
jjmatchedKind = kind;
jjmatchedPos = curPos;
kind = 0x7fffffff;
}
++curPos;
if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
return curPos;
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException e)
{
return curPos;
}
}
}
private int JjStopStringLiteralDfa_2(int pos, ulong active0)
{
switch (pos)
{
case 0:
if ((active0 & 0x2000000L) != (ulong)0L)
{
jjmatchedKind = 28;
return 6;
}
return -1;
default:
return -1;
}
}
private int JjStartNfa_2(int pos, ulong active0)
{
return JjMoveNfa_2(JjStopStringLiteralDfa_2(pos, (ulong)active0), pos + 1);
}
private int JjStartNfaWithStates_2(int pos, int kind, int state)
{
jjmatchedKind = kind;
jjmatchedPos = pos;
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException e)
{
return pos + 1;
}
return JjMoveNfa_2(state, pos + 1);
}
private int JjMoveStringLiteralDfa0_2()
{
switch (curChar)
{
case (char)(84):
return JjMoveStringLiteralDfa1_2((ulong)0x2000000L);
case (char)(93):
return JjStopAtPos(0, 26);
default:
return JjMoveNfa_2(0, 0);
}
}
private int JjMoveStringLiteralDfa1_2(ulong active0)
{
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException e)
{
JjStopStringLiteralDfa_2(0, (ulong)active0);
return 1;
}
switch (curChar)
{
case (char)(79):
if ((active0 & 0x2000000L) != (ulong)0L)
return JjStartNfaWithStates_2(1, 25, 6);
break;
default:
break;
}
return JjStartNfa_2(0, (ulong)active0);
}
private int JjMoveNfa_2(int startState, int curPos)
{
int[] nextStates;
int startsAt = 0;
jjnewStateCnt = 7;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
for (; ; )
{
if (++jjround == 0x7fffffff)
ReInitRounds();
if (curChar < 64)
{
ulong l = ((ulong)1L) << curChar;
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 0:
if ((0xfffffffeffffffffL & l) != (ulong)0L)
{
if (kind > 28)
kind = 28;
JjCheckNAdd(6);
}
if ((0x100002600L & l) != (ulong)0L)
{
if (kind > 6)
kind = 6;
}
else if (curChar == 34)
JjCheckNAddTwoStates(2, 4);
break;
case 1:
if (curChar == 34)
JjCheckNAddTwoStates(2, 4);
break;
case 2:
if ((0xfffffffbffffffffL & l) != (ulong)0L)
JjCheckNAddStates(16, 18);
break;
case 3:
if (curChar == 34)
JjCheckNAddStates(16, 18);
break;
case 5:
if (curChar == 34 && kind > 27)
kind = 27;
break;
case 6:
if ((0xfffffffeffffffffL & l) == (ulong)0L)
break;
if (kind > 28)
kind = 28;
JjCheckNAdd(6);
break;
default: break;
}
}
while (i != startsAt);
}
else if (curChar < 128)
{
ulong l = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 0:
case 6:
if ((0xffffffffdfffffffL & l) == (ulong)0L)
break;
if (kind > 28)
kind = 28;
JjCheckNAdd(6);
break;
case 2:
JjAddStates(16, 18);
break;
case 4:
if (curChar == 92)
jjstateSet[jjnewStateCnt++] = 3;
break;
default: break;
}
}
while (i != startsAt);
}
else
{
int hiByte = (int)(curChar >> 8);
int i1 = hiByte >> 6;
ulong l1 = ((ulong)1L) << (hiByte & 63);
int i2 = (curChar & 0xff) >> 6;
ulong l2 = ((ulong)1L) << (curChar & 63);
MatchLoop1:
do
{
switch (jjstateSet[--i])
{
case 0:
case 6:
if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
break;
if (kind > 28)
kind = 28;
JjCheckNAdd(6);
break;
case 2:
if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
JjAddStates(16, 18);
break;
default: break;
}
}
while (i != startsAt);
}
if (kind != 0x7fffffff)
{
jjmatchedKind = kind;
jjmatchedPos = curPos;
kind = 0x7fffffff;
}
++curPos;
if ((i = jjnewStateCnt) == (startsAt = 7 - (jjnewStateCnt = startsAt)))
return curPos;
try
{
curChar = input_stream.ReadChar();
}
catch (System.IO.IOException e)
{
return curPos;
}
}
}
internal static readonly int[] jjnextStates = new int[] { 29, 32, 23, 33, 30, 15, 17, 18, 20, 21, 32, 23, 33, 31, 34, 27, 2, 4, 5, 0, 1 };
private static bool JjCanMove_0(int hiByte, int i1, int i2, ulong l1, ulong l2)
{
switch (hiByte)
{
case 0:
return ((jjbitVec2[i2] & l2) != (ulong)0L);
default:
if ((jjbitVec0[i1] & l1) != (ulong)0L)
return true;
return false;
}
}
public static readonly System.String[] jjstrLiteralImages = new System.String[] { "", null, null, null, null, null, null, null, null, null, "\x002B", "\x002D", "\x0028", "\x0029", "\x003A", "\x002A", "\x005E", null, null, null, null, null, "\x005B", "\x007B", null, "\x0054\x004F", "\x005D", null, null, "\x0054\x004F", "\x007D", null, null };
public static readonly System.String[] lexStateNames = new System.String[] { "Boost", "RangeEx", "RangeIn", "DEFAULT" };
public static readonly int[] jjnewLexState = new int[] { -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 };
internal static readonly ulong[] jjtoToken = new ulong[] { 0x1ffffff81L };
internal static readonly long[] jjtoSkip = new long[] { 0x40L };
protected internal CharStream input_stream;
private uint[] jjrounds = new uint[36];
private int[] jjstateSet = new int[72];
protected internal char curChar;
public QueryParserTokenManager(CharStream stream)
{
InitBlock();
input_stream = stream;
}
public QueryParserTokenManager(CharStream stream, int lexState)
: this(stream)
{
SwitchTo(lexState);
}
public virtual void ReInit(CharStream stream)
{
jjmatchedPos = jjnewStateCnt = 0;
curLexState = defaultLexState;
input_stream = stream;
ReInitRounds();
}
private void ReInitRounds()
{
int i;
jjround = 0x80000001;
for (i = 36; i-- > 0; )
jjrounds[i] = 0x80000000;
}
public virtual void ReInit(CharStream stream, int lexState)
{
ReInit(stream);
SwitchTo(lexState);
}
public virtual void SwitchTo(int lexState)
{
if (lexState >= 4 || lexState < 0)
throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
else
curLexState = lexState;
}
protected internal virtual Token JjFillToken()
{
Token t = Token.newToken(jjmatchedKind);
t.kind = jjmatchedKind;
System.String im = jjstrLiteralImages[jjmatchedKind];
t.image = (im == null) ? input_stream.GetImage() : im;
t.beginLine = input_stream.GetBeginLine();
t.beginColumn = input_stream.GetBeginColumn();
t.endLine = input_stream.GetEndLine();
t.endColumn = input_stream.GetEndColumn();
return t;
}
internal int curLexState = 3;
internal int defaultLexState = 3;
internal int jjnewStateCnt;
internal uint jjround;
internal int jjmatchedPos;
internal int jjmatchedKind;
public virtual Token GetNextToken()
{
int kind;
Token specialToken = null;
Token matchedToken;
int curPos = 0;
for (; ; )
{
try
{
curChar = input_stream.BeginToken();
}
catch (System.IO.IOException e)
{
jjmatchedKind = 0;
matchedToken = JjFillToken();
return matchedToken;
}
switch (curLexState)
{
case 0:
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = JjMoveStringLiteralDfa0_0();
break;
case 1:
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = JjMoveStringLiteralDfa0_1();
break;
case 2:
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = JjMoveStringLiteralDfa0_2();
break;
case 3:
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = JjMoveStringLiteralDfa0_3();
break;
}
if (jjmatchedKind != 0x7fffffff)
{
if (jjmatchedPos + 1 < curPos)
input_stream.Backup(curPos - jjmatchedPos - 1);
if ((jjtoToken[jjmatchedKind >> 6] & ((ulong)(1L << (jjmatchedKind & 63)))) != (ulong)0L)
{
matchedToken = JjFillToken();
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind];
return matchedToken;
}
else
{
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind];
goto EOFLoop;
}
}
int error_line = input_stream.GetEndLine();
int error_column = input_stream.GetEndColumn();
System.String error_after = null;
bool EOFSeen = false;
try
{
input_stream.ReadChar(); input_stream.Backup(1);
}
catch (System.IO.IOException e1)
{
EOFSeen = true;
error_after = curPos <= 1 ? "" : input_stream.GetImage();
if (curChar == '\n' || curChar == '\r')
{
error_line++;
error_column = 0;
}
else
error_column++;
}
if (!EOFSeen)
{
input_stream.Backup(1);
error_after = curPos <= 1 ? "" : input_stream.GetImage();
}
throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
EOFLoop: ;
}
}
}
}
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (LUCENENET-118) Trailing and leading wildcards in
Lucene.NET 2.1
Posted by "George Aroush (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/LUCENENET-118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
George Aroush closed LUCENENET-118.
-----------------------------------
Resolution: Won't Fix
Assignee: George Aroush
I rather we don't work on older versions. If this is still an issue in 2.3.1, please submit a new patch for 2.3.1. Thanks.
> Trailing and leading wildcards in Lucene.NET 2.1
> ------------------------------------------------
>
> Key: LUCENENET-118
> URL: https://issues.apache.org/jira/browse/LUCENENET-118
> Project: Lucene.Net
> Issue Type: Improvement
> Environment: Lucene.NET 2.1
> .NET2.0
> Reporter: jeroen lauwers
> Assignee: George Aroush
> Priority: Minor
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> See java project LUCENE-813
> The patch of the java project was applied to QueryParserTokenManager.cs
> (but only quickly tested)
> It seems to work :-)
> {code:title=QueryParserTokenManager.cs|borderStyle=solid}
> /*
> * 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.
> */
> /* Generated By:JavaCC: Do not edit this line. QueryParserTokenManager.java */
> using System;
> using Term = Lucene.Net.Index.Term;
> using Lucene.Net.Analysis;
> using Lucene.Net.Documents;
> using Lucene.Net.Search;
> using Searchable = Lucene.Net.Search.Searchable;
> using Parameter = Lucene.Net.Util.Parameter;
> namespace Lucene.Net.QueryParsers
> {
> public class QueryParserTokenManager : QueryParserConstants
> {
> private void InitBlock()
> {
> System.IO.StreamWriter temp_writer;
> temp_writer = new System.IO.StreamWriter(System.Console.OpenStandardOutput(), System.Console.Out.Encoding);
> temp_writer.AutoFlush = true;
> debugStream = temp_writer;
> }
> public System.IO.StreamWriter debugStream;
> public virtual void SetDebugStream(System.IO.StreamWriter ds)
> {
> debugStream = ds;
> }
> private int JjStopStringLiteralDfa_3(int pos, long active0)
> {
> switch (pos)
> {
> default:
> return -1;
> }
> }
> private int JjStartNfa_3(int pos, long active0)
> {
> return JjMoveNfa_3(JjStopStringLiteralDfa_3(pos, active0), pos + 1);
> }
> private int JjStopAtPos(int pos, int kind)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> return pos + 1;
> }
> private int JjStartNfaWithStates_3(int pos, int kind, int state)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> return pos + 1;
> }
> return JjMoveNfa_3(state, pos + 1);
> }
> private int JjMoveStringLiteralDfa0_3()
> {
> switch (curChar)
> {
> case (char)(40):
> return JjStopAtPos(0, 12);
> case (char)(41):
> return JjStopAtPos(0, 13);
> case (char)(42):
> return JjStartNfaWithStates_3(0, 15, 36);
> case (char)(43):
> return JjStopAtPos(0, 10);
> case (char)(45):
> return JjStopAtPos(0, 11);
> case (char)(58):
> return JjStopAtPos(0, 14);
> case (char)(91):
> return JjStopAtPos(0, 22);
> case (char)(94):
> return JjStopAtPos(0, 16);
> case (char)(123):
> return JjStopAtPos(0, 23);
> default:
> return JjMoveNfa_3(0, 0);
> }
> }
> private void JjCheckNAdd(int state)
> {
> if (jjrounds[state] != jjround)
> {
> jjstateSet[jjnewStateCnt++] = state;
> jjrounds[state] = jjround;
> }
> }
> private void JjAddStates(int start, int end)
> {
> do
> {
> jjstateSet[jjnewStateCnt++] = jjnextStates[start];
> }
> while (start++ != end);
> }
> private void JjCheckNAddTwoStates(int state1, int state2)
> {
> JjCheckNAdd(state1);
> JjCheckNAdd(state2);
> }
> private void JjCheckNAddStates(int start, int end)
> {
> do
> {
> JjCheckNAdd(jjnextStates[start]);
> }
> while (start++ != end);
> }
> private void JjCheckNAddStates(int start)
> {
> JjCheckNAdd(jjnextStates[start]);
> JjCheckNAdd(jjnextStates[start + 1]);
> }
> internal static readonly ulong[] jjbitVec0 = new ulong[] { 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL };
> internal static readonly ulong[] jjbitVec2 = new ulong[] { 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL };
> private int JjMoveNfa_3(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 36;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop:
> do
> {
> switch (jjstateSet[--i])
> {
> case 36:
> case 25:
> if ((0xfbfffcf8ffffd9ffL & l) == 0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 0:
> if ((0xfbffd4f8ffffd9ffL & l) != (ulong)0L)
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> else if ((0x100002600L & l) != (ulong)0L)
> {
> if (kind > 6)
> kind = 6;
> }
> else if (curChar == 34)
> JjCheckNAddTwoStates(15, 17);
> else if (curChar == 33)
> {
> if (kind > 9)
> kind = 9;
> }
> if ((0x7bffd0f8ffffd9ffL & l) != (ulong)0L)
> {
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> }
> else if (curChar == 42)
> {
> if (kind > 20)
> kind = 20;
> }
> if (curChar == 38)
> jjstateSet[jjnewStateCnt++] = 4;
> break;
> case 4:
> if (curChar == 38 && kind > 7)
> kind = 7;
> break;
> case 5:
> if (curChar == 38)
> jjstateSet[jjnewStateCnt++] = 4;
> break;
> case 13:
> if (curChar == 33 && kind > 9)
> kind = 9;
> break;
> case 14:
> if (curChar == 34)
> JjCheckNAddTwoStates(15, 17);
> break;
> case 15:
> if ((0xfffffffbffffffffL & l) != (ulong)0L)
> JjCheckNAddStates(5, 7);
> break;
> case 16:
> if (curChar == 34)
> JjCheckNAddStates(5, 7);
> break;
> case 18:
> if (curChar == 34 && kind > 17)
> kind = 17;
> break;
> case 20:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 19)
> kind = 19;
> JjAddStates(8, 9);
> break;
> case 21:
> if (curChar == 46)
> JjCheckNAdd(22);
> break;
> case 22:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 19)
> kind = 19;
> JjCheckNAdd(22);
> break;
> case 23:
> if (curChar == 42 && kind > 20)
> kind = 20;
> break;
> case 24:
> if ((0xfbffd4f8ffffd9ffL & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 27:
> if ((0x84002f0600000000L & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 28:
> if ((0x7bffd0f8ffffd9ffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> break;
> case 29:
> if ((0x7bfff8f8ffffd9ffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 31:
> if ((0x84002f0600000000L & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 32:
> if ((0x7bfff8f8ffffd9ffL & l) != 0L)
> JjCheckNAddStates(10, 12);
> break;
> case 34:
> if ((0x84002f0600000000L & l) != 0L)
> JjCheckNAddStates(10, 12);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 36:
> if ((0x97ffffff97ffffffL & l) != (ulong)0L)
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> if (curChar == 92)
> JjCheckNAddTwoStates(27, 27);
> break;
> case 0:
> if ((0x97ffffff97ffffffL & l) != (ulong)0L)
> {
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> }
> else if (curChar == 126)
> {
> if (kind > 19)
> kind = 19;
> jjstateSet[jjnewStateCnt++] = 20;
> }
> if ((0x97ffffff97ffffffL & l) != (ulong)0L)
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> if (curChar == 92)
> JjCheckNAddStates(13, 15);
> else if (curChar == 78)
> jjstateSet[jjnewStateCnt++] = 11;
> else if (curChar == 124)
> jjstateSet[jjnewStateCnt++] = 8;
> else if (curChar == 79)
> jjstateSet[jjnewStateCnt++] = 6;
> else if (curChar == 65)
> jjstateSet[jjnewStateCnt++] = 2;
> break;
> case 1:
> if (curChar == 68 && kind > 7)
> kind = 7;
> break;
> case 2:
> if (curChar == 78)
> jjstateSet[jjnewStateCnt++] = 1;
> break;
> case 3:
> if (curChar == 65)
> jjstateSet[jjnewStateCnt++] = 2;
> break;
> case 6:
> if (curChar == 82 && kind > 8)
> kind = 8;
> break;
> case 7:
> if (curChar == 79)
> jjstateSet[jjnewStateCnt++] = 6;
> break;
> case 8:
> if (curChar == 124 && kind > 8)
> kind = 8;
> break;
> case 9:
> if (curChar == 124)
> jjstateSet[jjnewStateCnt++] = 8;
> break;
> case 10:
> if (curChar == 84 && kind > 9)
> kind = 9;
> break;
> case 11:
> if (curChar == 79)
> jjstateSet[jjnewStateCnt++] = 10;
> break;
> case 12:
> if (curChar == 78)
> jjstateSet[jjnewStateCnt++] = 11;
> break;
> case 15:
> JjAddStates(5, 7);
> break;
> case 17:
> if (curChar == 92)
> jjstateSet[jjnewStateCnt++] = 16;
> break;
> case 19:
> if (curChar != 126)
> break;
> if (kind > 19)
> kind = 19;
> jjstateSet[jjnewStateCnt++] = 20;
> break;
> case 24:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 25:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 26:
> if (curChar == 92)
> JjCheckNAddTwoStates(27, 27);
> break;
> case 27:
> if ((0x6800000078000000L & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 28:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(0, 4);
> break;
> case 29:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 30:
> if (curChar == 92)
> JjCheckNAddTwoStates(31, 31);
> break;
> case 31:
> if ((0x6800000078000000L & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 32:
> if ((0x97ffffff97ffffffL & l) != 0L)
> JjCheckNAddStates(10, 12);
> break;
> case 33:
> if (curChar == 92)
> JjCheckNAddTwoStates(34, 34);
> break;
> case 34:
> if ((0x6800000078000000L & l) != (ulong)0L)
> JjCheckNAddStates(10, 12);
> break;
> case 35:
> if (curChar == 92)
> JjCheckNAddStates(13, 15);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 36:
> case 25:
> if (!JjCanMove_0(hiByte, i1, i2, l1, l2))
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 0:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> {
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> }
> break;
> case 15:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> JjAddStates(5, 7);
> break;
> case 24:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 28:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> break;
> case 29:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 32:
> if (JjCanMove_0(hiByte, i1, i2, l1, l2))
> JjCheckNAddStates(10, 12);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 36 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return curPos;
> }
> }
> }
> private int JjStopStringLiteralDfa_1(int pos, ulong active0)
> {
> switch (pos)
> {
> case 0:
> if ((active0 & 0x20000000L) != 0L)
> {
> jjmatchedKind = 32;
> return 6;
> }
> return -1;
> default:
> return -1;
> }
> }
> private int JjStartNfa_1(int pos, ulong active0)
> {
> return JjMoveNfa_1(JjStopStringLiteralDfa_1(pos, (ulong)active0), pos + 1);
> }
> private int JjStartNfaWithStates_1(int pos, int kind, int state)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> return pos + 1;
> }
> return JjMoveNfa_1(state, pos + 1);
> }
> private int JjMoveStringLiteralDfa0_1()
> {
> switch (curChar)
> {
> case (char)(84):
> return JjMoveStringLiteralDfa1_1((ulong)0x20000000L);
> case (char)(125):
> return JjStopAtPos(0, 30);
> default:
> return JjMoveNfa_1(0, 0);
> }
> }
> private int JjMoveStringLiteralDfa1_1(ulong active0)
> {
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> JjStopStringLiteralDfa_1(0, (ulong)active0);
> return 1;
> }
> switch (curChar)
> {
> case (char)(79):
> if ((active0 & 0x20000000L) != 0L)
> return JjStartNfaWithStates_1(1, 29, 6);
> break;
> default:
> break;
> }
> return JjStartNfa_1(0, (ulong)active0);
> }
> private int JjMoveNfa_1(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 7;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> if ((0xfffffffeffffffffL & l) != (ulong)0L)
> {
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> }
> if ((0x100002600L & l) != (ulong)0L)
> {
> if (kind > 6)
> kind = 6;
> }
> else if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 1:
> if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 2:
> if ((0xfffffffbffffffffL & l) != (ulong)0L)
> JjCheckNAddStates(16, 18);
> break;
> case 3:
> if (curChar == 34)
> JjCheckNAddStates(16, 18);
> break;
> case 5:
> if (curChar == 34 && kind > 31)
> kind = 31;
> break;
> case 6:
> if ((0xfffffffeffffffffL & l) == (ulong)0L)
> break;
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if ((0xdfffffffffffffffL & l) == (ulong)0L)
> break;
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> break;
> case 2:
> JjAddStates(16, 18);
> break;
> case 4:
> if (curChar == 92)
> jjstateSet[jjnewStateCnt++] = 3;
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> break;
> case 2:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> JjAddStates(16, 18);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 7 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> return curPos;
> }
> }
> }
> private int JjMoveStringLiteralDfa0_0()
> {
> return JjMoveNfa_0(0, 0);
> }
> private int JjMoveNfa_0(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 3;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 24)
> kind = 24;
> JjAddStates(19, 20);
> break;
> case 1:
> if (curChar == 46)
> JjCheckNAdd(2);
> break;
> case 2:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 24)
> kind = 24;
> JjCheckNAdd(2);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return curPos;
> }
> }
> }
> private int JjStopStringLiteralDfa_2(int pos, ulong active0)
> {
> switch (pos)
> {
> case 0:
> if ((active0 & 0x2000000L) != (ulong)0L)
> {
> jjmatchedKind = 28;
> return 6;
> }
> return -1;
> default:
> return -1;
> }
> }
> private int JjStartNfa_2(int pos, ulong active0)
> {
> return JjMoveNfa_2(JjStopStringLiteralDfa_2(pos, (ulong)active0), pos + 1);
> }
> private int JjStartNfaWithStates_2(int pos, int kind, int state)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return pos + 1;
> }
> return JjMoveNfa_2(state, pos + 1);
> }
> private int JjMoveStringLiteralDfa0_2()
> {
> switch (curChar)
> {
> case (char)(84):
> return JjMoveStringLiteralDfa1_2((ulong)0x2000000L);
> case (char)(93):
> return JjStopAtPos(0, 26);
> default:
> return JjMoveNfa_2(0, 0);
> }
> }
> private int JjMoveStringLiteralDfa1_2(ulong active0)
> {
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> JjStopStringLiteralDfa_2(0, (ulong)active0);
> return 1;
> }
> switch (curChar)
> {
> case (char)(79):
> if ((active0 & 0x2000000L) != (ulong)0L)
> return JjStartNfaWithStates_2(1, 25, 6);
> break;
> default:
> break;
> }
> return JjStartNfa_2(0, (ulong)active0);
> }
> private int JjMoveNfa_2(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 7;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> if ((0xfffffffeffffffffL & l) != (ulong)0L)
> {
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> }
> if ((0x100002600L & l) != (ulong)0L)
> {
> if (kind > 6)
> kind = 6;
> }
> else if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 1:
> if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 2:
> if ((0xfffffffbffffffffL & l) != (ulong)0L)
> JjCheckNAddStates(16, 18);
> break;
> case 3:
> if (curChar == 34)
> JjCheckNAddStates(16, 18);
> break;
> case 5:
> if (curChar == 34 && kind > 27)
> kind = 27;
> break;
> case 6:
> if ((0xfffffffeffffffffL & l) == (ulong)0L)
> break;
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if ((0xffffffffdfffffffL & l) == (ulong)0L)
> break;
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> break;
> case 2:
> JjAddStates(16, 18);
> break;
> case 4:
> if (curChar == 92)
> jjstateSet[jjnewStateCnt++] = 3;
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> break;
> case 2:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> JjAddStates(16, 18);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 7 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return curPos;
> }
> }
> }
> internal static readonly int[] jjnextStates = new int[] { 29, 32, 23, 33, 30, 15, 17, 18, 20, 21, 32, 23, 33, 31, 34, 27, 2, 4, 5, 0, 1 };
> private static bool JjCanMove_0(int hiByte, int i1, int i2, ulong l1, ulong l2)
> {
> switch (hiByte)
> {
> case 0:
> return ((jjbitVec2[i2] & l2) != (ulong)0L);
> default:
> if ((jjbitVec0[i1] & l1) != (ulong)0L)
> return true;
> return false;
> }
> }
> public static readonly System.String[] jjstrLiteralImages = new System.String[] { "", null, null, null, null, null, null, null, null, null, "\x002B", "\x002D", "\x0028", "\x0029", "\x003A", "\x002A", "\x005E", null, null, null, null, null, "\x005B", "\x007B", null, "\x0054\x004F", "\x005D", null, null, "\x0054\x004F", "\x007D", null, null };
> public static readonly System.String[] lexStateNames = new System.String[] { "Boost", "RangeEx", "RangeIn", "DEFAULT" };
> public static readonly int[] jjnewLexState = new int[] { -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 };
> internal static readonly ulong[] jjtoToken = new ulong[] { 0x1ffffff81L };
> internal static readonly long[] jjtoSkip = new long[] { 0x40L };
> protected internal CharStream input_stream;
> private uint[] jjrounds = new uint[36];
> private int[] jjstateSet = new int[72];
> protected internal char curChar;
> public QueryParserTokenManager(CharStream stream)
> {
> InitBlock();
> input_stream = stream;
> }
> public QueryParserTokenManager(CharStream stream, int lexState)
> : this(stream)
> {
> SwitchTo(lexState);
> }
> public virtual void ReInit(CharStream stream)
> {
> jjmatchedPos = jjnewStateCnt = 0;
> curLexState = defaultLexState;
> input_stream = stream;
> ReInitRounds();
> }
> private void ReInitRounds()
> {
> int i;
> jjround = 0x80000001;
> for (i = 36; i-- > 0; )
> jjrounds[i] = 0x80000000;
> }
> public virtual void ReInit(CharStream stream, int lexState)
> {
> ReInit(stream);
> SwitchTo(lexState);
> }
> public virtual void SwitchTo(int lexState)
> {
> if (lexState >= 4 || lexState < 0)
> throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
> else
> curLexState = lexState;
> }
> protected internal virtual Token JjFillToken()
> {
> Token t = Token.newToken(jjmatchedKind);
> t.kind = jjmatchedKind;
> System.String im = jjstrLiteralImages[jjmatchedKind];
> t.image = (im == null) ? input_stream.GetImage() : im;
> t.beginLine = input_stream.GetBeginLine();
> t.beginColumn = input_stream.GetBeginColumn();
> t.endLine = input_stream.GetEndLine();
> t.endColumn = input_stream.GetEndColumn();
> return t;
> }
> internal int curLexState = 3;
> internal int defaultLexState = 3;
> internal int jjnewStateCnt;
> internal uint jjround;
> internal int jjmatchedPos;
> internal int jjmatchedKind;
> public virtual Token GetNextToken()
> {
> int kind;
> Token specialToken = null;
> Token matchedToken;
> int curPos = 0;
> for (; ; )
> {
> try
> {
> curChar = input_stream.BeginToken();
> }
> catch (System.IO.IOException e)
> {
> jjmatchedKind = 0;
> matchedToken = JjFillToken();
> return matchedToken;
> }
> switch (curLexState)
> {
> case 0:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_0();
> break;
> case 1:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_1();
> break;
> case 2:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_2();
> break;
> case 3:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_3();
> break;
> }
> if (jjmatchedKind != 0x7fffffff)
> {
> if (jjmatchedPos + 1 < curPos)
> input_stream.Backup(curPos - jjmatchedPos - 1);
> if ((jjtoToken[jjmatchedKind >> 6] & ((ulong)(1L << (jjmatchedKind & 63)))) != (ulong)0L)
> {
> matchedToken = JjFillToken();
> if (jjnewLexState[jjmatchedKind] != -1)
> curLexState = jjnewLexState[jjmatchedKind];
> return matchedToken;
> }
> else
> {
> if (jjnewLexState[jjmatchedKind] != -1)
> curLexState = jjnewLexState[jjmatchedKind];
> goto EOFLoop;
> }
> }
> int error_line = input_stream.GetEndLine();
> int error_column = input_stream.GetEndColumn();
> System.String error_after = null;
> bool EOFSeen = false;
> try
> {
> input_stream.ReadChar(); input_stream.Backup(1);
> }
> catch (System.IO.IOException e1)
> {
> EOFSeen = true;
> error_after = curPos <= 1 ? "" : input_stream.GetImage();
> if (curChar == '\n' || curChar == '\r')
> {
> error_line++;
> error_column = 0;
> }
> else
> error_column++;
> }
> if (!EOFSeen)
> {
> input_stream.Backup(1);
> error_after = curPos <= 1 ? "" : input_stream.GetImage();
> }
> throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
> EOFLoop: ;
> }
> }
> }
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (LUCENENET-118) Trailing and leading wildcards in
Lucene.NET 2.1
Posted by "jeroen lauwers (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/LUCENENET-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608750#action_12608750 ]
jeroen lauwers commented on LUCENENET-118:
------------------------------------------
George, If support for 2.1 has ended, please feel free to close this issue asap. It was just to help those who want to keep on using 2.1
> Trailing and leading wildcards in Lucene.NET 2.1
> ------------------------------------------------
>
> Key: LUCENENET-118
> URL: https://issues.apache.org/jira/browse/LUCENENET-118
> Project: Lucene.Net
> Issue Type: Improvement
> Environment: Lucene.NET 2.1
> .NET2.0
> Reporter: jeroen lauwers
> Priority: Minor
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> See java project LUCENE-813
> The patch of the java project was applied to QueryParserTokenManager.cs
> (but only quickly tested)
> It seems to work :-)
> {code:title=QueryParserTokenManager.cs|borderStyle=solid}
> /*
> * 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.
> */
> /* Generated By:JavaCC: Do not edit this line. QueryParserTokenManager.java */
> using System;
> using Term = Lucene.Net.Index.Term;
> using Lucene.Net.Analysis;
> using Lucene.Net.Documents;
> using Lucene.Net.Search;
> using Searchable = Lucene.Net.Search.Searchable;
> using Parameter = Lucene.Net.Util.Parameter;
> namespace Lucene.Net.QueryParsers
> {
> public class QueryParserTokenManager : QueryParserConstants
> {
> private void InitBlock()
> {
> System.IO.StreamWriter temp_writer;
> temp_writer = new System.IO.StreamWriter(System.Console.OpenStandardOutput(), System.Console.Out.Encoding);
> temp_writer.AutoFlush = true;
> debugStream = temp_writer;
> }
> public System.IO.StreamWriter debugStream;
> public virtual void SetDebugStream(System.IO.StreamWriter ds)
> {
> debugStream = ds;
> }
> private int JjStopStringLiteralDfa_3(int pos, long active0)
> {
> switch (pos)
> {
> default:
> return -1;
> }
> }
> private int JjStartNfa_3(int pos, long active0)
> {
> return JjMoveNfa_3(JjStopStringLiteralDfa_3(pos, active0), pos + 1);
> }
> private int JjStopAtPos(int pos, int kind)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> return pos + 1;
> }
> private int JjStartNfaWithStates_3(int pos, int kind, int state)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> return pos + 1;
> }
> return JjMoveNfa_3(state, pos + 1);
> }
> private int JjMoveStringLiteralDfa0_3()
> {
> switch (curChar)
> {
> case (char)(40):
> return JjStopAtPos(0, 12);
> case (char)(41):
> return JjStopAtPos(0, 13);
> case (char)(42):
> return JjStartNfaWithStates_3(0, 15, 36);
> case (char)(43):
> return JjStopAtPos(0, 10);
> case (char)(45):
> return JjStopAtPos(0, 11);
> case (char)(58):
> return JjStopAtPos(0, 14);
> case (char)(91):
> return JjStopAtPos(0, 22);
> case (char)(94):
> return JjStopAtPos(0, 16);
> case (char)(123):
> return JjStopAtPos(0, 23);
> default:
> return JjMoveNfa_3(0, 0);
> }
> }
> private void JjCheckNAdd(int state)
> {
> if (jjrounds[state] != jjround)
> {
> jjstateSet[jjnewStateCnt++] = state;
> jjrounds[state] = jjround;
> }
> }
> private void JjAddStates(int start, int end)
> {
> do
> {
> jjstateSet[jjnewStateCnt++] = jjnextStates[start];
> }
> while (start++ != end);
> }
> private void JjCheckNAddTwoStates(int state1, int state2)
> {
> JjCheckNAdd(state1);
> JjCheckNAdd(state2);
> }
> private void JjCheckNAddStates(int start, int end)
> {
> do
> {
> JjCheckNAdd(jjnextStates[start]);
> }
> while (start++ != end);
> }
> private void JjCheckNAddStates(int start)
> {
> JjCheckNAdd(jjnextStates[start]);
> JjCheckNAdd(jjnextStates[start + 1]);
> }
> internal static readonly ulong[] jjbitVec0 = new ulong[] { 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL };
> internal static readonly ulong[] jjbitVec2 = new ulong[] { 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL };
> private int JjMoveNfa_3(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 36;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop:
> do
> {
> switch (jjstateSet[--i])
> {
> case 36:
> case 25:
> if ((0xfbfffcf8ffffd9ffL & l) == 0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 0:
> if ((0xfbffd4f8ffffd9ffL & l) != (ulong)0L)
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> else if ((0x100002600L & l) != (ulong)0L)
> {
> if (kind > 6)
> kind = 6;
> }
> else if (curChar == 34)
> JjCheckNAddTwoStates(15, 17);
> else if (curChar == 33)
> {
> if (kind > 9)
> kind = 9;
> }
> if ((0x7bffd0f8ffffd9ffL & l) != (ulong)0L)
> {
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> }
> else if (curChar == 42)
> {
> if (kind > 20)
> kind = 20;
> }
> if (curChar == 38)
> jjstateSet[jjnewStateCnt++] = 4;
> break;
> case 4:
> if (curChar == 38 && kind > 7)
> kind = 7;
> break;
> case 5:
> if (curChar == 38)
> jjstateSet[jjnewStateCnt++] = 4;
> break;
> case 13:
> if (curChar == 33 && kind > 9)
> kind = 9;
> break;
> case 14:
> if (curChar == 34)
> JjCheckNAddTwoStates(15, 17);
> break;
> case 15:
> if ((0xfffffffbffffffffL & l) != (ulong)0L)
> JjCheckNAddStates(5, 7);
> break;
> case 16:
> if (curChar == 34)
> JjCheckNAddStates(5, 7);
> break;
> case 18:
> if (curChar == 34 && kind > 17)
> kind = 17;
> break;
> case 20:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 19)
> kind = 19;
> JjAddStates(8, 9);
> break;
> case 21:
> if (curChar == 46)
> JjCheckNAdd(22);
> break;
> case 22:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 19)
> kind = 19;
> JjCheckNAdd(22);
> break;
> case 23:
> if (curChar == 42 && kind > 20)
> kind = 20;
> break;
> case 24:
> if ((0xfbffd4f8ffffd9ffL & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 27:
> if ((0x84002f0600000000L & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 28:
> if ((0x7bffd0f8ffffd9ffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> break;
> case 29:
> if ((0x7bfff8f8ffffd9ffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 31:
> if ((0x84002f0600000000L & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 32:
> if ((0x7bfff8f8ffffd9ffL & l) != 0L)
> JjCheckNAddStates(10, 12);
> break;
> case 34:
> if ((0x84002f0600000000L & l) != 0L)
> JjCheckNAddStates(10, 12);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 36:
> if ((0x97ffffff97ffffffL & l) != (ulong)0L)
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> if (curChar == 92)
> JjCheckNAddTwoStates(27, 27);
> break;
> case 0:
> if ((0x97ffffff97ffffffL & l) != (ulong)0L)
> {
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> }
> else if (curChar == 126)
> {
> if (kind > 19)
> kind = 19;
> jjstateSet[jjnewStateCnt++] = 20;
> }
> if ((0x97ffffff97ffffffL & l) != (ulong)0L)
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> if (curChar == 92)
> JjCheckNAddStates(13, 15);
> else if (curChar == 78)
> jjstateSet[jjnewStateCnt++] = 11;
> else if (curChar == 124)
> jjstateSet[jjnewStateCnt++] = 8;
> else if (curChar == 79)
> jjstateSet[jjnewStateCnt++] = 6;
> else if (curChar == 65)
> jjstateSet[jjnewStateCnt++] = 2;
> break;
> case 1:
> if (curChar == 68 && kind > 7)
> kind = 7;
> break;
> case 2:
> if (curChar == 78)
> jjstateSet[jjnewStateCnt++] = 1;
> break;
> case 3:
> if (curChar == 65)
> jjstateSet[jjnewStateCnt++] = 2;
> break;
> case 6:
> if (curChar == 82 && kind > 8)
> kind = 8;
> break;
> case 7:
> if (curChar == 79)
> jjstateSet[jjnewStateCnt++] = 6;
> break;
> case 8:
> if (curChar == 124 && kind > 8)
> kind = 8;
> break;
> case 9:
> if (curChar == 124)
> jjstateSet[jjnewStateCnt++] = 8;
> break;
> case 10:
> if (curChar == 84 && kind > 9)
> kind = 9;
> break;
> case 11:
> if (curChar == 79)
> jjstateSet[jjnewStateCnt++] = 10;
> break;
> case 12:
> if (curChar == 78)
> jjstateSet[jjnewStateCnt++] = 11;
> break;
> case 15:
> JjAddStates(5, 7);
> break;
> case 17:
> if (curChar == 92)
> jjstateSet[jjnewStateCnt++] = 16;
> break;
> case 19:
> if (curChar != 126)
> break;
> if (kind > 19)
> kind = 19;
> jjstateSet[jjnewStateCnt++] = 20;
> break;
> case 24:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 25:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 26:
> if (curChar == 92)
> JjCheckNAddTwoStates(27, 27);
> break;
> case 27:
> if ((0x6800000078000000L & l) == (ulong)0L)
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 28:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(0, 4);
> break;
> case 29:
> if ((0x97ffffff97ffffffL & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 30:
> if (curChar == 92)
> JjCheckNAddTwoStates(31, 31);
> break;
> case 31:
> if ((0x6800000078000000L & l) == (ulong)0L)
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 32:
> if ((0x97ffffff97ffffffL & l) != 0L)
> JjCheckNAddStates(10, 12);
> break;
> case 33:
> if (curChar == 92)
> JjCheckNAddTwoStates(34, 34);
> break;
> case 34:
> if ((0x6800000078000000L & l) != (ulong)0L)
> JjCheckNAddStates(10, 12);
> break;
> case 35:
> if (curChar == 92)
> JjCheckNAddStates(13, 15);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 36:
> case 25:
> if (!JjCanMove_0(hiByte, i1, i2, l1, l2))
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 0:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> {
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> }
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> {
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> }
> break;
> case 15:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> JjAddStates(5, 7);
> break;
> case 24:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 21)
> kind = 21;
> JjCheckNAddTwoStates(25, 26);
> break;
> case 28:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddStates(0, 4);
> break;
> case 29:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 18)
> kind = 18;
> JjCheckNAddTwoStates(29, 30);
> break;
> case 32:
> if (JjCanMove_0(hiByte, i1, i2, l1, l2))
> JjCheckNAddStates(10, 12);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 36 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return curPos;
> }
> }
> }
> private int JjStopStringLiteralDfa_1(int pos, ulong active0)
> {
> switch (pos)
> {
> case 0:
> if ((active0 & 0x20000000L) != 0L)
> {
> jjmatchedKind = 32;
> return 6;
> }
> return -1;
> default:
> return -1;
> }
> }
> private int JjStartNfa_1(int pos, ulong active0)
> {
> return JjMoveNfa_1(JjStopStringLiteralDfa_1(pos, (ulong)active0), pos + 1);
> }
> private int JjStartNfaWithStates_1(int pos, int kind, int state)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> return pos + 1;
> }
> return JjMoveNfa_1(state, pos + 1);
> }
> private int JjMoveStringLiteralDfa0_1()
> {
> switch (curChar)
> {
> case (char)(84):
> return JjMoveStringLiteralDfa1_1((ulong)0x20000000L);
> case (char)(125):
> return JjStopAtPos(0, 30);
> default:
> return JjMoveNfa_1(0, 0);
> }
> }
> private int JjMoveStringLiteralDfa1_1(ulong active0)
> {
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> JjStopStringLiteralDfa_1(0, (ulong)active0);
> return 1;
> }
> switch (curChar)
> {
> case (char)(79):
> if ((active0 & 0x20000000L) != 0L)
> return JjStartNfaWithStates_1(1, 29, 6);
> break;
> default:
> break;
> }
> return JjStartNfa_1(0, (ulong)active0);
> }
> private int JjMoveNfa_1(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 7;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> if ((0xfffffffeffffffffL & l) != (ulong)0L)
> {
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> }
> if ((0x100002600L & l) != (ulong)0L)
> {
> if (kind > 6)
> kind = 6;
> }
> else if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 1:
> if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 2:
> if ((0xfffffffbffffffffL & l) != (ulong)0L)
> JjCheckNAddStates(16, 18);
> break;
> case 3:
> if (curChar == 34)
> JjCheckNAddStates(16, 18);
> break;
> case 5:
> if (curChar == 34 && kind > 31)
> kind = 31;
> break;
> case 6:
> if ((0xfffffffeffffffffL & l) == (ulong)0L)
> break;
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if ((0xdfffffffffffffffL & l) == (ulong)0L)
> break;
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> break;
> case 2:
> JjAddStates(16, 18);
> break;
> case 4:
> if (curChar == 92)
> jjstateSet[jjnewStateCnt++] = 3;
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 32)
> kind = 32;
> JjCheckNAdd(6);
> break;
> case 2:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> JjAddStates(16, 18);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 7 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException)
> {
> return curPos;
> }
> }
> }
> private int JjMoveStringLiteralDfa0_0()
> {
> return JjMoveNfa_0(0, 0);
> }
> private int JjMoveNfa_0(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 3;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 24)
> kind = 24;
> JjAddStates(19, 20);
> break;
> case 1:
> if (curChar == 46)
> JjCheckNAdd(2);
> break;
> case 2:
> if ((0x3ff000000000000L & l) == (ulong)0L)
> break;
> if (kind > 24)
> kind = 24;
> JjCheckNAdd(2);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return curPos;
> }
> }
> }
> private int JjStopStringLiteralDfa_2(int pos, ulong active0)
> {
> switch (pos)
> {
> case 0:
> if ((active0 & 0x2000000L) != (ulong)0L)
> {
> jjmatchedKind = 28;
> return 6;
> }
> return -1;
> default:
> return -1;
> }
> }
> private int JjStartNfa_2(int pos, ulong active0)
> {
> return JjMoveNfa_2(JjStopStringLiteralDfa_2(pos, (ulong)active0), pos + 1);
> }
> private int JjStartNfaWithStates_2(int pos, int kind, int state)
> {
> jjmatchedKind = kind;
> jjmatchedPos = pos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return pos + 1;
> }
> return JjMoveNfa_2(state, pos + 1);
> }
> private int JjMoveStringLiteralDfa0_2()
> {
> switch (curChar)
> {
> case (char)(84):
> return JjMoveStringLiteralDfa1_2((ulong)0x2000000L);
> case (char)(93):
> return JjStopAtPos(0, 26);
> default:
> return JjMoveNfa_2(0, 0);
> }
> }
> private int JjMoveStringLiteralDfa1_2(ulong active0)
> {
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> JjStopStringLiteralDfa_2(0, (ulong)active0);
> return 1;
> }
> switch (curChar)
> {
> case (char)(79):
> if ((active0 & 0x2000000L) != (ulong)0L)
> return JjStartNfaWithStates_2(1, 25, 6);
> break;
> default:
> break;
> }
> return JjStartNfa_2(0, (ulong)active0);
> }
> private int JjMoveNfa_2(int startState, int curPos)
> {
> int[] nextStates;
> int startsAt = 0;
> jjnewStateCnt = 7;
> int i = 1;
> jjstateSet[0] = startState;
> int j, kind = 0x7fffffff;
> for (; ; )
> {
> if (++jjround == 0x7fffffff)
> ReInitRounds();
> if (curChar < 64)
> {
> ulong l = ((ulong)1L) << curChar;
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> if ((0xfffffffeffffffffL & l) != (ulong)0L)
> {
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> }
> if ((0x100002600L & l) != (ulong)0L)
> {
> if (kind > 6)
> kind = 6;
> }
> else if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 1:
> if (curChar == 34)
> JjCheckNAddTwoStates(2, 4);
> break;
> case 2:
> if ((0xfffffffbffffffffL & l) != (ulong)0L)
> JjCheckNAddStates(16, 18);
> break;
> case 3:
> if (curChar == 34)
> JjCheckNAddStates(16, 18);
> break;
> case 5:
> if (curChar == 34 && kind > 27)
> kind = 27;
> break;
> case 6:
> if ((0xfffffffeffffffffL & l) == (ulong)0L)
> break;
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else if (curChar < 128)
> {
> ulong l = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if ((0xffffffffdfffffffL & l) == (ulong)0L)
> break;
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> break;
> case 2:
> JjAddStates(16, 18);
> break;
> case 4:
> if (curChar == 92)
> jjstateSet[jjnewStateCnt++] = 3;
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> else
> {
> int hiByte = (int)(curChar >> 8);
> int i1 = hiByte >> 6;
> ulong l1 = ((ulong)1L) << (hiByte & 63);
> int i2 = (curChar & 0xff) >> 6;
> ulong l2 = ((ulong)1L) << (curChar & 63);
> MatchLoop1:
> do
> {
> switch (jjstateSet[--i])
> {
> case 0:
> case 6:
> if (!JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> break;
> if (kind > 28)
> kind = 28;
> JjCheckNAdd(6);
> break;
> case 2:
> if (JjCanMove_0(hiByte, i1, i2, (ulong)l1, (ulong)l2))
> JjAddStates(16, 18);
> break;
> default: break;
> }
> }
> while (i != startsAt);
> }
> if (kind != 0x7fffffff)
> {
> jjmatchedKind = kind;
> jjmatchedPos = curPos;
> kind = 0x7fffffff;
> }
> ++curPos;
> if ((i = jjnewStateCnt) == (startsAt = 7 - (jjnewStateCnt = startsAt)))
> return curPos;
> try
> {
> curChar = input_stream.ReadChar();
> }
> catch (System.IO.IOException e)
> {
> return curPos;
> }
> }
> }
> internal static readonly int[] jjnextStates = new int[] { 29, 32, 23, 33, 30, 15, 17, 18, 20, 21, 32, 23, 33, 31, 34, 27, 2, 4, 5, 0, 1 };
> private static bool JjCanMove_0(int hiByte, int i1, int i2, ulong l1, ulong l2)
> {
> switch (hiByte)
> {
> case 0:
> return ((jjbitVec2[i2] & l2) != (ulong)0L);
> default:
> if ((jjbitVec0[i1] & l1) != (ulong)0L)
> return true;
> return false;
> }
> }
> public static readonly System.String[] jjstrLiteralImages = new System.String[] { "", null, null, null, null, null, null, null, null, null, "\x002B", "\x002D", "\x0028", "\x0029", "\x003A", "\x002A", "\x005E", null, null, null, null, null, "\x005B", "\x007B", null, "\x0054\x004F", "\x005D", null, null, "\x0054\x004F", "\x007D", null, null };
> public static readonly System.String[] lexStateNames = new System.String[] { "Boost", "RangeEx", "RangeIn", "DEFAULT" };
> public static readonly int[] jjnewLexState = new int[] { -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 };
> internal static readonly ulong[] jjtoToken = new ulong[] { 0x1ffffff81L };
> internal static readonly long[] jjtoSkip = new long[] { 0x40L };
> protected internal CharStream input_stream;
> private uint[] jjrounds = new uint[36];
> private int[] jjstateSet = new int[72];
> protected internal char curChar;
> public QueryParserTokenManager(CharStream stream)
> {
> InitBlock();
> input_stream = stream;
> }
> public QueryParserTokenManager(CharStream stream, int lexState)
> : this(stream)
> {
> SwitchTo(lexState);
> }
> public virtual void ReInit(CharStream stream)
> {
> jjmatchedPos = jjnewStateCnt = 0;
> curLexState = defaultLexState;
> input_stream = stream;
> ReInitRounds();
> }
> private void ReInitRounds()
> {
> int i;
> jjround = 0x80000001;
> for (i = 36; i-- > 0; )
> jjrounds[i] = 0x80000000;
> }
> public virtual void ReInit(CharStream stream, int lexState)
> {
> ReInit(stream);
> SwitchTo(lexState);
> }
> public virtual void SwitchTo(int lexState)
> {
> if (lexState >= 4 || lexState < 0)
> throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
> else
> curLexState = lexState;
> }
> protected internal virtual Token JjFillToken()
> {
> Token t = Token.newToken(jjmatchedKind);
> t.kind = jjmatchedKind;
> System.String im = jjstrLiteralImages[jjmatchedKind];
> t.image = (im == null) ? input_stream.GetImage() : im;
> t.beginLine = input_stream.GetBeginLine();
> t.beginColumn = input_stream.GetBeginColumn();
> t.endLine = input_stream.GetEndLine();
> t.endColumn = input_stream.GetEndColumn();
> return t;
> }
> internal int curLexState = 3;
> internal int defaultLexState = 3;
> internal int jjnewStateCnt;
> internal uint jjround;
> internal int jjmatchedPos;
> internal int jjmatchedKind;
> public virtual Token GetNextToken()
> {
> int kind;
> Token specialToken = null;
> Token matchedToken;
> int curPos = 0;
> for (; ; )
> {
> try
> {
> curChar = input_stream.BeginToken();
> }
> catch (System.IO.IOException e)
> {
> jjmatchedKind = 0;
> matchedToken = JjFillToken();
> return matchedToken;
> }
> switch (curLexState)
> {
> case 0:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_0();
> break;
> case 1:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_1();
> break;
> case 2:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_2();
> break;
> case 3:
> jjmatchedKind = 0x7fffffff;
> jjmatchedPos = 0;
> curPos = JjMoveStringLiteralDfa0_3();
> break;
> }
> if (jjmatchedKind != 0x7fffffff)
> {
> if (jjmatchedPos + 1 < curPos)
> input_stream.Backup(curPos - jjmatchedPos - 1);
> if ((jjtoToken[jjmatchedKind >> 6] & ((ulong)(1L << (jjmatchedKind & 63)))) != (ulong)0L)
> {
> matchedToken = JjFillToken();
> if (jjnewLexState[jjmatchedKind] != -1)
> curLexState = jjnewLexState[jjmatchedKind];
> return matchedToken;
> }
> else
> {
> if (jjnewLexState[jjmatchedKind] != -1)
> curLexState = jjnewLexState[jjmatchedKind];
> goto EOFLoop;
> }
> }
> int error_line = input_stream.GetEndLine();
> int error_column = input_stream.GetEndColumn();
> System.String error_after = null;
> bool EOFSeen = false;
> try
> {
> input_stream.ReadChar(); input_stream.Backup(1);
> }
> catch (System.IO.IOException e1)
> {
> EOFSeen = true;
> error_after = curPos <= 1 ? "" : input_stream.GetImage();
> if (curChar == '\n' || curChar == '\r')
> {
> error_line++;
> error_column = 0;
> }
> else
> error_column++;
> }
> if (!EOFSeen)
> {
> input_stream.Backup(1);
> error_after = curPos <= 1 ? "" : input_stream.GetImage();
> }
> throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
> EOFLoop: ;
> }
> }
> }
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.