专业:商业软件工程 姓名:吴华锐 学号:201506110140
一、 实验目的
编制一个词法分析程序。
二、 实验内容和要求
输入源程序字符串,输出二元组,待分析语言的词法规则。
三、 实验方法、步骤及结果测试
- 1. 源程序名:压缩包文件(rar或zip)中源程序名词法分析.c
可执行程序名:词法分析.exe
- 2. 原理分析及流程图
主要总体设计问题。
(包括存储结构,主要算法,关键函数的实现等)
单词符号 | 种别码 | 单词符号 | 种别码 |
begin | 1 | : | 17 |
if | 2 | := | 18 |
then | 3 | < | 20 |
while | 4 | <= | 21 |
do | 5 | <> | 22 |
end | 6 | > | 23 |
l(l|d)* | 10 | >= | 24 |
dd* | 11 | = | 25 |
+ | 13 | ; | 26 |
- | 14 | ( | 27 |
* | 15 | ) | 28 |
/ | 16 | # | 0 |
- 3. 主要程序段及其解释:
实现主要功能的程序段,重要的是程序的注释解释。
1.根据符号与种别码对照表来判断,其主要语句为begin<语句串>end。
2.关键字作为特殊标识符处理,把它们预先安排在一张表格中(称为关键字表),当扫描程序识别出标识符时,查关键字表。如能查到匹配的单词,则该单词为关键字,否则为一般标识符。关键字表为一个字符串数组,其描述如下:
Char *rwtab[6] = {“begin”, “if”, “then”, “while”, “do”, “end”,};
3. 首先设置3个变量:1。Token用来存放构成单词符号的字符串;2.sum用来存放单词符号的种别码;
- 4. 运行结果及分析
一般必须配运行结果截图,结果是否符合预期及其分析。
(截图需根据实际,截取有代表性的测试例子)
四、 实验总结
通过编译原理这个程序实践,在自己动手实验的情况下,更加透彻的理解了词法分析的过程,以及该算法。以后我会更加专心的学习计算机知识,不断将现实中出现的实际问题,向程序方面转变,做到灵活运用所学的知识。