DSLExpression LogicFactor() { DSLExpression result; result = ComparisonFactor(); if (la.kind == 3) { Get(); Token op = t; DSLExpression right = ComparisonFactor(); result = new Binary(op.val, result, right); } return result; }
@Override public void accept(DSLExpressionVisitor visitor) { if (receiver != null) { receiver.accept(visitor); } visitor.visitVariable(this); }
@Override public void accept(DSLExpressionVisitor visitor) { receiver.accept(visitor); visitor.visitNegate(this); }
@Override public DSLExpression reduce(DSLExpressionReducer reducer) { DSLExpression newReceiver = null; if (receiver != null) { newReceiver = receiver.reduceImpl(reducer); } Variable c = this; if (newReceiver != receiver) { c = new Variable(newReceiver, getName()); c.setResolvedTargetType(getResolvedTargetType()); c.setResolvedVariable(getResolvedVariable()); } return reducer.visitVariable(c); }
@Override public DSLExpression reduce(DSLExpressionReducer reducer) { DSLExpression newLeft = left.reduceImpl(reducer); DSLExpression newRight = right.reduceImpl(reducer); Binary b = this; if (newLeft != left || newRight != right) { b = new Binary(getOperator(), newLeft, newRight); b.setResolvedTargetType(getResolvedTargetType()); b.setResolvedType(getResolvedType()); } return reducer.visitBinary(b); }
private DSLExpression parseImpl() { la = new Token(); la.val = ""; Get(); DSLExpression result = Expression(); Expect(0); return result; }
@Override public void accept(DSLExpressionVisitor visitor) { if (receiver != null) { receiver.accept(visitor); } for (DSLExpression parameter : getParameters()) { parameter.accept(visitor); } visitor.visitCall(this); }
@Override public DSLExpression reduce(DSLExpressionReducer visitor) { DSLExpression newReceiver = receiver.reduceImpl(visitor); DSLExpression negate = this; if (newReceiver != receiver) { negate = new Negate(newReceiver); negate.setResolvedTargetType(getResolvedTargetType()); } return negate; }
@Override public void accept(DSLExpressionVisitor visitor) { left.accept(visitor); right.accept(visitor); visitor.visitBinary(this); }
private DSLExpression parseImpl() { la = new Token(); la.val = ""; Get(); DSLExpression result = Expression(); Expect(0); return result; }
DSLExpression LogicFactor() { DSLExpression result; result = ComparisonFactor(); if (la.kind == 3) { Get(); Token op = t; DSLExpression right = ComparisonFactor(); result = new Binary(op.val, result, right); } return result; }
@Override public void accept(DSLExpressionVisitor visitor) { if (receiver != null) { receiver.accept(visitor); } for (DSLExpression parameter : getParameters()) { parameter.accept(visitor); } visitor.visitCall(this); }
@Override public void accept(DSLExpressionVisitor visitor) { if (receiver != null) { receiver.accept(visitor); } visitor.visitVariable(this); }
@Override public void accept(DSLExpressionVisitor visitor) { receiver.accept(visitor); visitor.visitNegate(this); }
@Override public void accept(DSLExpressionVisitor visitor) { left.accept(visitor); right.accept(visitor); visitor.visitBinary(this); }