/// <inheritdoc/> public override ExpNode Execute(ParenthesisOperNode node) { // Remove Parenthesis if unnecessary if (node.Child is ValueNode || node.IsRoot || node.Parent.Priority >= node.Child.Priority) { return(node.Child); } return(node); }
/// <summary> /// Executes operation on a <see cref="ParenthesisOperNode"/>. /// </summary> /// <param name="node">The <see cref="ParenthesisOperNode"/> to execute operation on.</param> /// <returns>The result of the operation on a <see cref="ParenthesisOperNode"/>.</returns> public virtual ExpNode Execute(ParenthesisOperNode node) => Execute((UOperNode)node);
/// <inheritdoc/> public override ExpNode Execute(ParenthesisOperNode node) { node.Child = node.Child.Execute(this); return(node); }
/// <inheritdoc/> public override string Print(ParenthesisOperNode node) { return($"({node.Child.Print(this)})"); }
/// <summary> /// Prints a <see cref="ParenthesisOperNode"/>. /// </summary> /// <param name="node">The <see cref="ParenthesisOperNode"/> to print.</param> /// <returns>The <see cref="ParenthesisOperNode"/> printed to a string.</returns> public virtual string Print(ParenthesisOperNode node) => Print((UOperNode)node);