commonMain.org.luaj.vm2.parser.LuaParserTokenManager.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of luak-jvm Show documentation
Show all versions of luak-jvm Show documentation
Multiplatform Kotlin LuaJ port (LUA interpreter)
/* Generated By:JavaCC: Do not edit this line. LuaParserTokenManager.java */
package org.luaj.vm2.parser
import org.luaj.vm2.internal.*
import org.luaj.vm2.io.*
/** Token Manager. */
class LuaParserTokenManager
/** Constructor. */
(protected var input_stream: SimpleCharStream) : LuaParserConstants {
/** Debug output. */
@kotlin.jvm.JvmField
var debugStream: LuaWriter = JSystem.out
private val jjrounds = IntArray(66)
private val jjstateSet = IntArray(132)
private val jjimage = StringBuilder()
private var image: StringBuilder? = jjimage
private var jjimageLen: Int = 0
private val lengthOfMatch: Int = 0
protected var curChar: Char = ' '
internal var curLexState = 0
internal var defaultLexState = 0
internal var jjnewStateCnt: Int = 0
internal var jjround: Int = 0
internal var jjmatchedPos: Int = 0
internal var jjmatchedKind: Int = 0
/** Get the next Token. */
val nextToken: Token
get() {
var specialToken: Token? = null
var matchedToken: Token
var curPos = 0
EOFLoop@ while (true) {
try {
curChar = input_stream.BeginToken()
} catch (e: IOException) {
jjmatchedKind = 0
matchedToken = jjFillToken()
matchedToken.specialToken = specialToken
return matchedToken
}
image = jjimage
image!!.clear()
jjimageLen = 0
while (true) {
when (curLexState) {
0 -> {
try {
input_stream.backup(0)
while (curChar.toInt() <= 32 && 0x100003600L and (1L shl curChar.toInt()) != 0L)
curChar = input_stream.BeginToken()
} catch (e1: IOException) {
continue@EOFLoop
}
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_0()
}
1 -> {
jjmatchedKind = 17
jjmatchedPos = -1
curPos = 0
curPos = jjMoveStringLiteralDfa0_1()
}
2 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_2()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
3 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_3()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
4 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_4()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
5 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_5()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
6 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_6()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
7 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_7()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
8 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_8()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
9 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_9()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
10 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_10()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
11 -> {
jjmatchedKind = 0x7fffffff
jjmatchedPos = 0
curPos = jjMoveStringLiteralDfa0_11()
if (jjmatchedPos == 0 && jjmatchedKind > 28) {
jjmatchedKind = 28
}
}
}
if (jjmatchedKind != 0x7fffffff) {
if (jjmatchedPos + 1 < curPos)
input_stream.backup(curPos - jjmatchedPos - 1)
if (jjtoToken[jjmatchedKind shr 6] and (1L shl (jjmatchedKind and 63)) != 0L) {
matchedToken = jjFillToken()
matchedToken.specialToken = specialToken
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind]
return matchedToken
} else if (jjtoSkip[jjmatchedKind shr 6] and (1L shl (jjmatchedKind and 63)) != 0L) {
if (jjtoSpecial[jjmatchedKind shr 6] and (1L shl (jjmatchedKind and 63)) != 0L) {
matchedToken = jjFillToken()
if (specialToken == null)
specialToken = matchedToken
else {
matchedToken.specialToken = specialToken
specialToken = (run { specialToken!!.next = matchedToken; matchedToken })
}
SkipLexicalActions(matchedToken)
} else
SkipLexicalActions(null)
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind]
continue@EOFLoop
}
jjimageLen += jjmatchedPos + 1
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind]
curPos = 0
jjmatchedKind = 0x7fffffff
try {
curChar = input_stream.readChar()
continue
} catch (e1: IOException) {
}
}
var error_line = input_stream.endLine
var error_column = input_stream.endColumn
var error_after: String? = null
var EOFSeen = false
try {
input_stream.readChar()
input_stream.backup(1)
} catch (e1: IOException) {
EOFSeen = true
error_after = if (curPos <= 1) "" else input_stream.GetImage()
if (curChar == '\n' || curChar == '\r') {
error_line++
error_column = 0
} else
error_column++
}
if (!EOFSeen) {
input_stream.backup(1)
error_after = if (curPos <= 1) "" else input_stream.GetImage()
}
throw TokenMgrError(
EOFSeen,
curLexState,
error_line,
error_column,
error_after!!,
curChar,
TokenMgrError.LEXICAL_ERROR
)
}
}
}
/** Set debug output. */
fun setDebugStream(ds: LuaWriter) {
debugStream = ds
}
private fun jjStopAtPos(pos: Int, kind: Int): Int {
jjmatchedKind = kind
jjmatchedPos = pos
return pos + 1
}
private fun jjMoveStringLiteralDfa0_2(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_2(0x40000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_2(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
93 -> if (active0 and 0x40000L != 0L)
return jjStopAtPos(1, 18)
else -> return 2
}
return 2
}
private fun jjMoveStringLiteralDfa0_11(): Int {
return jjMoveNfa_11(6, 0)
}
private fun jjMoveNfa_11(startState: Int, curPos: Int): Int {
var curPos = curPos
var startsAt = 0
jjnewStateCnt = 7
var i = 1
jjstateSet[0] = startState
var kind = 0x7fffffff
while (true) {
if (++jjround == 0x7fffffff)
ReInitRounds()
if (curChar.toInt() < 64) {
val l = 1L shl curChar.toInt()
do {
when (jjstateSet[--i]) {
0, 1 -> if (curChar.toInt() == 61)
jjCheckNAddTwoStates(1, 2)
3 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 0
4 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 3
5 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 4
else -> {
}
}
} while (i != startsAt)
} else if (curChar.toInt() < 128) {
val l = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
2 -> if (curChar.toInt() == 93 && kind > 27)
kind = 27
6 -> if (curChar.toInt() == 93)
jjstateSet[jjnewStateCnt++] = 5
else -> {
}
}
} while (i != startsAt)
} else {
val hiByte = curChar.toInt() shr 8
val i1 = hiByte shr 6
val l1 = 1L shl (hiByte and 63)
val i2 = curChar.toInt() and 0xff shr 6
val l2 = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
else -> {
}
}
} while (i != startsAt)
}
if (kind != 0x7fffffff) {
jjmatchedKind = kind
jjmatchedPos = curPos
kind = 0x7fffffff
}
++curPos
if ((run { i = jjnewStateCnt; i }) == (run { startsAt = 7 - (run { jjnewStateCnt = startsAt; startsAt }); startsAt }))
return curPos
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return curPos
}
}
}
private fun jjMoveStringLiteralDfa0_10(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_10(0x4000000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_10(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa2_10(active0, 0x4000000L)
else -> return 2
}
}
private fun jjMoveStringLiteralDfa2_10(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 2
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 2
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa3_10(active0, 0x4000000L)
else -> return 3
}
}
private fun jjMoveStringLiteralDfa3_10(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 3
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 3
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa4_10(active0, 0x4000000L)
else -> return 4
}
}
private fun jjMoveStringLiteralDfa4_10(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if (active0 == 0L)
return 4
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 4
}
when (curChar.toInt()) {
93 -> if (active0 and 0x4000000L != 0L)
return jjStopAtPos(4, 26)
else -> return 5
}
return 5
}
private fun jjMoveStringLiteralDfa0_9(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_9(0x2000000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_9(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa2_9(active0, 0x2000000L)
else -> return 2
}
}
private fun jjMoveStringLiteralDfa2_9(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 2
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 2
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa3_9(active0, 0x2000000L)
else -> return 3
}
}
private fun jjMoveStringLiteralDfa3_9(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 3
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 3
}
when (curChar.toInt()) {
93 -> if (active0 and 0x2000000L != 0L)
return jjStopAtPos(3, 25)
else -> return 4
}
return 4
}
private fun jjMoveStringLiteralDfa0_8(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_8(0x1000000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_8(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa2_8(active0, 0x1000000L)
else -> return 2
}
}
private fun jjMoveStringLiteralDfa2_8(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 2
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 2
}
when (curChar.toInt()) {
93 -> if (active0 and 0x1000000L != 0L)
return jjStopAtPos(2, 24)
else -> return 3
}
return 3
}
private fun jjMoveStringLiteralDfa0_7(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_7(0x800000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_7(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
93 -> if (active0 and 0x800000L != 0L)
return jjStopAtPos(1, 23)
else -> return 2
}
return 2
}
private fun jjStopStringLiteralDfa_0(pos: Int, active0: Long, active1: Long): Int {
when (pos) {
0 -> {
if (active0 and 0x7800L != 0L || active1 and 0x2000L != 0L)
return 14
if (active1 and 0x1008200L != 0L)
return 31
if (active0 and 0x7ffffe0000000L != 0L) {
jjmatchedKind = 51
return 17
}
return if (active0 and 0x103c0L != 0L || active1 and 0x80000L != 0L) 7 else -1
}
1 -> {
if (active0 and 0x103c0L != 0L)
return 6
if (active0 and 0x7000L != 0L)
return 13
if (active0 and 0x118080000000L != 0L)
return 17
if (active0 and 0x7ee7f60000000L != 0L) {
if (jjmatchedPos != 1) {
jjmatchedKind = 51
jjmatchedPos = 1
}
return 17
}
return -1
}
2 -> {
if (active0 and 0x7e26b40000000L != 0L) {
jjmatchedKind = 51
jjmatchedPos = 2
return 17
}
if (active0 and 0x6000L != 0L)
return 12
if (active0 and 0x3c0L != 0L)
return 5
return if (active0 and 0xc1420000000L != 0L) 17 else -1
}
3 -> {
if (active0 and 0x380L != 0L)
return 4
if (active0 and 0x6622840000000L != 0L) {
if (jjmatchedPos != 3) {
jjmatchedKind = 51
jjmatchedPos = 3
}
return 17
}
if (active0 and 0x1804300000000L != 0L)
return 17
return if (active0 and 0x4000L != 0L) 9 else -1
}
4 -> {
if (active0 and 0x602200000000L != 0L) {
jjmatchedKind = 51
jjmatchedPos = 4
return 17
}
if (active0 and 0x300L != 0L)
return 3
return if (active0 and 0x6020840000000L != 0L) 17 else -1
}
5 -> {
if (active0 and 0x200L != 0L)
return 0
if (active0 and 0x600200000000L != 0L)
return 17
if (active0 and 0x2000000000L != 0L) {
jjmatchedKind = 51
jjmatchedPos = 5
return 17
}
return -1
}
6 -> {
if (active0 and 0x2000000000L != 0L) {
jjmatchedKind = 51
jjmatchedPos = 6
return 17
}
return -1
}
else -> return -1
}
}
private fun jjStartNfa_0(pos: Int, active0: Long, active1: Long): Int {
return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), pos + 1)
}
private fun jjMoveStringLiteralDfa0_0(): Int {
when (curChar.toInt()) {
35 -> return jjStopAtPos(0, 69)
37 -> return jjStopAtPos(0, 87)
40 -> return jjStopAtPos(0, 75)
41 -> return jjStopAtPos(0, 76)
42 -> return jjStopAtPos(0, 84)
43 -> return jjStopAtPos(0, 82)
44 -> return jjStopAtPos(0, 72)
45 -> {
jjmatchedKind = 83
return jjMoveStringLiteralDfa1_0(0x103c0L, 0x0L)
}
46 -> {
jjmatchedKind = 73
return jjMoveStringLiteralDfa1_0(0x0L, 0x1008000L)
}
47 -> return jjStopAtPos(0, 85)
58 -> {
jjmatchedKind = 74
return jjMoveStringLiteralDfa1_0(0x0L, 0x2L)
}
59 -> return jjStopAtPos(0, 70)
60 -> {
jjmatchedKind = 89
return jjMoveStringLiteralDfa1_0(0x0L, 0x4000000L)
}
61 -> {
jjmatchedKind = 71
return jjMoveStringLiteralDfa1_0(0x0L, 0x20000000L)
}
62 -> {
jjmatchedKind = 91
return jjMoveStringLiteralDfa1_0(0x0L, 0x10000000L)
}
91 -> {
jjmatchedKind = 77
return jjMoveStringLiteralDfa1_0(0x7800L, 0x0L)
}
93 -> return jjStopAtPos(0, 78)
94 -> return jjStopAtPos(0, 86)
97 -> return jjMoveStringLiteralDfa1_0(0x20000000L, 0x0L)
98 -> return jjMoveStringLiteralDfa1_0(0x40000000L, 0x0L)
100 -> return jjMoveStringLiteralDfa1_0(0x80000000L, 0x0L)
101 -> return jjMoveStringLiteralDfa1_0(0x700000000L, 0x0L)
102 -> return jjMoveStringLiteralDfa1_0(0x3800000000L, 0x0L)
103 -> return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x0L)
105 -> return jjMoveStringLiteralDfa1_0(0x18000000000L, 0x0L)
108 -> return jjMoveStringLiteralDfa1_0(0x20000000000L, 0x0L)
110 -> return jjMoveStringLiteralDfa1_0(0xc0000000000L, 0x0L)
111 -> return jjMoveStringLiteralDfa1_0(0x100000000000L, 0x0L)
114 -> return jjMoveStringLiteralDfa1_0(0x600000000000L, 0x0L)
116 -> return jjMoveStringLiteralDfa1_0(0x1800000000000L, 0x0L)
117 -> return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x0L)
119 -> return jjMoveStringLiteralDfa1_0(0x4000000000000L, 0x0L)
123 -> return jjStopAtPos(0, 80)
125 -> return jjStopAtPos(0, 81)
126 -> return jjMoveStringLiteralDfa1_0(0x0L, 0x40000000L)
else -> return jjMoveNfa_0(8, 0)
}
}
private fun jjMoveStringLiteralDfa1_0(active0: Long, active1: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
jjStopStringLiteralDfa_0(0, active0, active1)
return 1
}
when (curChar.toInt()) {
45 -> {
if (active0 and 0x10000L != 0L) {
jjmatchedKind = 16
jjmatchedPos = 1
}
return jjMoveStringLiteralDfa2_0(active0, 0x3c0L, active1, 0L)
}
46 -> {
if (active1 and 0x1000000L != 0L) {
jjmatchedKind = 88
jjmatchedPos = 1
}
return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x8000L)
}
58 -> if (active1 and 0x2L != 0L)
return jjStopAtPos(1, 65)
61 -> {
if (active1 and 0x4000000L != 0L)
return jjStopAtPos(1, 90)
else if (active1 and 0x10000000L != 0L)
return jjStopAtPos(1, 92)
else if (active1 and 0x20000000L != 0L)
return jjStopAtPos(1, 93)
else if (active1 and 0x40000000L != 0L)
return jjStopAtPos(1, 94)
return jjMoveStringLiteralDfa2_0(active0, 0x7000L, active1, 0L)
}
91 -> if (active0 and 0x800L != 0L)
return jjStopAtPos(1, 11)
97 -> return jjMoveStringLiteralDfa2_0(active0, 0x800000000L, active1, 0L)
101 -> return jjMoveStringLiteralDfa2_0(active0, 0x600000000000L, active1, 0L)
102 -> if (active0 and 0x8000000000L != 0L)
return jjStartNfaWithStates_0(1, 39, 17)
104 -> return jjMoveStringLiteralDfa2_0(active0, 0x4800000000000L, active1, 0L)
105 -> return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0L)
108 -> return jjMoveStringLiteralDfa2_0(active0, 0x300000000L, active1, 0L)
110 -> {
return if (active0 and 0x10000000000L != 0L) jjStartNfaWithStates_0(
1,
40,
17
) else jjMoveStringLiteralDfa2_0(
active0,
0x2000420000000L,
active1,
0L
)
}
111 -> {
return if (active0 and 0x80000000L != 0L) jjStartNfaWithStates_0(
1,
31,
17
) else jjMoveStringLiteralDfa2_0(active0, 0xa5000000000L, active1, 0L)
}
114 -> {
return if (active0 and 0x100000000000L != 0L) jjStartNfaWithStates_0(
1,
44,
17
) else jjMoveStringLiteralDfa2_0(
active0,
0x1000040000000L,
active1,
0L
)
}
117 -> return jjMoveStringLiteralDfa2_0(active0, 0x2000000000L, active1, 0L)
else -> {
}
}
return jjStartNfa_0(0, active0, active1)
}
private fun jjMoveStringLiteralDfa2_0(old0: Long, active0: Long, old1: Long, active1: Long): Int {
var active0 = active0
var active1 = active1
if ((run { active0 = active0 and old0; active0 }) or (run { active1 = active1 and old1; active1 }) == 0L)
return jjStartNfa_0(0, old0, old1)
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
jjStopStringLiteralDfa_0(1, active0, active1)
return 2
}
when (curChar.toInt()) {
46 -> if (active1 and 0x8000L != 0L)
return jjStopAtPos(2, 79)
61 -> return jjMoveStringLiteralDfa3_0(active0, 0x6000L, active1, 0L)
91 -> {
return if (active0 and 0x1000L != 0L) jjStopAtPos(2, 12) else jjMoveStringLiteralDfa3_0(
active0,
0x3c0L,
active1,
0L
)
}
99 -> return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0L)
100 -> if (active0 and 0x20000000L != 0L)
return jjStartNfaWithStates_0(2, 29, 17)
else if (active0 and 0x400000000L != 0L)
return jjStartNfaWithStates_0(2, 34, 17)
101 -> return jjMoveStringLiteralDfa3_0(active0, 0x800040000000L, active1, 0L)
105 -> return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0L)
108 -> {
return if (active0 and 0x40000000000L != 0L) jjStartNfaWithStates_0(
2,
42,
17
) else jjMoveStringLiteralDfa3_0(
active0,
0x800000000L,
active1,
0L
)
}
110 -> return jjMoveStringLiteralDfa3_0(active0, 0x2000000000L, active1, 0L)
112 -> return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0L)
114 -> if (active0 and 0x1000000000L != 0L)
return jjStartNfaWithStates_0(2, 36, 17)
115 -> return jjMoveStringLiteralDfa3_0(active0, 0x300000000L, active1, 0L)
116 -> {
return if (active0 and 0x80000000000L != 0L) jjStartNfaWithStates_0(
2,
43,
17
) else jjMoveStringLiteralDfa3_0(active0, 0x2204000000000L, active1, 0L)
}
117 -> return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, active1, 0L)
else -> {
}
}
return jjStartNfa_0(1, active0, active1)
}
private fun jjMoveStringLiteralDfa3_0(old0: Long, active0: Long, old1: Long, active1: Long): Int {
var active0 = active0
var active1 = active1
if ((run { active0 = active0 and old0; active0 }) or (run { active1 = active1 and old1; active1 }) == 0L)
return jjStartNfa_0(1, old0, old1)
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
jjStopStringLiteralDfa_0(2, active0, 0L)
return 3
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa4_0(active0, 0x4380L)
91 -> if (active0 and 0x40L != 0L)
return jjStopAtPos(3, 6)
else if (active0 and 0x2000L != 0L)
return jjStopAtPos(3, 13)
97 -> return jjMoveStringLiteralDfa4_0(active0, 0x20040000000L)
99 -> return jjMoveStringLiteralDfa4_0(active0, 0x2000000000L)
101 -> {
if (active0 and 0x100000000L != 0L) {
jjmatchedKind = 32
jjmatchedPos = 3
} else if (active0 and 0x1000000000000L != 0L)
return jjStartNfaWithStates_0(3, 48, 17)
return jjMoveStringLiteralDfa4_0(active0, 0x400200000000L)
}
105 -> return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L)
108 -> return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L)
110 -> if (active0 and 0x800000000000L != 0L)
return jjStartNfaWithStates_0(3, 47, 17)
111 -> if (active0 and 0x4000000000L != 0L)
return jjStartNfaWithStates_0(3, 38, 17)
115 -> return jjMoveStringLiteralDfa4_0(active0, 0x800000000L)
117 -> return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L)
else -> {
}
}
return jjStartNfa_0(2, active0, 0L)
}
private fun jjMoveStringLiteralDfa4_0(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return jjStartNfa_0(2, old0, 0L)
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
jjStopStringLiteralDfa_0(3, active0, 0L)
return 4
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa5_0(active0, 0x300L)
91 -> if (active0 and 0x80L != 0L)
return jjStopAtPos(4, 7)
else if (active0 and 0x4000L != 0L)
return jjStopAtPos(4, 14)
97 -> return jjMoveStringLiteralDfa5_0(active0, 0x400000000000L)
101 -> if (active0 and 0x800000000L != 0L)
return jjStartNfaWithStates_0(4, 35, 17)
else if (active0 and 0x4000000000000L != 0L)
return jjStartNfaWithStates_0(4, 50, 17)
105 -> return jjMoveStringLiteralDfa5_0(active0, 0x200000000L)
107 -> if (active0 and 0x40000000L != 0L)
return jjStartNfaWithStates_0(4, 30, 17)
108 -> if (active0 and 0x20000000000L != 0L)
return jjStartNfaWithStates_0(4, 41, 17)
else if (active0 and 0x2000000000000L != 0L)
return jjStartNfaWithStates_0(4, 49, 17)
114 -> return jjMoveStringLiteralDfa5_0(active0, 0x200000000000L)
116 -> return jjMoveStringLiteralDfa5_0(active0, 0x2000000000L)
else -> {
}
}
return jjStartNfa_0(3, active0, 0L)
}
private fun jjMoveStringLiteralDfa5_0(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return jjStartNfa_0(3, old0, 0L)
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
jjStopStringLiteralDfa_0(4, active0, 0L)
return 5
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa6_0(active0, 0x200L)
91 -> if (active0 and 0x100L != 0L)
return jjStopAtPos(5, 8)
102 -> if (active0 and 0x200000000L != 0L)
return jjStartNfaWithStates_0(5, 33, 17)
105 -> return jjMoveStringLiteralDfa6_0(active0, 0x2000000000L)
110 -> if (active0 and 0x200000000000L != 0L)
return jjStartNfaWithStates_0(5, 45, 17)
116 -> if (active0 and 0x400000000000L != 0L)
return jjStartNfaWithStates_0(5, 46, 17)
else -> {
}
}
return jjStartNfa_0(4, active0, 0L)
}
private fun jjMoveStringLiteralDfa6_0(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return jjStartNfa_0(4, old0, 0L)
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
jjStopStringLiteralDfa_0(5, active0, 0L)
return 6
}
when (curChar.toInt()) {
91 -> if (active0 and 0x200L != 0L)
return jjStopAtPos(6, 9)
111 -> return jjMoveStringLiteralDfa7_0(active0, 0x2000000000L)
else -> {
}
}
return jjStartNfa_0(5, active0, 0L)
}
private fun jjMoveStringLiteralDfa7_0(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return jjStartNfa_0(5, old0, 0L)
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
jjStopStringLiteralDfa_0(6, active0, 0L)
return 7
}
when (curChar.toInt()) {
110 -> if (active0 and 0x2000000000L != 0L)
return jjStartNfaWithStates_0(7, 37, 17)
else -> {
}
}
return jjStartNfa_0(6, active0, 0L)
}
private fun jjStartNfaWithStates_0(pos: Int, kind: Int, state: Int): Int {
jjmatchedKind = kind
jjmatchedPos = pos
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return pos + 1
}
return jjMoveNfa_0(state, pos + 1)
}
private fun jjMoveNfa_0(startState: Int, curPos: Int): Int {
var curPos = curPos
var startsAt = 0
jjnewStateCnt = 66
var i = 1
jjstateSet[0] = startState
var kind = 0x7fffffff
while (true) {
if (++jjround == 0x7fffffff)
ReInitRounds()
if (curChar.toInt() < 64) {
val l = 1L shl curChar.toInt()
do {
when (jjstateSet[--i]) {
8 -> {
when {
0x3ff000000000000L and l != 0L -> {
if (kind > 52)
kind = 52
jjCheckNAddStates(0, 3)
}
curChar.toInt() == 39 -> jjCheckNAddStates(4, 6)
curChar.toInt() == 34 -> jjCheckNAddStates(7, 9)
curChar.toInt() == 46 -> jjCheckNAdd(31)
curChar.toInt() == 45 -> jjstateSet[jjnewStateCnt++] = 7
}
if (curChar.toInt() == 48)
jjstateSet[jjnewStateCnt++] = 19
}
0, 1 -> if (curChar.toInt() == 61)
jjCheckNAddTwoStates(1, 2)
3 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 0
4 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 3
5 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 4
7 -> if (curChar.toInt() == 45)
jjstateSet[jjnewStateCnt++] = 6
9, 10 -> if (curChar.toInt() == 61)
jjCheckNAddTwoStates(10, 11)
12 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 9
13 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 12
14 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 13
17 -> {
if (0x3ff000000000000L and l == 0L) {
} else {
if (kind > 51)
kind = 51
jjstateSet[jjnewStateCnt++] = 17
}
}
18 -> if (curChar.toInt() == 48)
jjstateSet[jjnewStateCnt++] = 19
20 -> if (curChar.toInt() == 46)
jjCheckNAdd(21)
21 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(21, 22)
}
}
23 -> if (0x280000000000L and l != 0L)
jjCheckNAdd(24)
24 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAdd(24)
}
}
25 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddStates(10, 13)
}
}
26 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddTwoStates(26, 27)
27 -> {
if (curChar.toInt() != 46) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(28, 22)
}
}
28 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(28, 22)
}
}
29 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(29, 22)
}
}
30 -> if (curChar.toInt() == 46)
jjCheckNAdd(31)
31 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(31, 32)
}
}
33 -> if (0x280000000000L and l != 0L)
jjCheckNAdd(34)
34 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAdd(34)
}
}
35 -> if (curChar.toInt() == 34)
jjCheckNAddStates(7, 9)
36 -> if (-0x400000001L and l != 0L)
jjCheckNAddStates(7, 9)
37 -> if (curChar.toInt() == 34 && kind > 61)
kind = 61
39 -> jjCheckNAddStates(7, 9)
41 -> if (0x3ff000000000000L and l != 0L)
jjstateSet[jjnewStateCnt++] = 42
42 -> if (0x3ff000000000000L and l != 0L)
jjstateSet[jjnewStateCnt++] = 43
43 -> if (0x3ff000000000000L and l != 0L)
jjstateSet[jjnewStateCnt++] = 44
44, 47 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddStates(7, 9)
45 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddStates(14, 17)
46 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddStates(18, 21)
48 -> if (curChar.toInt() == 39)
jjCheckNAddStates(4, 6)
49 -> if (-0x8000000001L and l != 0L)
jjCheckNAddStates(4, 6)
50 -> if (curChar.toInt() == 39 && kind > 62)
kind = 62
52 -> jjCheckNAddStates(4, 6)
54 -> if (0x3ff000000000000L and l != 0L)
jjstateSet[jjnewStateCnt++] = 55
55 -> if (0x3ff000000000000L and l != 0L)
jjstateSet[jjnewStateCnt++] = 56
56 -> if (0x3ff000000000000L and l != 0L)
jjstateSet[jjnewStateCnt++] = 57
57, 60 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddStates(4, 6)
58 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddStates(22, 25)
59 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddStates(26, 29)
61 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddStates(0, 3)
}
}
62 -> if (0x3ff000000000000L and l != 0L)
jjCheckNAddTwoStates(62, 63)
63 -> {
if (curChar.toInt() != 46) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(64, 32)
}
}
64 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(64, 32)
}
}
65 -> {
if (0x3ff000000000000L and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(65, 32)
}
}
else -> {
}
}
} while (i != startsAt)
} else if (curChar.toInt() < 128) {
val l = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
8 -> if (0x7fffffe87fffffeL and l != 0L) {
if (kind > 51)
kind = 51
jjCheckNAdd(17)
} else if (curChar.toInt() == 91)
jjstateSet[jjnewStateCnt++] = 14
2 -> if (curChar.toInt() == 91 && kind > 10)
kind = 10
6 -> if (curChar.toInt() == 91)
jjstateSet[jjnewStateCnt++] = 5
11 -> if (curChar.toInt() == 91 && kind > 15)
kind = 15
15 -> if (curChar.toInt() == 91)
jjstateSet[jjnewStateCnt++] = 14
16, 17 -> {
if (0x7fffffe87fffffeL and l == 0L) Unit else {
if (kind > 51)
kind = 51
jjCheckNAdd(17)
}
}
19 -> if (0x100000001000000L and l != 0L)
jjAddStates(30, 31)
21 -> {
if (0x7e0000007eL and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(21, 22)
}
}
22 -> if (0x1002000010020L and l != 0L)
jjAddStates(32, 33)
25 -> {
if (0x7e0000007eL and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddStates(10, 13)
}
}
26 -> if (0x7e0000007eL and l != 0L)
jjCheckNAddTwoStates(26, 27)
28 -> {
if (0x7e0000007eL and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(28, 22)
}
}
29 -> {
if (0x7e0000007eL and l == 0L) Unit else {
if (kind > 52)
kind = 52
jjCheckNAddTwoStates(29, 22)
}
}
32 -> if (0x2000000020L and l != 0L)
jjAddStates(34, 35)
36 -> if (-0x10000001L and l != 0L)
jjCheckNAddStates(7, 9)
38 -> if (curChar.toInt() == 92)
jjAddStates(36, 38)
39 -> jjCheckNAddStates(7, 9)
40 -> if (curChar.toInt() == 117)
jjstateSet[jjnewStateCnt++] = 41
41 -> if (0x7e0000007eL and l != 0L)
jjstateSet[jjnewStateCnt++] = 42
42 -> if (0x7e0000007eL and l != 0L)
jjstateSet[jjnewStateCnt++] = 43
43 -> if (0x7e0000007eL and l != 0L)
jjstateSet[jjnewStateCnt++] = 44
44 -> if (0x7e0000007eL and l != 0L)
jjCheckNAddStates(7, 9)
49 -> if (-0x10000001L and l != 0L)
jjCheckNAddStates(4, 6)
51 -> if (curChar.toInt() == 92)
jjAddStates(39, 41)
52 -> jjCheckNAddStates(4, 6)
53 -> if (curChar.toInt() == 117)
jjstateSet[jjnewStateCnt++] = 54
54 -> if (0x7e0000007eL and l != 0L)
jjstateSet[jjnewStateCnt++] = 55
55 -> if (0x7e0000007eL and l != 0L)
jjstateSet[jjnewStateCnt++] = 56
56 -> if (0x7e0000007eL and l != 0L)
jjstateSet[jjnewStateCnt++] = 57
57 -> if (0x7e0000007eL and l != 0L)
jjCheckNAddStates(4, 6)
else -> {
}
}
} while (i != startsAt)
} else {
val hiByte = curChar.toInt() shr 8
val i1 = hiByte shr 6
val l1 = 1L shl (hiByte and 63)
val i2 = curChar.toInt() and 0xff shr 6
val l2 = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
36, 39 -> if (jjCanMove_0(hiByte, i1, i2, l1, l2))
jjCheckNAddStates(7, 9)
49, 52 -> if (jjCanMove_0(hiByte, i1, i2, l1, l2))
jjCheckNAddStates(4, 6)
else -> {
}
}
} while (i != startsAt)
}
if (kind != 0x7fffffff) {
jjmatchedKind = kind
jjmatchedPos = curPos
kind = 0x7fffffff
}
++curPos
if ((run { i = jjnewStateCnt; i }) == (run { startsAt = 66 - (run { jjnewStateCnt = startsAt; jjnewStateCnt }); startsAt }))
return curPos
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return curPos
}
}
}
private fun jjMoveStringLiteralDfa0_1(): Int {
return jjMoveNfa_1(4, 0)
}
private fun jjMoveNfa_1(startState: Int, curPos: Int): Int {
var curPos = curPos
var startsAt = 0
jjnewStateCnt = 4
var i = 1
jjstateSet[0] = startState
var kind = 0x7fffffff
while (true) {
if (++jjround == 0x7fffffff)
ReInitRounds()
if (curChar.toInt() < 64) {
val l = 1L shl curChar.toInt()
do {
when (jjstateSet[--i]) {
4 -> {
if (-0x2401L and l != 0L) {
if (kind > 17)
kind = 17
jjCheckNAddStates(42, 44)
} else if (0x2400L and l != 0L) {
if (kind > 17)
kind = 17
}
if (curChar.toInt() == 13)
jjstateSet[jjnewStateCnt++] = 2
}
0 -> {
if (-0x2401L and l == 0L) Unit else {
kind = 17
jjCheckNAddStates(42, 44)
}
}
1 -> if (0x2400L and l != 0L && kind > 17)
kind = 17
2 -> if (curChar.toInt() == 10 && kind > 17)
kind = 17
3 -> if (curChar.toInt() == 13)
jjstateSet[jjnewStateCnt++] = 2
else -> {
}
}
} while (i != startsAt)
} else if (curChar.toInt() < 128) {
val l = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
4, 0 -> {
kind = 17
jjCheckNAddStates(42, 44)
}
else -> {
}
}
} while (i != startsAt)
} else {
val hiByte = curChar.toInt() shr 8
val i1 = hiByte shr 6
val l1 = 1L shl (hiByte and 63)
val i2 = curChar.toInt() and 0xff shr 6
val l2 = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
4, 0 -> {
if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) Unit else {
if (kind > 17)
kind = 17
jjCheckNAddStates(42, 44)
}
}
else -> {
}
}
} while (i != startsAt)
}
if (kind != 0x7fffffff) {
jjmatchedKind = kind
jjmatchedPos = curPos
kind = 0x7fffffff
}
++curPos
if ((run { i = jjnewStateCnt; i }) == (run { startsAt = 4 - (run { jjnewStateCnt = startsAt; jjnewStateCnt }); startsAt }))
return curPos
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return curPos
}
}
}
private fun jjMoveStringLiteralDfa0_6(): Int {
return jjMoveNfa_6(6, 0)
}
private fun jjMoveNfa_6(startState: Int, curPos: Int): Int {
var curPos = curPos
var startsAt = 0
jjnewStateCnt = 7
var i = 1
jjstateSet[0] = startState
var kind = 0x7fffffff
while (true) {
if (++jjround == 0x7fffffff)
ReInitRounds()
if (curChar.toInt() < 64) {
val l = 1L shl curChar.toInt()
do {
when (jjstateSet[--i]) {
0, 1 -> if (curChar.toInt() == 61)
jjCheckNAddTwoStates(1, 2)
3 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 0
4 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 3
5 -> if (curChar.toInt() == 61)
jjstateSet[jjnewStateCnt++] = 4
else -> {
}
}
} while (i != startsAt)
} else if (curChar.toInt() < 128) {
val l = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
2 -> if (curChar.toInt() == 93 && kind > 22)
kind = 22
6 -> if (curChar.toInt() == 93)
jjstateSet[jjnewStateCnt++] = 5
else -> {
}
}
} while (i != startsAt)
} else {
val hiByte = curChar.toInt() shr 8
val i1 = hiByte shr 6
val l1 = 1L shl (hiByte and 63)
val i2 = curChar.toInt() and 0xff shr 6
val l2 = 1L shl (curChar.toInt() and 63)
do {
when (jjstateSet[--i]) {
else -> {
}
}
} while (i != startsAt)
}
if (kind != 0x7fffffff) {
jjmatchedKind = kind
jjmatchedPos = curPos
kind = 0x7fffffff
}
++curPos
if ((run { i = jjnewStateCnt; i }) == (run { startsAt = 7 - (run { jjnewStateCnt = startsAt; jjnewStateCnt }); startsAt }))
return curPos
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return curPos
}
}
}
private fun jjMoveStringLiteralDfa0_5(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_5(0x200000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_5(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa2_5(active0, 0x200000L)
else -> return 2
}
}
private fun jjMoveStringLiteralDfa2_5(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 2
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 2
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa3_5(active0, 0x200000L)
else -> return 3
}
}
private fun jjMoveStringLiteralDfa3_5(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 3
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 3
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa4_5(active0, 0x200000L)
else -> return 4
}
}
private fun jjMoveStringLiteralDfa4_5(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 4
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 4
}
when (curChar.toInt()) {
93 -> if (active0 and 0x200000L != 0L)
return jjStopAtPos(4, 21)
else -> return 5
}
return 5
}
private fun jjMoveStringLiteralDfa0_4(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_4(0x100000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_4(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa2_4(active0, 0x100000L)
else -> return 2
}
}
private fun jjMoveStringLiteralDfa2_4(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 2
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 2
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa3_4(active0, 0x100000L)
else -> return 3
}
}
private fun jjMoveStringLiteralDfa3_4(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if ((active0) == 0L)
return 3
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 3
}
when (curChar.toInt()) {
93 -> if (active0 and 0x100000L != 0L)
return jjStopAtPos(3, 20)
else -> return 4
}
return 4
}
private fun jjMoveStringLiteralDfa0_3(): Int {
when (curChar.toInt()) {
93 -> return jjMoveStringLiteralDfa1_3(0x80000L)
else -> return 1
}
}
private fun jjMoveStringLiteralDfa1_3(active0: Long): Int {
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 1
}
when (curChar.toInt()) {
61 -> return jjMoveStringLiteralDfa2_3(active0, 0x80000L)
else -> return 2
}
}
private fun jjMoveStringLiteralDfa2_3(old0: Long, active0: Long): Int {
var active0 = active0
active0 = active0 and old0
if (active0 == 0L)
return 2
try {
curChar = input_stream.readChar()
} catch (e: IOException) {
return 2
}
when (curChar.toInt()) {
93 -> if (active0 and 0x80000L != 0L)
return jjStopAtPos(2, 19)
else -> return 3
}
return 3
}
init {
if (SimpleCharStream.staticFlag)
throw Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.")
}
/** Constructor. */
constructor(stream: SimpleCharStream, lexState: Int) : this(stream) {
SwitchTo(lexState)
}
/** Reinitialise parser. */
fun ReInit(stream: SimpleCharStream) {
jjnewStateCnt = 0
jjmatchedPos = jjnewStateCnt
curLexState = defaultLexState
input_stream = stream
ReInitRounds()
}
private fun ReInitRounds() {
var i: Int
jjround = -0x7fffffff
i = 66
while (i-- > 0)
jjrounds[i] = -0x80000000
}
/** Reinitialise parser. */
fun ReInit(stream: SimpleCharStream, lexState: Int) {
ReInit(stream)
SwitchTo(lexState)
}
/** Switch to specified lex state. */
fun SwitchTo(lexState: Int) {
if (lexState >= 12 || lexState < 0)
throw TokenMgrError(
"Error: Ignoring invalid lexical state : $lexState. State unchanged.",
TokenMgrError.INVALID_LEXICAL_STATE
)
else
curLexState = lexState
}
protected fun jjFillToken(): Token {
val t: Token
val curTokenImage: String
val beginLine: Int
val endLine: Int
val beginColumn: Int
val endColumn: Int
if (jjmatchedPos < 0) {
if (image == null)
curTokenImage = ""
else
curTokenImage = image!!.toString()
endLine = input_stream.beginLine
beginLine = endLine
endColumn = input_stream.beginColumn
beginColumn = endColumn
} else {
val im = jjstrLiteralImages[jjmatchedKind]
curTokenImage = im ?: input_stream.GetImage()
beginLine = input_stream.beginLine
beginColumn = input_stream.beginColumn
endLine = input_stream.endLine
endColumn = input_stream.endColumn
}
t = Token.newToken(jjmatchedKind, curTokenImage)
t.beginLine = beginLine
t.endLine = endLine
t.beginColumn = beginColumn
t.endColumn = endColumn
return t
}
internal fun SkipLexicalActions(matchedToken: Token?) {
when (jjmatchedKind) {
else -> {
}
}
}
private fun jjCheckNAdd(state: Int) {
if (jjrounds[state] != jjround) {
jjstateSet[jjnewStateCnt++] = state
jjrounds[state] = jjround
}
}
private fun jjAddStates(start: Int, end: Int) {
var start = start
do {
jjstateSet[jjnewStateCnt++] = jjnextStates[start]
} while (start++ != end)
}
private fun jjCheckNAddTwoStates(state1: Int, state2: Int) {
jjCheckNAdd(state1)
jjCheckNAdd(state2)
}
private fun jjCheckNAddStates(start: Int, end: Int) {
var start = start
do {
jjCheckNAdd(jjnextStates[start])
} while (start++ != end)
}
companion object {
internal val jjbitVec0 = longArrayOf(-0x2L, -0x1L, -0x1L, -0x1L)
internal val jjbitVec2 = longArrayOf(0x0L, 0x0L, -0x1L, -0x1L)
internal val jjnextStates = intArrayOf(
62,
63,
65,
32,
49,
50,
51,
36,
37,
38,
26,
27,
29,
22,
36,
37,
38,
46,
36,
47,
37,
38,
49,
50,
51,
59,
49,
60,
50,
51,
20,
25,
23,
24,
33,
34,
39,
40,
45,
52,
53,
58,
0,
1,
3
)
private fun jjCanMove_0(hiByte: Int, i1: Int, i2: Int, l1: Long, l2: Long): Boolean {
when (hiByte) {
0 -> return jjbitVec2[i2] and l2 != 0L
else -> {
return if (jjbitVec0[i1] and l1 != 0L) true else false
}
}
}
/** Token literal values. */
val jjstrLiteralImages = arrayOf(
"",
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"\u0061\u006e\u0064",
"\u0062\u0072\u0065\u0061\u006b",
"\u0064\u006f",
"\u0065\u006c\u0073\u0065",
"\u0065\u006c\u0073\u0065\u0069\u0066",
"\u0065\u006e\u0064",
"\u0066\u0061\u006c\u0073\u0065",
"\u0066\u006f\u0072",
"\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e",
"\u0067\u006f\u0074\u006f",
"\u0069\u0066",
"\u0069\u006e",
"\u006c\u006f\u0063\u0061\u006c",
"\u006e\u0069\u006c",
"\u006e\u006f\u0074",
"\u006f\u0072",
"\u0072\u0065\u0074\u0075\u0072\u006e",
"\u0072\u0065\u0070\u0065\u0061\u0074",
"\u0074\u0068\u0065\u006e",
"\u0074\u0072\u0075\u0065",
"\u0075\u006e\u0074\u0069\u006c",
"\u0077\u0068\u0069\u006c\u0065",
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"\u003a\u003a",
null,
null,
null,
"\u0023",
"\u003b",
"\u003d",
"\u002c",
"\u002e",
"\u003a",
"\u0028",
"\u0029",
"\u005b",
"\u005d",
"\u002e\u002e\u002e",
"\u007b",
"\u007d",
"\u002b",
"\u002d",
"\u002a",
"\u002f",
"\u005e",
"\u0025",
"\u002e\u002e",
"\u003c",
"\u003c\u003d",
"\u003e",
"\u003e\u003d",
"\u003d\u003d",
"\u007e\u003d"
)
/** Lexer state names. */
val lexStateNames = arrayOf(
"DEFAULT",
"IN_COMMENT",
"IN_LC0",
"IN_LC1",
"IN_LC2",
"IN_LC3",
"IN_LCN",
"IN_LS0",
"IN_LS1",
"IN_LS2",
"IN_LS3",
"IN_LSN"
)
/** Lex State array. */
val jjnewLexState = intArrayOf(
-1,
-1,
-1,
-1,
-1,
-1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
-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
)
internal val jjtoToken = longArrayOf(0x601fffffef800001L, 0x7fffffe2L)
internal val jjtoSkip = longArrayOf(0x7e003eL, 0x0L)
internal val jjtoSpecial = longArrayOf(0x7e0000L, 0x0L)
internal val jjtoMore = longArrayOf(0x1001ffc0L, 0x0L)
}
}