文法设计与化简
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深圳大学
实验报告
课程名称:编译原理
实验名称:文法设计与化简
姓名:林庆遂
学号:2011150026
班级:软工一班
实验日期:第6周、第8周实验课
一. 实验目的
1) 编写文法的化简和改造程序;
二. 实验环境
1) 硬件环境:计算机;
2) 软件环境:C/C++编译器;
三. 实验内容
1. 用C/C++语言编写方法的化简和改造程序,实现以下功能之一(如实现两个功能,则满分为110分;如实现三个功能,则满分为120分):
(1) 无用符号和无用产生式的删除,参考课本中算法2.1和算法2.2。
(2) ε-产生式的消除,参考课本中算法2.3、2.4和2.5。
(3) 单产生式的消除,参考课本中算法2.6。
从文件或终端中读入文法,并将化简和改造后的文法输出到另一文件或终端中。文法的表示如下:
S->aS
S->W
S->U
U->a
U->bV
V->ac
W->aW
用空字符表示ε,用大写的拉丁字母表示文法的非终结符号,用小写的拉丁字母表示文法的终结符号,每个产生式占一行,第一个产生式的左部为开始符号。在下面写出代码,并用课本2.4节中相应的例子进行验证,提供相应的截图(对窗口截图时先同时按alt和prtscn 键,再按ctrl+v粘贴)
答:(1)实验代码篇幅过于冗长,使用了附件的形式提交。
实验结果如下所示: