#include <skInterpreterp.h>
Public Methods | |
P_Interpreter () | |
~P_Interpreter () | |
skRValue | evaluate (skiExecutable * obj,skRValueTable& var,skExprNode * n) |
skRValue | evalMethod (skiExecutable * obj,skRValueTable& var,skIdListNode * ids) |
void | makeMethodCall (skiExecutable * obj,skRValueTable& var,skRValue& robject,const skString& method_name,skExprNode * array_index, const skString& attribute,skExprListNode * exprs,skRValue& ret) |
void | executeAssignStat (skiExecutable * obj,skRValueTable& var,skAssignNode * n) |
bool | executeStat (skiExecutable * obj,skRValueTable& var,skStatNode * pstat,skRValue& r) |
bool | executeStats (skiExecutable * obj,skRValueTable& var,skStatListNode * n,skRValue& r) |
bool | executeReturnStat (skiExecutable * obj,skRValueTable& var,skReturnNode * n,skRValue& r) |
bool | executeIfStat (skiExecutable * obj,skRValueTable& var,skIfNode * n,skRValue& r) |
bool | executeWhileStat (skiExecutable * obj,skRValueTable& var,skWhileNode * n,skRValue& r) |
bool | executeSwitchStat (skiExecutable * obj,skRValueTable& var,skSwitchNode * n,skRValue& r) |
bool | executeForEachStat (skiExecutable * obj,skRValueTable& var,skForEachNode * n,skRValue& r) |
bool | executeForStat (skiExecutable * obj,skRValueTable& var,skForNode * n,skRValue& r) |
void | addLocalVariable (skRValueTable& var,const skString& name,skRValue value) |
skString | checkIndirectId (skiExecutable * obj,skRValueTable& var,const skString& name) |
skRValue | findValue (skiExecutable * obj,skRValueTable& var,const skString& name,skExprNode * array_index,const skString& attribute) |
void | runtimeError (const skString& s) |
void | followIdList (skiExecutable * obj,skRValueTable& var,skIdListNode * idList,skRValue& object) |
void | trace (const skString& s) |
bool | extractFieldArrayValue (skiExecutable * obj,skRValueTable& var,skRValue& robject,const skString& field_name,skExprNode * array_index,const skString& attrib,skRValue& ret) |
bool | extractArrayValue (skiExecutable * obj,skRValueTable& var,skRValue& robject,skExprNode * array_index,const skString& attrib,skRValue& ret) |
bool | extractValue (skRValue& robject,const skString& name,const skString& attrib,skRValue& ret) |
bool | insertArrayValue (skiExecutable * obj,skRValueTable& var,skRValue& robject, skExprNode * array_index,const skString& attr,const skRValue& value) |
bool | insertValue (skRValue& robject,const skString& name, const skString& attr,const skRValue& value) |
P_Interpreter () | |
~P_Interpreter () | |
skRValue | evaluate (skExecutable * obj,skRValueTable& var,skExprNode * n) |
skRValue | evalMethod (skExecutable * obj,skRValueTable& var,skIdListNode * ids) |
void | makeMethodCall (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& method_name,skExprNode * array_index, skExprListNode * exprs,skRValue& ret) |
void | executeAssignStat (skExecutable * obj,skRValueTable& var,skAssignNode * n) |
bool | executeStat (skExecutable * obj,skRValueTable& var,skStatNode * pstat,skRValue& r) |
bool | executeStats (skExecutable * obj,skRValueTable& var,skStatListNode * n,skRValue& r) |
bool | executeReturnStat (skExecutable * obj,skRValueTable& var,skReturnNode * n,skRValue& r) |
bool | executeIfStat (skExecutable * obj,skRValueTable& var,skIfNode * n,skRValue& r) |
bool | executeWhileStat (skExecutable * obj,skRValueTable& var,skWhileNode * n,skRValue& r) |
bool | executeSwitchStat (skExecutable * obj,skRValueTable& var,skSwitchNode * n,skRValue& r) |
void | addLocalVariable (skRValueTable& var,const skString& name,skRValue value) |
skString | checkIndirectId (skExecutable * obj,skRValueTable& var,const skString& name) |
skRValue | findValue (skExecutable * obj,skRValueTable& var,const skString& name,skExprNode * array_index,const skString& attribute) |
void | runtimeError (const char * buffer,...) |
void | followIdList (skExecutable * obj,skRValueTable& var,skIdListNode * idList,skRValue& object) |
bool | extractValue (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& name,skExprNode * array_index,const skString& attrib,skRValue& ret) |
bool | insertValue (skExecutable * obj,skRValueTable& var,skRValue& robject,const skString& name, skExprNode * array_index,const skString& attr,const skRValue& value) |
int | lex (YYSTYPE* yylval) |
int | nextChar () |
void | putbackchar (int i) |
bool | eof () |
void | cleanupTempNodes () |
Public Attributes | |
skRValueTable | m_GlobalVars |
unsigned int | m_StackDepth |
bool | m_Tracing |
skTraceCallback* | m_TraceCallback |
skStatementStepper* | m_StatementStepper |
skString | m_Location |
int | m_LineNum |
char | m_LexBuffer [MAXYYTEXT] |
skString | m_InputBuffer |
int | m_PutBack |
unsigned int | m_Pos |
skRValueTable | m_LocalVars [MAX_LOCAL_VARS_CACHE] |
Static Public Attributes | |
THREAD skInterpreter* | g_GlobalInterpreter |
THREAD skInterpreter* | g_Interpreter |