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


 CTPP2SysHeaders.h   CTPP2SysHeaders.h 
skipping to change at line 81 skipping to change at line 81
#define CTPP_ESCAPE_BUFFER_LEN 1024 #define CTPP_ESCAPE_BUFFER_LEN 1024
#define CTPP_MAX_TEMPLATE_RECURSION_DEPTH 1024 #define CTPP_MAX_TEMPLATE_RECURSION_DEPTH 1024
#define ICONV_SUPPORT 1 #define ICONV_SUPPORT 1
#define ICONV_DISCARD_ILSEQ 1 #define ICONV_DISCARD_ILSEQ 1
#define ICONV_TRANSLITERATE 1 #define ICONV_TRANSLITERATE 1
#define CTPP_VERSION "2.7.5" #define CTPP_VERSION "2.8.1"
#define CTPP_IDENT "Dzoraget" #define CTPP_IDENT "Dzoraget"
#define CTPP_MASTER_SITE_URL "http://ctpp.havoc.ru/" #define CTPP_MASTER_SITE_URL "http://ctpp.havoc.ru/"
/* #undef THROW_EXCEPTION_IN_COMPARATORS */ /* #undef THROW_EXCEPTION_IN_COMPARATORS */
#endif /* _CTPP2_SYS_HEADERS_H__ */ #endif /* _CTPP2_SYS_HEADERS_H__ */
/* End. */ /* End. */
 End of changes. 1 change blocks. 
1 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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/