codesimian
Class Compile.TokenizeCode
java.lang.Object
codesimian.CS
codesimian.DefaultCS
codesimian.Compile
codesimian.Compile.TokenizeCode
- All Implemented Interfaces:
- CodeSimian, java.io.Serializable
- Enclosing class:
- Compile
public static class Compile.TokenizeCode
- extends Compile
Converts a STRING of CodeSimian code to a list of STRINGs - tokens of code.
Ignores whitespace.
TokenizeCode is the first of 3 steps in the default CodeSimian compiler.
param1 is a STRING of CodeSimian code.
param0 is a list of (STRING) tokens from that code, created by DForProxy().
Example: The TOKENS of:
+#nameOfThisPlus$300(3 nameOfThisPlus 'string lit' 5 )
are these STRINGS...
+, #nameOfThisPlus, $300 (, 3, nameOfThisPlus, 'string lit', and ).
4/06 I'm adding semicolon ; to the syntax.
Any quantity of semicolons may precede # ( or ) and it is one token.
9/06 Strange errors occur when I coded that, so I'll wait to build that
until the first compiler (of codesimian code) made only of codesimian code is created,
and not that simple one:
compilerPipeline( 0 "sound(sine(count))" tokenizeCode(0 0)
tokensToObjects(0 0) parseObjects(0 0) )
- See Also:
- Serialized Form
| Nested classes/interfaces inherited from class codesimian.Compile |
Compile.CompilerPipeline, Compile.LParenSymbol, Compile.MyFuelSymbol, Compile.NameSymbol, Compile.ParseObjects, Compile.ParseObjectsByPriority, Compile.RParenSymbol, Compile.SimpleCompiler, Compile.SmallSymbol, Compile.Symbol, Compile.TokenizeCode, Compile.TokensToObjects, Compile.WhitespaceSymbol |
| Fields inherited from class codesimian.CS |
DESCRIPTION, END, EXECPROXY, FUEL, HEAP, JAVACODE, NEWINSTANCE, NULL, PARENT, PARSEPRIORITY, PREV, TESTER |
|
Method Summary |
double |
cost()
cost() should be changed to return a float, and should be renamed to costToExecute()
cost of EXECUTING this CS, not including any CSs it executes recursively. |
java.lang.String |
description()
a short description of this CS, shorter than the javadoc,
but long enough to tell what the params are for. |
double |
DForProxy()
D() and DForProxy() are the 2 most important functions in CS. |
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()". |
S |
stringOfSemicolonsThenSymbol(int semicolons,
char symbol)
|
| Methods inherited from class codesimian.DefaultCS |
B, C, countP, decrementMyFuel, deleteP, 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, setS, setZ, start, toString, V, Z |
| Methods inherited from class codesimian.CS |
addP, addP, addP, addP, addP, BForProxy, CForProxy, clone, D, deleteP, FForProxy, IForProxy, isIllusion, javaCode, 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, setB, setC, setCost, setDescription, setF, setHeap, setI, setJ, setL, setL, setParent, setParsePriority, setProxyOf, setPType, setS, setTester, setZ, SForProxy, tester, VForProxy, voidReflect, ZForProxy |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Compile.TokenizeCode
public Compile.TokenizeCode()
DForProxy
public double DForProxy()
- Description copied from class:
CS
- D() and DForProxy() are the 2 most important functions in CS.
They execute this CS. All other execute functions, by default,
use DForProxy instead of reinventing-the-wheel for their own type.
For example, J() calls JForProxy() which calls DForProxy(). D() calls DForProxy() directly.
Execute this CS and cast to double.
D() is the main EXECUTE function. D() uses DForProxy().
DForProxy() is the main action of every CS, the most important function.
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
stringOfSemicolonsThenSymbol
public S stringOfSemicolonsThenSymbol(int semicolons,
char symbol)
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()
description
public java.lang.String description()
- Description copied from class:
CS
- a short description of this CS, shorter than the javadoc,
but long enough to tell what the params are for.
Example use: in automatically generated webpages for CodeSimian.
Example: "returns sum of all params" for Add.
- Overrides:
description in class DefaultCS
cost
public double cost()
- Description copied from class:
CS
- cost() should be changed to return a float, and should be renamed to costToExecute()
cost of EXECUTING this CS, not including any CSs it executes recursively. The INTERNAL cost.
One unit of myFuel() costs cost() units of fuel(). Beware of CSs that counterfeit fuel.
Returns 1 by default.
- Overrides:
cost in class Compile