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)