Пример #1
0
        public override object VisitPlusMinus(PlusMinusContext context)
        {
            var r    = (new Result());
            var expr = (Result)(Visit(context.expression()));
            var op   = Visit(context.add());

            r.data = expr.data;
            r.text = op + expr.text;
            return(r);
        }
Пример #2
0
        public PlusMinusContext plusMinus()
        {
            PlusMinusContext _localctx = new PlusMinusContext(Context, State);

            EnterRule(_localctx, 4, RULE_plusMinus);
            int _la;

            try {
                EnterOuterAlt(_localctx, 1);
                {
                    State = 32;
                    term();
                    State = 37;
                    ErrorHandler.Sync(this);
                    _la = TokenStream.LA(1);
                    while (_la == PLUS || _la == MINUS)
                    {
                        {
                            {
                                State = 33;
                                _la   = TokenStream.LA(1);
                                if (!(_la == PLUS || _la == MINUS))
                                {
                                    ErrorHandler.RecoverInline(this);
                                }
                                else
                                {
                                    ErrorHandler.ReportMatch(this);
                                    Consume();
                                }
                                State = 34;
                                term();
                            }
                        }
                        State = 39;
                        ErrorHandler.Sync(this);
                        _la = TokenStream.LA(1);
                    }
                }
            }
            catch (RecognitionException re) {
                _localctx.exception = re;
                ErrorHandler.ReportError(this, re);
                ErrorHandler.Recover(this, re);
            }
            finally {
                ExitRule();
            }
            return(_localctx);
        }