Boo.Lang.Parser.BooParserBase.atom C# (CSharp) Method

atom() protected method

protected atom ( ) : Expression
return Expression
        protected Expression atom()
        {
            Expression e;

                e = null;

            try {      // for error handling
            {
                switch ( LA(1) )
                {
                case ESEPARATOR:
                case FALSE:
                case NULL:
                case SELF:
                case SUPER:
                case TRUE:
                case TRIPLE_QUOTED_STRING:
                case DOUBLE_QUOTED_STRING:
                case SINGLE_QUOTED_STRING:
                case LBRACK:
                case LBRACE:
                case QQ_BEGIN:
                case SUBTRACT:
                case LONG:
                case INT:
                case BACKTICK_QUOTED_STRING:
                case RE_LITERAL:
                case DOUBLE:
                case FLOAT:
                case TIMESPAN:
                {
                    e=literal();
                    break;
                }
                case LPAREN:
                {
                    e=paren_expression();
                    break;
                }
                case CAST:
                {
                    e=cast_expression();
                    break;
                }
                case TYPEOF:
                {
                    e=typeof_expression();
                    break;
                }
                case SPLICE_BEGIN:
                {
                    e=splice_expression();
                    break;
                }
                case DOT:
                {
                    e=omitted_member_expression();
                    break;
                }
                default:
                    bool synPredMatched552 = false;
                    if (((LA(1)==CHAR) && (LA(2)==LPAREN)))
                    {
                        int _m552 = mark();
                        synPredMatched552 = true;
                        inputState.guessing++;
                        try {
                            {
                                match(CHAR);
                                match(LPAREN);
                            }
                        }
                        catch (RecognitionException)
                        {
                            synPredMatched552 = false;
                        }
                        rewind(_m552);
                        inputState.guessing--;
                    }
                    if ( synPredMatched552 )
                    {
                        e=char_literal();
                    }
                    else if ((LA(1)==CHAR||LA(1)==THEN||LA(1)==ID) && (tokenSet_41_.member(LA(2)))) {
                        e=reference_expression();
                    }
                else
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                break; }
            }
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex, "atom");
                recover(ex,tokenSet_41_);
            }
            else
            {
                throw ex;
            }
            }
            return e;
        }
BooParserBase