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

not_expression() protected method

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

            IToken  nt = null;

                e = null;

            try {      // for error handling
            {
                switch ( LA(1) )
                {
                case NOT:
                {
                    {
                        nt = LT(1);
                        match(NOT);
                        e=not_expression();
                    }
                    break;
                }
                case ESEPARATOR:
                case CAST:
                case CHAR:
                case FALSE:
                case NULL:
                case SELF:
                case SUPER:
                case THEN:
                case TRUE:
                case TYPEOF:
                case TRIPLE_QUOTED_STRING:
                case LPAREN:
                case DOUBLE_QUOTED_STRING:
                case SINGLE_QUOTED_STRING:
                case ID:
                case MULTIPLY:
                case LBRACK:
                case SPLICE_BEGIN:
                case DOT:
                case LBRACE:
                case QQ_BEGIN:
                case SUBTRACT:
                case LONG:
                case INCREMENT:
                case DECREMENT:
                case ONES_COMPLEMENT:
                case INT:
                case BACKTICK_QUOTED_STRING:
                case RE_LITERAL:
                case DOUBLE:
                case FLOAT:
                case TIMESPAN:
                {
                    e=assignment_expression();
                    break;
                }
                default:
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                 }
            }
            if (0==inputState.guessing)
            {

                        if (nt != null)
                        {
                            UnaryExpression ue = new UnaryExpression(ToLexicalInfo(nt));
                            ue.Operator = UnaryOperatorType.LogicalNot;
                            ue.Operand = e;
                            e = ue;
                        }

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