Exemple #1
0
 /// <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);
 }
Exemple #2
0
 /// <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);
Exemple #3
0
 /// <inheritdoc/>
 public override ExpNode Execute(ParenthesisOperNode node)
 {
     node.Child = node.Child.Execute(this);
     return(node);
 }
Exemple #4
0
 /// <inheritdoc/>
 public override string Print(ParenthesisOperNode node)
 {
     return($"({node.Child.Print(this)})");
 }
Exemple #5
0
 /// <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);