pnuts.lang
Class PnutsInterpreter
java.lang.Object
pnuts.lang.Runtime
pnuts.lang.PnutsInterpreter
- All Implemented Interfaces:
- Executable, Visitor
public class PnutsInterpreter
- extends Runtime
- implements Visitor
The pure interpreter
| 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 |
|
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 |
continueNode(SimpleNode node,
Context context)
|
java.lang.Object |
divideNode(SimpleNode node,
Context context)
|
java.lang.Object |
doStatement(SimpleNode node,
Context context)
|
java.lang.Object |
equalNode(SimpleNode node,
Context context)
|
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)
|
java.lang.Object |
geNode(SimpleNode node,
Context context)
|
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)
|
java.lang.Object |
indexNode(SimpleNode node,
Context context)
|
java.lang.Object |
instanceofExpression(SimpleNode node,
Context context)
|
java.lang.Object |
integerNode(SimpleNode node,
Context context)
|
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.Class |
resolveType(SimpleNode typeNode,
Context context)
|
java.lang.Object |
returnNode(SimpleNode node,
Context context)
|
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)
|
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 pnuts.lang.Runtime |
_callConstructor, _callMethod, add, add, add1, add1, addImport, addStaticMembers, and, and, applyGenerator, arraydim, arrayType, call, call, callConstructor, callFunction, callMethod, cast, catchException, checkException, checkException, compareObjects, compareTo, compareTo, createList, createMap, defineTopLevelFunction, defineUnboundFunction, divide, divide, eq, eq, escape, exec, execute, fileToURL, findCallableMethod, format, format, ge, ge, getArrayLength, getBeanProperty, getBeanProperty, getBeanProperty, getBeanPropertyType, getBeginColumn, getBeginLine, getBottomType, getCompiledScript, getConstructors, getElement, getElementAt, getEndLine, getField, getField, getFunction, getFunction, getFunctions, getMessage, getMethods, getProperty, getRange, getRuntime, getScriptReader, getScriptSource, getScriptURL, getStaticField, getThreadContext, gt, gt, isArray, isGenerator, jump, le, le, loadNode, lt, lt, makeArray, matchType, mod, mod, multiply, multiply, ne, ne, negate, negate, newInstance, not, not, or, or, parseChar, parseFloat, parseInt, parseString, primitive, printError, putField, putStaticField, quantity, replaceChar, run, saveNode, setBeanProperty, setBeanProperty, setBeanProperty, setElement, setExitHook, setLine, setLine, setPackage, setRange, setThreadContext, shiftArithmetic, shiftArithmetic, shiftLeft, shiftLeft, shiftRight, shiftRight, subtract, subtract, subtract1, subtract1, throwException, toBoolean, toEnumeration, transform, transform, unparse, xor, xor |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PnutsInterpreter
public PnutsInterpreter()
start
public java.lang.Object start(SimpleNode node,
Context context)
- Specified by:
start in interface Visitor
startSet
public java.lang.Object startSet(SimpleNode node,
Context context)
- Specified by:
startSet in interface Visitor
expressionList
public java.lang.Object expressionList(SimpleNode node,
Context context)
- Specified by:
expressionList in interface Visitor
global
public java.lang.Object global(SimpleNode node,
Context context)
- Specified by:
global in interface Visitor
idNode
public java.lang.Object idNode(SimpleNode node,
Context context)
- Specified by:
idNode in interface Visitor
className
public java.lang.Object className(SimpleNode node,
Context context)
- Specified by:
className in interface Visitor
arrayType
public java.lang.Object arrayType(SimpleNode node,
Context context)
- Specified by:
arrayType in interface Visitor
_listElements
public java.lang.Object[] _listElements(SimpleNode node,
Context context)
listElements
public java.lang.Object listElements(SimpleNode node,
Context context)
- Specified by:
listElements in interface Visitor
mapNode
public java.lang.Object mapNode(SimpleNode node,
Context context)
- Specified by:
mapNode in interface Visitor
castExpression
public java.lang.Object castExpression(SimpleNode node,
Context context)
- Specified by:
castExpression in interface Visitor
classNode
public java.lang.Object classNode(SimpleNode node,
Context context)
- Specified by:
classNode in interface Visitor
newNode
public java.lang.Object newNode(SimpleNode node,
Context context)
- Specified by:
newNode in interface Visitor
classDef
public java.lang.Object classDef(SimpleNode node,
Context context)
- Specified by:
classDef in interface Visitor
methodDef
public java.lang.Object methodDef(SimpleNode node,
Context context)
- Specified by:
methodDef in interface Visitor
classDefBody
public java.lang.Object classDefBody(SimpleNode node,
Context context)
- Specified by:
classDefBody in interface Visitor
classScript
public java.lang.Object classScript(SimpleNode node,
Context context)
- Specified by:
classScript in interface Visitor
packageNode
public java.lang.Object packageNode(SimpleNode node,
Context context)
- Specified by:
packageNode in interface Visitor
importNode
public java.lang.Object importNode(SimpleNode node,
Context context)
- Specified by:
importNode in interface Visitor
rangeNode
public java.lang.Object rangeNode(SimpleNode node,
Context context)
- Specified by:
rangeNode in interface Visitor
indexNode
public java.lang.Object indexNode(SimpleNode node,
Context context)
- Specified by:
indexNode in interface Visitor
methodNode
public java.lang.Object methodNode(SimpleNode node,
Context context)
- Specified by:
methodNode in interface Visitor
staticMethodNode
public java.lang.Object staticMethodNode(SimpleNode node,
Context context)
- Specified by:
staticMethodNode in interface Visitor
memberNode
public java.lang.Object memberNode(SimpleNode node,
Context context)
- Specified by:
memberNode in interface Visitor
staticMemberNode
public java.lang.Object staticMemberNode(SimpleNode node,
Context context)
- Specified by:
staticMemberNode in interface Visitor
applicationNode
public java.lang.Object applicationNode(SimpleNode node,
Context context)
- Specified by:
applicationNode in interface Visitor
integerNode
public java.lang.Object integerNode(SimpleNode node,
Context context)
- Specified by:
integerNode in interface Visitor
floatingNode
public java.lang.Object floatingNode(SimpleNode node,
Context context)
- Specified by:
floatingNode in interface Visitor
characterNode
public java.lang.Object characterNode(SimpleNode node,
Context context)
- Specified by:
characterNode in interface Visitor
stringNode
public java.lang.Object stringNode(SimpleNode node,
Context context)
- Specified by:
stringNode in interface Visitor
trueNode
public java.lang.Object trueNode(SimpleNode node,
Context context)
- Specified by:
trueNode in interface Visitor
falseNode
public java.lang.Object falseNode(SimpleNode node,
Context context)
- Specified by:
falseNode in interface Visitor
nullNode
public java.lang.Object nullNode(SimpleNode node,
Context context)
- Specified by:
nullNode in interface Visitor
assignment
public java.lang.Object assignment(SimpleNode node,
Context context)
- Specified by:
assignment in interface Visitor
assignmentTA
public java.lang.Object assignmentTA(SimpleNode node,
Context context)
- Specified by:
assignmentTA in interface Visitor
assignmentMA
public java.lang.Object assignmentMA(SimpleNode node,
Context context)
- Specified by:
assignmentMA in interface Visitor
assignmentDA
public java.lang.Object assignmentDA(SimpleNode node,
Context context)
- Specified by:
assignmentDA in interface Visitor
assignmentPA
public java.lang.Object assignmentPA(SimpleNode node,
Context context)
- Specified by:
assignmentPA in interface Visitor
assignmentSA
public java.lang.Object assignmentSA(SimpleNode node,
Context context)
- Specified by:
assignmentSA in interface Visitor
assignmentLA
public java.lang.Object assignmentLA(SimpleNode node,
Context context)
- Specified by:
assignmentLA in interface Visitor
assignmentRA
public java.lang.Object assignmentRA(SimpleNode node,
Context context)
- Specified by:
assignmentRA in interface Visitor
assignmentRAA
public java.lang.Object assignmentRAA(SimpleNode node,
Context context)
- Specified by:
assignmentRAA in interface Visitor
assignmentAA
public java.lang.Object assignmentAA(SimpleNode node,
Context context)
- Specified by:
assignmentAA in interface Visitor
assignmentEA
public java.lang.Object assignmentEA(SimpleNode node,
Context context)
- Specified by:
assignmentEA in interface Visitor
assignmentOA
public java.lang.Object assignmentOA(SimpleNode node,
Context context)
- Specified by:
assignmentOA in interface Visitor
logOrNode
public java.lang.Object logOrNode(SimpleNode node,
Context context)
- Specified by:
logOrNode in interface Visitor
logAndNode
public java.lang.Object logAndNode(SimpleNode node,
Context context)
- Specified by:
logAndNode in interface Visitor
orNode
public java.lang.Object orNode(SimpleNode node,
Context context)
- Specified by:
orNode in interface Visitor
xorNode
public java.lang.Object xorNode(SimpleNode node,
Context context)
- Specified by:
xorNode in interface Visitor
andNode
public java.lang.Object andNode(SimpleNode node,
Context context)
- Specified by:
andNode in interface Visitor
equalNode
public java.lang.Object equalNode(SimpleNode node,
Context context)
- Specified by:
equalNode in interface Visitor
notEqNode
public java.lang.Object notEqNode(SimpleNode node,
Context context)
- Specified by:
notEqNode in interface Visitor
instanceofExpression
public java.lang.Object instanceofExpression(SimpleNode node,
Context context)
- Specified by:
instanceofExpression in interface Visitor
ltNode
public java.lang.Object ltNode(SimpleNode node,
Context context)
- Specified by:
ltNode in interface Visitor
gtNode
public java.lang.Object gtNode(SimpleNode node,
Context context)
- Specified by:
gtNode in interface Visitor
leNode
public java.lang.Object leNode(SimpleNode node,
Context context)
- Specified by:
leNode in interface Visitor
geNode
public java.lang.Object geNode(SimpleNode node,
Context context)
- Specified by:
geNode in interface Visitor
shiftLeftNode
public java.lang.Object shiftLeftNode(SimpleNode node,
Context context)
- Specified by:
shiftLeftNode in interface Visitor
shiftRightNode
public java.lang.Object shiftRightNode(SimpleNode node,
Context context)
- Specified by:
shiftRightNode in interface Visitor
shiftArithmeticNode
public java.lang.Object shiftArithmeticNode(SimpleNode node,
Context context)
- Specified by:
shiftArithmeticNode in interface Visitor
addNode
public java.lang.Object addNode(SimpleNode node,
Context context)
- Specified by:
addNode in interface Visitor
subtractNode
public java.lang.Object subtractNode(SimpleNode node,
Context context)
- Specified by:
subtractNode in interface Visitor
multNode
public java.lang.Object multNode(SimpleNode node,
Context context)
- Specified by:
multNode in interface Visitor
divideNode
public java.lang.Object divideNode(SimpleNode node,
Context context)
- Specified by:
divideNode in interface Visitor
modNode
public java.lang.Object modNode(SimpleNode node,
Context context)
- Specified by:
modNode in interface Visitor
negativeNode
public java.lang.Object negativeNode(SimpleNode node,
Context context)
- Specified by:
negativeNode in interface Visitor
preIncrNode
public java.lang.Object preIncrNode(SimpleNode node,
Context context)
- Specified by:
preIncrNode in interface Visitor
preDecrNode
public java.lang.Object preDecrNode(SimpleNode node,
Context context)
- Specified by:
preDecrNode in interface Visitor
postIncrNode
public java.lang.Object postIncrNode(SimpleNode node,
Context context)
- Specified by:
postIncrNode in interface Visitor
postDecrNode
public java.lang.Object postDecrNode(SimpleNode node,
Context context)
- Specified by:
postDecrNode in interface Visitor
notNode
public java.lang.Object notNode(SimpleNode node,
Context context)
- Specified by:
notNode in interface Visitor
logNotNode
public java.lang.Object logNotNode(SimpleNode node,
Context context)
- Specified by:
logNotNode in interface Visitor
continueNode
public java.lang.Object continueNode(SimpleNode node,
Context context)
- Specified by:
continueNode in interface Visitor
breakNode
public java.lang.Object breakNode(SimpleNode node,
Context context)
- Specified by:
breakNode in interface Visitor
returnNode
public java.lang.Object returnNode(SimpleNode node,
Context context)
- Specified by:
returnNode in interface Visitor
yieldNode
public java.lang.Object yieldNode(SimpleNode node,
Context context)
- Specified by:
yieldNode in interface Visitor
catchNode
public java.lang.Object catchNode(SimpleNode node,
Context context)
- Specified by:
catchNode in interface Visitor
throwNode
public java.lang.Object throwNode(SimpleNode node,
Context context)
- Specified by:
throwNode in interface Visitor
finallyNode
public java.lang.Object finallyNode(SimpleNode node,
Context context)
- Specified by:
finallyNode in interface Visitor
tryStatement
public java.lang.Object tryStatement(SimpleNode node,
Context context)
- Specified by:
tryStatement in interface Visitor
catchBlock
public java.lang.Object catchBlock(SimpleNode node,
Context context)
- Specified by:
catchBlock in interface Visitor
blockNode
public java.lang.Object blockNode(SimpleNode node,
Context context)
- Specified by:
blockNode in interface Visitor
ifStatement
public java.lang.Object ifStatement(SimpleNode node,
Context context)
- Specified by:
ifStatement in interface Visitor
doStatement
public java.lang.Object doStatement(SimpleNode node,
Context context)
- Specified by:
doStatement in interface Visitor
whileStatement
public java.lang.Object whileStatement(SimpleNode node,
Context context)
- Specified by:
whileStatement in interface Visitor
forStatement
public java.lang.Object forStatement(SimpleNode node,
Context context)
- Specified by:
forStatement in interface Visitor
foreachStatement
public java.lang.Object foreachStatement(SimpleNode node,
Context context)
- Specified by:
foreachStatement in interface Visitor
switchStatement
public java.lang.Object switchStatement(SimpleNode node,
Context context)
- Specified by:
switchStatement in interface Visitor
switchBlock
public java.lang.Object switchBlock(SimpleNode node,
Context context)
- Specified by:
switchBlock in interface Visitor
functionStatement
public java.lang.Object functionStatement(SimpleNode node,
Context context)
- Specified by:
functionStatement in interface Visitor
ternary
public java.lang.Object ternary(SimpleNode node,
Context context)
- Specified by:
ternary in interface Visitor
accept
protected java.lang.Object accept(SimpleNode node,
int idx,
Context context)
resolveType
public java.lang.Class resolveType(SimpleNode typeNode,
Context context)