xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 6.69MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-03-18
  • 語(yǔ)言: C/C++
  • 標(biāo)簽:

資源簡(jiǎn)介

這是我用VC6.0(用了MFC類庫(kù))編寫(xiě)的一個(gè)集詞法分析、語(yǔ)法分析為一體的程序,是我編譯原理課程設(shè)計(jì)的拙作!壓縮包里包括源代碼、測(cè)試數(shù)據(jù),可執(zhí)行文件打包,安裝文件打包,課程設(shè)計(jì)文檔,程序使用說(shuō)明和數(shù)據(jù)規(guī)范說(shuō)明一應(yīng)俱全。要花的分是多點(diǎn),但是對(duì)需要的人超值,看你有沒(méi)有眼光了!

資源截圖

代碼片段和文件信息

//?AnalyzeTable.cpp:?implementation?of?the?AnalyzeTable?class.
//
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“LRCompiler.h“
#include?“AnalyzeTable.h“
#include?
using?namespace?std;

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
//單詞編碼定義
const?char*?CAnalyzeTable::m_pErrorDescribe[]={
/*0*/ ????“沒(méi)有文法數(shù)據(jù)“
/*1*/ “終結(jié)符的開(kāi)始標(biāo)識(shí)錯(cuò)誤“
/*2*/ “非終結(jié)符的開(kāi)始標(biāo)識(shí)錯(cuò)誤“
/*3*/ “開(kāi)始符號(hào)的開(kāi)始標(biāo)識(shí)錯(cuò)誤“
/*4*/ “產(chǎn)生式的開(kāi)始標(biāo)識(shí)錯(cuò)誤“
/*5*/ “產(chǎn)生式的書(shū)寫(xiě)格式錯(cuò)誤“
/*6*/ “集合的開(kāi)始標(biāo)識(shí)錯(cuò)誤“
/*7*/ “開(kāi)始符號(hào)不能不在非終結(jié)符集中“
/*8*/ “產(chǎn)生式的集合不能為空“
/*9*/???????“不能有既是終結(jié)符又是非終結(jié)符的符號(hào)“
/*10*/??????“產(chǎn)生式的左部有不合法的字符“
/*11*/??????“產(chǎn)生式的右部有不合法的字符“
/*12*/??????“文法中不允許包含空產(chǎn)生式“
};
CAnalyzeTable::CAnalyzeTable()
{
//指針變量初始化
m_pStrErrorList?=?new?StrTokenNode;
m_pStrErrorList->str.Empty();
m_pStrErrorList->next?=?NULL;
m_pStrTokenHead?=?NULL;
m_pTable?=?NULL;
}

CAnalyzeTable::~CAnalyzeTable()
{
}
void?CAnalyzeTable::Init()
{
????//一般變量初始化
strcpy(m_str““);
m_boolLegal?=?true;??//文法的輸入格式是否合法有錯(cuò)誤就置false
m_isLR0Legal?=?true;?//文法是否合法的LR(0)文法有沖突就置false
m_nFinal=0;??//終結(jié)符個(gè)數(shù)?
m_nNotFinal=0;??//非終結(jié)符個(gè)數(shù)
m_nPrecept=0;???//產(chǎn)生式個(gè)數(shù)
m_nProjectSet=0;???//LR(0)項(xiàng)目個(gè)數(shù)
}
/**分析過(guò)程主調(diào)函數(shù)
*
*?@pram?buf?源代碼緩存區(qū)
*?@return???結(jié)果所存儲(chǔ)的文件名
*/
void?CAnalyzeTable::RunAnalyze(char?*buf)
{
Init();
????if(m_pStrTokenHead?&&?m_pStrErrorList->next?&&?m_pTable)
????Dispose();//釋放上次調(diào)用時(shí)申請(qǐng)的資源

::strcpy(m_strbuf);

this->m_wordCompiler.RunMorpheme(m_str);
????m_pStrTokenHead?=?this->m_wordCompiler.GetStrToken();

/*/for?test

????PStrTokenNode?node?=?m_pStrTokenHead;
????while(node)
{
str?+=?node->str;
str?+=?“\n\t“;
node?=?node->next;
}*/

//組織數(shù)據(jù)并查錯(cuò)
????if(!FormData())//?組織數(shù)據(jù)文法輸入格式是否是合法的
{
m_boolLegal?=?false;
}
else
{
if(!GrammerCheck())//對(duì)文法進(jìn)行簡(jiǎn)單的集合間沖突的檢查
{
m_boolLegal?=?false;
}
}
//進(jìn)行LR(0)分析
if(IsLegal())//格式合法
GenerateLR0Table();?
}

