public override Expression VisitExclusive_or_expression(Exclusive_or_expressionContext context) { var expression = Visit(context.children[0]); for (int i = 1; i < context.children.Count - 1; i += 2) { var current = Visit(context.children[i + 1]); expression = Expression.ExclusiveOr(expression, current); } return(expression); }
public Exclusive_or_expressionContext exclusive_or_expression() { Exclusive_or_expressionContext _localctx = new Exclusive_or_expressionContext(_ctx, State); EnterRule(_localctx, 220, RULE_exclusive_or_expression); int _la; try { EnterOuterAlt(_localctx, 1); { State = 1219; and_expression(); State = 1224; _errHandler.Sync(this); _la = _input.La(1); while (_la==CARET) { { { State = 1220; Match(CARET); State = 1221; and_expression(); } } State = 1226; _errHandler.Sync(this); _la = _input.La(1); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.ReportError(this, re); _errHandler.Recover(this, re); } finally { ExitRule(); } return _localctx; }