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

string_literal() protected method

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

            IToken  dqs = null;
            IToken  sqs = null;
            IToken  tqs = null;
            IToken  bqs = null;

                e = null;

            try {      // for error handling
            switch ( LA(1) )
            {
            case ESEPARATOR:
            {
                e=expression_interpolation();
                break;
            }
            case DOUBLE_QUOTED_STRING:
            {
                dqs = LT(1);
                match(DOUBLE_QUOTED_STRING);
                if (0==inputState.guessing)
                {

                            e = new StringLiteralExpression(ToLexicalInfo(dqs), dqs.getText());
                            e.Annotate("quote", "\"");

                }
                break;
            }
            case SINGLE_QUOTED_STRING:
            {
                sqs = LT(1);
                match(SINGLE_QUOTED_STRING);
                if (0==inputState.guessing)
                {

                            e = new StringLiteralExpression(ToLexicalInfo(sqs), sqs.getText());
                            e.Annotate("quote", "'");

                }
                break;
            }
            case TRIPLE_QUOTED_STRING:
            {
                tqs = LT(1);
                match(TRIPLE_QUOTED_STRING);
                if (0==inputState.guessing)
                {

                            e = new StringLiteralExpression(ToLexicalInfo(tqs), tqs.getText());
                            e.Annotate("quote", "\"\"\"");

                }
                break;
            }
            case BACKTICK_QUOTED_STRING:
            {
                bqs = LT(1);
                match(BACKTICK_QUOTED_STRING);
                if (0==inputState.guessing)
                {

                            e = new StringLiteralExpression(ToLexicalInfo(bqs), bqs.getText());
                            e.Annotate("quote", "`");

                }
                break;
            }
            default:
            {
                throw new NoViableAltException(LT(1), getFilename());
            }
             }
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex, "string_literal");
                recover(ex,tokenSet_41_);
            }
            else
            {
                throw ex;
            }
            }
            return e;
        }
BooParserBase