void?CAnalyzeTable::SetStart(CString?strStart)
{
m_strStart?=?strStart;
}

bool?CAnalyzeTable::AddFinal(CString?strFinal)
{
//bool?Set::Insert(CString?istr)//如果沒(méi)有就插入,有了就不插入
????return?m_setFinal.Insert(strFinal);
}

bool?CAnalyzeTable::AddNotFinal(CString?strNotFinal)
{
return?m_setNotFinal.Insert(strNotFinal);
}

void?CAnalyzeTable::AddPrecept(PStrTokenNode?strTokenHead)
{
PStrTokenNode?strToken?=?strTokenHead;
//while(strToken->str?!=?“.“?&&?strToken->next)

}
//對(duì)開(kāi)始符號(hào),終結(jié)符集非終結(jié)符集和產(chǎn)生式集進(jìn)行組織
bool?CAnalyzeTable::FormData()
{
if(!m_pStrTokenHead->next)
{
AddError(0);
????????m_boolLegal?=?false;
????????return?false;//沒(méi)有數(shù)據(jù)
}

????//將token形式的數(shù)據(jù)進(jìn)行有效的組織
PStrTokenNode?token?=?m_pStrTokenHead->next;
int?intSetType;
while(token)
{
//for?test
//MessageBox(NUL

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????目錄??????????0??2007-03-17?11:34??040410606-李文凱(LRCompiler?1.0版)

?????文件?????395264??2007-03-17?11:32??040410606-李文凱(LRCompiler?1.0版)\LRCompiler?1.0版文檔報(bào)告.doc

?????目錄??????????0??2007-03-17?10:51??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序

?????文件????????108??2007-03-16?20:57??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\DATA.TAG

?????文件????3357853??2007-03-16?20:57??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\data1.cab

?????文件???????4557??1997-05-30?11:31??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\lang.dat

?????文件????????353??2007-03-16?20:57??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\layout.bin

?????文件????????417??1997-05-06?14:15??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\os.dat

?????文件??????82278??1997-04-16?01:46??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\setup.bmp

?????文件??????59904??1997-11-19?16:09??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\SETUP.EXE

?????文件?????????73??2007-03-16?20:57??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\SETUP.INI

?????文件??????57756??2007-03-16?20:51??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\setup.ins

?????文件?????????49??2007-03-16?20:57??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\setup.lid

?????文件?????????30??2007-03-16?21:01??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\sn.txt

?????文件?????300178??1997-11-19?16:05??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\_INST32I.EX_

?????文件???????8192??1997-11-19?16:05??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\_ISDEL.EXE

?????文件??????11264??1997-11-19?16:08??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\_setup.dll

?????文件?????186563??2007-03-16?20:57??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\_sys1.cab

?????文件??????45196??2007-03-16?20:57??040410606-李文凱(LRCompiler?1.0版)\LRCompiler安裝程序\_user1.cab

?????目錄??????????0??2007-03-17?10:51??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件

?????文件?????674304??2004-08-04?08:52??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\advapi32.dll

?????文件?????611328??2004-08-04?08:52??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\comctl32.dll

?????文件?????280064??2005-12-29?10:56??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\gdi32.dll

?????文件????1144832??2006-07-05?18:56??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\kernel32.dll

?????文件?????327680??2007-03-16?21:03??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\LRCompiler.exe

?????文件????1028096??2004-08-04?08:52??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\mfc42.dll

?????文件?????413696??2004-08-04?08:52??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\msvcp60.dll

?????文件?????343040??2004-08-04?08:52??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\msvcrt.dll

?????文件?????591360??2004-08-04?08:52??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\ntdll.dll

?????文件?????581120??2004-08-04?08:52??040410606-李文凱(LRCompiler?1.0版)\可執(zhí)行文件\rpcrt4.dll

............此處省略111個(gè)文件信息

評(píng)論

共有 條評(píng)論

相關(guān)資源