/* Generated By:JJTree&JavaCC: Do not edit this line. SparcTranslatorTokenManager.java */ package parser; import java.io.*; import sorts.*; import java.util.HashMap; import java.util.ArrayList; import java.util.List; import java.util.HashSet; import java.util.Arrays; import java.util.Set; import translating.Translator; import typechecking.TypeChecker; import translating.InstanceGenerator; import com.beust.jcommander.Parameter; import com.beust.jcommander.JCommander; import com.beust.jcommander.ParameterException; import querying.QueryEngine; import querying.parsing.AnswerSets.AnswerSetParser; import querying.parsing.AnswerSets.ClingoAnswerSetParser; import querying.parsing.AnswerSets.DLVAnswerSetParser; import configuration.ASPSolver; import externaltools.ClingoSolver; import externaltools.DLVSolver; import externaltools.ExternalSolver; import configuration.Settings; import solving.Runner; /** Token Manager. */ public class SparcTranslatorTokenManager implements SparcTranslatorConstants { /** 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) { switch (pos) { case 0: if ((active0 & 0x400000000006L) != 0L) return 59; if ((active0 & 0x600L) != 0L) { jjmatchedKind = 11; return 32; } return -1; case 1: if ((active0 & 0x4L) != 0L) return 58; if ((active0 & 0x400L) != 0L) { jjmatchedKind = 11; jjmatchedPos = 1; return 32; } if ((active0 & 0x2L) != 0L) return 68; if ((active0 & 0x200L) != 0L) return 32; return -1; case 2: if ((active0 & 0x4L) != 0L) return 57; if ((active0 & 0x2L) != 0L) return 70; if ((active0 & 0x400L) != 0L) return 32; return -1; case 3: if ((active0 & 0x2L) != 0L) return 75; return -1; default : return -1; } } private final int jjStartNfa_0(int pos, long active0) { return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); } private int jjStopAtPos(int pos, int kind) { jjmatchedKind = kind; jjmatchedPos = pos; return pos + 1; } private int jjMoveStringLiteralDfa0_0() { switch(curChar) { case 33: return jjMoveStringLiteralDfa1_0(0x200000L); case 35: jjmatchedKind = 46; return jjMoveStringLiteralDfa1_0(0x6L); case 36: return jjStopAtPos(0, 37); case 40: return jjStopAtPos(0, 26); case 41: return jjStopAtPos(0, 27); case 42: return jjStopAtPos(0, 17); case 43: return jjStopAtPos(0, 16); case 44: return jjStopAtPos(0, 33); case 45: return jjStopAtPos(0, 56); case 46: return jjStopAtPos(0, 34); case 47: return jjStopAtPos(0, 18); case 48: return jjStopAtPos(0, 15); case 58: jjmatchedKind = 35; return jjMoveStringLiteralDfa1_0(0x1c0000000L); case 59: return jjStopAtPos(0, 36); case 60: jjmatchedKind = 24; return jjMoveStringLiteralDfa1_0(0x2000000L); case 61: jjmatchedKind = 19; return jjMoveStringLiteralDfa1_0(0x100000L); case 62: jjmatchedKind = 22; return jjMoveStringLiteralDfa1_0(0x800000L); case 91: return jjStopAtPos(0, 44); case 93: return jjStopAtPos(0, 45); case 97: return jjMoveStringLiteralDfa1_0(0x400L); case 111: return jjMoveStringLiteralDfa1_0(0x200L); case 123: return jjStopAtPos(0, 28); case 124: return jjStopAtPos(0, 39); case 125: return jjStopAtPos(0, 29); case 126: return jjStopAtPos(0, 38); default : return jjMoveNfa_0(5, 0); } } private int jjMoveStringLiteralDfa1_0(long active0) { try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(0, active0); return 1; } switch(curChar) { case 43: if ((active0 & 0x80000000L) != 0L) return jjStopAtPos(1, 31); break; case 45: if ((active0 & 0x40000000L) != 0L) return jjStopAtPos(1, 30); break; case 61: if ((active0 & 0x100000L) != 0L) return jjStopAtPos(1, 20); else if ((active0 & 0x200000L) != 0L) return jjStopAtPos(1, 21); else if ((active0 & 0x800000L) != 0L) return jjStopAtPos(1, 23); else if ((active0 & 0x2000000L) != 0L) return jjStopAtPos(1, 25); break; case 99: return jjMoveStringLiteralDfa2_0(active0, 0x4L); case 109: return jjMoveStringLiteralDfa2_0(active0, 0x2L); case 110: return jjMoveStringLiteralDfa2_0(active0, 0x400L); case 114: if ((active0 & 0x200L) != 0L) return jjStartNfaWithStates_0(1, 9, 32); break; case 126: if ((active0 & 0x100000000L) != 0L) return jjStopAtPos(1, 32); break; default : break; } return jjStartNfa_0(0, active0); } private int jjMoveStringLiteralDfa2_0(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_0(0, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(1, active0); return 2; } switch(curChar) { case 97: return jjMoveStringLiteralDfa3_0(active0, 0x2L); case 100: if ((active0 & 0x400L) != 0L) return jjStartNfaWithStates_0(2, 10, 32); break; case 111: return jjMoveStringLiteralDfa3_0(active0, 0x4L); default : break; } return jjStartNfa_0(1, active0); } private int jjMoveStringLiteralDfa3_0(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_0(1, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(2, active0); return 3; } switch(curChar) { case 110: return jjMoveStringLiteralDfa4_0(active0, 0x4L); case 120: return jjMoveStringLiteralDfa4_0(active0, 0x2L); default : break; } return jjStartNfa_0(2, active0); } private int jjMoveStringLiteralDfa4_0(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_0(2, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(3, active0); return 4; } switch(curChar) { case 105: return jjMoveStringLiteralDfa5_0(active0, 0x2L); case 115: return jjMoveStringLiteralDfa5_0(active0, 0x4L); default : break; } return jjStartNfa_0(3, active0); } private int jjMoveStringLiteralDfa5_0(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_0(3, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(4, active0); return 5; } switch(curChar) { case 110: return jjMoveStringLiteralDfa6_0(active0, 0x2L); case 116: if ((active0 & 0x4L) != 0L) return jjStopAtPos(5, 2); break; default : break; } return jjStartNfa_0(4, active0); } private int jjMoveStringLiteralDfa6_0(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_0(4, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(5, active0); return 6; } switch(curChar) { case 116: if ((active0 & 0x2L) != 0L) return jjStopAtPos(6, 1); break; default : break; } return jjStartNfa_0(5, active0); } 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 = { 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL }; private int jjMoveNfa_0(int startState, int curPos) { int startsAt = 0; jjnewStateCnt = 75; 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 75: case 71: if ((0x100002600L & l) != 0L) jjCheckNAddTwoStates(71, 72); break; case 5: if ((0x3fe000000000000L & l) != 0L) { if (kind > 13) kind = 13; jjCheckNAdd(51); } else if ((0x100002600L & l) != 0L) { if (kind > 55) kind = 55; jjCheckNAdd(41); } else if (curChar == 35) jjAddStates(0, 3); else if (curChar == 37) { if (kind > 54) kind = 54; jjCheckNAddStates(4, 6); } break; case 1: if ((0x100002600L & l) == 0L) break; if (kind > 3) kind = 3; jjstateSet[jjnewStateCnt++] = 1; break; case 7: if ((0x100002600L & l) == 0L) break; if (kind > 4) kind = 4; jjstateSet[jjnewStateCnt++] = 7; break; case 18: if ((0x100002600L & l) == 0L) break; if (kind > 5) kind = 5; jjstateSet[jjnewStateCnt++] = 18; break; case 24: if ((0x100002600L & l) == 0L) break; if (kind > 6) kind = 6; jjstateSet[jjnewStateCnt++] = 24; break; case 32: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 11) kind = 11; jjstateSet[jjnewStateCnt++] = 32; break; case 34: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 12) kind = 12; jjstateSet[jjnewStateCnt++] = 34; break; case 36: if (curChar != 37) break; if (kind > 54) kind = 54; jjCheckNAddStates(4, 6); break; case 37: if ((0xffffffffffffdbffL & l) == 0L) break; if (kind > 54) kind = 54; jjCheckNAddStates(4, 6); break; case 38: if ((0x2400L & l) != 0L && kind > 54) kind = 54; break; case 39: if (curChar == 10 && kind > 54) kind = 54; break; case 40: if (curChar == 13) jjstateSet[jjnewStateCnt++] = 39; break; case 41: if ((0x100002600L & l) == 0L) break; if (kind > 55) kind = 55; jjCheckNAdd(41); break; case 44: if ((0x100002200L & l) == 0L) break; if (kind > 7) kind = 7; jjstateSet[jjnewStateCnt++] = 44; break; case 47: if ((0x100002200L & l) != 0L) jjAddStates(7, 8); break; case 48: if (curChar == 40 && kind > 8) kind = 8; break; case 50: if ((0x3fe000000000000L & l) == 0L) break; if (kind > 13) kind = 13; jjCheckNAdd(51); break; case 51: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 14) kind = 14; jjCheckNAdd(51); break; case 52: if (curChar == 35) jjAddStates(0, 3); break; case 54: if ((0x100002600L & l) != 0L) jjAddStates(9, 10); break; case 61: if ((0x100002600L & l) != 0L) jjAddStates(11, 12); break; case 66: if ((0x100002600L & l) != 0L) jjAddStates(13, 14); break; default : break; } } while(i != startsAt); } else if (curChar < 128) { long l = 1L << (curChar & 077); do { switch(jjstateSet[--i]) { case 59: if (curChar == 109) jjstateSet[jjnewStateCnt++] = 73; else if (curChar == 115) jjstateSet[jjnewStateCnt++] = 63; else if (curChar == 99) jjstateSet[jjnewStateCnt++] = 58; if (curChar == 109) jjstateSet[jjnewStateCnt++] = 68; break; case 75: case 72: if (curChar == 123 && kind > 43) kind = 43; break; case 68: if (curChar == 97) jjstateSet[jjnewStateCnt++] = 70; else if (curChar == 105) jjstateSet[jjnewStateCnt++] = 65; break; case 5: if ((0x7fffffeL & l) != 0L) { if (kind > 12) kind = 12; jjCheckNAdd(34); } else if ((0x7fffffe00000000L & l) != 0L) { if (kind > 11) kind = 11; jjCheckNAdd(32); } else if (curChar == 95) { if (kind > 12) kind = 12; } if (curChar == 110) jjAddStates(15, 16); else if (curChar == 100) jjstateSet[jjnewStateCnt++] = 29; else if (curChar == 114) jjstateSet[jjnewStateCnt++] = 21; else if (curChar == 112) jjstateSet[jjnewStateCnt++] = 15; else if (curChar == 115) jjstateSet[jjnewStateCnt++] = 4; break; case 0: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 1; break; case 2: if (curChar == 116) jjstateSet[jjnewStateCnt++] = 0; break; case 3: if (curChar == 114) jjstateSet[jjnewStateCnt++] = 2; break; case 4: if (curChar == 111) jjstateSet[jjnewStateCnt++] = 3; break; case 6: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 7; break; case 8: if (curChar == 101) jjstateSet[jjnewStateCnt++] = 6; break; case 9: if (curChar == 116) jjstateSet[jjnewStateCnt++] = 8; break; case 10: if (curChar == 97) jjstateSet[jjnewStateCnt++] = 9; break; case 11: if (curChar == 99) jjstateSet[jjnewStateCnt++] = 10; break; case 12: if (curChar == 105) jjstateSet[jjnewStateCnt++] = 11; break; case 13: if (curChar == 100) jjstateSet[jjnewStateCnt++] = 12; break; case 14: if (curChar == 101) jjstateSet[jjnewStateCnt++] = 13; break; case 15: if (curChar == 114) jjstateSet[jjnewStateCnt++] = 14; break; case 16: if (curChar == 112) jjstateSet[jjnewStateCnt++] = 15; break; case 17: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 18; break; case 19: if (curChar == 101) jjstateSet[jjnewStateCnt++] = 17; break; case 20: if (curChar == 108) jjstateSet[jjnewStateCnt++] = 19; break; case 21: if (curChar == 117) jjstateSet[jjnewStateCnt++] = 20; break; case 22: if (curChar == 114) jjstateSet[jjnewStateCnt++] = 21; break; case 23: if (curChar == 121) jjstateSet[jjnewStateCnt++] = 24; break; case 25: if (curChar == 97) jjstateSet[jjnewStateCnt++] = 23; break; case 26: if (curChar == 108) jjstateSet[jjnewStateCnt++] = 25; break; case 27: if (curChar == 112) jjstateSet[jjnewStateCnt++] = 26; break; case 28: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 27; break; case 29: if (curChar == 105) jjstateSet[jjnewStateCnt++] = 28; break; case 30: if (curChar == 100) jjstateSet[jjnewStateCnt++] = 29; break; case 31: if ((0x7fffffe00000000L & l) == 0L) break; if (kind > 11) kind = 11; jjCheckNAdd(32); break; case 32: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 11) kind = 11; jjCheckNAdd(32); break; case 33: if ((0x7fffffeL & l) == 0L) break; if (kind > 12) kind = 12; jjCheckNAdd(34); break; case 34: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 12) kind = 12; jjCheckNAdd(34); break; case 35: if (curChar == 95 && kind > 12) kind = 12; break; case 37: if (kind > 54) kind = 54; jjAddStates(4, 6); break; case 42: if (curChar == 110) jjAddStates(15, 16); break; case 43: if (curChar == 116) jjstateSet[jjnewStateCnt++] = 44; break; case 45: if (curChar == 111) jjstateSet[jjnewStateCnt++] = 43; break; case 46: if (curChar == 116) jjAddStates(7, 8); break; case 49: if (curChar == 111) jjstateSet[jjnewStateCnt++] = 46; break; case 53: if (curChar == 116) jjAddStates(9, 10); break; case 55: if (curChar == 123 && kind > 40) kind = 40; break; case 56: if (curChar == 110) jjstateSet[jjnewStateCnt++] = 53; break; case 57: if (curChar == 117) jjstateSet[jjnewStateCnt++] = 56; break; case 58: if (curChar == 111) jjstateSet[jjnewStateCnt++] = 57; break; case 60: if (curChar == 109) jjAddStates(11, 12); break; case 62: if (curChar == 123 && kind > 41) kind = 41; break; case 63: if (curChar == 117) jjstateSet[jjnewStateCnt++] = 60; break; case 64: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 63; break; case 65: if (curChar == 110) jjAddStates(13, 14); break; case 67: if (curChar == 123 && kind > 42) kind = 42; break; case 69: if (curChar == 109) jjstateSet[jjnewStateCnt++] = 68; break; case 70: if (curChar == 120) jjAddStates(17, 18); break; case 73: if (curChar == 97) jjstateSet[jjnewStateCnt++] = 70; break; case 74: if (curChar == 109) jjstateSet[jjnewStateCnt++] = 73; break; default : break; } } while(i != startsAt); } else { int i2 = (curChar & 0xff) >> 6; long l2 = 1L << (curChar & 077); do { switch(jjstateSet[--i]) { case 37: if ((jjbitVec0[i2] & l2) == 0L) break; if (kind > 54) kind = 54; jjAddStates(4, 6); break; default : break; } } while(i != startsAt); } if (kind != 0x7fffffff) { jjmatchedKind = kind; jjmatchedPos = curPos; kind = 0x7fffffff; } ++curPos; if ((i = jjnewStateCnt) == (startsAt = 75 - (jjnewStateCnt = startsAt))) return curPos; try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } } } private final int jjStopStringLiteralDfa_1(int pos, long active0) { switch (pos) { case 0: if ((active0 & 0x100000000000000L) != 0L) return 85; if ((active0 & 0x600L) != 0L) { jjmatchedKind = 11; return 99; } if ((active0 & 0x400000000006L) != 0L) return 68; return -1; case 1: if ((active0 & 0x2L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 1; return 77; } if ((active0 & 0x4L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 1; return 67; } if ((active0 & 0x200L) != 0L) return 99; if ((active0 & 0x400L) != 0L) { jjmatchedKind = 11; jjmatchedPos = 1; return 99; } return -1; case 2: if ((active0 & 0x2L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 2; return 79; } if ((active0 & 0x400L) != 0L) return 99; if ((active0 & 0x4L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 2; return 66; } return -1; case 3: if ((active0 & 0x4L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 3; return 100; } if ((active0 & 0x2L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 3; return 101; } return -1; case 4: if ((active0 & 0x6L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 4; return 100; } return -1; case 5: if ((active0 & 0x2L) != 0L) { jjmatchedKind = 50; jjmatchedPos = 5; return 100; } if ((active0 & 0x4L) != 0L) return 100; return -1; default : return -1; } } private final int jjStartNfa_1(int pos, long active0) { return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1); } private int jjMoveStringLiteralDfa0_1() { switch(curChar) { case 33: return jjMoveStringLiteralDfa1_1(0x200000L); case 35: jjmatchedKind = 46; return jjMoveStringLiteralDfa1_1(0x6L); case 36: return jjStopAtPos(0, 37); case 40: return jjStopAtPos(0, 26); case 41: return jjStopAtPos(0, 27); case 42: return jjStopAtPos(0, 17); case 43: return jjStopAtPos(0, 16); case 44: return jjStopAtPos(0, 33); case 45: return jjStartNfaWithStates_1(0, 56, 85); case 46: return jjStopAtPos(0, 34); case 47: return jjStopAtPos(0, 18); case 48: return jjStopAtPos(0, 15); case 58: jjmatchedKind = 35; return jjMoveStringLiteralDfa1_1(0x1c0000000L); case 59: return jjStopAtPos(0, 36); case 60: jjmatchedKind = 24; return jjMoveStringLiteralDfa1_1(0x2000000L); case 61: jjmatchedKind = 19; return jjMoveStringLiteralDfa1_1(0x100000L); case 62: jjmatchedKind = 22; return jjMoveStringLiteralDfa1_1(0x800000L); case 91: return jjStopAtPos(0, 44); case 93: return jjStopAtPos(0, 45); case 97: return jjMoveStringLiteralDfa1_1(0x400L); case 111: return jjMoveStringLiteralDfa1_1(0x200L); case 123: return jjStopAtPos(0, 28); case 124: return jjStopAtPos(0, 39); case 125: return jjStopAtPos(0, 29); case 126: return jjStopAtPos(0, 38); default : return jjMoveNfa_1(5, 0); } } private int jjMoveStringLiteralDfa1_1(long active0) { try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_1(0, active0); return 1; } switch(curChar) { case 43: if ((active0 & 0x80000000L) != 0L) return jjStopAtPos(1, 31); break; case 45: if ((active0 & 0x40000000L) != 0L) return jjStopAtPos(1, 30); break; case 61: if ((active0 & 0x100000L) != 0L) return jjStopAtPos(1, 20); else if ((active0 & 0x200000L) != 0L) return jjStopAtPos(1, 21); else if ((active0 & 0x800000L) != 0L) return jjStopAtPos(1, 23); else if ((active0 & 0x2000000L) != 0L) return jjStopAtPos(1, 25); break; case 99: return jjMoveStringLiteralDfa2_1(active0, 0x4L); case 109: return jjMoveStringLiteralDfa2_1(active0, 0x2L); case 110: return jjMoveStringLiteralDfa2_1(active0, 0x400L); case 114: if ((active0 & 0x200L) != 0L) return jjStartNfaWithStates_1(1, 9, 99); break; case 126: if ((active0 & 0x100000000L) != 0L) return jjStopAtPos(1, 32); break; default : break; } return jjStartNfa_1(0, active0); } private int jjMoveStringLiteralDfa2_1(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_1(0, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_1(1, active0); return 2; } switch(curChar) { case 97: return jjMoveStringLiteralDfa3_1(active0, 0x2L); case 100: if ((active0 & 0x400L) != 0L) return jjStartNfaWithStates_1(2, 10, 99); break; case 111: return jjMoveStringLiteralDfa3_1(active0, 0x4L); default : break; } return jjStartNfa_1(1, active0); } private int jjMoveStringLiteralDfa3_1(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_1(1, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_1(2, active0); return 3; } switch(curChar) { case 110: return jjMoveStringLiteralDfa4_1(active0, 0x4L); case 120: return jjMoveStringLiteralDfa4_1(active0, 0x2L); default : break; } return jjStartNfa_1(2, active0); } private int jjMoveStringLiteralDfa4_1(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_1(2, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_1(3, active0); return 4; } switch(curChar) { case 105: return jjMoveStringLiteralDfa5_1(active0, 0x2L); case 115: return jjMoveStringLiteralDfa5_1(active0, 0x4L); default : break; } return jjStartNfa_1(3, active0); } private int jjMoveStringLiteralDfa5_1(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_1(3, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_1(4, active0); return 5; } switch(curChar) { case 110: return jjMoveStringLiteralDfa6_1(active0, 0x2L); case 116: if ((active0 & 0x4L) != 0L) return jjStartNfaWithStates_1(5, 2, 100); break; default : break; } return jjStartNfa_1(4, active0); } private int jjMoveStringLiteralDfa6_1(long old0, long active0) { if (((active0 &= old0)) == 0L) return jjStartNfa_1(4, old0); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_1(5, active0); return 6; } switch(curChar) { case 116: if ((active0 & 0x2L) != 0L) return jjStartNfaWithStates_1(6, 1, 100); break; default : break; } return jjStartNfa_1(5, active0); } private int jjStartNfaWithStates_1(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_1(state, pos + 1); } private int jjMoveNfa_1(int startState, int curPos) { int startsAt = 0; jjnewStateCnt = 99; 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 5: if ((0x3fe000000000000L & l) != 0L) { if (kind > 13) kind = 13; jjCheckNAdd(60); } else if ((0x100002600L & l) != 0L) { if (kind > 55) kind = 55; jjCheckNAdd(45); } else if (curChar == 35) jjAddStates(19, 21); else if (curChar == 45) jjAddStates(22, 23); else if (curChar == 37) { if (kind > 54) kind = 54; jjCheckNAddStates(24, 26); } if (curChar == 35) jjAddStates(27, 30); else if (curChar == 45) jjstateSet[jjnewStateCnt++] = 34; break; case 67: if ((0x3ff000000000000L & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } else if (curChar == 40) { if (kind > 51) kind = 51; } if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x3ff000000000000L & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 77: if ((0x3ff000000000000L & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } else if (curChar == 40) { if (kind > 51) kind = 51; } if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x3ff000000000000L & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 100: if ((0x3ff000000000000L & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } else if (curChar == 40) { if (kind > 51) kind = 51; } if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x3ff000000000000L & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 66: if ((0x3ff000000000000L & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } else if (curChar == 40) { if (kind > 51) kind = 51; } if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x3ff000000000000L & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 85: if (curChar == 35) jjstateSet[jjnewStateCnt++] = 35; break; case 101: if ((0x3ff000000000000L & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } else if ((0x100002600L & l) != 0L) jjCheckNAddTwoStates(80, 81); else if (curChar == 40) { if (kind > 51) kind = 51; } if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x3ff000000000000L & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 99: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddStates(31, 33); else if ((0x100002600L & l) != 0L) jjCheckNAddTwoStates(57, 58); else if (curChar == 40) { if (kind > 47) kind = 47; } if ((0x3ff000000000000L & l) != 0L) { if (kind > 11) kind = 11; jjCheckNAdd(55); } break; case 79: if ((0x3ff000000000000L & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } else if (curChar == 40) { if (kind > 51) kind = 51; } if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x3ff000000000000L & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 1: if ((0x100002600L & l) == 0L) break; if (kind > 3) kind = 3; jjstateSet[jjnewStateCnt++] = 1; break; case 7: if ((0x100002600L & l) == 0L) break; if (kind > 4) kind = 4; jjstateSet[jjnewStateCnt++] = 7; break; case 18: if ((0x100002600L & l) == 0L) break; if (kind > 5) kind = 5; jjstateSet[jjnewStateCnt++] = 18; break; case 24: if ((0x100002600L & l) == 0L) break; if (kind > 6) kind = 6; jjstateSet[jjnewStateCnt++] = 24; break; case 32: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 12) kind = 12; jjstateSet[jjnewStateCnt++] = 32; break; case 36: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddStates(34, 36); break; case 37: if ((0x100002600L & l) != 0L) jjCheckNAddTwoStates(37, 38); break; case 38: if (curChar == 40 && kind > 49) kind = 49; break; case 39: if (curChar == 45) jjstateSet[jjnewStateCnt++] = 34; break; case 40: if (curChar != 37) break; if (kind > 54) kind = 54; jjCheckNAddStates(24, 26); break; case 41: if ((0xffffffffffffdbffL & l) == 0L) break; if (kind > 54) kind = 54; jjCheckNAddStates(24, 26); break; case 42: if ((0x2400L & l) != 0L && kind > 54) kind = 54; break; case 43: if (curChar == 10 && kind > 54) kind = 54; break; case 44: if (curChar == 13) jjstateSet[jjnewStateCnt++] = 43; break; case 45: if ((0x100002600L & l) == 0L) break; if (kind > 55) kind = 55; jjCheckNAdd(45); break; case 48: if ((0x100002200L & l) == 0L) break; if (kind > 7) kind = 7; jjstateSet[jjnewStateCnt++] = 48; break; case 51: if ((0x100002200L & l) != 0L) jjAddStates(37, 38); break; case 52: if (curChar == 40 && kind > 8) kind = 8; break; case 55: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 11) kind = 11; jjCheckNAdd(55); break; case 56: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddStates(31, 33); break; case 57: if ((0x100002600L & l) != 0L) jjCheckNAddTwoStates(57, 58); break; case 58: if (curChar == 40 && kind > 47) kind = 47; break; case 59: if ((0x3fe000000000000L & l) == 0L) break; if (kind > 13) kind = 13; jjCheckNAdd(60); break; case 60: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 14) kind = 14; jjCheckNAdd(60); break; case 61: if (curChar == 35) jjAddStates(27, 30); break; case 63: if ((0x100002600L & l) != 0L) jjAddStates(39, 40); break; case 70: if ((0x100002600L & l) != 0L) jjAddStates(41, 42); break; case 75: if ((0x100002600L & l) != 0L) jjAddStates(43, 44); break; case 80: if ((0x100002600L & l) != 0L) jjCheckNAddTwoStates(80, 81); break; case 84: if (curChar == 45) jjAddStates(22, 23); break; case 86: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddStates(45, 47); break; case 87: if ((0x100002600L & l) != 0L) jjCheckNAddTwoStates(87, 88); break; case 88: if (curChar == 40 && kind > 48) kind = 48; break; case 90: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 53) kind = 53; jjstateSet[jjnewStateCnt++] = 90; break; case 91: if (curChar == 35) jjAddStates(19, 21); break; case 93: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 50) kind = 50; jjCheckNAdd(93); break; case 95: if ((0x3ff000000000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); break; case 96: if (curChar == 40 && kind > 51) kind = 51; break; case 98: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 52) kind = 52; jjCheckNAdd(98); break; default : break; } } while(i != startsAt); } else if (curChar < 128) { long l = 1L << (curChar & 077); do { switch(jjstateSet[--i]) { case 5: if ((0x7fffffe00000000L & l) != 0L) { if (kind > 11) kind = 11; jjCheckNAddStates(48, 51); } else if ((0x7fffffeL & l) != 0L) { if (kind > 12) kind = 12; jjCheckNAdd(32); } else if (curChar == 95) { if (kind > 12) kind = 12; } if (curChar == 110) jjAddStates(52, 53); else if (curChar == 100) jjstateSet[jjnewStateCnt++] = 29; else if (curChar == 114) jjstateSet[jjnewStateCnt++] = 21; else if (curChar == 112) jjstateSet[jjnewStateCnt++] = 15; else if (curChar == 115) jjstateSet[jjnewStateCnt++] = 4; break; case 67: if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } if (curChar == 111) jjstateSet[jjnewStateCnt++] = 66; break; case 77: if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } if (curChar == 97) jjstateSet[jjnewStateCnt++] = 79; else if (curChar == 105) jjstateSet[jjnewStateCnt++] = 74; break; case 100: if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 66: if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } if (curChar == 117) jjstateSet[jjnewStateCnt++] = 65; break; case 85: if ((0x7fffffe00000000L & l) != 0L) { if (kind > 53) kind = 53; jjCheckNAdd(90); } if ((0x7fffffe00000000L & l) != 0L) jjCheckNAddStates(45, 47); break; case 101: if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } else if (curChar == 123) { if (kind > 43) kind = 43; } if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } break; case 99: if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddStates(31, 33); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 11) kind = 11; jjCheckNAdd(55); } break; case 79: if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } if (curChar == 120) jjAddStates(54, 55); break; case 68: if ((0x7fffffe00000000L & l) != 0L) { if (kind > 52) kind = 52; jjCheckNAdd(98); } if ((0x7fffffe00000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); if ((0x7fffffe00000000L & l) != 0L) { if (kind > 50) kind = 50; jjCheckNAdd(93); } if (curChar == 109) jjstateSet[jjnewStateCnt++] = 82; else if (curChar == 115) jjstateSet[jjnewStateCnt++] = 72; else if (curChar == 99) jjstateSet[jjnewStateCnt++] = 67; if (curChar == 109) jjstateSet[jjnewStateCnt++] = 77; break; case 0: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 1; break; case 2: if (curChar == 116) jjstateSet[jjnewStateCnt++] = 0; break; case 3: if (curChar == 114) jjstateSet[jjnewStateCnt++] = 2; break; case 4: if (curChar == 111) jjstateSet[jjnewStateCnt++] = 3; break; case 6: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 7; break; case 8: if (curChar == 101) jjstateSet[jjnewStateCnt++] = 6; break; case 9: if (curChar == 116) jjstateSet[jjnewStateCnt++] = 8; break; case 10: if (curChar == 97) jjstateSet[jjnewStateCnt++] = 9; break; case 11: if (curChar == 99) jjstateSet[jjnewStateCnt++] = 10; break; case 12: if (curChar == 105) jjstateSet[jjnewStateCnt++] = 11; break; case 13: if (curChar == 100) jjstateSet[jjnewStateCnt++] = 12; break; case 14: if (curChar == 101) jjstateSet[jjnewStateCnt++] = 13; break; case 15: if (curChar == 114) jjstateSet[jjnewStateCnt++] = 14; break; case 16: if (curChar == 112) jjstateSet[jjnewStateCnt++] = 15; break; case 17: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 18; break; case 19: if (curChar == 101) jjstateSet[jjnewStateCnt++] = 17; break; case 20: if (curChar == 108) jjstateSet[jjnewStateCnt++] = 19; break; case 21: if (curChar == 117) jjstateSet[jjnewStateCnt++] = 20; break; case 22: if (curChar == 114) jjstateSet[jjnewStateCnt++] = 21; break; case 23: if (curChar == 121) jjstateSet[jjnewStateCnt++] = 24; break; case 25: if (curChar == 97) jjstateSet[jjnewStateCnt++] = 23; break; case 26: if (curChar == 108) jjstateSet[jjnewStateCnt++] = 25; break; case 27: if (curChar == 112) jjstateSet[jjnewStateCnt++] = 26; break; case 28: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 27; break; case 29: if (curChar == 105) jjstateSet[jjnewStateCnt++] = 28; break; case 30: if (curChar == 100) jjstateSet[jjnewStateCnt++] = 29; break; case 31: if ((0x7fffffeL & l) == 0L) break; if (kind > 12) kind = 12; jjCheckNAdd(32); break; case 32: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 12) kind = 12; jjCheckNAdd(32); break; case 33: if (curChar == 95 && kind > 12) kind = 12; break; case 35: if ((0x7fffffe00000000L & l) != 0L) jjCheckNAddStates(34, 36); break; case 36: if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddStates(34, 36); break; case 41: if (kind > 54) kind = 54; jjAddStates(24, 26); break; case 46: if (curChar == 110) jjAddStates(52, 53); break; case 47: if (curChar == 116) jjstateSet[jjnewStateCnt++] = 48; break; case 49: if (curChar == 111) jjstateSet[jjnewStateCnt++] = 47; break; case 50: if (curChar == 116) jjAddStates(37, 38); break; case 53: if (curChar == 111) jjstateSet[jjnewStateCnt++] = 50; break; case 54: if ((0x7fffffe00000000L & l) == 0L) break; if (kind > 11) kind = 11; jjCheckNAddStates(48, 51); break; case 55: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 11) kind = 11; jjCheckNAdd(55); break; case 56: if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddStates(31, 33); break; case 62: if (curChar == 116) jjAddStates(39, 40); break; case 64: if (curChar == 123 && kind > 40) kind = 40; break; case 65: if (curChar == 110) jjstateSet[jjnewStateCnt++] = 62; break; case 69: if (curChar == 109) jjAddStates(41, 42); break; case 71: if (curChar == 123 && kind > 41) kind = 41; break; case 72: if (curChar == 117) jjstateSet[jjnewStateCnt++] = 69; break; case 73: if (curChar == 115) jjstateSet[jjnewStateCnt++] = 72; break; case 74: if (curChar == 110) jjAddStates(43, 44); break; case 76: if (curChar == 123 && kind > 42) kind = 42; break; case 78: if (curChar == 109) jjstateSet[jjnewStateCnt++] = 77; break; case 81: if (curChar == 123 && kind > 43) kind = 43; break; case 82: if (curChar == 97) jjstateSet[jjnewStateCnt++] = 79; break; case 83: if (curChar == 109) jjstateSet[jjnewStateCnt++] = 82; break; case 86: if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddStates(45, 47); break; case 89: if ((0x7fffffe00000000L & l) == 0L) break; if (kind > 53) kind = 53; jjCheckNAdd(90); break; case 90: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 53) kind = 53; jjCheckNAdd(90); break; case 92: if ((0x7fffffe00000000L & l) == 0L) break; if (kind > 50) kind = 50; jjCheckNAdd(93); break; case 93: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 50) kind = 50; jjCheckNAdd(93); break; case 94: if ((0x7fffffe00000000L & l) != 0L) jjCheckNAddTwoStates(95, 96); break; case 95: if ((0x7fffffe87fffffeL & l) != 0L) jjCheckNAddTwoStates(95, 96); break; case 97: if ((0x7fffffe00000000L & l) == 0L) break; if (kind > 52) kind = 52; jjCheckNAdd(98); break; case 98: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 52) kind = 52; jjCheckNAdd(98); break; default : break; } } while(i != startsAt); } else { int i2 = (curChar & 0xff) >> 6; long l2 = 1L << (curChar & 077); do { switch(jjstateSet[--i]) { case 41: if ((jjbitVec0[i2] & l2) == 0L) break; if (kind > 54) kind = 54; jjAddStates(24, 26); break; default : break; } } while(i != startsAt); } if (kind != 0x7fffffff) { jjmatchedKind = kind; jjmatchedPos = curPos; kind = 0x7fffffff; } ++curPos; if ((i = jjnewStateCnt) == (startsAt = 99 - (jjnewStateCnt = startsAt))) return curPos; try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } } } private final int jjStopStringLiteralDfa_2(int pos, long active0) { switch (pos) { default : return -1; } } private final int jjStartNfa_2(int pos, long active0) { return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), pos + 1); } private int jjMoveStringLiteralDfa0_2() { switch(curChar) { case 45: return jjStopAtPos(0, 56); default : return jjMoveNfa_2(0, 0); } } private int jjMoveNfa_2(int startState, int curPos) { int startsAt = 0; jjnewStateCnt = 6; 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 ((0x100002600L & l) != 0L) { if (kind > 55) kind = 55; jjCheckNAdd(5); } else if (curChar == 37) { if (kind > 54) kind = 54; jjCheckNAddStates(56, 58); } break; case 1: if ((0xffffffffffffdbffL & l) == 0L) break; if (kind > 54) kind = 54; jjCheckNAddStates(56, 58); break; case 2: if ((0x2400L & l) != 0L && kind > 54) kind = 54; break; case 3: if (curChar == 10 && kind > 54) kind = 54; break; case 4: if (curChar == 13) jjstateSet[jjnewStateCnt++] = 3; break; case 5: if ((0x100002600L & l) == 0L) break; if (kind > 55) kind = 55; jjCheckNAdd(5); break; default : break; } } while(i != startsAt); } else if (curChar < 128) { long l = 1L << (curChar & 077); do { switch(jjstateSet[--i]) { case 1: kind = 54; jjAddStates(56, 58); break; default : break; } } while(i != startsAt); } else { int i2 = (curChar & 0xff) >> 6; long l2 = 1L << (curChar & 077); do { switch(jjstateSet[--i]) { case 1: if ((jjbitVec0[i2] & l2) == 0L) break; if (kind > 54) kind = 54; jjAddStates(56, 58); break; default : break; } } while(i != startsAt); } if (kind != 0x7fffffff) { jjmatchedKind = kind; jjmatchedPos = curPos; kind = 0x7fffffff; } ++curPos; if ((i = jjnewStateCnt) == (startsAt = 6 - (jjnewStateCnt = startsAt))) return curPos; try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } } } static final int[] jjnextStates = { 59, 64, 69, 74, 37, 38, 40, 47, 48, 54, 55, 61, 62, 66, 67, 45, 49, 71, 72, 92, 94, 97, 85, 89, 41, 42, 44, 68, 73, 78, 83, 56, 57, 58, 36, 37, 38, 51, 52, 63, 64, 70, 71, 75, 76, 86, 87, 88, 55, 56, 57, 58, 49, 53, 80, 81, 1, 2, 4, }; /** Token literal values. */ public static final String[] jjstrLiteralImages = { "", "\43\155\141\170\151\156\164", "\43\143\157\156\163\164", null, null, null, null, null, null, "\157\162", "\141\156\144", null, null, null, null, "\60", "\53", "\52", "\57", "\75", "\75\75", "\41\75", "\76", "\76\75", "\74", "\74\75", "\50", "\51", "\173", "\175", "\72\55", "\72\53", "\72\176", "\54", "\56", "\72", "\73", "\44", "\176", "\174", null, null, null, null, "\133", "\135", "\43", null, null, null, null, null, null, null, null, null, "\55", }; /** Lexer state names. */ public static final String[] lexStateNames = { "DEFAULT", "IN_PROGRAM_RULES", "IN_REGULAREXPRESSIONSEQUENCE", }; /** 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, }; static final long[] jjtoToken = { 0x13fffffffffffffL, }; static final long[] jjtoSkip = { 0xc0000000000000L, }; protected SimpleCharStream input_stream; private final int[] jjrounds = new int[99]; private final int[] jjstateSet = new int[198]; protected char curChar; /** Constructor. */ public SparcTranslatorTokenManager(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 SparcTranslatorTokenManager(SimpleCharStream stream, int lexState){ this(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 = 99; 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; } 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; } int curLexState = 0; int defaultLexState = 0; int jjnewStateCnt; int jjround; int jjmatchedPos; int jjmatchedKind; /** Get the next Token. */ public Token getNextToken() { Token matchedToken; int curPos = 0; EOFLoop : for (;;) { try { curChar = input_stream.BeginToken(); } catch(java.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; } if (jjmatchedKind != 0x7fffffff) { if (jjmatchedPos + 1 < curPos) input_stream.backup(curPos - jjmatchedPos - 1); if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) { matchedToken = jjFillToken(); if (jjnewLexState[jjmatchedKind] != -1) curLexState = jjnewLexState[jjmatchedKind]; return matchedToken; } else { if (jjnewLexState[jjmatchedKind] != -1) curLexState = jjnewLexState[jjmatchedKind]; continue EOFLoop; } } 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); } } 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); } }