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);
        }
Example #2
0
	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;
	}