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

mREVERSE_DIGIT_GROUP() protected method

protected mREVERSE_DIGIT_GROUP ( bool _createToken ) : void
_createToken bool
return void
        protected void mREVERSE_DIGIT_GROUP(bool _createToken)
        {
            int _ttype; IToken _token=null; int _begin=text.Length;
            _ttype = REVERSE_DIGIT_GROUP;

            { // ( ... )+
            int _cnt855=0;
            for (;;)
            {
                if (((cached_LA1 >= '0' && cached_LA1 <= '9')) && ((cached_LA2 >= '0' && cached_LA2 <= '9')) && ((LA(3) >= '0' && LA(3) <= '9')))
                {
                    mDIGIT(false);
                    mDIGIT(false);
                    mDIGIT(false);
                    {
                        if (((cached_LA1=='_'))&&(BooLexer.IsDigit(LA(2))))
                        {
                            int _saveIndex = 0;
                            _saveIndex = text.Length;
                            match('_');
                            text.Length = _saveIndex;
                        }
                        else {
                        }

                    }
                }
                else if (((cached_LA1 >= '0' && cached_LA1 <= '9')) && (true) && (true)) {
                    mDIGIT(false);
                }
                else
                {
                    if (_cnt855 >= 1) { goto _loop855_breakloop; } else { throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());; }
                }

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