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

mRE_ESC() protected method

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

            match('\\');
            {
            switch ( cached_LA1 )
            {
            case '+':
            {
                match('+');
                break;
            }
            case '/':
            {
                match('/');
                break;
            }
            case '(':
            {
                match('(');
                break;
            }
            case ')':
            {
                match(')');
                break;
            }
            case '|':
            {
                match('|');
                break;
            }
            case '.':
            {
                match('.');
                break;
            }
            case '*':
            {
                match('*');
                break;
            }
            case '?':
            {
                match('?');
                break;
            }
            case '$':
            {
                match('$');
                break;
            }
            case '^':
            {
                match('^');
                break;
            }
            case '[':
            {
                match('[');
                break;
            }
            case ']':
            {
                match(']');
                break;
            }
            case '{':
            {
                match('{');
                break;
            }
            case '}':
            {
                match('}');
                break;
            }
            case 'a':
            {
                match('a');
                break;
            }
            case 'b':
            {
                match('b');
                break;
            }
            case 'c':
            {
                {
                    match('c');
                    matchRange('A','Z');
                }
                break;
            }
            case 't':
            {
                match('t');
                break;
            }
            case 'r':
            {
                match('r');
                break;
            }
            case 'v':
            {
                match('v');
                break;
            }
            case 'f':
            {
                match('f');
                break;
            }
            case 'n':
            {
                match('n');
                break;
            }
            case 'e':
            {
                match('e');
                break;
            }
            case '0':  case '1':  case '2':  case '3':
            case '4':  case '5':  case '6':  case '7':
            case '8':  case '9':
            {
                { // ( ... )+
                    int _cnt845=0;
                    for (;;)
                    {
                        if (((cached_LA1 >= '0' && cached_LA1 <= '9')) && (tokenSet_2_.member(cached_LA2)) && (true))
                        {
                            mDIGIT(false);
                        }
                        else
                        {
                            if (_cnt845 >= 1) { goto _loop845_breakloop; } else { throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());; }
                        }

                        _cnt845++;
                    }
            _loop845_breakloop:					;
                }    // ( ... )+
                break;
            }
            case 'x':
            {
                {
                    match('x');
                    mHEXDIGIT(false);
                    mHEXDIGIT(false);
                }
                break;
            }
            case 'u':
            {
                {
                    match('u');
                    mHEXDIGIT(false);
                    mHEXDIGIT(false);
                    mHEXDIGIT(false);
                    mHEXDIGIT(false);
                }
                break;
            }
            case '\\':
            {
                match('\\');
                break;
            }
            case 'w':
            {
                match('w');
                break;
            }
            case 'W':
            {
                match('W');
                break;
            }
            case 's':
            {
                match('s');
                break;
            }
            case 'S':
            {
                match('S');
                break;
            }
            case 'd':
            {
                match('d');
                break;
            }
            case 'D':
            {
                match('D');
                break;
            }
            case 'p':
            {
                match('p');
                break;
            }
            case 'P':
            {
                match('P');
                break;
            }
            case 'A':
            {
                match('A');
                break;
            }
            case 'z':
            {
                match('z');
                break;
            }
            case 'Z':
            {
                match('Z');
                break;
            }
            case 'g':
            {
                match('g');
                break;
            }
            case 'B':
            {
                match('B');
                break;
            }
            case 'k':
            {
                match('k');
                break;
            }
            default:
            {
                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;
        }