gnuclexer.java
来自「plugin for eclipse」· Java 代码 · 共 2,396 行 · 第 1/5 页
JAVA
2,396 行
catch (RecognitionException e) {
throw new TokenStreamRecognitionException(e);
}
}
catch (CharStreamException cse) {
if ( cse instanceof CharStreamIOException ) {
throw new TokenStreamIOException(((CharStreamIOException)cse).io);
}
else {
throw new TokenStreamException(cse.getMessage());
}
}
}
}
public final void mWhitespace(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = Whitespace;
int _saveIndex;
{
if ((LA(1)=='\r') && (LA(2)=='\n')) {
match("\r\n");
if ( inputState.guessing==0 ) {
newline();
}
}
else if ((LA(1)=='\t'||LA(1)=='\u000c'||LA(1)==' ')) {
{
switch ( LA(1)) {
case ' ':
{
match(' ');
break;
}
case '\t':
{
match('\t');
break;
}
case '\u000c':
{
match('\014');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
}
else if ((LA(1)=='\n'||LA(1)=='\r') && (true)) {
{
switch ( LA(1)) {
case '\n':
{
match('\n');
break;
}
case '\r':
{
match('\r');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
if ( inputState.guessing==0 ) {
newline();
}
}
else {
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
if ( inputState.guessing==0 ) {
_ttype = Token.SKIP;
}
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 '0': case '1': case '2': case '3':
{
{
matchRange('0','3');
}
{
_loop2384:
do {
if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mDigit(false);
}
else {
break _loop2384;
}
} while (true);
}
break;
}
case '4': case '5': case '6': case '7':
{
{
matchRange('4','7');
}
{
_loop2387:
do {
if (((LA(1) >= '0' && LA(1) <= '9')) && ((LA(2) >= '\u0000' && LA(2) <= '\u00ff')) && (true)) {
mDigit(false);
}
else {
break _loop2387;
}
} while (true);
}
break;
}
case 'x':
{
match('x');
{
int _cnt2389=0;
_loop2389:
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 ( _cnt2389>=1 ) { break _loop2389; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt2389++;
} while (true);
}
break;
}
default:
if ((_tokenSet_1.member(LA(1)))) {
{
match(_tokenSet_1);
}
}
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;
}
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 mIntSuffix(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = IntSuffix;
int _saveIndex;
switch ( LA(1)) {
case 'L':
{
match('L');
break;
}
case 'l':
{
match('l');
break;
}
case 'U':
{
match('U');
break;
}
case 'u':
{
match('u');
break;
}
case 'I':
{
match('I');
break;
}
case 'i':
{
match('i');
break;
}
case 'J':
{
match('J');
break;
}
case 'j':
{
match('j');
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 mNumberSuffix(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = NumberSuffix;
int _saveIndex;
switch ( LA(1)) {
case 'I': case 'J': case 'L': case 'U':
case 'i': case 'j': case 'l': case 'u':
{
mIntSuffix(false);
break;
}
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(text.getBuffer(), _begin, text.length()-_begin));
}
_returnToken = _token;
}
public final void mNumber(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype; Token _token=null; int _begin=text.length();
_ttype = Number;
int _saveIndex;
boolean synPredMatched2397 = false;
if ((((LA(1) >= '0' && LA(1) <= '9')) && (_tokenSet_2.member(LA(2))) && (true))) {
int _m2397 = mark();
synPredMatched2397 = true;
inputState.guessing++;
try {
{
{
int _cnt2395=0;
_loop2395:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDigit(false);
}
else {
if ( _cnt2395>=1 ) { break _loop2395; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt2395++;
} while (true);
}
{
switch ( LA(1)) {
case '.':
{
match('.');
break;
}
case 'e':
{
match('e');
break;
}
case 'E':
{
match('E');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
}
}
catch (RecognitionException pe) {
synPredMatched2397 = false;
}
rewind(_m2397);
inputState.guessing--;
}
if ( synPredMatched2397 ) {
{
int _cnt2399=0;
_loop2399:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDigit(false);
}
else {
if ( _cnt2399>=1 ) { break _loop2399; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt2399++;
} while (true);
}
{
switch ( LA(1)) {
case '.':
{
match('.');
{
_loop2402:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
mDigit(false);
}
else {
break _loop2402;
}
} while (true);
}
{
if ((LA(1)=='E'||LA(1)=='e')) {
mExponent(false);
}
else {
}
}
break;
}
case 'E': case 'e':
{
mExponent(false);
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
_loop2405:
do {
if ((_tokenSet_3.member(LA(1)))) {
mNumberSuffix(false);
}
else {
break _loop2405;
}
} while (true);
}
}
else {
boolean synPredMatched2407 = false;
if (((LA(1)=='.') && (LA(2)=='.'))) {
int _m2407 = mark();
synPredMatched2407 = true;
inputState.guessing++;
try {
{
match("...");
}
}
catch (RecognitionException pe) {
synPredMatched2407 = false;
}
rewind(_m2407);
inputState.guessing--;
}
if ( synPredMatched2407 ) {
match("...");
if ( inputState.guessing==0 ) {
_ttype = VARARGS;
}
}
else if ((LA(1)=='0') && (LA(2)=='X'||LA(2)=='x')) {
match('0');
{
switch ( LA(1)) {
case 'x':
{
match('x');
break;
}
case 'X':
{
match('X');
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
int _cnt2424=0;
_loop2424:
do {
switch ( LA(1)) {
case 'a': case 'b': case 'c': case 'd':
case 'e': case 'f':
{
matchRange('a','f');
break;
}
case 'A': case 'B': case 'C': case 'D':
case 'E': case 'F':
{
matchRange('A','F');
break;
}
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
case '8': case '9':
{
mDigit(false);
break;
}
default:
{
if ( _cnt2424>=1 ) { break _loop2424; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
}
_cnt2424++;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?