public override bool Equals(object obj) { if (obj == null || GetType() != obj.GetType()) { return(false); } BinaryFunction other = (BinaryFunction)obj; return(left.Equals(other.left) && right.Equals(other.right)); }
private void VisitBinaryFunction(BinaryFunction function) { int step = symbolStack.Peek().step; switch (step) { case 0: symbolStack.Push(new SymbolProgress(function.left)); break; case 1: symbolStack.Push(new SymbolProgress(function.right)); break; case 2: symbolStack.Pop(); VisitTop(); break; } }