codesimian
Class CharTree.CharTreeNode

java.lang.Object
  extended by codesimian.CS<CSGeneric>
      extended by codesimian.DefaultCS
          extended by codesimian.CharTree.CharTreeNode
All Implemented Interfaces:
CodeSimian
Enclosing class:
CharTree

public static class CharTree.CharTreeNode
extends DefaultCS

exactly 1 of nonLeafChilds[] or leafs[] is null at any 1 time. THIS CLASS WAS UPDATED BUT NOT TESTED 10/10/06. TEST IT.


Field Summary
 char[] leafs
           
 CharTree.CharTreeNode[] nonLeafChilds
           
 int size
          total recursive quantity of chars.
 
Fields inherited from class codesimian.CS
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS
 
Constructor Summary
CharTree.CharTreeNode()
           
CharTree.CharTreeNode(char[] leafs)
           
CharTree.CharTreeNode(CharTree.CharTreeNode[] nonLeafChilds)
           
 
Method Summary
 int countP()
          returns size of the char[] or CharTreeNode[] array, which is often smaller than CharTreeNode.size
 boolean deleteP(int index)
          WARNING: if returns false, could have deleted but not moved other params down 1 index.
WARNING: if duplicates not allowed, can not slide params down 1 index the standard way, returns false.
 double DForProxy()
          Execute this CS and cast to double.
 boolean insertP(int index, CS value)
          warning: does not update CharTreeNode.size, but size might increase by 1 or many
 boolean isLeaf2()
           
 java.lang.String keyword()
          For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.

Override this function if you want to specify a keyword other than how I derive them from the class name, like + for Add.

Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()".
 CS P(int index)
          WARNING: if add CSs then delete them, they are still in the param[] array and can be returned in this function, despite them being out of valid range: index at least countP().
 boolean setP(int index, CS value)
          warning: does not update CharTreeNode.size or size of the parent (since parent is not known)
 
Methods inherited from class codesimian.DefaultCS
B, C, decrementMyFuel, description, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertS, insertZ, J, javaCode, LForProxy, LForProxy, minP, myFuel, name, newInstance, objectToCS, objectToCSArray, objectToCSArray, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL, setL1, setMyFuel, setName, setObject, setPrevExec, setPType, setS, setZ, start, toString, V, Z
 
Methods inherited from class codesimian.CS
addB, addC, addD, addF, addI, addJ, addL, addP, addP, addP, addP, addP, addS, addZ, BForProxy, CForProxy, clone, cost, D, deleteP, FForProxy, GETB, GETC, GETD, GETF, GETI, GETJ, GETL, GETS, GETZ, IForProxy, isIllusion, JForProxy, L, L, L, L, L, maxD, maxP, minD, overwrites, parent, parsePriority, PB, PC, PD, PF, PI, PJ, PL, prevB, prevC, prevF, prevI, prevJ, prevS, prevZ, proxyOf, PS, PZ, reflect, reflect, reflect6, setB, SETB, setC, SETC, setCost, SETD, setDescription, setF, SETF, setHeap, setI, SETI, setJ, SETJ, SETL, setL, setL, setParent, setParsePriority, setProxyOf, setS, SETS, setTester, setZ, SETZ, SForProxy, tester, toJavaCode, VForProxy, voidReflect, ZForProxy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nonLeafChilds

public CharTree.CharTreeNode[] nonLeafChilds

leafs

public char[] leafs

size

public int size
total recursive quantity of chars. For nonleafs, this is usually bigger than countP()

Constructor Detail

CharTree.CharTreeNode

public CharTree.CharTreeNode()

CharTree.CharTreeNode

public CharTree.CharTreeNode(char[] leafs)

CharTree.CharTreeNode

public CharTree.CharTreeNode(CharTree.CharTreeNode[] nonLeafChilds)
Method Detail

DForProxy

public double DForProxy()
Description copied from class: CS
Execute this CS and cast to double.

D() and DForProxy() are the 2 most important functions in CS. They execute this CS. All other execute functions, by default, return DForProxy cast to their own type.

For example, J() calls the proxy which calls JForProxy() which calls DForProxy(). D() calls the proxy which calls DForProxy().

By default, all other primitive EXECUTE functions defer to D.
Functions that EXECUTE this CS: L(Class) L(int,Class,int) Z() B() C() S() I() J() F() D() V()

Specified by:
DForProxy in class DefaultCS

keyword

public java.lang.String keyword()
Description copied from class: DefaultCS
For the CodeSimian language as a String.
CodeSimian language keyword, like "+" "*" "max" ">" etc.

Override this function if you want to specify a keyword other than how I derive them from the class name, like + for Add.

Some CSs might never be intended to be used in the language by their keyword.
The best example (4/05) is Num, because it is used in the language like "3.4" instead of "num()".
Default: Returns class name, minus package name (and its dots), and change the first letter to lowercase.

For example, CS.MaxParams does not override keyword(), which returns "maxP".

Overrides:
keyword in class DefaultCS
See Also:
CS.parent(), CS.newInstance(), CS.name()

isLeaf2

public boolean isLeaf2()

P

public CS P(int index)
Description copied from class: DefaultCS
WARNING: if add CSs then delete them, they are still in the param[] array and can be returned in this function, despite them being out of valid range: index at least countP().

Overrides:
P in class DefaultCS
Parameters:
index - range 0 (or neg?) to countP()-1 inclusive
See Also:
CS.heap()

setP

public boolean setP(int index,
                    CS value)
warning: does not update CharTreeNode.size or size of the parent (since parent is not known)

Overrides:
setP in class DefaultCS

countP

public int countP()
returns size of the char[] or CharTreeNode[] array, which is often smaller than CharTreeNode.size

Overrides:
countP in class DefaultCS

insertP

public boolean insertP(int index,
                       CS value)
warning: does not update CharTreeNode.size, but size might increase by 1 or many

Overrides:
insertP in class DefaultCS

deleteP

public boolean deleteP(int index)
Description copied from class: DefaultCS
WARNING: if returns false, could have deleted but not moved other params down 1 index.
WARNING: if duplicates not allowed, can not slide params down 1 index the standard way, returns false.

Overrides:
deleteP in class DefaultCS