• 大小: 123KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: 其他
  • 标签:

资源简介

北邮编译原理课程设计

资源截图

代码片段和文件信息

#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个文件信息

评论

共有 条评论