资源简介

主要内容:
1、编译原理简介
2、词法分析器的实现
3、语法分析器的实现
4、总结

基本要求:
通过对词法分析器和语法分析器的实现,巩固和加深对编译原理的理解,提高综合运用本课程所学知识的能力。培养学生选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。

资源截图

代码片段和文件信息

// Analyzer.cpp: implementation of the CAnalyzer class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “compiler.h“
#include “Analyzer.h“

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CAnalyzer::CAnalyzer()
{
m_ntCifaLen=0;
m_aSourse[0]=0;
}

CAnalyzer::~CAnalyzer()
{

}



void CAnalyzer::Initial()
{

::strcpy(m_tKeyWord[0]““);
::strcpy(m_tKeyWord[1]““);//标识符
::strcpy(m_tKeyWord[2]““);//数字
::strcpy(m_tKeyWord[3]“main“);
::strcpy(m_tKeyWord[4]“break“);
::strcpy(m_tKeyWord[5]“case“);
::strcpy(m_tKeyWord[6]“char“);
::strcpy(m_tKeyWord[7]“const“);
::strcpy(m_tKeyWord[8]“continue“);
::strcpy(m_tKeyWord[9]“defaut“);
::strcpy(m_tKeyWord[10]“define“);
::strcpy(m_tKeyWord[11]“do“);
::strcpy(m_tKeyWord[12]“double“);
::strcpy(m_tKeyWord[13]“else“);
::strcpy(m_tKeyWord[14]“enum“);
::strcpy(m_tKeyWord[15]“extern“);
::strcpy(m_tKeyWord[16]“float“);
::strcpy(m_tKeyWord[17]“for“);
::strcpy(m_tKeyWord[18]“goto“);
::strcpy(m_tKeyWord[19]“if“);
::strcpy(m_tKeyWord[20]“include“);
::strcpy(m_tKeyWord[21]“int“);
::strcpy(m_tKeyWord[22]“long“);
::strcpy(m_tKeyWord[23]“return“);
::strcpy(m_tKeyWord[24]“short“);
::strcpy(m_tKeyWord[25]“static“);
::strcpy(m_tKeyWord[26]“struct“);
::strcpy(m_tKeyWord[27]“switch“);
::strcpy(m_tKeyWord[28]“signed“);
::strcpy(m_tKeyWord[29]“typedef“);
::strcpy(m_tKeyWord[30]“union“);
::strcpy(m_tKeyWord[31]“unsigned“);
::strcpy(m_tKeyWord[32]“void“);
::strcpy(m_tKeyWord[33]“while“);
::strcpy(m_tKeyWord[34]“+“);
::strcpy(m_tKeyWord[35]“-“);
::strcpy(m_tKeyWord[36]“*“);
::strcpy(m_tKeyWord[37]“/“);
::strcpy(m_tKeyWord[38]“=“);
    ::strcpy(m_tKeyWord[39]“+=“);
::strcpy(m_tKeyWord[40]“++“);
    ::strcpy(m_tKeyWord[41]“-=“);
::strcpy(m_tKeyWord[42]“--“);
    ::strcpy(m_tKeyWord[43]“->“);
    ::strcpy(m_tKeyWord[44]“!=“);
::strcpy(m_tKeyWord[45]“==“);
::strcpy(m_tKeyWord[46]“>=“);
::strcpy(m_tKeyWord[47]“<=“);
::strcpy(m_tKeyWord[48]“#“);
::strcpy(m_tKeyWord[49]“{“);
::strcpy(m_tKeyWord[50]“}“);
::strcpy(m_tKeyWord[51]““);
::strcpy(m_tKeyWord[52]“;“);
::strcpy(m_tKeyWord[53]“:“);
::strcpy(m_tKeyWord[54]“<“);
::strcpy(m_tKeyWord[55]“>“);
::strcpy(m_tKeyWord[56]“(“);
::strcpy(m_tKeyWord[57]“)“);
    ::strcpy(m_tKeyWord[58]“[“);
::strcpy(m_tKeyWord[59]“]“);
::strcpy(m_tKeyWord[60]“‘“);
::strcpy(m_tKeyWord[61]“&“);
::strcpy(m_tKeyWord[62]“.“);
   m_tKeyWord[63][0]=‘“‘;//将“进行初始化
   m_tKeyWord[63][1]=‘\0‘;
::strcpy(m_tKeyWord[64]““);
::strcpy(m_tErrorMessage[0]“正确!“);
::strcpy(m_tErrorMessage[1]“数字位数过长!“);
::strcpy(m_tErrorMessage[2]“非法字符!“);
::s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     514560  2010-07-01 21:45  报告.doc

     文件       4359  2005-10-03 20:31  C-compiler\ReadMe.txt

     文件       1850  2005-10-20 15:23  C-compiler\Analyzer.h

     文件       1378  2005-10-03 20:31  C-compiler\compiler.h

     文件       1497  2005-10-03 20:31  C-compiler\compilerDoc.h

     文件       2339  2005-10-20 14:42  C-compiler\compilerView.h

     文件       1581  2005-10-03 20:31  C-compiler\MainFrm.h

     文件       1013  2005-10-20 14:40  C-compiler\Resource.h

     文件       1054  2005-10-03 20:31  C-compiler\StdAfx.h

     文件          0  2009-06-24 00:50  C-compiler\test1.c

     文件        127  2005-10-20 15:37  C-compiler\test2.c

     文件        332  2008-05-14 22:43  C-compiler\test3.c

     文件        121  2005-10-20 14:48  C-compiler\text4.c

     文件      28246  2005-12-29 17:06  C-compiler\Analyzer.cpp

     文件       4245  2005-10-03 20:31  C-compiler\compiler.cpp

     文件       1782  2005-10-03 20:31  C-compiler\compilerDoc.cpp

     文件       7935  2008-05-21 23:09  C-compiler\compilerView.cpp

     文件       3179  2009-06-24 00:30  C-compiler\MainFrm.cpp

     文件        210  2005-10-03 20:31  C-compiler\StdAfx.cpp

     文件     147535  2009-06-24 00:47  C-compiler\compiler.exe

     文件       2518  2009-06-24 00:45  C-compiler\res\Toolbar.bmp

     文件      46496  2009-06-24 00:45  C-compiler\compiler.aps

     文件       2532  2009-06-24 02:26  C-compiler\compiler.clw

     文件       4726  2005-10-04 17:08  C-compiler\compiler.dsp

     文件        541  2005-10-03 20:31  C-compiler\compiler.dsw

     文件       1078  2005-10-03 20:31  C-compiler\res\compiler.ico

     文件       1078  2005-10-03 20:31  C-compiler\res\compilerDoc.ico

     文件     345088  2009-06-24 02:26  C-compiler\compiler.ncb

     文件      52736  2009-06-24 02:26  C-compiler\compiler.opt

     文件      56832  2005-12-28 22:35  C-compiler\compilerView.opt

............此处省略9个文件信息

评论

共有 条评论