do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0','9');
}
else {
if ( _cnt227>=1 ) { break _loop227; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt227++;
} while (true);
}
{
if ((LA(1)=='e')) {
mEXPONENT(false);
}
else {
}
}
{
if ((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('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 _cnt234=0;
_loop234:
do {
if ((_tokenSet_3.member(LA(1))) && (true)) {
mHEX_DIGIT(false);
}
else {
if ( _cnt234>=1 ) { break _loop234; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt234++;
} while (true);
}
break;
}
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
{
{
int _cnt236=0;
_loop236:
do {
if (((LA(1) >= '0' && LA(1) <= '7'))) {
matchRange('0','7');
}
else {
if ( _cnt236>=1 ) { break _loop236; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
}
_cnt236++;
} 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');
}
{
_loop239:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0','9');
}
else {
break _loop239;
}
} while (true);
}
if ( inputState.guessing==0 ) {
isDecimal=true;
}
break;
}
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
if ((LA(1)=='l')) {
{
match('l');
}
if ( inputState.guessing==0 ) {
_ttype = NUM_LONG;
}
}
else if (((_tokenSet_4.member(LA(1))))&&(isDecimal)) {
{
switch ( LA(1)) {
case '.':
{
match('.');
{
_loop244:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0','9');
}
else {
break _loop244;
}
} while (true);
}
{
if ((LA(1)=='e')) {
mEXPONENT(false);
}
else {
}
}
{
if ((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)=='d'||LA(1)=='f')) {
mFLOAT_SUFFIX(true);
f3=_returnToken;
if ( inputState.guessing==0 ) {
t=f3;
}
}
else {
}
}
break;
}
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('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));