|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcodesimian.CS<CSGeneric>
codesimian.DefaultCS
codesimian.Loop
public abstract class Loop
Executes a CS a number of times defined by an other CS's value. A loop can only execute 'maxLoops' number of times.
Nested Class Summary | |
---|---|
static class |
Loop.DynamicLoop
the boolean loop condition, or max number of loops, is checked every iteration |
static class |
Loop.ForEach
|
static class |
Loop.StaticLoop
the boolean loop condition, or max number of loops, is checked ONCE when the loop starts |
Field Summary | |
---|---|
static java.lang.Number |
defaultMaxLoops
Each Loop's maxLoops is set to this value at instantiation. Default does not limit loops: new NumberStack.NeverEmpty(Loop.UNLIMITED_LOOPS) |
static int |
UNLIMITED_LOOPS
|
Fields inherited from class codesimian.CS |
---|
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, MYFUEL, NAME, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS |
Constructor Summary | |
---|---|
Loop()
|
Method Summary | |
---|---|
abstract int |
getMaxLoops()
|
abstract boolean |
hasCountingIterationVar()
true if this loop has an iteration var that counts iterations. |
double |
internalCost()
Returns 3 + 2 * average loops per exec |
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()". |
int |
minP()
For DForProxy(). Minimum number of parameters in param[] needed to call DForProxy(). Defines which indexs of param[] DForProxy() can use. Functions with a different number of parameters must override this. OVERRIDE THIS FUNCTION IF EXEC USES A DIFFERENT NUMBER OF PARAMETERS. Default is 1. |
boolean |
paramOrderMatters()
|
abstract void |
setMaxLoops(int i)
|
abstract boolean |
sizeKnownWhenLoopStarts()
true if the number of iterations is known immediately when the loop starts In this java example: for (int i=0; i Its value remains constant after that. |
Methods inherited from class codesimian.DefaultCS |
---|
B, C, countP, decrementMyFuel, deleteP, description, DForProxy, F, fuel, getExec, getObject, heap, I, indexP, indexPName, insertB, insertC, insertD, insertF, insertI, insertJ, insertL, insertL, insertL1, insertP, insertS, insertZ, J, javaCode, LForProxy, LForProxy, myFuel, name, newInstance, objectToCS, objectToCSArray, objectToCSArray, P, prevD, prevL, PType, S, setB, setC, setCountP, setD, setD, setExec, setF, setFuel, setI, setJ, setL, setL, setL, setL1, setMyFuel, setName, setObject, setP, 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 |
---|
public static final int UNLIMITED_LOOPS
public static java.lang.Number defaultMaxLoops
Constructor Detail |
---|
public Loop()
Method Detail |
---|
public abstract boolean sizeKnownWhenLoopStarts()
public abstract boolean hasCountingIterationVar()
public abstract void setMaxLoops(int i)
public abstract int getMaxLoops()
public int minP()
DefaultCS
minP
in class DefaultCS
public boolean paramOrderMatters()
public java.lang.String keyword()
DefaultCS
keyword
in class DefaultCS
CS.parent()
,
CS.newInstance()
,
CS.name()
public double internalCost()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |