- 51
- 0
- 约3.67万字
- 约 31页
- 2017-08-09 发布于安徽
- 举报
编译原理课程设计
C语言词法分析器
语法分析器
?????????
???
姓名: 某某某
学号:
班级: 软件一班与技术学院
目录
1 C语言词法分析器的设计 3
1.1 实验目的 3
1.2 实验要求 3
1.3 实验环境 3
1.4 实现分析 3
1.4.1 词法分析的理论构架 3
1.4.2 程序入口设计 4
1.4.3 程序执行中的流程 4
1.4.4 程序的出口设计 5
1.5 源代码 5
1.6 结果分析 8
1.7 收获与体会 11
2 语法分析器 12
2.1 实验目的 12
2.2 实验要求 12
2.3 实验环境 12
2.4 实现分析 12
2.4.1 LL(1)分析方法的思想 12
2.4.2 程序的入口分析 12
2.4.3 程序运行的流程 13
2.4.4 程序的出口设计 14
2.5 源代码 14
2.6 结果分析 27
2.7 收获与体会 30
参考文献: 31
C语言词法分析器的设计
华硕笔记本,内存处理器i5
Microsoft Visual Studio 2010,并安装framework4.0分析的理论构架词法分析器的功能输入源程序,按照构词规则分解成一系列单词符号。单词是语言中具有独立意义的最小单位,包括关键字、标识符、运算符、界符和常量等
C的关键字搜索共有, 是由程序语言定义的具有固定意义的标识符。编写的词法分析器只将其中的常用的定义在程序中,他们有
break,case,char,const,continue,default,do,double,else,enun, extern,float,for,goto,if,int,long,return,static,struct,switch,sizeof,typedef,union,unsigned,void,volatile,while
对于的一些保留字“main”、“return”等我没有将其关键字的范围内。(2) 标识符 用来表示各种名字,如变量名,数组名,过程名等等。
(3) 常数? 常数的类型一般有整型、实型、布尔型、文字型等。
(4) 运算符 本词法分析器里面定义了、“-”“*”、“/”
四种运算符。(5) 界符则定义了如下?, ; . ( ) [ ] = : { }
程序入口设计
法分析入口的设计方法很多为了我们每次运行时方便起见,我们将我们的程序放入一个txt中,每次我们运行程序,程序将自行读取文件中的代码,并将对其进行词法分析将分析结果输出到控制台,这样的输入方法避免了我们重复输入程序的问题,我们需要对某程序进行词法分析我们只需要将我们的程序拷贝到的txt文件中运行程序即可进行词法分析了。
执行中的流程
、
N
N N N N N
Y
Y Y Y Y Y
程序的出口设计我们讲解了我们词法分析器的入口,但是我们的输出是怎样设计的呢
首先为了的程序有参考对照,我将我们的程序首先输出到控制台上,以便与后面的是做一个参考,无需再去们的txt文件做对照了。
,我将我的字和相应的界的符编上一个序号,并且将其一个二元式的方式输出到控制台上以便灾后面的词法分析结果中形成对比。
我们将词法分析的结果到控制台上,输出格式为,我们将每一句代码作为一个单位,每句代码后面我们将给出本局代码分析得到后的字符。
例如Typedef struct{ |22|19| 其意义就是Typedef struct对应的标号为两种
源代码
// cifa.cpp : 定义控制台应用程序的入口点。
#include stdafx.h
#include iostream
#include fstream
#include sstream
#include string
#include vector
#include algorithm
#includestdlib.h
using namespace std;
bool isLetter(char ch){
if ((ch=A ch=Z) || (ch=a ch=z)) return true;
else return false;
}
bool isDigit(char ch){
if (ch=0 ch=9) return true;
else return false;
}
bool isP(char ch){
if(ch==+||ch==*||ch==-||ch==/) return true;
else return fa
您可能关注的文档
- 毕业设计(论文)-企业人力资源管理系统的设计与实现.doc
- 毕业设计(论文)-企业柔性管理研究.doc
- 毕业设计(论文)-汽车备轮架加固板冲压模具设计.doc
- 毕业设计(论文)-汽车车架有限元分析.doc
- 毕业设计(论文)-汽车膜片弹簧离合器设计.doc
- 毕业设计(论文)-千分尺的三维设计与研究.doc
- 毕业设计(论文)-浅谈数控机床的维修与维护.doc
- 毕业设计(论文)-浅析建筑工程成本管理.doc
- 毕业设计(论文)-浅析数形结合在中学数学解题中的应用.doc
- 毕业设计(论文)-球形氧化铜纳米颗粒的模板合成.doc
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 春节祝福短信 春节祝福短信大全 春节短信.docx VIP
- 两级ao生化工艺设计计算书.doc VIP
- 《船舶电气与自动化(船舶电气)(二三管轮)》_第二章船舶电机与电力拖动系统.ppt VIP
- 山东药品食品职业学院单招《数学》通关题库【轻巧夺冠】附答案详解.docx VIP
- 新人教版七年级下册语文诗歌鉴赏及答案.doc VIP
- 五年级数学下册全套单元测试题及答案.pdf VIP
- 一站到底游戏课件.ppt VIP
- 小学三年级下册教学设计西师版.pdf VIP
- 人教PEP版六年级下册Unit 1 How tall are you单元词形填空题(含答案).doc VIP
- 2026-2030 中枢神经系统药物市场需求趋势及发展机遇可行性研究报告.docx
原创力文档

文档评论(0)