| # 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. | |
| # | |
| # This patch file was generated by NetBeans IDE | |
| # It uses platform neutral UTF-8 encoding and \n newlines. | |
| --- JadeColoringLexer.java | |
| +++ JadeColoringLexer.java.patched | |
| @@ -565,7 +565,7 @@ | |
| * Returns the text matched by the current regular expression. | |
| */ | |
| public final String yytext() { | |
| - return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead ); | |
| + return input.readText().toString(); | |
| } | |
| @@ -581,7 +581,7 @@ | |
| * @return the character at position pos | |
| */ | |
| public final char yycharat(int pos) { | |
| - return zzBuffer[zzStartRead+pos]; | |
| + return input.readText().charAt(pos); | |
| } | |
| @@ -589,7 +589,7 @@ | |
| * Returns the length of the matched text region. | |
| */ | |
| public final int yylength() { | |
| - return zzMarkedPos-zzStartRead; | |
| + return input.readLength(); | |
| } | |
| @@ -632,7 +632,7 @@ | |
| if ( number > yylength() ) | |
| zzScanError(ZZ_PUSHBACK_2BIG); | |
| - zzMarkedPos -= number; | |
| + input.backup(number); | |
| } | |
| @@ -648,10 +648,7 @@ | |
| int zzAction; | |
| // cached fields: | |
| - int zzCurrentPosL; | |
| int zzMarkedPosL; | |
| - int zzEndReadL = zzEndRead; | |
| - char [] zzBufferL = zzBuffer; | |
| char [] zzCMapL = ZZ_CMAP; | |
| int [] zzTransL = ZZ_TRANS; | |
| @@ -665,7 +662,7 @@ | |
| zzAction = -1; | |
| - zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; | |
| + int tokenLength = 0; | |
| zzState = ZZ_LEXSTATE[zzLexicalState]; | |
| @@ -673,30 +670,12 @@ | |
| zzForAction: { | |
| while (true) { | |
| - if (zzCurrentPosL < zzEndReadL) | |
| - zzInput = zzBufferL[zzCurrentPosL++]; | |
| - else if (zzAtEOF) { | |
| + zzInput = input.read(); | |
| + if(zzInput == LexerInput.EOF) { | |
| zzInput = YYEOF; | |
| break zzForAction; | |
| } | |
| - else { | |
| - // store back cached positions | |
| - zzCurrentPos = zzCurrentPosL; | |
| - zzMarkedPos = zzMarkedPosL; | |
| - boolean eof = zzRefill(); | |
| - // get translated positions and possibly new buffer | |
| - zzCurrentPosL = zzCurrentPos; | |
| - zzMarkedPosL = zzMarkedPos; | |
| - zzBufferL = zzBuffer; | |
| - zzEndReadL = zzEndRead; | |
| - if (eof) { | |
| - zzInput = YYEOF; | |
| - break zzForAction; | |
| - } | |
| - else { | |
| - zzInput = zzBufferL[zzCurrentPosL++]; | |
| - } | |
| - } | |
| + | |
| int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; | |
| if (zzNext == -1) break zzForAction; | |
| zzState = zzNext; | |
| @@ -704,7 +683,7 @@ | |
| int zzAttributes = zzAttrL[zzState]; | |
| if ( (zzAttributes & 1) == 1 ) { | |
| zzAction = zzState; | |
| - zzMarkedPosL = zzCurrentPosL; | |
| + tokenLength = input.readLength(); | |
| if ( (zzAttributes & 8) == 8 ) break zzForAction; | |
| } | |
| @@ -712,7 +691,9 @@ | |
| } | |
| // store back cached position | |
| - zzMarkedPos = zzMarkedPosL; | |
| + if(zzInput != YYEOF) { | |
| + input.backup(input.readLength() - tokenLength); | |
| + } | |
| switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { | |
| case 2: |