returnToken_ = token;
}
protected final void mESC(boolean mustCreateToken) throws ScannerException
{
Token token = null;
int begin = text.length();
match('\\');
switch (la_1)
{
case 110: // 'n'
match('n');
break;
case 114: // 'r'
match('r');
break;
case 116: // 't'
match('t');
break;
case 98: // 'b'
match('b');
break;
case 102: // 'f'
match('f');
break;
case 117: // 'u'
match('u');
mHEX_DIGIT(false);
mHEX_DIGIT(false);
mHEX_DIGIT(false);
mHEX_DIGIT(false);
break;
case 34: // '"'
match('"');
break;
case 39: // '\''
match('\'');
break;
case 92: // '\\'
match('\\');
break;
case 48: // '0'
case 49: // '1'
case 50: // '2'
case 51: // '3'
matchRange('0', '3');
if (la_1 >= '0' && la_1 <= '9' && la_2 >= '\003' && la_2 <= '\377')
{
mDIGIT(false);
if (la_1 >= '0' && la_1 <= '9' && la_2 >= '\003' && la_2 <= '\377')
{
mDIGIT(false);
}
}
break;
case 52: // '4'
case 53: // '5'
case 54: // '6'
case 55: // '7'
matchRange('4', '7');
if (la_1 >= '0' && la_1 <= '9' && la_2 >= '\003' && la_2 <= '\377')
{
mDIGIT(false);
}
break;
default:
throw new ScannerException("no viable alt for char: " + LA(1), getLine());
}
if (mustCreateToken)
{
token = makeToken(JavaTokenTypes.ESC);
token.setText(new String(text.getBuffer(), begin, text.length() - begin));
}
returnToken_ = token;
}