资源简介
北邮编译原理课程设计
代码片段和文件信息
#include “stdafx.h“
#include “ZSCAsmEditorView.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// C++ keywords (MSVC5.0 + POET5.0)
static LPTSTR s_apszCppKeywordList[] =
{
_T(“NOP“)
_T(“OR“)
_T(“OUTP“)
_T(“INP“)
_T(“ERR“)
_T(“STOP“)
_T(“RET“)
_T(“CALL“)
_T(“MOD“)
_T(“DIV“)
_T(“MUL“)
_T(“SUB“)
_T(“ADD“)
_T(“NEQ“)
_T(“EQU“)
_T(“GEQ“)
_T(“GRT“)
_T(“LEQ“)
_T(“LES“)
_T(“FJP“)
_T(“UJP“)
_T(“RED“)
_T(“MVRX“)
_T(“STO“)
_T(“COPY“)
_T(“LODIX“)
_T(“LODI“)
_T(“LOD“)
_T(“AND“)
_T(“ENTER“)
_T(“LEAVE“)
_T(“CHGSFP“)
_T(“RSTSFR“)
_T(“LODA“)
_T(“LODAX“)
_T(“LODEA“)
_T(“USTO“)
_T(“PUSH“)
_T(“POP“)
_T(“NFJP“)
NULL
};
static BOOL IsCppKeyword(LPCTSTR pszChars int nLength)
{
for (int L = 0; s_apszCppKeywordList[L] != NULL; L ++)
{
if (strncmp(s_apszCppKeywordList[L] pszChars nLength) == 0
&& s_apszCppKeywordList[L][nLength] == 0)
{
return TRUE;
}
}
return FALSE;
}
static BOOL IsCppNumber(LPCTSTR pszChars int nLength)
{
if (nLength > 2 && pszChars[0] == ‘0‘ && pszChars[1] == ‘x‘)
{
for (int I = 2; I < nLength; I++)
{
if (isdigit(pszChars[I]) || (pszChars[I] >= ‘A‘ && pszChars[I] <= ‘F‘) ||
(pszChars[I] >= ‘a‘ && pszChars[I] <= ‘f‘))
continue;
return FALSE;
}
return TRUE;
}
if (! isdigit(pszChars[0]))
return FALSE;
for (int I = 1; I < nLength; I++)
{
if (! isdigit(pszChars[I]) && pszChars[I] != ‘+‘ &&
pszChars[I] != ‘-‘ && pszChars[I] != ‘.‘ && pszChars[I] != ‘e‘ &&
pszChars[I] != ‘E‘)
return FALSE;
}
return TRUE;
}
#define DEFINE_BLOCK(pos colorindex) \
ASSERT((pos) >= 0 && (pos) <= nLength);\
if (pBuf != NULL)\
{\
if (nActualItems == 0 || pBuf[nActualItems - 1].m_nCharPos <= (pos)){\
pBuf[nActualItems].m_nCharPos = (pos);\
pBuf[nActualItems].m_nColorIndex = (colorindex);\
nActualItems ++;}\
}
#define COOKIE_COMMENT 0x0001
#define COOKIE_PREPROCESSOR 0x0002
#define COOKIE_EXT_COMMENT 0x0004
#define COOKIE_STRING 0x0008
#define COOKIE_CHAR 0x0010
DWORD CZSCAsmEditorView::ParseLine(DWORD dwCookie int nLineIndex TEXTBLOCK *pBuf int &nActualItems)
{
int nLength = GetLineLength(nLineIndex);
if (nLength <= 0)
return dwCookie & COOKIE_EXT_COMMENT;
LPCTSTR pszChars = GetLineChars(nLineIndex);
BOOL bFirstChar = (dwCookie & ~COOKIE_EXT_COMMENT) == 0;
BOOL bRedefineBlock = TRUE;
BOOL bDecIndex = FALSE;
int nIdentBegin = -1;
for (int I = 0; ; I++)
{
if (bRedefineBlock)
{
int nPos = I;
if (bDecIndex)
nPos--;
if (dwCookie & (COOKIE_COMMENT | COOKIE_EXT_COMMENT))
{
DEFINE_BLOCK(nPos COLORINDEX_COMMENT);
}
else
if (dwCookie & (COOKIE_CHAR | COOKIE_STRING))
{
DEFINE_BLOCK(nPos COLORINDEX_STRING);
}
else
if (dwCookie & COOKIE_PREPROCESSOR)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6642 1999-06-09 14:31 pascal\zscpascal\Asm.cpp
文件 1204 1999-08-03 15:05 pascal\zscpascal\casetest.asm
文件 616 1999-08-03 15:05 pascal\zscpascal\casetest.bin
文件 354 1999-07-01 09:58 pascal\zscpascal\casetest.pas
文件 3042 2016-03-11 22:42 pascal\zscpascal\casetest.rez
文件 29409 1999-02-22 19:49 pascal\zscpascal\CCrystalEditView.cpp
文件 4192 1999-02-22 19:47 pascal\zscpascal\CCrystalEditView.h
文件 1230 1999-02-22 19:47 pascal\zscpascal\CCrystalEditView.inl
文件 33810 1999-02-22 19:47 pascal\zscpascal\CCrystalTextBuffer.cpp
文件 8075 1999-02-22 19:47 pascal\zscpascal\CCrystalTextBuffer.h
文件 836 1999-02-22 19:47 pascal\zscpascal\CCrystalTextBuffer.inl
文件 72438 1999-02-22 19:47 pascal\zscpascal\CCrystalTextView.cpp
文件 13795 1999-02-22 19:47 pascal\zscpascal\CCrystalTextView.h
文件 834 1999-02-22 19:49 pascal\zscpascal\CCrystalTextView.inl
文件 22269 1999-02-22 19:49 pascal\zscpascal\CCrystalTextView2.cpp
文件 1215 1999-02-22 19:49 pascal\zscpascal\CEDEFS.H
文件 5329 1999-02-22 19:49 pascal\zscpascal\CEditReplaceDlg.cpp
文件 2421 1999-02-22 19:49 pascal\zscpascal\CEditReplaceDlg.h
文件 2932 1999-02-22 19:50 pascal\zscpascal\CFindTextDlg.cpp
文件 2116 1999-02-22 19:50 pascal\zscpascal\CFindTextDlg.h
文件 1958 1999-01-30 17:14 pascal\zscpascal\ChildFrm.cpp
文件 1533 1998-11-07 13:33 pascal\zscpascal\ChildFrm.h
文件 4858 1999-08-03 15:08 pascal\zscpascal\DEFINES.H
文件 4713 1999-02-22 19:50 pascal\zscpascal\EDITCMD.H
文件 1244 1999-02-22 19:50 pascal\zscpascal\EDITREG.H
文件 27016 2016-03-11 22:24 pascal\zscpascal\EDITRES.APS
文件 8839 1999-02-21 19:30 pascal\zscpascal\EDITRES.RC
文件 2701 1998-11-07 13:33 pascal\zscpascal\MainFrm.cpp
文件 1560 1998-11-07 13:33 pascal\zscpascal\MainFrm.h
文件 326 1998-11-03 10:23 pascal\zscpascal\MG_CUR.CUR
............此处省略58个文件信息
- 上一篇:百度云链接.docx
- 下一篇:单片机的外文文献与翻译
评论
共有 条评论