资源简介
主要内容:
1、编译原理简介
2、词法分析器的实现
3、语法分析器的实现
4、总结
基本要求:
通过对词法分析器和语法分析器的实现,巩固和加深对编译原理的理解,提高综合运用本课程所学知识的能力。培养学生选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。
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个文件信息
- 上一篇:QT局域网聊天系统(基于QT5.修改过)
- 下一篇:HDD repair.rar
相关资源
-
simuli
nk 课程设计 qpsk - 武汉理工大学 单片机课程设计 16*16点
- 数据库VFP课程设计
- 分页系统模拟实验 操作系统 课程设
- 中科院 编译原理 习题及解答
- 编译原理四元式和逆波兰式
- 模拟段页式虚拟存储管理中地址转换
- 硬件课程设计—流水灯(quartus软件
- 超市收银系统eclipse access大学课程设计
- 航空订票系统_数据结构课程设计
- c 课程设计 职工信息管理系统
- 汇编语言,课程设计,红绿灯
- 机床液压系统课程设计卧式钻床动力
- 课程设计蔬菜大棚自动控制系统,包
- 密码学课程设计:DES加密解密算法的
- 数据结构 知识点总结
- 软件工程文档模板1可行性研究报告
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- 《编译原理》清华大学版中的pl0扩充
- PL/0功能扩充break功能
- 数据库课程设计以及指导思想
- ATM自动取款机系统的分析与设计
- 留言板课程设计 报告加设计
- 数据结构课程设计——图书管理系统
- 课程设计——医院病房管理系统
- 数据库课程设计报告(关于房地产销
- 简易绘图程序(计算机图形学课程设
- 基于PIC单片机的万年历的设计
- 简单的9个页面静态网页,适合做个人
评论
共有 条评论