Boo.Lang.Parser.BooLexer.mINT C# (CSharp) Method

mINT() public method

public mINT ( bool _createToken ) : void
_createToken bool
return void
        public void mINT(bool _createToken)
        {
            int _ttype; IToken _token=null; int _begin=text.Length;
            _ttype = INT;

            if ((cached_LA1=='0') && (cached_LA2=='x'))
            {
            {
                match("0x");
                { // ( ... )+
                    int _cnt679=0;
                    for (;;)
                    {
                        if ((tokenSet_4_.member(cached_LA1)))
                        {
                            mHEXDIGIT(false);
                        }
                        else
                        {
                            if (_cnt679 >= 1) { goto _loop679_breakloop; } else { throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());; }
                        }

                        _cnt679++;
                    }
            _loop679_breakloop:					;
                }    // ( ... )+
            }
            {
                if ((cached_LA1=='L'||cached_LA1=='l'))
                {
                    {
                        switch ( cached_LA1 )
                        {
                        case 'l':
                        {
                            match('l');
                            break;
                        }
                        case 'L':
                        {
                            match('L');
                            break;
                        }
                        default:
                        {
                            throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                        }
                         }
                    }
                    if (0==inputState.guessing)
                    {
                        _ttype = LONG;
                    }
                }
                else {
                }

            }
            }
            else if (((cached_LA1 >= '0' && cached_LA1 <= '9')) && (true)) {
            mDIGIT_GROUP(false);
            {
                if ((cached_LA1=='E'||cached_LA1=='e'))
                {
                    {
                        switch ( cached_LA1 )
                        {
                        case 'e':
                        {
                            match('e');
                            break;
                        }
                        case 'E':
                        {
                            match('E');
                            break;
                        }
                        default:
                        {
                            throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                        }
                         }
                    }
                    {
                        switch ( cached_LA1 )
                        {
                        case '+':
                        {
                            match('+');
                            break;
                        }
                        case '-':
                        {
                            match('-');
                            break;
                        }
                        case '0':  case '1':  case '2':  case '3':
                        case '4':  case '5':  case '6':  case '7':
                        case '8':  case '9':
                        {
                            break;
                        }
                        default:
                        {
                            throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                        }
                         }
                    }
                    mDIGIT_GROUP(false);
                }
                else {
                }

            }
            {
                switch ( cached_LA1 )
                {
                case 'L':  case 'l':
                {
                    {
                        switch ( cached_LA1 )
                        {
                        case 'l':
                        {
                            match('l');
                            break;
                        }
                        case 'L':
                        {
                            match('L');
                            break;
                        }
                        default:
                        {
                            throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                        }
                         }
                    }
                    if (0==inputState.guessing)
                    {
                        _ttype = LONG;
                    }
                    break;
                }
                case 'F':  case 'f':
                {
                    {
                        {
                            switch ( cached_LA1 )
                            {
                            case 'f':
                            {
                                match('f');
                                break;
                            }
                            case 'F':
                            {
                                match('F');
                                break;
                            }
                            default:
                            {
                                throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                            }
                             }
                        }
                        if (0==inputState.guessing)
                        {
                            _ttype = FLOAT;
                        }
                    }
                    break;
                }
                default:
                    {
                        {
                            {
                                if (((cached_LA1=='.'))&&(BooLexer.IsDigit(LA(2))))
                                {
                                    {
                                        match('.');
                                        mREVERSE_DIGIT_GROUP(false);
                                        {
                                            if ((cached_LA1=='E'||cached_LA1=='e'))
                                            {
                                                {
                                                    switch ( cached_LA1 )
                                                    {
                                                    case 'e':
                                                    {
                                                        match('e');
                                                        break;
                                                    }
                                                    case 'E':
                                                    {
                                                        match('E');
                                                        break;
                                                    }
                                                    default:
                                                    {
                                                        throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                                                    }
                                                     }
                                                }
                                                {
                                                    switch ( cached_LA1 )
                                                    {
                                                    case '+':
                                                    {
                                                        match('+');
                                                        break;
                                                    }
                                                    case '-':
                                                    {
                                                        match('-');
                                                        break;
                                                    }
                                                    case '0':  case '1':  case '2':  case '3':
                                                    case '4':  case '5':  case '6':  case '7':
                                                    case '8':  case '9':
                                                    {
                                                        break;
                                                    }
                                                    default:
                                                    {
                                                        throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                                                    }
                                                     }
                                                }
                                                mDIGIT_GROUP(false);
                                            }
                                            else {
                                            }

                                        }
                                    }
                                    {
                                        if ((cached_LA1=='F'||cached_LA1=='f'))
                                        {
                                            {
                                                {
                                                    switch ( cached_LA1 )
                                                    {
                                                    case 'f':
                                                    {
                                                        match('f');
                                                        break;
                                                    }
                                                    case 'F':
                                                    {
                                                        match('F');
                                                        break;
                                                    }
                                                    default:
                                                    {
                                                        throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                                                    }
                                                     }
                                                }
                                                if (0==inputState.guessing)
                                                {
                                                    _ttype = FLOAT;
                                                }
                                            }
                                        }
                                        else {
                                            if (0==inputState.guessing)
                                            {
                                                _ttype = DOUBLE;
                                            }
                                        }

                                    }
                                }
                                else {
                                }

                            }
                            {
                                if ((cached_LA1=='d'||cached_LA1=='h'||cached_LA1=='m'||cached_LA1=='s'))
                                {
                                    {
                                        switch ( cached_LA1 )
                                        {
                                        case 's':
                                        {
                                            match('s');
                                            break;
                                        }
                                        case 'h':
                                        {
                                            match('h');
                                            break;
                                        }
                                        case 'd':
                                        {
                                            match('d');
                                            break;
                                        }
                                        default:
                                            if ((cached_LA1=='m') && (cached_LA2=='s'))
                                            {
                                                match("ms");
                                            }
                                            else if ((cached_LA1=='m') && (true)) {
                                                match('m');
                                            }
                                        else
                                        {
                                            throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
                                        }
                                        break; }
                                    }
                                    if (0==inputState.guessing)
                                    {
                                        _ttype = TIMESPAN;
                                    }
                                }
                                else {
                                }

                            }
                        }
                    }
                break; }
            }
            }
            else
            {
            throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
            }

            if (_createToken && (null == _token) && (_ttype != Token.SKIP))
            {
            _token = makeToken(_ttype);
            _token.setText(text.ToString(_begin, text.Length-_begin));
            }
            returnToken_ = _token;
        }