Class ExpressionConsolidator

  • All Implemented Interfaces:
    JepComponent, ParserVisitor, java.io.Serializable

    public class ExpressionConsolidator
    extends DeepCopyVisitor
    Consolidates nested addition and multiplication to produce nary operators. For example (x+y)+z -> +(x,y,z)
    Author:
    Richard Morris
    See Also:
    Serialized Form
    • Field Detail

      • ops

        protected java.util.List<Operator> ops
    • Constructor Detail

      • ExpressionConsolidator

        public ExpressionConsolidator​(Jep j)
        Default constructor, Add and Multiply are consolidated.
        Parameters:
        j -
    • Method Detail

      • consolidateChildren

        protected Node[] consolidateChildren​(Operator op,
                                             Node[] children)
        Creates an array of Nodes, if the child is an ASTOpNode whose operator is op, then the children of that child will be added otherwise the child is added.
        Parameters:
        op -
        children -
        Returns:
        a new list of nodes
      • add

        public boolean add​(Operator op)
        Adds an addition operator to be consolidated.
        Parameters:
        op - operator to use
        Returns:
        true
      • getOps

        public java.util.List<Operator> getOps()
        The list of operators which are consolidated
        Returns:
        the list