stdclexer.java
来自「plugin for eclipse」· Java 代码 · 共 2,450 行 · 第 1/5 页
JAVA
2,450 行
}
break;
}
case 'U': case 'u':
{
mUnsignedSuffix(false);
if ( inputState.guessing==0 ) {
_ttype = UnsignedOctalConst;
}
break;
}
default:
{
}
}
}
}
else if (((LA(1) >= '1' && LA(1) <= '9')) && (true) && (true)) {
matchRange('1','9');
{
_loop1766:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDigit(false);
}
else {
break _loop1766;
}
} while (true);
}
if ( inputState.guessing==0 ) {
_ttype = IntIntConst;
}
{
switch ( LA(1)) {
case 'L': case 'l':
{
mLongSuffix(false);
if ( inputState.guessing==0 ) {
_ttype = LongIntConst;
}
break;
}
case 'U': case 'u':
{
mUnsignedSuffix(false);
if ( inputState.guessing==0 ) {
_ttype = UnsignedIntConst;
}
break;
}
default:
{
}
}
}
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mStringLiteral(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = StringLiteral;
int _saveIndex;
match('"');
{
_loop1710:
do {
if ((LA(1)=='\\') && (_tokenSet_10.member(LA(2))) && ((LA(3) >= '\u0000' && LA(3) <= '\u00ff'))) {
mEscape(false);
}
else if ((LA(1)=='\n'||LA(1)=='\r'||LA(1)=='\\') && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
{
switch ( LA(1)) {
case '\r':
{
match('\r');
if ( inputState.guessing==0 ) {
deferredNewline();
}
break;
}
case '\n':
{
match('\n');
if ( inputState.guessing==0 ) {
deferredNewline();
_ttype = BadStringLiteral;
}
break;
}
case '\\':
{
match('\\');
match('\n');
if ( inputState.guessing==0 ) {
deferredNewline();
}
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
}
else if ((_tokenSet_11.member(LA(1)))) {
{
match(_tokenSet_11);
}
}
else {
break _loop1710;
}
} while (true);
}
match('"');
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mID(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = ID;
int _saveIndex;
{
switch ( LA(1)) {
case 'a': case 'b': case 'c': case 'd':
case 'e': case 'f': case 'g': case 'h':
case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p':
case 'q': case 'r': case 's': case 't':
case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
{
matchRange('a','z');
break;
}
case 'A': case 'B': case 'C': case 'D':
case 'E': case 'F': case 'G': case 'H':
case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P':
case 'Q': case 'R': case 'S': case 'T':
case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
{
matchRange('A','Z');
break;
}
case '_':
{
match('_');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
_loop1775:
do {
if (((LA(1) >= 'a' && LA(1) <= 'z')) && (true) && (true)) {
matchRange('a','z');
}
else if (((LA(1) >= 'A' && LA(1) <= 'Z')) && (true) && (true)) {
matchRange('A','Z');
}
else if ((LA(1)=='_') && (true) && (true)) {
match('_');
}
else if (((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true)) {
matchRange('0','9');
}
else {
break _loop1775;
}
} while (true);
}
_ttype = testLiteralsTable(_ttype);
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mCharLiteral(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = CharLiteral;
int _saveIndex;
match('\'');
{
if ((LA(1)=='\\') && (_tokenSet_10.member(LA(2))) && (_tokenSet_12.member(LA(3)))) {
mEscape(false);
}
else if ((_tokenSet_13.member(LA(1))) && (LA(2)=='\'') && (true)) {
{
match(_tokenSet_13);
}
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
match('\'');
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
protected final void mEscape(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = Escape;
int _saveIndex;
match('\\');
{
switch ( LA(1)) {
case 'a':
{
match('a');
break;
}
case 'b':
{
match('b');
break;
}
case 'f':
{
match('f');
break;
}
case 'n':
{
match('n');
break;
}
case 'r':
{
match('r');
break;
}
case 't':
{
match('t');
break;
}
case 'v':
{
match('v');
break;
}
case '"':
{
match('"');
break;
}
case '\'':
{
match('\'');
break;
}
case '\\':
{
match('\\');
break;
}
case '?':
{
match('?');
break;
}
case '0': case '1': case '2': case '3':
{
{
matchRange('0','3');
}
{
if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mDigit(false);
{
if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mDigit(false);
}
else if (((LA(1) >= '\u0000' && LA(1) <= '\u00ff')) && (true) && (true)) {
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
else if (((LA(1) >= '\u0000' && LA(1) <= '\u00ff')) && (true) && (true)) {
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
break;
}
case '4': case '5': case '6': case '7':
{
{
matchRange('4','7');
}
{
if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mDigit(false);
}
else if (((LA(1) >= '\u0000' && LA(1) <= '\u00ff')) && (true) && (true)) {
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
break;
}
case 'x':
{
match('x');
{
int _cnt1720=0;
_loop1720:
do {
if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mDigit(false);
}
else if (((LA(1) >= 'a' && LA(1) <= 'f')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
matchRange('a','f');
}
else if (((LA(1) >= 'A' && LA(1) <= 'F')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
matchRange('A','F');
}
else {
if ( _cnt1720>=1 ) { break _loop1720; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt1720++;
} while (true);
}
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
protected final void mBadStringLiteral(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = BadStringLiteral;
int _saveIndex;
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
protected final void mDigit(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = Digit;
int _saveIndex;
matchRange('0','9');
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
protected final void mLongSuffix(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = LongSuffix;
int _saveIndex;
switch ( LA(1)) {
case 'l':
{
match('l');
break;
}
case 'L':
{
match('L');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
protected final void mUnsignedSuffix(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = UnsignedSuffix;
int _saveIndex;
switch ( LA(1)) {
case 'u':
{
match('u');
break;
}
case 'U':
{
match('U');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
protected final void mFloatSuffix(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = FloatSuffix;
int _saveIndex;
switch ( LA(1)) {
case 'f':
{
match('f');
break;
}
case 'F':
{
match('F');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
_token = makeToken(_ttype);
_token.setText(new String(tex
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?