Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.singularsys.jep.walkers
Class TreeAnalyzer

    java.lang.Object
      com.singularsys.jep.walkers.PostfixTreeWalker
          com.singularsys.jep.walkers.TreeAnalyzer

    public class TreeAnalyzer

extends PostfixTreeWalker

Analyze an expression, counting the number of nodes of each type, and recording which variables, functions and operators occurred in the expression.

Constructor Summary
`TreeAnalyzer()` Creates an empty tree analyser.
`TreeAnalyzer(Node node)`

Method Summary
`java.util.Map<java.lang.Object,java.lang.Integer>` | `getConstants()` A map with each constant and the number of times it occurs
`java.util.Map<java.lang.String,java.lang.Integer>` | `getFunctions()` A map with each function used and the number of times it occurred
`int` | `getMaxDepth()` The depth of the tree
`int` | `getNumConst()`
`int` | `getNumFunctions()`
`int` | `getNumNodes()`
`int` | `getNumOperators()`
`int` | `getNumVariables()`
`java.util.Map<Operator,java.lang.Integer>` | `getOperators()` A map with each operator used and the number of times it occurred
`java.lang.String[]` | `getVariableNames()` Return the names of the variables, sorted alphabetically.
`java.util.Map<Variable,java.lang.Integer>` | `getVariables()` A map with each variable used and the number of times it occurred
`void` | `merge(TreeAnalyzer ta)` Merge the result with the argument, producing total for all trees.
`java.lang.String` | `toString()` Reports statistics about the tree, number of nodes, depth, and the number of varibles, functions, operators and constants with the number of times each occurs.
`protected void` | `visit(ASTConstant node, int nchildren, int depth)` Visit a constant node
`protected void` | `visit(ASTFunNode node, int nchildren, int depth)` Visit a function node
`protected void` | `visit(ASTOpNode node, int nchildren, int depth)` Visit an operator node
`protected void` | `visit(ASTVarNode node, int nchildren, int depth)` Visit a variable node

Methods inherited from class com.singularsys.jep.walkers.PostfixTreeWalker
`supressExaminingChildren, walk, walkSubEquations`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### TreeAnalyzer

    public TreeAnalyzer(Node node)
                 throws JepException

Throws:
  `JepException`

### TreeAnalyzer

    public TreeAnalyzer()

  Creates an empty tree analyser. Useful for producing combined statistics via the `merge(TreeAnalyzer)` method.

Method Detail

### toString

    public java.lang.String toString()

  Reports statistics about the tree, number of nodes, depth, and the number of varibles, functions, operators and constants with the number of times each occurs.

  Overrides:
    `toString` in class `java.lang.Object`

### visit

    protected void visit(ASTFunNode node,
                         int nchildren,
                         int depth)

  Description copied from class: `PostfixTreeWalker`
  Visit a function node

  Specified by:
    `visit` in class `PostfixTreeWalker`
  Parameters:
    `node` - the current node being visited
    `nchildren` - number of children of the node
    `depth` - depth of tree, root node is depth 1.

### visit

    protected void visit(ASTOpNode node,
                         int nchildren,
                         int depth)

  Description copied from class: `PostfixTreeWalker`
  Visit an operator node

  Specified by:
    `visit` in class `PostfixTreeWalker`
  Parameters:
    `node` - the current node being visited
    `nchildren` - number of children of the node
    `depth` - depth of tree, root node is depth 1.

### visit

    protected void visit(ASTVarNode node,
                         int nchildren,
                         int depth)

  Description copied from class: `PostfixTreeWalker`
  Visit a variable node

  Specified by:
    `visit` in class `PostfixTreeWalker`
  Parameters:
    `node` - the current node being visited
    `nchildren` - number of children of the node
    `depth` - depth of tree, root node is depth 1.

### visit

    protected void visit(ASTConstant node,
                         int nchildren,
                         int depth)

  Description copied from class: `PostfixTreeWalker`
  Visit a constant node

  Specified by:
    `visit` in class `PostfixTreeWalker`
  Parameters:
    `node` - the current node being visited
    `nchildren` - number of children of the node
    `depth` - depth of tree, root node is depth 1.

### getMaxDepth

    public int getMaxDepth()

  The depth of the tree

  Returns:
    depth, depth of root node is 1

### getNumConst

    public int getNumConst()

### getNumFunctions

    public int getNumFunctions()

### getNumNodes

    public int getNumNodes()

### getNumOperators

    public int getNumOperators()

### getNumVariables

    public int getNumVariables()

### getOperators

    public java.util.Map<Operator,java.lang.Integer> getOperators()

  A map with each operator used and the number of times it occurred

  Returns:
    a map whose keys are the operators and the values are the number of occurrences

### getVariables

    public java.util.Map<Variable,java.lang.Integer> getVariables()

  A map with each variable used and the number of times it occurred

  Returns:
    a map whose keys are the variables and the values are the number of occurrences

### getVariableNames

    public java.lang.String[] getVariableNames()

  Return the names of the variables, sorted alphabetically.

  Returns:
    an array of variable names

### getFunctions

    public java.util.Map<java.lang.String,java.lang.Integer> getFunctions()

  A map with each function used and the number of times it occurred

### getConstants

    public java.util.Map<java.lang.Object,java.lang.Integer> getConstants()

  A map with each constant and the number of times it occurs

### merge

    public void merge(TreeAnalyzer ta)

  Merge the result with the argument, producing total for all trees.

  Parameters:
    `ta` -

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 Singular Systems http://www.singularsys.com/jep