
net.hydromatic.morel.parse.MorelParserImplTokenManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of morel Show documentation
Show all versions of morel Show documentation
Standard ML interpreter, with relational extensions, implemented in Java
/* MorelParserImplTokenManager.java */
/* Generated By:JavaCC: Do not edit this line. MorelParserImplTokenManager.java */
package net.hydromatic.morel.parse;
import net.hydromatic.morel.ast.Ast;
import net.hydromatic.morel.ast.Ast.*;
import net.hydromatic.morel.ast.AstNode;
import net.hydromatic.morel.ast.Op;
import net.hydromatic.morel.ast.Pos;
import net.hydromatic.morel.util.Folder;
import net.hydromatic.morel.util.ImmutablePairList;
import net.hydromatic.morel.util.Pair;
import net.hydromatic.morel.util.PairList;
import com.google.common.collect.ImmutableList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import static net.hydromatic.morel.ast.AstBuilder.ast;
import static net.hydromatic.morel.parse.Parsers.unquoteCharLiteral;
import static net.hydromatic.morel.parse.Parsers.unquoteIdentifier;
import static net.hydromatic.morel.parse.Parsers.unquoteString;
/** Token Manager. */
@SuppressWarnings ("unused")
public class MorelParserImplTokenManager implements MorelParserImplConstants {
List lexicalStateStack = new ArrayList<>();
void pushState() {
lexicalStateStack.add(curLexState);
}
void popState() {
SwitchTo(lexicalStateStack.remove(lexicalStateStack.size() - 1));
}
/** Debug output. */
public java.io.PrintStream debugStream = System.out;
/** Set debug output. */
public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1){
switch (pos)
{
case 0:
if ((active1 & 0x1000L) != 0L)
return 39;
if ((active0 & 0x600700000L) != 0L)
return 40;
if ((active1 & 0x800L) != 0L)
return 17;
if ((active1 & 0x80L) != 0L)
return 41;
if ((active0 & 0x79ff8ffffcL) != 0L)
{
jjmatchedKind = 88;
return 40;
}
return -1;
case 1:
if ((active0 & 0x7dffce2fecL) != 0L)
{
if (jjmatchedPos != 1)
{
jjmatchedKind = 88;
jjmatchedPos = 1;
}
return 40;
}
if ((active0 & 0x20021d010L) != 0L)
return 40;
return -1;
case 2:
if ((active0 & 0x886288cL) != 0L)
return 40;
if ((active0 & 0x7df7490760L) != 0L)
{
if (jjmatchedPos != 2)
{
jjmatchedKind = 88;
jjmatchedPos = 2;
}
return 40;
}
return -1;
case 3:
if ((active0 & 0x1962000320L) != 0L)
return 40;
if ((active0 & 0x6495490448L) != 0L)
{
jjmatchedKind = 88;
jjmatchedPos = 3;
return 40;
}
return -1;
case 4:
if ((active0 & 0x11490448L) != 0L)
{
jjmatchedKind = 88;
jjmatchedPos = 4;
return 40;
}
if ((active0 & 0x6484000000L) != 0L)
return 40;
return -1;
case 5:
if ((active0 & 0x400400L) != 0L)
return 40;
if ((active0 & 0x11090048L) != 0L)
{
jjmatchedKind = 88;
jjmatchedPos = 5;
return 40;
}
return -1;
case 6:
if ((active0 & 0x1010040L) != 0L)
{
jjmatchedKind = 88;
jjmatchedPos = 6;
return 40;
}
if ((active0 & 0x10080008L) != 0L)
return 40;
return -1;
case 7:
if ((active0 & 0x1000040L) != 0L)
return 40;
if ((active0 & 0x10000L) != 0L)
{
jjmatchedKind = 88;
jjmatchedPos = 7;
return 40;
}
return -1;
default :
return -1;
}
}
private final int jjStartNfa_0(int pos, long active0, long active1){
return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), pos + 1);
}
private int jjStopAtPos(int pos, int kind)
{
jjmatchedKind = kind;
jjmatchedPos = pos;
return pos + 1;
}
private int jjMoveStringLiteralDfa0_0(){
switch(curChar)
{
case 34:
return jjStartNfaWithStates_0(0, 76, 39);
case 39:
return jjStartNfaWithStates_0(0, 75, 17);
case 40:
jjmatchedKind = 47;
return jjMoveStringLiteralDfa1_0(0x0L, 0xc0000L);
case 41:
return jjStopAtPos(0, 48);
case 42:
return jjStopAtPos(0, 69);
case 43:
return jjStopAtPos(0, 66);
case 44:
return jjStopAtPos(0, 56);
case 45:
jjmatchedKind = 67;
return jjMoveStringLiteralDfa1_0(0x400000000000000L, 0x0L);
case 46:
jjmatchedKind = 55;
return jjMoveStringLiteralDfa1_0(0x0L, 0x400L);
case 47:
return jjStopAtPos(0, 70);
case 58:
jjmatchedKind = 62;
return jjMoveStringLiteralDfa1_0(0x0L, 0x100L);
case 59:
return jjStopAtPos(0, 53);
case 60:
jjmatchedKind = 61;
return jjMoveStringLiteralDfa1_0(0x8000000000000000L, 0x2L);
case 61:
jjmatchedKind = 59;
return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x0L);
case 62:
jjmatchedKind = 60;
return jjMoveStringLiteralDfa1_0(0x0L, 0x1L);
case 64:
return jjStopAtPos(0, 73);
case 91:
return jjStopAtPos(0, 51);
case 93:
return jjStopAtPos(0, 52);
case 94:
return jjStopAtPos(0, 68);
case 95:
return jjStopAtPos(0, 1);
case 97:
return jjMoveStringLiteralDfa1_0(0x1cL, 0x0L);
case 99:
return jjMoveStringLiteralDfa1_0(0x10000020L, 0x0L);
case 100:
return jjMoveStringLiteralDfa1_0(0x200000c0L, 0x0L);
case 101:
return jjMoveStringLiteralDfa1_0(0xf00L, 0x0L);
case 102:
return jjMoveStringLiteralDfa1_0(0x40003000L, 0x0L);
case 103:
return jjMoveStringLiteralDfa1_0(0x80000000L, 0x0L);
case 105:
return jjMoveStringLiteralDfa1_0(0x1c000L, 0x0L);
case 106:
return jjMoveStringLiteralDfa1_0(0x100000000L, 0x0L);
case 108:
return jjMoveStringLiteralDfa1_0(0x20000L, 0x0L);
case 109:
return jjMoveStringLiteralDfa1_0(0x40000L, 0x0L);
case 110:
return jjMoveStringLiteralDfa1_0(0x80000L, 0x0L);
case 111:
jjmatchedKind = 20;
return jjMoveStringLiteralDfa1_0(0x600600000L, 0x0L);
case 114:
return jjMoveStringLiteralDfa1_0(0x800000L, 0x0L);
case 115:
return jjMoveStringLiteralDfa1_0(0x801000000L, 0x0L);
case 116:
return jjMoveStringLiteralDfa1_0(0x1002000000L, 0x0L);
case 117:
return jjMoveStringLiteralDfa1_0(0x4000000L, 0x0L);
case 118:
return jjMoveStringLiteralDfa1_0(0x8000000L, 0x0L);
case 119:
return jjMoveStringLiteralDfa1_0(0x2000000000L, 0x0L);
case 121:
return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x0L);
case 123:
return jjStopAtPos(0, 49);
case 124:
return jjStopAtPos(0, 54);
case 125:
return jjStopAtPos(0, 50);
case 126:
return jjStartNfaWithStates_0(0, 71, 41);
default :
return jjMoveNfa_0(11, 0);
}
}
private int jjMoveStringLiteralDfa1_0(long active0, long active1){
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(0, active0, active1);
return 1;
}
switch(curChar)
{
case 42:
if ((active1 & 0x80000L) != 0L)
{
jjmatchedKind = 83;
jjmatchedPos = 1;
}
return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x40000L);
case 46:
return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400L);
case 58:
if ((active1 & 0x100L) != 0L)
return jjStopAtPos(1, 72);
break;
case 61:
if ((active0 & 0x8000000000000000L) != 0L)
return jjStopAtPos(1, 63);
else if ((active1 & 0x1L) != 0L)
return jjStopAtPos(1, 64);
break;
case 62:
if ((active0 & 0x200000000000000L) != 0L)
return jjStopAtPos(1, 57);
else if ((active0 & 0x400000000000000L) != 0L)
return jjStopAtPos(1, 58);
else if ((active1 & 0x2L) != 0L)
return jjStopAtPos(1, 65);
break;
case 97:
return jjMoveStringLiteralDfa2_0(active0, 0x1008000060L, active1, 0L);
case 101:
return jjMoveStringLiteralDfa2_0(active0, 0x20820000L, active1, 0L);
case 102:
if ((active0 & 0x4000L) != 0L)
return jjStartNfaWithStates_0(1, 14, 40);
else if ((active0 & 0x200000L) != 0L)
return jjStartNfaWithStates_0(1, 21, 40);
break;
case 104:
return jjMoveStringLiteralDfa2_0(active0, 0x2002000000L, active1, 0L);
case 105:
return jjMoveStringLiteralDfa2_0(active0, 0x4000000080L, active1, 0L);
case 107:
return jjMoveStringLiteralDfa2_0(active0, 0x800000000L, active1, 0L);
case 108:
return jjMoveStringLiteralDfa2_0(active0, 0x300L, active1, 0L);
case 110:
if ((active0 & 0x1000L) != 0L)
return jjStartNfaWithStates_0(1, 12, 40);
else if ((active0 & 0x8000L) != 0L)
{
jjmatchedKind = 15;
jjmatchedPos = 1;
}
else if ((active0 & 0x200000000L) != 0L)
return jjStartNfaWithStates_0(1, 33, 40);
return jjMoveStringLiteralDfa2_0(active0, 0x401080cL, active1, 0L);
case 111:
return jjMoveStringLiteralDfa2_0(active0, 0x1100c0000L, active1, 0L);
case 114:
return jjMoveStringLiteralDfa2_0(active0, 0x4c0400000L, active1, 0L);
case 115:
if ((active0 & 0x10L) != 0L)
return jjStartNfaWithStates_0(1, 4, 40);
break;
case 117:
return jjMoveStringLiteralDfa2_0(active0, 0x1002000L, active1, 0L);
case 120:
return jjMoveStringLiteralDfa2_0(active0, 0x400L, active1, 0L);
default :
break;
}
return jjStartNfa_0(0, active0, active1);
}
private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1){
if (((active0 &= old0) | (active1 &= old1)) == 0L)
return jjStartNfa_0(0, old0, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(1, active0, active1);
return 2;
}
switch(curChar)
{
case 41:
if ((active1 & 0x40000L) != 0L)
return jjStopAtPos(2, 82);
break;
case 46:
if ((active1 & 0x400L) != 0L)
return jjStopAtPos(2, 74);
break;
case 99:
if ((active0 & 0x800000L) != 0L)
return jjStartNfaWithStates_0(2, 23, 40);
return jjMoveStringLiteralDfa3_0(active0, 0x1000400L, active1, 0L);
case 100:
if ((active0 & 0x4L) != 0L)
{
jjmatchedKind = 2;
jjmatchedPos = 2;
}
else if ((active0 & 0x800L) != 0L)
return jjStartNfaWithStates_0(2, 11, 40);
else if ((active0 & 0x40000L) != 0L)
return jjStartNfaWithStates_0(2, 18, 40);
return jjMoveStringLiteralDfa3_0(active0, 0x400000008L, active1, 0L);
case 101:
return jjMoveStringLiteralDfa3_0(active0, 0x6002400100L, active1, 0L);
case 105:
return jjMoveStringLiteralDfa3_0(active0, 0x904000000L, active1, 0L);
case 107:
return jjMoveStringLiteralDfa3_0(active0, 0x1000000000L, active1, 0L);
case 108:
if ((active0 & 0x8000000L) != 0L)
return jjStartNfaWithStates_0(2, 27, 40);
break;
case 109:
return jjMoveStringLiteralDfa3_0(active0, 0x10000000L, active1, 0L);
case 110:
if ((active0 & 0x2000L) != 0L)
return jjStartNfaWithStates_0(2, 13, 40);
break;
case 111:
return jjMoveStringLiteralDfa3_0(active0, 0xc0000000L, active1, 0L);
case 115:
return jjMoveStringLiteralDfa3_0(active0, 0x20000220L, active1, 0L);
case 116:
if ((active0 & 0x20000L) != 0L)
return jjStartNfaWithStates_0(2, 17, 40);
return jjMoveStringLiteralDfa3_0(active0, 0x90040L, active1, 0L);
case 118:
if ((active0 & 0x80L) != 0L)
return jjStartNfaWithStates_0(2, 7, 40);
break;
default :
break;
}
return jjStartNfa_0(1, active0, active1);
}
private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1){
if (((active0 &= old0) | (active1 &= old1)) == 0L)
return jjStartNfa_0(1, old0, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(2, active0, 0L);
return 3;
}
switch(curChar)
{
case 97:
return jjMoveStringLiteralDfa4_0(active0, 0x48L);
case 99:
if ((active0 & 0x20000000L) != 0L)
return jjStartNfaWithStates_0(3, 29, 40);
break;
case 101:
if ((active0 & 0x20L) != 0L)
return jjStartNfaWithStates_0(3, 5, 40);
else if ((active0 & 0x200L) != 0L)
return jjStartNfaWithStates_0(3, 9, 40);
else if ((active0 & 0x1000000000L) != 0L)
return jjStartNfaWithStates_0(3, 36, 40);
return jjMoveStringLiteralDfa4_0(active0, 0x400090400L);
case 104:
return jjMoveStringLiteralDfa4_0(active0, 0x1000000L);
case 108:
return jjMoveStringLiteralDfa4_0(active0, 0x4000400000L);
case 109:
if ((active0 & 0x100L) != 0L)
return jjStartNfaWithStates_0(3, 8, 40);
else if ((active0 & 0x40000000L) != 0L)
return jjStartNfaWithStates_0(3, 30, 40);
break;
case 110:
if ((active0 & 0x2000000L) != 0L)
return jjStartNfaWithStates_0(3, 25, 40);
else if ((active0 & 0x100000000L) != 0L)
return jjStartNfaWithStates_0(3, 32, 40);
break;
case 111:
return jjMoveStringLiteralDfa4_0(active0, 0x4000000L);
case 112:
if ((active0 & 0x800000000L) != 0L)
return jjStartNfaWithStates_0(3, 35, 40);
return jjMoveStringLiteralDfa4_0(active0, 0x10000000L);
case 114:
return jjMoveStringLiteralDfa4_0(active0, 0x2000000000L);
case 117:
return jjMoveStringLiteralDfa4_0(active0, 0x80000000L);
default :
break;
}
return jjStartNfa_0(2, active0, 0L);
}
private int jjMoveStringLiteralDfa4_0(long old0, long active0){
if (((active0 &= old0)) == 0L)
return jjStartNfa_0(2, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(3, active0, 0L);
return 4;
}
switch(curChar)
{
case 100:
if ((active0 & 0x4000000000L) != 0L)
return jjStartNfaWithStates_0(4, 38, 40);
break;
case 101:
if ((active0 & 0x2000000000L) != 0L)
return jjStartNfaWithStates_0(4, 37, 40);
break;
case 108:
return jjMoveStringLiteralDfa5_0(active0, 0x80008L);
case 110:
if ((active0 & 0x4000000L) != 0L)
return jjStartNfaWithStates_0(4, 26, 40);
break;
case 112:
if ((active0 & 0x80000000L) != 0L)
return jjStartNfaWithStates_0(4, 31, 40);
return jjMoveStringLiteralDfa5_0(active0, 0x400L);
case 114:
if ((active0 & 0x400000000L) != 0L)
return jjStartNfaWithStates_0(4, 34, 40);
return jjMoveStringLiteralDfa5_0(active0, 0x10000L);
case 115:
return jjMoveStringLiteralDfa5_0(active0, 0x400000L);
case 116:
return jjMoveStringLiteralDfa5_0(active0, 0x1000040L);
case 117:
return jjMoveStringLiteralDfa5_0(active0, 0x10000000L);
default :
break;
}
return jjStartNfa_0(3, active0, 0L);
}
private int jjMoveStringLiteralDfa5_0(long old0, long active0){
if (((active0 &= old0)) == 0L)
return jjStartNfa_0(3, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(4, active0, 0L);
return 5;
}
switch(curChar)
{
case 101:
if ((active0 & 0x400000L) != 0L)
return jjStartNfaWithStates_0(5, 22, 40);
return jjMoveStringLiteralDfa6_0(active0, 0x80000L);
case 104:
return jjMoveStringLiteralDfa6_0(active0, 0x1000000L);
case 115:
return jjMoveStringLiteralDfa6_0(active0, 0x10008L);
case 116:
if ((active0 & 0x400L) != 0L)
return jjStartNfaWithStates_0(5, 10, 40);
return jjMoveStringLiteralDfa6_0(active0, 0x10000000L);
case 121:
return jjMoveStringLiteralDfa6_0(active0, 0x40L);
default :
break;
}
return jjStartNfa_0(4, active0, 0L);
}
private int jjMoveStringLiteralDfa6_0(long old0, long active0){
if (((active0 &= old0)) == 0L)
return jjStartNfa_0(4, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(5, active0, 0L);
return 6;
}
switch(curChar)
{
case 97:
return jjMoveStringLiteralDfa7_0(active0, 0x1000000L);
case 101:
if ((active0 & 0x10000000L) != 0L)
return jjStartNfaWithStates_0(6, 28, 40);
return jjMoveStringLiteralDfa7_0(active0, 0x10000L);
case 109:
if ((active0 & 0x80000L) != 0L)
return jjStartNfaWithStates_0(6, 19, 40);
break;
case 111:
if ((active0 & 0x8L) != 0L)
return jjStartNfaWithStates_0(6, 3, 40);
break;
case 112:
return jjMoveStringLiteralDfa7_0(active0, 0x40L);
default :
break;
}
return jjStartNfa_0(5, active0, 0L);
}
private int jjMoveStringLiteralDfa7_0(long old0, long active0){
if (((active0 &= old0)) == 0L)
return jjStartNfa_0(5, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(6, active0, 0L);
return 7;
}
switch(curChar)
{
case 99:
return jjMoveStringLiteralDfa8_0(active0, 0x10000L);
case 101:
if ((active0 & 0x40L) != 0L)
return jjStartNfaWithStates_0(7, 6, 40);
break;
case 116:
if ((active0 & 0x1000000L) != 0L)
return jjStartNfaWithStates_0(7, 24, 40);
break;
default :
break;
}
return jjStartNfa_0(6, active0, 0L);
}
private int jjMoveStringLiteralDfa8_0(long old0, long active0){
if (((active0 &= old0)) == 0L)
return jjStartNfa_0(6, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_0(7, active0, 0L);
return 8;
}
switch(curChar)
{
case 116:
if ((active0 & 0x10000L) != 0L)
return jjStartNfaWithStates_0(8, 16, 40);
break;
default :
break;
}
return jjStartNfa_0(7, active0, 0L);
}
private int jjStartNfaWithStates_0(int pos, int kind, int state)
{
jjmatchedKind = kind;
jjmatchedPos = pos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return pos + 1; }
return jjMoveNfa_0(state, pos + 1);
}
static final long[] jjbitVec0 = {
0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec2 = {
0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec3 = {
0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
};
static final long[] jjbitVec4 = {
0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
};
static final long[] jjbitVec5 = {
0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
};
static final long[] jjbitVec6 = {
0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
};
static final long[] jjbitVec7 = {
0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
};
static final long[] jjbitVec8 = {
0x3fffffffffffL, 0x0L, 0x0L, 0x0L
};
private int jjMoveNfa_0(int startState, int curPos)
{
int startsAt = 0;
jjnewStateCnt = 39;
int i = 1;
jjstateSet[0] = startState;
int kind = 0x7fffffff;
for (;;)
{
if (++jjround == 0x7fffffff)
ReInitRounds();
if (curChar < 64)
{
long l = 1L << curChar;
do
{
switch(jjstateSet[--i])
{
case 40:
if ((0x7ff600000000000L & l) != 0L)
{ jjCheckNAddTwoStates(6, 7); }
else if (curChar == 36)
jjstateSet[jjnewStateCnt++] = 8;
if ((0x3ff008000000000L & l) != 0L)
{
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
}
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddStates(0, 2); }
break;
case 39:
if ((0xfffffffbffffffffL & l) != 0L)
{ jjCheckNAddStates(3, 5); }
else if (curChar == 34)
{
if (kind > 45)
kind = 45;
}
break;
case 41:
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddStates(6, 8); }
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddTwoStates(21, 22); }
if ((0x3ff000000000000L & l) != 0L)
{
if (kind > 40)
kind = 40;
{ jjCheckNAdd(31); }
}
break;
case 11:
if ((0x3ff000000000000L & l) != 0L)
{
if (kind > 39)
kind = 39;
{ jjCheckNAddStates(9, 14); }
}
else if (curChar == 35)
{ jjCheckNAddTwoStates(33, 38); }
else if (curChar == 39)
jjstateSet[jjnewStateCnt++] = 17;
else if (curChar == 34)
{ jjCheckNAddStates(3, 5); }
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddStates(0, 2); }
break;
case 0:
if (curChar == 34)
{ jjCheckNAddStates(3, 5); }
break;
case 1:
if ((0xfffffffbffffffffL & l) != 0L)
{ jjCheckNAddStates(3, 5); }
break;
case 2:
if (curChar == 34 && kind > 45)
kind = 45;
break;
case 5:
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddStates(0, 2); }
break;
case 6:
if ((0x7ff600000000000L & l) != 0L)
{ jjCheckNAddTwoStates(6, 7); }
break;
case 7:
if (curChar == 36)
jjstateSet[jjnewStateCnt++] = 8;
break;
case 9:
if (curChar == 36)
{ jjCheckNAdd(10); }
break;
case 10:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 87)
kind = 87;
{ jjCheckNAdd(10); }
break;
case 12:
if ((0x3ff008000000000L & l) == 0L)
break;
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
break;
case 14:
{ jjAddStates(15, 16); }
break;
case 16:
if (curChar == 39)
jjstateSet[jjnewStateCnt++] = 17;
break;
case 18:
if ((0x3ff008000000000L & l) == 0L)
break;
if (kind > 90)
kind = 90;
jjstateSet[jjnewStateCnt++] = 18;
break;
case 19:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 39)
kind = 39;
{ jjCheckNAddStates(9, 14); }
break;
case 20:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 39)
kind = 39;
{ jjCheckNAdd(20); }
break;
case 21:
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddTwoStates(21, 22); }
break;
case 22:
if (curChar == 46)
{ jjCheckNAdd(23); }
break;
case 23:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 41)
kind = 41;
{ jjCheckNAdd(23); }
break;
case 24:
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddStates(6, 8); }
break;
case 25:
if (curChar == 46)
{ jjCheckNAdd(26); }
break;
case 26:
if ((0x3ff000000000000L & l) != 0L)
{ jjCheckNAddTwoStates(26, 27); }
break;
case 29:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 42)
kind = 42;
jjstateSet[jjnewStateCnt++] = 29;
break;
case 31:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 40)
kind = 40;
{ jjCheckNAdd(31); }
break;
case 32:
if (curChar == 35)
{ jjCheckNAddTwoStates(33, 38); }
break;
case 33:
if (curChar == 34)
{ jjCheckNAddStates(17, 19); }
break;
case 34:
if ((0xfffffffbffffffffL & l) != 0L)
{ jjCheckNAddStates(17, 19); }
break;
case 35:
if (curChar == 34 && kind > 46)
kind = 46;
break;
case 38:
if ((0x3ff008000000000L & l) == 0L)
break;
if (kind > 91)
kind = 91;
{ jjCheckNAdd(38); }
break;
default : break;
}
} while(i != startsAt);
}
else if (curChar < 128)
{
long l = 1L << (curChar & 077);
do
{
switch(jjstateSet[--i])
{
case 40:
if ((0x7fffffe87fffffeL & l) != 0L)
{
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
}
if ((0x7fffffe87fffffeL & l) != 0L)
{ jjCheckNAddTwoStates(6, 7); }
if ((0x7fffffe07fffffeL & l) != 0L)
{ jjCheckNAddStates(0, 2); }
break;
case 39:
if ((0xffffffffefffffffL & l) != 0L)
{ jjCheckNAddStates(3, 5); }
else if (curChar == 92)
{ jjAddStates(20, 21); }
break;
case 11:
if ((0x7fffffe07fffffeL & l) != 0L)
{
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
}
else if (curChar == 126)
{ jjAddStates(22, 24); }
else if (curChar == 96)
{ jjCheckNAddTwoStates(14, 15); }
if ((0x7fffffe07fffffeL & l) != 0L)
{ jjCheckNAddStates(0, 2); }
break;
case 1:
if ((0xffffffffefffffffL & l) != 0L)
{ jjCheckNAddStates(3, 5); }
break;
case 3:
if (curChar == 92)
{ jjAddStates(20, 21); }
break;
case 4:
if (curChar == 92)
{ jjCheckNAddStates(3, 5); }
break;
case 5:
if ((0x7fffffe07fffffeL & l) != 0L)
{ jjCheckNAddStates(0, 2); }
break;
case 6:
if ((0x7fffffe87fffffeL & l) != 0L)
{ jjCheckNAddTwoStates(6, 7); }
break;
case 8:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
if (kind > 87)
kind = 87;
{ jjAddStates(25, 26); }
break;
case 10:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
if (kind > 87)
kind = 87;
jjstateSet[jjnewStateCnt++] = 10;
break;
case 12:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
break;
case 13:
if (curChar == 96)
{ jjCheckNAddTwoStates(14, 15); }
break;
case 14:
if ((0xfffffffeffffffffL & l) != 0L)
{ jjCheckNAddTwoStates(14, 15); }
break;
case 15:
if (curChar != 96)
break;
if (kind > 89)
kind = 89;
jjstateSet[jjnewStateCnt++] = 13;
break;
case 17:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
if (kind > 90)
kind = 90;
{ jjCheckNAdd(18); }
break;
case 18:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
if (kind > 90)
kind = 90;
{ jjCheckNAdd(18); }
break;
case 27:
if ((0x2000000020L & l) != 0L)
{ jjCheckNAddTwoStates(28, 29); }
break;
case 28:
if (curChar == 126)
{ jjCheckNAdd(29); }
break;
case 30:
if (curChar == 126)
{ jjAddStates(22, 24); }
break;
case 34:
if ((0xffffffffefffffffL & l) != 0L)
{ jjCheckNAddStates(17, 19); }
break;
case 36:
if (curChar == 92)
{ jjAddStates(27, 28); }
break;
case 37:
if (curChar == 92)
{ jjCheckNAddStates(17, 19); }
break;
case 38:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
if (kind > 91)
kind = 91;
jjstateSet[jjnewStateCnt++] = 38;
break;
default : break;
}
} while(i != startsAt);
}
else
{
int hiByte = (curChar >> 8);
int i1 = hiByte >> 6;
long l1 = 1L << (hiByte & 077);
int i2 = (curChar & 0xff) >> 6;
long l2 = 1L << (curChar & 077);
do
{
switch(jjstateSet[--i])
{
case 40:
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{ jjCheckNAddStates(0, 2); }
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{ jjCheckNAddTwoStates(6, 7); }
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
}
break;
case 39:
case 1:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{ jjCheckNAddStates(3, 5); }
break;
case 11:
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{ jjCheckNAddStates(0, 2); }
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
}
break;
case 5:
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{ jjCheckNAddStates(0, 2); }
break;
case 6:
if (jjCanMove_1(hiByte, i1, i2, l1, l2))
{ jjCheckNAddTwoStates(6, 7); }
break;
case 8:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
if (kind > 87)
kind = 87;
{ jjAddStates(25, 26); }
break;
case 10:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
if (kind > 87)
kind = 87;
jjstateSet[jjnewStateCnt++] = 10;
break;
case 12:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
if (kind > 88)
kind = 88;
{ jjCheckNAdd(12); }
break;
case 14:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{ jjAddStates(15, 16); }
break;
case 17:
case 18:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
if (kind > 90)
kind = 90;
{ jjCheckNAdd(18); }
break;
case 34:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
{ jjAddStates(17, 19); }
break;
case 38:
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
break;
if (kind > 91)
kind = 91;
jjstateSet[jjnewStateCnt++] = 38;
break;
default : if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break; else break;
}
} while(i != startsAt);
}
if (kind != 0x7fffffff)
{
jjmatchedKind = kind;
jjmatchedPos = curPos;
kind = 0x7fffffff;
}
++curPos;
if ((i = jjnewStateCnt) == (startsAt = 39 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
}
}
private int jjMoveStringLiteralDfa0_1()
{
return jjMoveNfa_1(0, 0);
}
private int jjMoveNfa_1(int startState, int curPos)
{
int startsAt = 0;
jjnewStateCnt = 3;
int i = 1;
jjstateSet[0] = startState;
int kind = 0x7fffffff;
for (;;)
{
if (++jjround == 0x7fffffff)
ReInitRounds();
if (curChar < 64)
{
long l = 1L << curChar;
do
{
switch(jjstateSet[--i])
{
case 0:
if ((0x2400L & l) != 0L)
{
if (kind > 84)
kind = 84;
}
if (curChar == 13)
jjstateSet[jjnewStateCnt++] = 1;
break;
case 1:
if (curChar == 10 && kind > 84)
kind = 84;
break;
case 2:
if (curChar == 13)
jjstateSet[jjnewStateCnt++] = 1;
break;
default : break;
}
} while(i != startsAt);
}
else if (curChar < 128)
{
long l = 1L << (curChar & 077);
do
{
switch(jjstateSet[--i])
{
default : break;
}
} while(i != startsAt);
}
else
{
int hiByte = (curChar >> 8);
int i1 = hiByte >> 6;
long l1 = 1L << (hiByte & 077);
int i2 = (curChar & 0xff) >> 6;
long l2 = 1L << (curChar & 077);
do
{
switch(jjstateSet[--i])
{
default : if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break; else 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(java.io.IOException e) { return curPos; }
}
}
private int jjMoveStringLiteralDfa0_2()
{
return jjMoveNfa_2(0, 0);
}
private int jjMoveNfa_2(int startState, int curPos)
{
int startsAt = 0;
jjnewStateCnt = 3;
int i = 1;
jjstateSet[0] = startState;
int kind = 0x7fffffff;
for (;;)
{
if (++jjround == 0x7fffffff)
ReInitRounds();
if (curChar < 64)
{
long l = 1L << curChar;
do
{
switch(jjstateSet[--i])
{
case 0:
if ((0xfffffeffffffffffL & l) != 0L)
jjstateSet[jjnewStateCnt++] = 2;
break;
case 1:
if (curChar == 41 && kind > 85)
kind = 85;
break;
case 2:
if (curChar == 42)
jjstateSet[jjnewStateCnt++] = 1;
break;
default : break;
}
} while(i != startsAt);
}
else if (curChar < 128)
{
long l = 1L << (curChar & 077);
do
{
switch(jjstateSet[--i])
{
case 0:
jjstateSet[jjnewStateCnt++] = 2;
break;
default : break;
}
} while(i != startsAt);
}
else
{
int hiByte = (curChar >> 8);
int i1 = hiByte >> 6;
long l1 = 1L << (hiByte & 077);
int i2 = (curChar & 0xff) >> 6;
long l2 = 1L << (curChar & 077);
do
{
switch(jjstateSet[--i])
{
case 0:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
jjstateSet[jjnewStateCnt++] = 2;
break;
default : if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break; else 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(java.io.IOException e) { return curPos; }
}
}
/** Token literal values. */
public static final String[] jjstrLiteralImages = {
"", "\137", "\141\156\144", "\141\156\144\141\154\163\157", "\141\163",
"\143\141\163\145", "\144\141\164\141\164\171\160\145", "\144\151\166", "\145\154\145\155",
"\145\154\163\145", "\145\170\143\145\160\164", "\145\156\144", "\146\156", "\146\165\156",
"\151\146", "\151\156", "\151\156\164\145\162\163\145\143\164", "\154\145\164",
"\155\157\144", "\156\157\164\145\154\145\155", "\157", "\157\146",
"\157\162\145\154\163\145", "\162\145\143", "\163\165\143\150\164\150\141\164", "\164\150\145\156",
"\165\156\151\157\156", "\166\141\154", "\143\157\155\160\165\164\145", "\144\145\163\143",
"\146\162\157\155", "\147\162\157\165\160", "\152\157\151\156", "\157\156",
"\157\162\144\145\162", "\163\153\151\160", "\164\141\153\145", "\167\150\145\162\145",
"\171\151\145\154\144", null, null, null, null, null, null, null, null, "\50", "\51", "\173", "\175",
"\133", "\135", "\73", "\174", "\56", "\54", "\75\76", "\55\76", "\75", "\76", "\74",
"\72", "\74\75", "\76\75", "\74\76", "\53", "\55", "\136", "\52", "\57", "\176",
"\72\72", "\100", "\56\56\56", "\47", "\42", null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, };
protected Token jjFillToken()
{
final Token t;
final String curTokenImage;
final int beginLine;
final int endLine;
final int beginColumn;
final int endColumn;
String im = jjstrLiteralImages[jjmatchedKind];
curTokenImage = (im == null) ? input_stream.GetImage() : im;
beginLine = input_stream.getBeginLine();
beginColumn = input_stream.getBeginColumn();
endLine = input_stream.getEndLine();
endColumn = input_stream.getEndColumn();
t = Token.newToken(jjmatchedKind, curTokenImage);
t.beginLine = beginLine;
t.endLine = endLine;
t.beginColumn = beginColumn;
t.endColumn = endColumn;
return t;
}
static final int[] jjnextStates = {
5, 6, 7, 1, 2, 3, 24, 25, 27, 20, 21, 22, 24, 25, 27, 14,
15, 34, 35, 36, 0, 4, 31, 21, 24, 8, 9, 33, 37,
};
private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
{
switch(hiByte)
{
case 0:
return ((jjbitVec2[i2] & l2) != 0L);
default :
if ((jjbitVec0[i1] & l1) != 0L)
return true;
return false;
}
}
private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
{
switch(hiByte)
{
case 0:
return ((jjbitVec4[i2] & l2) != 0L);
case 48:
return ((jjbitVec5[i2] & l2) != 0L);
case 49:
return ((jjbitVec6[i2] & l2) != 0L);
case 51:
return ((jjbitVec7[i2] & l2) != 0L);
case 61:
return ((jjbitVec8[i2] & l2) != 0L);
default :
if ((jjbitVec3[i1] & l1) != 0L)
return true;
return false;
}
}
int curLexState = 0;
int defaultLexState = 0;
int jjnewStateCnt;
int jjround;
int jjmatchedPos;
int jjmatchedKind;
/** Get the next Token. */
public Token getNextToken()
{
Token specialToken = null;
Token matchedToken;
int curPos = 0;
EOFLoop :
for (;;)
{
try
{
curChar = input_stream.BeginToken();
}
catch(Exception e)
{
jjmatchedKind = 0;
jjmatchedPos = -1;
matchedToken = jjFillToken();
matchedToken.specialToken = specialToken;
return matchedToken;
}
image = jjimage;
image.setLength(0);
jjimageLen = 0;
for (;;)
{
switch(curLexState)
{
case 0:
try { input_stream.backup(0);
while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
curChar = input_stream.BeginToken();
}
catch (java.io.IOException e1) { continue EOFLoop; }
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = jjMoveStringLiteralDfa0_0();
break;
case 1:
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = jjMoveStringLiteralDfa0_1();
if (jjmatchedPos == 0 && jjmatchedKind > 86)
{
jjmatchedKind = 86;
}
break;
case 2:
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = jjMoveStringLiteralDfa0_2();
if (jjmatchedPos == 0 && jjmatchedKind > 86)
{
jjmatchedKind = 86;
}
break;
}
if (jjmatchedKind != 0x7fffffff)
{
if (jjmatchedPos + 1 < curPos)
input_stream.backup(curPos - jjmatchedPos - 1);
if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
{
matchedToken = jjFillToken();
matchedToken.specialToken = specialToken;
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind];
return matchedToken;
}
else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
{
if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
{
matchedToken = jjFillToken();
if (specialToken == null)
specialToken = matchedToken;
else
{
matchedToken.specialToken = specialToken;
specialToken = (specialToken.next = matchedToken);
}
SkipLexicalActions(matchedToken);
}
else
SkipLexicalActions(null);
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind];
continue EOFLoop;
}
MoreLexicalActions();
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind];
curPos = 0;
jjmatchedKind = 0x7fffffff;
try {
curChar = input_stream.readChar();
continue;
}
catch (java.io.IOException e1) { }
}
int error_line = input_stream.getEndLine();
int error_column = input_stream.getEndColumn();
String error_after = null;
boolean EOFSeen = false;
try { input_stream.readChar(); input_stream.backup(1); }
catch (java.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);
}
}
}
void SkipLexicalActions(Token matchedToken)
{
switch(jjmatchedKind)
{
case 84 :
image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
popState();
break;
case 85 :
image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
popState();
break;
default :
break;
}
}
void MoreLexicalActions()
{
jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
switch(jjmatchedKind)
{
case 82 :
image.append(input_stream.GetSuffix(jjimageLen));
jjimageLen = 0;
pushState();
break;
case 83 :
image.append(input_stream.GetSuffix(jjimageLen));
jjimageLen = 0;
pushState();
break;
default :
break;
}
}
void TokenLexicalActions(Token matchedToken)
{
switch(jjmatchedKind)
{
default :
break;
}
}
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);
}
/** Constructor. */
public MorelParserImplTokenManager(SimpleCharStream stream){
if (SimpleCharStream.staticFlag)
throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
input_stream = stream;
}
/** Constructor. */
public MorelParserImplTokenManager (SimpleCharStream stream, int lexState){
ReInit(stream);
SwitchTo(lexState);
}
/** Reinitialise parser. */
public void ReInit(SimpleCharStream stream)
{
jjmatchedPos =
jjnewStateCnt =
0;
curLexState = defaultLexState;
input_stream = stream;
ReInitRounds();
}
private void ReInitRounds()
{
int i;
jjround = 0x80000001;
for (i = 39; i-- > 0;)
jjrounds[i] = 0x80000000;
}
/** Reinitialise parser. */
public void ReInit(SimpleCharStream stream, int lexState)
{
ReInit(stream);
SwitchTo(lexState);
}
/** Switch to specified lex state. */
public void SwitchTo(int lexState)
{
if (lexState >= 3 || lexState < 0)
throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
else
curLexState = lexState;
}
/** Lexer state names. */
public static final String[] lexStateNames = {
"DEFAULT",
"IN_LINE_COMMENT",
"IN_COMMENT",
};
/** Lex State array. */
public static final int[] jjnewLexState = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
};
static final long[] jjtoToken = {
0xffffe7ffffffffffL, 0xf801fffL,
};
static final long[] jjtoSkip = {
0x0L, 0x33e000L,
};
static final long[] jjtoSpecial = {
0x0L, 0x300000L,
};
static final long[] jjtoMore = {
0x0L, 0x4c0000L,
};
protected SimpleCharStream input_stream;
private final int[] jjrounds = new int[39];
private final int[] jjstateSet = new int[2 * 39];
private final StringBuilder jjimage = new StringBuilder();
private StringBuilder image = jjimage;
private int jjimageLen;
private int lengthOfMatch;
protected int curChar;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy