do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0','9');
}
else {
if ( _cnt237>=1 ) { break _loop237; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt237++;
} while (true);
}
{
if ((LA(1)=='e')) {
mEXPONENT(false);
}
else {
}
}
{
if ((LA(1)=='b'||LA(1)=='d'||LA(1)=='f')) {
mFLOAT_SUFFIX(true);
f1=_returnToken;
if ( inputState.guessing==0 ) {
t=f1;
}
}
else {
}
}
if ( inputState.guessing==0 ) {
if ( t != null && t.getText().toUpperCase().indexOf("BD")>=0) {
_ttype = NUM_BIG_DECIMAL;
}
else if (t != null && t.getText().toUpperCase().indexOf('F')>=0) {
_ttype = NUM_FLOAT;
}
else {
_ttype = NUM_DOUBLE; // assume double
}
}
}
else {
}
}
break;
}
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
case '8': case '9':
{
{
switch ( LA(1)) {
case '0':
{
match('0');
if ( inputState.guessing==0 ) {
isDecimal = true;
}
{
switch ( LA(1)) {
case 'x':
{
{
match('x');
}
{
int _cnt244=0;
_loop244:
do {
if ((_tokenSet_3.member(LA(1))) && (true)) {
mHEX_DIGIT(false);
}
else {
if ( _cnt244>=1 ) { break _loop244; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt244++;
} while (true);
}
break;
}
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
{
{
int _cnt246=0;
_loop246:
do {
if (((LA(1) >= '0' && LA(1) <= '7'))) {
matchRange('0','7');
}
else {
if ( _cnt246>=1 ) { break _loop246; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt246++;
} while (true);
}
break;
}
default:
{
}
}
}
break;
}
case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8':
case '9':
{
{
matchRange('1','9');
}
{
_loop249:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0','9');
}
else {
break _loop249;
}
} while (true);
}
if ( inputState.guessing==0 ) {
isDecimal=true;
}
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
if ((LA(1)=='b') && (LA(2)=='i')) {
{
match('b');
match('i');
}
if ( inputState.guessing==0 ) {
_ttype = NUM_BIG_INTEGER;
}
}
else if ((LA(1)=='l')) {
{
match('l');
}
if ( inputState.guessing==0 ) {
_ttype = NUM_LONG;
}
}
else if (((_tokenSet_4.member(LA(1))) && (true))&&(isDecimal)) {
{
switch ( LA(1)) {
case '.':
{
match('.');
{
_loop255:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0','9');
}
else {
break _loop255;
}
} while (true);
}
{
if ((LA(1)=='e')) {
mEXPONENT(false);
}
else {
}
}
{
if ((LA(1)=='b'||LA(1)=='d'||LA(1)=='f')) {
mFLOAT_SUFFIX(true);
f2=_returnToken;
if ( inputState.guessing==0 ) {
t=f2;
}
}
else {
}
}
break;
}
case 'e':
{
mEXPONENT(false);
{
if ((LA(1)=='b'||LA(1)=='d'||LA(1)=='f')) {
mFLOAT_SUFFIX(true);
f3=_returnToken;
if ( inputState.guessing==0 ) {
t=f3;
}
}
else {
}
}
break;
}
case 'b': case 'd': case 'f':
{
mFLOAT_SUFFIX(true);
f4=_returnToken;
if ( inputState.guessing==0 ) {
t=f4;
}
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
if ( inputState.guessing==0 ) {
if ( t != null && t.getText().toUpperCase().indexOf("BD")>=0) {
_ttype = NUM_BIG_DECIMAL;
}
else if (t != null && t.getText().toUpperCase() .indexOf('F') >= 0) {
_ttype = NUM_FLOAT;
}
else {
_ttype = NUM_DOUBLE; // assume double
}
}
}
else {
}
}
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));