文法设计与化简

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)实验代码篇幅过于冗长,使用了附件的形式提交。

实验结果如下所示:

相关文档
最新文档