/// <summary> /// Initializes a new instance of the <see cref="IntegralFuncParser"/> class. /// </summary> public IntegralFuncParser() { _state = State.OPEN_VAR; _depth = 0; _node = new IntegralOperNode { IsDeterminate = false }; _childParser = new DefaultParser(); }
/// <inheritdoc/> public override string Print(IntegralOperNode node) { if (node.IsDeterminate) { return($"\\int[{node.Variable.Print(this)}, {node.LowerBound.Print(this)}, {node.UpperBound.Print(this)}]{{{node.Child.Print(this)}}}"); } else { return($"\\int[{node.Variable.Print(this)}]{{{node.Child.Print(this)}}}"); } }
/// <inheritdoc/> public override ExpNode Execute(IntegralOperNode node) { Integrator integrator = new(node.Variable); return(node.Child.Execute(this).Execute(integrator).Execute(this)); }
/// <summary> /// Executes operation on an <see cref="IntegralOperNode"/>. /// </summary> /// <param name="node">The <see cref="IntegralOperNode"/> to execute operation on.</param> /// <returns>The result of the operation on an <see cref="IntegralOperNode"/>.</returns> public virtual ExpNode Execute(IntegralOperNode node) => Execute((OperNode)node);
/// <summary> /// Prints an <see cref="IntegralOperNode"/>. /// </summary> /// <param name="node">The <see cref="IntegralOperNode"/> to print.</param> /// <returns>The <see cref="IntegralOperNode"/> printed to a string.</returns> public virtual string Print(IntegralOperNode node) => Print((OperNode)node);