| CTPP2Compiler.hpp | | CTPP2Compiler.hpp | |
| | | | |
| skipping to change at line 134 | | skipping to change at line 134 | |
| @param iScopeNameLength - Length of ARRAY name | | @param iScopeNameLength - Length of ARRAY name | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 ChangeScope(CCHAR_P szScopeName, | | INT_32 ChangeScope(CCHAR_P szScopeName, | |
| const UINT_32 iScopeNameLength, | | const UINT_32 iScopeNameLength, | |
| const VMDebugInfo & oDebugInfo = VMDebugInfo()); | | const VMDebugInfo & oDebugInfo = VMDebugInfo()); | |
| | | | |
| /** | | /** | |
| @brief Change visibility scope of CDT data (for ARRAY iterating) | | @brief Change visibility scope of CDT data (for ARRAY iterating) | |
|
| @param szNS - namespace | | | |
| @param iNSLength - namespace length | | | |
| @param szName - variable name (everything after namespace) | | | |
| @param iNameLength - variable name length | | | |
| @param szFullVariable - full variable name (ns + name) | | @param szFullVariable - full variable name (ns + name) | |
| @param iFullVariableLength - full variable name length | | @param iFullVariableLength - full variable name length | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
|
| INT_32 ChangeForeachScope(CCHAR_P szNS, | | INT_32 ChangeForeachScope(CCHAR_P szFullVariable, | |
| const UINT_32 iNSLength, | | | |
| CCHAR_P szName, | | | |
| const UINT_32 iNameLength, | | | |
| CCHAR_P szFullVariable, | | | |
| const UINT_32 iFullVariableLength, | | const UINT_32 iFullVariableLength, | |
| const VMDebugInfo & oDebugInfo); | | const VMDebugInfo & oDebugInfo); | |
| | | | |
| /** | | /** | |
| @brief Change visibility scope of CDT data (for ARRAY-of-ARRAYS it
erating) | | @brief Change visibility scope of CDT data (for ARRAY-of-ARRAYS it
erating) | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 ChangeContextScope(const VMDebugInfo & oDebugInfo); | | INT_32 ChangeContextScope(const VMDebugInfo & oDebugInfo); | |
| | | | |
| | | | |
| skipping to change at line 287 | | skipping to change at line 279 | |
| @brief Check existence of AR register variable | | @brief Check existence of AR register variable | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 ExistARReg(const VMDebugInfo & oDebugInfo = VMDebugInfo()); | | INT_32 ExistARReg(const VMDebugInfo & oDebugInfo = VMDebugInfo()); | |
| | | | |
| /** | | /** | |
| @brief Call block by name | | @brief Call block by name | |
| @param sBlockName - block name | | @param sBlockName - block name | |
| @param bIsVariable - is true if block name is variable, not plain
text | | @param bIsVariable - is true if block name is variable, not plain
text | |
|
| | | @param iArgCount - number of arguments | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 CallBlock(const STLW::string & sBlockName, | | INT_32 CallBlock(const STLW::string & sBlockName, | |
| const bool & bIsVariable, | | const bool & bIsVariable, | |
|
| | | const UINT_32 iArgCount, | |
| const VMDebugInfo & oDebugInfo = VMDebugInfo()); | | const VMDebugInfo & oDebugInfo = VMDebugInfo()); | |
| | | | |
| /** | | /** | |
| @brief Call block by __CONTENT__ variable | | @brief Call block by __CONTENT__ variable | |
|
| | | @param iArgCount - number of arguments | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
|
| INT_32 CallContextBlock(const VMDebugInfo & oDebugInfo = VMDebugInfo
()); | | INT_32 CallContextBlock(const UINT_32 iArgCount, const VMDebugInfo &
oDebugInfo = VMDebugInfo()); | |
| | | | |
| /** | | /** | |
| @brief Start of block | | @brief Start of block | |
| @param sBlockName - block name | | @param sBlockName - block name | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 StartBlock(const STLW::string & sBlockName, | | INT_32 StartBlock(const STLW::string & sBlockName, | |
| const VMDebugInfo & oDebugInfo = VMDebugInfo()); | | const VMDebugInfo & oDebugInfo = VMDebugInfo()); | |
| | | | |
| /** | | /** | |
| @brief End of block | | @brief End of block | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 EndBlock(const UINT_32 iDepth, const VMDebugInfo & oDebugInfo
= VMDebugInfo()); | | INT_32 EndBlock(const UINT_32 iDepth, const VMDebugInfo & oDebugInfo
= VMDebugInfo()); | |
| | | | |
| /** | | /** | |
| @brief Prepare call block | | @brief Prepare call block | |
|
| @param iArgCount - number of arguments | | | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
|
| @return instruction pointer if success, -1 if any error occured | | | |
| */ | | */ | |
|
| INT_32 PrepareCallBlock(const UINT_32 iArgCount, const VMDebugInfo &
oDebugInfo = VMDebugInfo()); | | void PrepareCallBlock(const VMDebugInfo & oDebugInfo = VMDebugInfo()
); | |
| | | | |
| // /////////////////////////////////////////////////////////////////
/////////////// | | // /////////////////////////////////////////////////////////////////
/////////////// | |
| | | | |
| /** | | /** | |
| @brief Get system call by id | | @brief Get system call by id | |
| @param szSyscallName - syscall name | | @param szSyscallName - syscall name | |
| @param iSyscallNameLength - Length of syscall name | | @param iSyscallNameLength - Length of syscall name | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 GetSyscallId(CCHAR_P szSyscallName, | | INT_32 GetSyscallId(CCHAR_P szSyscallName, | |
| | | | |
| skipping to change at line 436 | | skipping to change at line 429 | |
| @param sNS - namespace | | @param sNS - namespace | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return Variable scope Id | | @return Variable scope Id | |
| */ | | */ | |
| INT_32 StoreScopedVariable(CCHAR_P szNS, | | INT_32 StoreScopedVariable(CCHAR_P szNS, | |
| const UINT_32 iNSLength, | | const UINT_32 iNSLength, | |
| const VMDebugInfo & oDebugInfo); | | const VMDebugInfo & oDebugInfo); | |
| | | | |
| /** | | /** | |
| @brief Push variable into stack | | @brief Push variable into stack | |
|
| @param szNS - namespace | | | |
| @param iNSLength - namespace length | | | |
| @param szVariableName - variable name | | @param szVariableName - variable name | |
| @param iVariableNameLength - variable name length | | @param iVariableNameLength - variable name length | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @param bNoPushVariable - don't push variable, but return 0 | | @param bNoPushVariable - don't push variable, but return 0 | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
|
| INT_32 PushScopedVariable(CCHAR_P szNS, | | INT_32 PushScopedVariable(CCHAR_P szName, | |
| const UINT_32 iNSLength, | | | |
| CCHAR_P szName, | | | |
| const UINT_32 iNameLength, | | const UINT_32 iNameLength, | |
| CCHAR_P szFullVariable, | | CCHAR_P szFullVariable, | |
| const UINT_32 iFullVariableLength, | | const UINT_32 iFullVariableLength, | |
| const VMDebugInfo & oDebugInfo, | | const VMDebugInfo & oDebugInfo, | |
| bool bNoPushVariable); | | bool bNoPushVariable); | |
| | | | |
| /** | | /** | |
| @brief Push variable on stack into stack | | @brief Push variable on stack into stack | |
| @param iStackPos - stack position | | @param iStackPos - stack position | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 PushStackVariable(const INT_32 iStackPos, | | INT_32 PushStackVariable(const INT_32 iStackPos, | |
| const VMDebugInfo & oDebugInfo = VMDebugIn
fo()); | | const VMDebugInfo & oDebugInfo = VMDebugIn
fo()); | |
| | | | |
| /** | | /** | |
|
| @brief Indirect hash call | | @brief Indirect call | |
| @param oDebugInfo - debug information object | | | |
| @return instruction pointer if success, -1 if any error occured | | | |
| */ | | | |
| INT_32 IndirectHashCall(const VMDebugInfo & oDebugInfo); | | | |
| | | | |
| /** | | | |
| @brief Indirect array call | | | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
|
| INT_32 IndirectArrayCall(const VMDebugInfo & oDebugInfo); | | INT_32 IndirectCall(const VMDebugInfo & oDebugInfo); | |
| | | | |
| /** | | /** | |
| @brief Unconditional jump | | @brief Unconditional jump | |
| @param iIP - new instruction pointer | | @param iIP - new instruction pointer | |
| @param oDebugInfo - debug information object | | @param oDebugInfo - debug information object | |
| @return instruction pointer if success, -1 if any error occured | | @return instruction pointer if success, -1 if any error occured | |
| */ | | */ | |
| INT_32 UncondJump(const UINT_32 iIP, | | INT_32 UncondJump(const UINT_32 iIP, | |
| const VMDebugInfo & oDebugInfo = VMDebugInfo()); | | const VMDebugInfo & oDebugInfo = VMDebugInfo()); | |
| /** | | /** | |
| | | | |
End of changes. 13 change blocks. |
| 27 lines changed or deleted | | 9 lines changed or added | |
|
| CTPP2Parser.hpp | | CTPP2Parser.hpp | |
| | | | |
| skipping to change at line 306 | | skipping to change at line 306 | |
| @param sFuncEnd - end of function name | | @param sFuncEnd - end of function name | |
| @param iFunctionParams - number of function parameters | | @param iFunctionParams - number of function parameters | |
| @return NULL if sequence not found or pointer to end of sequence | | @return NULL if sequence not found or pointer to end of sequence | |
| */ | | */ | |
| CCharIterator IsFunc(CCharIterator szData, CCharIterator szEnd, CCha
rIterator & sFuncEnd, UINT_32 & iFunctionParams); | | CCharIterator IsFunc(CCharIterator szData, CCharIterator szEnd, CCha
rIterator & sFuncEnd, UINT_32 & iFunctionParams); | |
| | | | |
| /** | | /** | |
| @brief CTPP2 function a-zA-Z_[a-zA-Z0-9_] | | @brief CTPP2 function a-zA-Z_[a-zA-Z0-9_] | |
| @param szData - current stream position | | @param szData - current stream position | |
| @param szEnd - end of stream position | | @param szEnd - end of stream position | |
|
| @param szNS - namespace, if present | | | |
| @return NULL if sequence not found or pointer to end of sequence | | @return NULL if sequence not found or pointer to end of sequence | |
| */ | | */ | |
| CCharIterator IsFuncName(CCharIterator szData, CCharIterator szEnd); | | CCharIterator IsFuncName(CCharIterator szData, CCharIterator szEnd); | |
| | | | |
| /** | | /** | |
| @brief CTPP2 iterator [a-zA-Z_][a-zA-Z0-9_] | | @brief CTPP2 iterator [a-zA-Z_][a-zA-Z0-9_] | |
| @param szData - current stream position | | @param szData - current stream position | |
| @param szEnd - end of stream position | | @param szEnd - end of stream position | |
| @return NULL if sequence not found or pointer to end of sequence | | @return NULL if sequence not found or pointer to end of sequence | |
| */ | | */ | |
| CCharIterator IsIterator(CCharIterator szData, CCharIterator szEnd); | | CCharIterator IsIterator(CCharIterator szData, CCharIterator szEnd); | |
| | | | |
| /** | | /** | |
| @brief CTPP2 variable a-zA-Z_[a-zA-Z0-9_|.|:] | | @brief CTPP2 variable a-zA-Z_[a-zA-Z0-9_|.|:] | |
| @param szData - current stream position | | @param szData - current stream position | |
| @param szEnd - end of stream position | | @param szEnd - end of stream position | |
|
| @param szNS - namespace, if present | | | |
| @return NULL if sequence not found or pointer to end of sequence | | @return NULL if sequence not found or pointer to end of sequence | |
| */ | | */ | |
|
| CCharIterator IsVar(CCharIterator szData, CCharIterator szEnd, CChar
Iterator & szNS); | | CCharIterator IsVar(CCharIterator szData, CCharIterator szEnd); | |
| | | | |
| /** | | /** | |
| @brief CTPP2 string "blah-blah \" clah-clah " | 'blah-blah \' clah
-clah ' | | @brief CTPP2 string "blah-blah \" clah-clah " | 'blah-blah \' clah
-clah ' | |
| @param szData - current stream position | | @param szData - current stream position | |
| @param szEnd - end of stream position | | @param szEnd - end of stream position | |
| @return NULL if sequence not found or pointer to end of sequence | | @return NULL if sequence not found or pointer to end of sequence | |
| */ | | */ | |
| CCharIterator IsString(CCharIterator szData, CCharIterator szEnd); | | CCharIterator IsString(CCharIterator szData, CCharIterator szEnd); | |
| | | | |
| /** | | /** | |
| | | | |
End of changes. 3 change blocks. |
| 3 lines changed or deleted | | 1 lines changed or added | |
|
| CTPP2VMOpcodes.h | | CTPP2VMOpcodes.h | |
| | | | |
| skipping to change at line 150 | | skipping to change at line 150 | |
| #define CLEAR 0x08010000 // Clear register | | #define CLEAR 0x08010000 // Clear register | |
| #define OUTPUT 0x08020000 // Direct output a value to output coll
ector | | #define OUTPUT 0x08020000 // Direct output a value to output coll
ector | |
| #define REPLACE 0x08030000 // Replace variable in stack or registe
r | | #define REPLACE 0x08030000 // Replace variable in stack or registe
r | |
| #define EXIST 0x08040000 // Check existence of operand | | #define EXIST 0x08040000 // Check existence of operand | |
| #define REPLINT 0x08050000 // Replace ARRAY variable in stack with
it's element | | #define REPLINT 0x08050000 // Replace ARRAY variable in stack with
it's element | |
| #define REPLSTR 0x08060000 // Replace HASH variable in stack with
it's element | | #define REPLSTR 0x08060000 // Replace HASH variable in stack with
it's element | |
| #define XCHG 0x08070000 // Swap 2 values | | #define XCHG 0x08070000 // Swap 2 values | |
| #define DEFINED 0x08080000 // Check undef value | | #define DEFINED 0x08080000 // Check undef value | |
| #define SAVEBP 0x08090000 // Save base pointer | | #define SAVEBP 0x08090000 // Save base pointer | |
| #define RESTBP 0x080A0000 // Restore base pointer | | #define RESTBP 0x080A0000 // Restore base pointer | |
|
| | | #define REPLIND 0x080B0000 // Replace ARRAY/HASH variable in stack
with it's element | |
| | | | |
| // Sources ///////////// 0x-------X ///////////////////////////////////////
/////////////////////////// | | // Sources ///////////// 0x-------X ///////////////////////////////////////
/////////////////////////// | |
| #define ARG_SRC_AR 0x00000000 // AR is source register | | #define ARG_SRC_AR 0x00000000 // AR is source register | |
| #define ARG_SRC_BR 0x00000001 // BR is source register | | #define ARG_SRC_BR 0x00000001 // BR is source register | |
| #define ARG_SRC_CR 0x00000002 // CR is source register | | #define ARG_SRC_CR 0x00000002 // CR is source register | |
| #define ARG_SRC_DR 0x00000003 // DR is source register | | #define ARG_SRC_DR 0x00000003 // DR is source register | |
| #define ARG_SRC_ER 0x00000004 // ER is source register | | #define ARG_SRC_ER 0x00000004 // ER is source register | |
| #define ARG_SRC_FR 0x00000005 // FR is source register | | #define ARG_SRC_FR 0x00000005 // FR is source register | |
| #define ARG_SRC_GR 0x00000006 // GR is source register | | #define ARG_SRC_GR 0x00000006 // GR is source register | |
| #define ARG_SRC_HR 0x00000007 // HR is source register | | #define ARG_SRC_HR 0x00000007 // HR is source register | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|