lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "George Aroush (JIRA)" <j...@apache.org>
Subject [jira] Closed: (LUCENENET-118) Trailing and leading wildcards in Lucene.NET 2.1
Date Wed, 16 Jul 2008 23:25:31 GMT

     [ 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.


Mime
View raw message