import net.sourceforge.phpdt.internal.compiler.parser.OutlineableWithChildren;
import net.sourceforge.phpdt.internal.compiler.parser.Outlineable;
import net.sourceforge.phpdt.internal.compiler.parser.PHPOutlineInfo;
+import net.sourceforge.phpdt.internal.corext.Assert;
public class PHPParserTokenManager implements PHPParserConstants
{
+ // CommonTokenAction: use the begins/ends fields added to the Jack
+ // CharStream class to set corresponding fields in each Token (which was
+ // also extended with new fields). By default Jack doesn't supply absolute
+ // offsets, just line/column offsets
+ static void CommonTokenAction(Token t) {
+ t.sourceStart = input_stream.beginOffset;
+ t.sourceEnd = input_stream.endOffset;
+ }
public static java.io.PrintStream debugStream = System.out;
public static void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
static private final int jjStopAtPos(int pos, int kind)
switch(curChar)
{
case 63:
- return jjMoveStringLiteralDfa1_2(0x10000L);
+ return jjMoveStringLiteralDfa1_2(0x10L);
case 84:
case 116:
return jjMoveStringLiteralDfa1_2(0x20000L);
switch(curChar)
{
case 62:
- if ((active0 & 0x10000L) != 0L)
- return jjStopAtPos(1, 16);
+ if ((active0 & 0x10L) != 0L)
+ return jjStopAtPos(1, 4);
break;
case 79:
case 111:
if ((0xfffffffbffffffffL & l) != 0L)
jjCheckNAddStates(31, 33);
break;
- case 39:
- if (curChar == 34)
- jjCheckNAddStates(31, 33);
+ case 40:
+ jjCheckNAddStates(31, 33);
break;
case 41:
if (curChar == 34 && kind > 103)
if ((0xfffffffbffffffffL & l) != 0L)
jjCheckNAddStates(34, 36);
break;
- case 43:
- if (curChar == 34)
- jjCheckNAddStates(34, 36);
+ case 44:
+ jjCheckNAddStates(34, 36);
break;
case 45:
if (curChar == 34 && kind > 104)
if ((0xffffff7fffffffffL & l) != 0L)
jjCheckNAddStates(37, 39);
break;
- case 48:
- if (curChar == 39)
- jjCheckNAddStates(37, 39);
+ case 49:
+ jjCheckNAddStates(37, 39);
break;
case 50:
if (curChar == 39 && kind > 103)
if ((0xffffff7fffffffffL & l) != 0L)
jjCheckNAddStates(40, 42);
break;
- case 52:
- if (curChar == 39)
- jjCheckNAddStates(40, 42);
+ case 53:
+ jjCheckNAddStates(40, 42);
break;
case 54:
if (curChar == 39 && kind > 105)
kind = 105;
break;
case 56:
- jjAddStates(43, 45);
+ case 58:
+ jjCheckNAddStates(43, 45);
break;
case 60:
- jjAddStates(46, 48);
+ case 62:
+ jjCheckNAddStates(46, 48);
break;
default : break;
}
jjCheckNAddTwoStates(35, 6);
break;
case 38:
- jjAddStates(31, 33);
+ if ((0xffffffffefffffffL & l) != 0L)
+ jjCheckNAddStates(31, 33);
break;
- case 40:
+ case 39:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 39;
+ jjstateSet[jjnewStateCnt++] = 40;
+ break;
+ case 40:
+ jjCheckNAddStates(31, 33);
break;
case 42:
- jjAddStates(34, 36);
+ if ((0xffffffffefffffffL & l) != 0L)
+ jjCheckNAddStates(34, 36);
break;
- case 44:
+ case 43:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 43;
+ jjstateSet[jjnewStateCnt++] = 44;
+ break;
+ case 44:
+ jjCheckNAddStates(34, 36);
break;
case 47:
- jjAddStates(37, 39);
+ if ((0xffffffffefffffffL & l) != 0L)
+ jjCheckNAddStates(37, 39);
break;
- case 49:
+ case 48:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 48;
+ jjstateSet[jjnewStateCnt++] = 49;
+ break;
+ case 49:
+ jjCheckNAddStates(37, 39);
break;
case 51:
- jjAddStates(40, 42);
+ if ((0xffffffffefffffffL & l) != 0L)
+ jjCheckNAddStates(40, 42);
break;
- case 53:
+ case 52:
if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 52;
+ jjstateSet[jjnewStateCnt++] = 53;
+ break;
+ case 53:
+ jjCheckNAddStates(40, 42);
break;
case 55:
if (curChar == 96)
jjCheckNAddStates(49, 54);
break;
case 56:
- if ((0xfffffffeffffffffL & l) != 0L)
+ if ((0xfffffffeefffffffL & l) != 0L)
jjCheckNAddStates(43, 45);
break;
case 57:
- if (curChar == 96)
- jjCheckNAddStates(43, 45);
+ if (curChar == 92)
+ jjstateSet[jjnewStateCnt++] = 58;
break;
case 58:
- if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 57;
+ jjCheckNAddStates(43, 45);
break;
case 59:
if (curChar == 96 && kind > 103)
kind = 103;
break;
case 60:
- if ((0xfffffffeffffffffL & l) != 0L)
+ if ((0xfffffffeefffffffL & l) != 0L)
jjCheckNAddStates(46, 48);
break;
case 61:
- if (curChar == 96)
- jjCheckNAddStates(46, 48);
+ if (curChar == 92)
+ jjstateSet[jjnewStateCnt++] = 62;
break;
case 62:
- if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 61;
+ jjCheckNAddStates(46, 48);
break;
case 63:
if (curChar == 96 && kind > 106)
jjCheckNAdd(17);
break;
case 38:
+ case 40:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(31, 33);
+ jjCheckNAddStates(31, 33);
break;
case 42:
+ case 44:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(34, 36);
+ jjCheckNAddStates(34, 36);
break;
case 47:
+ case 49:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(37, 39);
+ jjCheckNAddStates(37, 39);
break;
case 51:
+ case 53:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(40, 42);
+ jjCheckNAddStates(40, 42);
break;
case 56:
+ case 58:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(43, 45);
+ jjCheckNAddStates(43, 45);
break;
case 60:
+ case 62:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(46, 48);
+ jjCheckNAddStates(46, 48);
break;
default : break;
}
return 4;
}
static final int[] jjnextStates = {
- 19, 20, 25, 26, 29, 30, 12, 47, 49, 50, 51, 53, 54, 38, 40, 41,
- 42, 44, 45, 34, 36, 6, 8, 9, 12, 21, 22, 12, 29, 30, 12, 38,
- 40, 41, 42, 44, 45, 47, 49, 50, 51, 53, 54, 56, 58, 59, 60, 62,
- 63, 56, 58, 59, 60, 62, 63, 10, 11, 23, 24, 27, 28, 31, 32,
+ 19, 20, 25, 26, 29, 30, 12, 47, 48, 50, 51, 52, 54, 38, 39, 41,
+ 42, 43, 45, 34, 36, 6, 8, 9, 12, 21, 22, 12, 29, 30, 12, 38,
+ 39, 41, 42, 43, 45, 47, 48, 50, 51, 52, 54, 56, 57, 59, 60, 61,
+ 63, 56, 57, 59, 60, 61, 63, 10, 11, 23, 24, 27, 28, 31, 32,
};
public static final String[] jjstrLiteralImages = {
"", "\74\77", null, "\74\77\75", "\77\76", null, null, null, null, null, null,
"IN_MULTI_LINE_COMMENT",
};
public static final int[] jjnewLexState = {
- -1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, 2, 2, 3, 4, 1, 0, -1, 1, 1, -1, -1, -1, -1, -1,
+ -1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, 2, 2, 3, 4, 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, -1, -1,
jjmatchedKind = 0;
matchedToken = jjFillToken();
matchedToken.specialToken = specialToken;
+ CommonTokenAction(matchedToken);
return matchedToken;
}
image = null;
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = jjMoveStringLiteralDfa0_2();
- if (jjmatchedPos == 0 && jjmatchedKind > 20)
+ if (jjmatchedPos == 0 && jjmatchedKind > 16)
{
- jjmatchedKind = 20;
+ jjmatchedKind = 16;
}
break;
case 3:
TokenLexicalActions(matchedToken);
if (jjnewLexState[jjmatchedKind] != -1)
curLexState = jjnewLexState[jjmatchedKind];
+ CommonTokenAction(matchedToken);
return matchedToken;
}
else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
image = new StringBuffer(jjstrLiteralImages[4]);
else
image.append(jjstrLiteralImages[4]);
- PHPParser.htmlStart = SimpleCharStream.getPosition();
+ PHPParser.htmlStart = PHPParser.token.sourceEnd;
break;
default :
break;