|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcodesimian.CS<CSGeneric>
codesimian.DefaultCS
codesimian.Compile
codesimian.Compile.FirstCompilerThatWorks
public static class Compile.FirstCompilerThatWorks
Contains compilers at index 2 and above.
A compiler is a CS that takes input in index 1 and outputs to index 0.
FirstCompilerThatWorks is a compiler.
This is meant to be a replacement for (or used by) a new TokensToObjects compiler.
For each token, try multiple ways of creating a CS from it.
For example, the first compiler would check if the string is the name of an existing object in the code.
Second compiler would check for literals, like number literal or string literal.
Third compiler would check if CSFactory contains a class with that keyword.
Fourth compiler might check if there is a file in CodeSimian.jar with that name.
Fifth compiler might check if the token is a URL or filename.
Sixth compiler might arbitrarily create a 0 number with that name, to make sure it evaluates to something.
Each compiler must return positive if it compiled correctly, else 0. If 0, try the next compiler instead.
When one of the compilers returns correctly, copy its output to FirstCompilerThatWorks.P(0).
Nested Class Summary |
---|
Field Summary |
---|
Fields inherited from class codesimian.Compile |
---|
LPAREN, MYFUEL, NAME, RPAREN, TEMPORARY_PARAM, WHITESPACE |
Fields inherited from class codesimian.CS |
---|
DESCRIPTION, END, EXECPROXY, HEAP, JAVACODE, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER, THIS |
Constructor Summary | |
---|---|
Compile.FirstCompilerThatWorks()
|
Method Summary | |
---|---|
double |
DForProxy()
Execute this CS and cast to double. |
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 |
maxP()
Maximum quantity of Params |
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. |
Methods inherited from class codesimian.Compile |
---|
cost, javaCompile, javaCompileSelf, javaCompileSelfSaveJar, javaCompileZipBytes |
Methods inherited from class codesimian.DefaultCS |
---|
B, C, countP, decrementMyFuel, deleteP, description, 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, D, deleteP, FForProxy, GETB, GETC, GETD, GETF, GETI, GETJ, GETL, GETS, GETZ, IForProxy, isIllusion, JForProxy, L, L, L, L, L, maxD, 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 |
Constructor Detail |
---|
public Compile.FirstCompilerThatWorks()
Method Detail |
---|
public java.lang.String keyword()
DefaultCS
keyword
in class DefaultCS
CS.parent()
,
CS.newInstance()
,
CS.name()
public int minP()
DefaultCS
minP
in class Compile
public int maxP()
CS
maxP
in class CS
public double DForProxy()
CS
DForProxy
in class DefaultCS
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |