当前位置:文档之家› 词法分析器 计算器 设计与实现实验报告

词法分析器 计算器 设计与实现实验报告

辅导教师张静成绩
st=number(st);
else if(rz[st]=='/')
st=anotation(st);
else st=other(st);
return st;
}
测试结果:
8、心得
通过本次的实验,使我真正的了解词法分析器的实现过程,让我更加深刻领悟词法分析器的实现原理。

虽然在本次实验中遇到了各种各样的困难和错误,但在同学们的帮助下我都一一克服了,使得词法分析器能够正确的识别相应的词法和表达式。

在做实验的过程中,总是会忽略各种细节,从而导致经常修改一些很小的低级错误才能使程序正常运行,不仅浪费时间,还影响对其他地方的修改,并且在很多步骤处理上,方法不正确。

使结果不能符合要求,深刻体会到了自己在编程方面与别人的差距,在今后的学习中,我会注意改正自己在这方面的缺点,促使自己的编程水平不断进步。

编译原理是一门专业学科,对于现阶段的我来说,只
辅导教师张静成绩
实验日期实验时间
1实验名称计算器的设计与实现
2、实验目的
掌握自上而下语法分析方法、自下而上语法分析方法
3、实验要求
(1)实验内容
设计及实现计算表达式的计算器。

表达式中可包含+、-、*、/、(、)等运算符。

(2)实验要求:
对已给的一个二元式形式表达式,能够检查有无语法错误。

并指定出错位置。

将表达式的语法树输出(或将语法分析过程输出)。

4、实验原理
根据算符优先分析思想实现语法分析程序。

5、实验步骤
(1)根据文法构造语法分析表。

(2)编写总控程序实现语法分析。

6、算符优先分析表及语法分析程序
算符优先分析表:
case '(': /*当是的时候将此括号存入
先级最高故先提
case ' ': /*忽略空格排除误操
exp[t] = '#'; /*分隔操作数为了美观也为了以后好
式中获取操作数
printf("后缀表达式%s\n",exp);
8、心得
此次实验,经过对计算器的设计与实现,让我对编译原理的基本知识有了深入的了解,加强了对语法分析的认识, 掌握了自上而下语法分析方法、自下而上语法分析方法。

熟悉了算符优先分析思想实现语法分析程序。

在代码调试过程中结果出现许多无法解释的错误,但仍旧坚持下来了,最终调试出了结果。

通过这次实验,我的动手实践能力得到很大的提高。

相关主题