编译原理作业7答案

更新时间:2023-09-18 08:35:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件学院 2012秋季学期

《编译原理》第七次作业参考答案

一、 证明下列文法

S ? Aa | bAc | dc | bda A ? d

是LALR(1)文法但不是SLR(1)文法.

构造LR(1)自动机(没有需要合并的状态):

没有状态存在冲突,因而是LALR(1)文法.

构造LR(0)自动机:

1

在状态I6,由于’a’∈FOLLOW(A),因而对于SLR(1)分析而言,存在移进-归约,所以这一文法不是SLR(1)文法. 二、 证明下列文法

S ? Aa | bAc | Bc | bBa A ? d B ? d

是LR(1)文法但不是LALR(1)文法. 略.

三、 (附加题,选做)类似LL(1)文法,我们很容易给出LL(k)文法的定义. 对于一个上下文无关文法,如果

递归下降分析器(recursive-descent parser)每次都可以通过向前看k个符号来确定选用哪一个产生式而不需要回溯,这一文法便称为LL(k)文法. 试构造一个无左递归且无二义的文法,使得对任意固定的k,这一文法都不是LL(k)文法.

S ? A | B A ? aA | a B ? aB | b

2

本文来源:https://www.bwwdw.com/article/inah.html

Top