protected JayBinary(JayExpression left, JayExpression right, string symbol) : base(symbol) { Left = left; Right = right; _size = Left.Size + Right.Size; }
public Vim(JayExpression left, JayExpression right, string symbol) : base(left, right, symbol) { }
public abstract JayExpression Sub(JayExpression expression, JayExpression variable);
public override JayExpression Sub(JayExpression expression, JayExpression variable) { throw new NotImplementedException(); }
public override JayExpression Sub(JayExpression expression, JayExpression variable) { if (Equals(variable)) return expression; return this; }