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

reference_expression() protected method

protected reference_expression ( ) : ReferenceExpression
return ReferenceExpression
        protected ReferenceExpression reference_expression()
        {
            ReferenceExpression e;

            IToken  ch = null;

            e = null;
            IToken t = null;

            try {      // for error handling
            {
                switch ( LA(1) )
                {
                case THEN:
                case ID:
                {
                    t=macro_name();
                    break;
                }
                case CHAR:
                {
                    ch = LT(1);
                    match(CHAR);
                    if (0==inputState.guessing)
                    {
                        t = ch;
                    }
                    break;
                }
                default:
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                 }
            }
            if (0==inputState.guessing)
            {

                        e = new ReferenceExpression(ToLexicalInfo(t), t.getText());

            }
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex, "reference_expression");
                recover(ex,tokenSet_41_);
            }
            else
            {
                throw ex;
            }
            }
            return e;
        }
BooParserBase