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

literal() protected method

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

                e = null;

            try {      // for error handling
            {
                switch ( LA(1) )
                {
                case ESEPARATOR:
                case TRIPLE_QUOTED_STRING:
                case DOUBLE_QUOTED_STRING:
                case SINGLE_QUOTED_STRING:
                case BACKTICK_QUOTED_STRING:
                {
                    e=string_literal();
                    break;
                }
                case LBRACK:
                {
                    e=list_literal();
                    break;
                }
                case QQ_BEGIN:
                {
                    e=ast_literal_expression();
                    break;
                }
                case RE_LITERAL:
                {
                    e=re_literal();
                    break;
                }
                case FALSE:
                case TRUE:
                {
                    e=bool_literal();
                    break;
                }
                case NULL:
                {
                    e=null_literal();
                    break;
                }
                case SELF:
                {
                    e=self_literal();
                    break;
                }
                case SUPER:
                {
                    e=super_literal();
                    break;
                }
                default:
                    if ((LA(1)==SUBTRACT||LA(1)==LONG||LA(1)==INT) && (tokenSet_41_.member(LA(2))))
                    {
                        e=integer_literal();
                    }
                    else {
                        bool synPredMatched611 = false;
                        if (((LA(1)==LBRACE) && (tokenSet_72_.member(LA(2)))))
                        {
                            int _m611 = mark();
                            synPredMatched611 = true;
                            inputState.guessing++;
                            try {
                                {
                                    hash_literal_test();
                                }
                            }
                            catch (RecognitionException)
                            {
                                synPredMatched611 = false;
                            }
                            rewind(_m611);
                            inputState.guessing--;
                        }
                        if ( synPredMatched611 )
                        {
                            e=hash_literal();
                        }
                        else if ((LA(1)==LBRACE) && (tokenSet_124_.member(LA(2)))) {
                            e=closure_expression();
                        }
                        else if ((LA(1)==SUBTRACT||LA(1)==DOUBLE||LA(1)==FLOAT) && (tokenSet_41_.member(LA(2)))) {
                            e=double_literal();
                        }
                        else if ((LA(1)==SUBTRACT||LA(1)==TIMESPAN) && (tokenSet_41_.member(LA(2)))) {
                            e=timespan_literal();
                        }
                    else
                    {
                        throw new NoViableAltException(LT(1), getFilename());
                    }
                    }break; }
                }
            }
            catch (RecognitionException ex)
            {
                if (0 == inputState.guessing)
                {
                    reportError(ex, "literal");
                    recover(ex,tokenSet_41_);
                }
                else
                {
                    throw ex;
                }
            }
            return e;
        }
BooParserBase