|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectpnuts.lang.Runtime
pnuts.compiler.Compiler
public class Compiler
Pnuts to JVM bytecode compiler
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class pnuts.lang.Runtime |
|---|
Runtime.Accessor, Runtime.Break, Runtime.Continue, Runtime.FunctionSerializer, Runtime.TypeMap |
| Field Summary |
|---|
| Fields inherited from class pnuts.lang.Runtime |
|---|
BOOLEAN_SYMBOL, BYTE_SYMBOL, CHAR_SYMBOL, CLONE, DOUBLE_SYMBOL, EXCEPTOIN_FIELD_SYMBOL, FLOAT_SYMBOL, INT_SYMBOL, LONG_SYMBOL, SHORT_SYMBOL, VOID_SYMBOL |
| Constructor Summary | |
|---|---|
Compiler()
|
|
Compiler(java.lang.String className)
|
|
Compiler(java.lang.String className,
boolean automatic)
|
|
Compiler(java.lang.String className,
boolean automatic,
boolean useDynamicProxy)
|
|
| Method Summary | |
|---|---|
java.lang.Object |
_listElements(SimpleNode node,
Context context)
|
protected java.lang.Object |
accept(SimpleNode node,
int idx,
Context context)
|
java.lang.Object |
addNode(SimpleNode node,
Context context)
|
java.lang.Object |
andNode(SimpleNode node,
Context context)
|
java.lang.Object |
applicationNode(SimpleNode node,
Context context)
|
java.lang.Object |
arrayType(SimpleNode node,
Context context)
|
java.lang.Object |
assignment(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentAA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentDA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentEA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentLA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentMA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentOA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentPA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentRA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentRAA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentSA(SimpleNode node,
Context context)
|
java.lang.Object |
assignmentTA(SimpleNode node,
Context context)
|
java.lang.Object |
blockNode(SimpleNode node,
Context context)
|
java.lang.Object |
breakNode(SimpleNode node,
Context context)
|
java.lang.Object |
castExpression(SimpleNode node,
Context context)
|
java.lang.Object |
catchBlock(SimpleNode node,
Context context)
|
java.lang.Object |
catchNode(SimpleNode node,
Context context)
|
java.lang.Object |
characterNode(SimpleNode node,
Context context)
|
java.lang.Object |
classDef(SimpleNode node,
Context context)
|
java.lang.Object |
classDefBody(SimpleNode node,
Context context)
|
java.lang.Object |
className(SimpleNode node,
Context context)
|
java.lang.Object |
classNode(SimpleNode node,
Context context)
|
java.lang.Object |
classScript(SimpleNode node,
Context context)
|
java.lang.Object |
compile(Pnuts pnuts,
ClassFileHandler handler)
Compile a parsed expression. |
Pnuts |
compile(Pnuts pnuts,
Context context)
Compile a parsed expression. |
PnutsFunction |
compile(PnutsFunction pf)
Compile a function group |
java.lang.Object |
compile(PnutsFunction pf,
ClassFileHandler handler)
Compile a function group. |
PnutsFunction |
compile(PnutsFunction pf,
Context context)
Compile a function group |
Pnuts |
compile(java.lang.String expression)
Compile an expression. |
Pnuts |
compile(java.lang.String expression,
Context context)
Compile an expression. |
java.lang.Object |
compileClassScript(java.io.Reader reader,
java.lang.Object scriptSource,
ClassFileHandler handler)
|
ClassFile |
compileClassScript(SimpleNode classScriptNode,
java.lang.Object scriptSource,
java.util.List helperClassFiles)
|
java.lang.Object |
continueNode(SimpleNode node,
Context context)
|
static pnuts.compiler.CodeLoader |
createCodeLoader(java.lang.ClassLoader loader)
|
static java.lang.Class |
defineClass(SimpleNode node,
Context context,
Package pkg)
|
static java.lang.Class |
defineClass(java.lang.String encodedNode,
Context context,
Package pkg)
|
java.lang.Object |
divideNode(SimpleNode node,
Context context)
|
java.lang.Object |
doStatement(SimpleNode node,
Context context)
|
java.lang.Object |
equalNode(SimpleNode node,
Context context)
|
protected java.lang.Object |
execute(pnuts.compiler.CompileContext cc,
Context context,
boolean catchJump)
|
java.lang.Object |
expressionList(SimpleNode node,
Context context)
|
java.lang.Object |
falseNode(SimpleNode node,
Context context)
|
java.lang.Object |
finallyNode(SimpleNode node,
Context context)
|
java.lang.Object |
floatingNode(SimpleNode node,
Context context)
|
java.lang.Object |
foreachStatement(SimpleNode node,
Context context)
|
java.lang.Object |
forStatement(SimpleNode node,
Context context)
|
java.lang.Object |
functionStatement(SimpleNode node,
Context context)
|
static void |
generateGetter(ClassFile cf,
java.lang.String name,
java.lang.Class type,
java.lang.String methodName)
|
static void |
generateSetter(ClassFile cf,
java.lang.String name,
java.lang.Class type,
java.lang.String methodName)
|
java.lang.Object |
geNode(SimpleNode node,
Context context)
|
static SimpleNode |
getClassDefNode(java.lang.String className,
boolean isInterface,
SimpleNode typeNode,
SimpleNode classDefBody)
Convert 'new type(){...}' to 'class name extends type {...}' |
static org.pnuts.lang.Signature |
getterSignature(java.lang.Class type,
java.lang.String name)
|
java.lang.Object |
global(SimpleNode node,
Context context)
|
java.lang.Object |
gtNode(SimpleNode node,
Context context)
|
java.lang.Object |
idNode(SimpleNode node,
Context context)
|
java.lang.Object |
ifStatement(SimpleNode node,
Context context)
|
java.lang.Object |
importNode(SimpleNode node,
Context context)
|
void |
includeColumnNo(boolean flag)
|
void |
includeLineNo(boolean flag)
|
void |
includeMainMethod(boolean flag)
|
java.lang.Object |
indexNode(SimpleNode node,
Context context)
|
java.lang.Object |
instanceofExpression(SimpleNode node,
Context context)
|
java.lang.Object |
integerNode(SimpleNode node,
Context context)
|
static boolean |
isCompiled(java.lang.Object obj)
Check if an object is compiled |
java.lang.Object |
leNode(SimpleNode node,
Context context)
|
java.lang.Object |
listElements(SimpleNode node,
Context context)
|
java.lang.Object |
logAndNode(SimpleNode node,
Context context)
|
java.lang.Object |
logNotNode(SimpleNode node,
Context context)
|
java.lang.Object |
logOrNode(SimpleNode node,
Context context)
|
java.lang.Object |
ltNode(SimpleNode node,
Context context)
|
java.lang.Object |
mapNode(SimpleNode node,
Context context)
|
java.lang.Object |
memberNode(SimpleNode node,
Context context)
|
java.lang.Object |
methodDef(SimpleNode node,
Context context)
|
java.lang.Object |
methodNode(SimpleNode node,
Context context)
|
java.lang.Object |
modNode(SimpleNode node,
Context context)
|
java.lang.Object |
multNode(SimpleNode node,
Context context)
|
java.lang.Object |
negativeNode(SimpleNode node,
Context context)
|
java.lang.Object |
newNode(SimpleNode node,
Context context)
|
java.lang.Object |
notEqNode(SimpleNode node,
Context context)
|
java.lang.Object |
notNode(SimpleNode node,
Context context)
|
java.lang.Object |
nullNode(SimpleNode node,
Context context)
|
java.lang.Object |
orNode(SimpleNode node,
Context context)
|
java.lang.Object |
packageNode(SimpleNode node,
Context context)
|
java.lang.Object |
postDecrNode(SimpleNode node,
Context context)
|
java.lang.Object |
postIncrNode(SimpleNode node,
Context context)
|
java.lang.Object |
preDecrNode(SimpleNode node,
Context context)
|
java.lang.Object |
preIncrNode(SimpleNode node,
Context context)
|
java.lang.Object |
rangeNode(SimpleNode node,
Context context)
|
java.lang.Object |
returnNode(SimpleNode node,
Context context)
|
void |
setConstantFolding(boolean flag)
|
static org.pnuts.lang.Signature |
setterSignature(java.lang.Class type,
java.lang.String name)
|
void |
setTraceMode(boolean mode)
|
java.lang.Object |
shiftArithmeticNode(SimpleNode node,
Context context)
|
java.lang.Object |
shiftLeftNode(SimpleNode node,
Context context)
|
java.lang.Object |
shiftRightNode(SimpleNode node,
Context context)
|
java.lang.Object |
start(SimpleNode node,
Context context)
|
java.lang.Object |
startSet(SimpleNode node,
Context context)
|
java.lang.Object |
staticMemberNode(SimpleNode node,
Context context)
|
java.lang.Object |
staticMethodNode(SimpleNode node,
Context context)
|
java.lang.Object |
stringNode(SimpleNode node,
Context context)
|
java.lang.Object |
subtractNode(SimpleNode node,
Context context)
|
java.lang.Object |
switchBlock(SimpleNode node,
Context context)
|
java.lang.Object |
switchStatement(SimpleNode node,
Context context)
|
java.lang.Object |
ternary(SimpleNode node,
Context context)
|
java.lang.Object |
throwNode(SimpleNode node,
Context context)
|
java.lang.Object |
trueNode(SimpleNode node,
Context context)
|
java.lang.Object |
tryStatement(SimpleNode node,
Context context)
|
void |
useDynamicProxy(boolean flag)
|
java.lang.Object |
whileStatement(SimpleNode node,
Context context)
|
java.lang.Object |
xorNode(SimpleNode node,
Context context)
|
java.lang.Object |
yieldNode(SimpleNode node,
Context context)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Compiler()
public Compiler(java.lang.String className)
public Compiler(java.lang.String className,
boolean automatic)
public Compiler(java.lang.String className,
boolean automatic,
boolean useDynamicProxy)
| Method Detail |
|---|
public void includeLineNo(boolean flag)
public void includeColumnNo(boolean flag)
public void setConstantFolding(boolean flag)
public void includeMainMethod(boolean flag)
public void setTraceMode(boolean mode)
public void useDynamicProxy(boolean flag)
protected java.lang.Object execute(pnuts.compiler.CompileContext cc,
Context context,
boolean catchJump)
public java.lang.Object startSet(SimpleNode node,
Context context)
startSet in interface Visitor
public java.lang.Object start(SimpleNode node,
Context context)
start in interface Visitor
public java.lang.Object expressionList(SimpleNode node,
Context context)
expressionList in interface Visitor
public java.lang.Object integerNode(SimpleNode node,
Context context)
integerNode in interface Visitor
public java.lang.Object floatingNode(SimpleNode node,
Context context)
floatingNode in interface Visitor
public java.lang.Object stringNode(SimpleNode node,
Context context)
stringNode in interface Visitor
public java.lang.Object characterNode(SimpleNode node,
Context context)
characterNode in interface Visitor
public java.lang.Object classNode(SimpleNode node,
Context context)
classNode in interface Visitor
public static SimpleNode getClassDefNode(java.lang.String className,
boolean isInterface,
SimpleNode typeNode,
SimpleNode classDefBody)
public java.lang.Object newNode(SimpleNode node,
Context context)
newNode in interface Visitor
public java.lang.Object classDef(SimpleNode node,
Context context)
classDef in interface Visitor
public static java.lang.Class defineClass(java.lang.String encodedNode,
Context context,
Package pkg)
public static java.lang.Class defineClass(SimpleNode node,
Context context,
Package pkg)
public java.lang.Object methodDef(SimpleNode node,
Context context)
methodDef in interface Visitor
public java.lang.Object classDefBody(SimpleNode node,
Context context)
classDefBody in interface Visitor
public static void generateGetter(ClassFile cf,
java.lang.String name,
java.lang.Class type,
java.lang.String methodName)
public static void generateSetter(ClassFile cf,
java.lang.String name,
java.lang.Class type,
java.lang.String methodName)
public static org.pnuts.lang.Signature getterSignature(java.lang.Class type,
java.lang.String name)
public static org.pnuts.lang.Signature setterSignature(java.lang.Class type,
java.lang.String name)
public java.lang.Object classScript(SimpleNode node,
Context context)
classScript in interface Visitor
public java.lang.Object packageNode(SimpleNode node,
Context context)
packageNode in interface Visitor
public java.lang.Object importNode(SimpleNode node,
Context context)
importNode in interface Visitor
public java.lang.Object logAndNode(SimpleNode node,
Context context)
logAndNode in interface Visitor
public java.lang.Object logOrNode(SimpleNode node,
Context context)
logOrNode in interface Visitor
public java.lang.Object logNotNode(SimpleNode node,
Context context)
logNotNode in interface Visitor
public java.lang.Object shiftLeftNode(SimpleNode node,
Context context)
shiftLeftNode in interface Visitor
public java.lang.Object shiftRightNode(SimpleNode node,
Context context)
shiftRightNode in interface Visitor
public java.lang.Object shiftArithmeticNode(SimpleNode node,
Context context)
shiftArithmeticNode in interface Visitor
public java.lang.Object addNode(SimpleNode node,
Context context)
addNode in interface Visitor
public java.lang.Object subtractNode(SimpleNode node,
Context context)
subtractNode in interface Visitor
public java.lang.Object multNode(SimpleNode node,
Context context)
multNode in interface Visitor
public java.lang.Object divideNode(SimpleNode node,
Context context)
divideNode in interface Visitor
public java.lang.Object modNode(SimpleNode node,
Context context)
modNode in interface Visitor
public java.lang.Object xorNode(SimpleNode node,
Context context)
xorNode in interface Visitor
public java.lang.Object orNode(SimpleNode node,
Context context)
orNode in interface Visitor
public java.lang.Object andNode(SimpleNode node,
Context context)
andNode in interface Visitor
public java.lang.Object negativeNode(SimpleNode node,
Context context)
negativeNode in interface Visitor
public java.lang.Object notNode(SimpleNode node,
Context context)
notNode in interface Visitor
public java.lang.Object ltNode(SimpleNode node,
Context context)
ltNode in interface Visitor
public java.lang.Object leNode(SimpleNode node,
Context context)
leNode in interface Visitor
public java.lang.Object gtNode(SimpleNode node,
Context context)
gtNode in interface Visitor
public java.lang.Object geNode(SimpleNode node,
Context context)
geNode in interface Visitor
public java.lang.Object equalNode(SimpleNode node,
Context context)
equalNode in interface Visitor
public java.lang.Object notEqNode(SimpleNode node,
Context context)
notEqNode in interface Visitor
public java.lang.Object ifStatement(SimpleNode node,
Context context)
ifStatement in interface Visitor
public java.lang.Object functionStatement(SimpleNode node,
Context context)
functionStatement in interface Visitor
public java.lang.Object applicationNode(SimpleNode node,
Context context)
applicationNode in interface Visitor
public java.lang.Object tryStatement(SimpleNode node,
Context context)
tryStatement in interface Visitor
public java.lang.Object catchBlock(SimpleNode node,
Context context)
catchBlock in interface Visitor
public java.lang.Object blockNode(SimpleNode node,
Context context)
blockNode in interface Visitor
public java.lang.Object trueNode(SimpleNode node,
Context context)
trueNode in interface Visitor
public java.lang.Object falseNode(SimpleNode node,
Context context)