编译原理(第2版)课后习题答案详解 (6)

暮烟疏雨之际 分享 2020-06-20 下载文档

答案:

(5) <表达式>

=><表达式>+<项>

=><表达式>+<因子>

=><表达式>+(<表达式>)

=><表达式>+(<表达式>+<项>)

=><表达式>+(<表达式>+<因子>)

=><表达式>+(<表达式>+i)

=><表达式>+(<项>+i)

=><表达式>+(<因子>+i)

=><表达式>+(i+i)

=><项>+(i+i)

=><因子>+(i+i)

=>i+(i+i)

(6) <表达式>

=><表达式>+<项>

=><表达式>+<项>*<因子>

=><表达式>+<项>*i

=><表达式>+<因子>*i

=><表达式>+i*i

=><项>+i*i

=><因子>+i*i

=>i+i*i

<表达式>

<表达式> + <项> <因子> <表达式>

<表达式> + <项> <因子> i <项> <因子> i <项> <因子> i ( )

<表达式>

<表达式> + <项> <项> * <因子> <因子> i <项> <因子> i i

第 7 题

证明下述文法 G[〈表达式〉]是二义的。

〈表达式〉∷=a|(〈表达式〉)|〈表达式〉〈运算符〉〈表达式〉

〈运算符〉∷=+|-|*|/

答案:

可为句子 a+a*a 构造两个不同的最右推导: 最右推导 1 〈表达式〉 〈表达式〉〈运算符〉〈表达式〉 〈表达式〉〈运算符〉a 〈表达式〉* a 〈表达式〉〈运算符〉〈表达式〉* a 〈表达式〉〈运算符〉a * a 〈表达式〉+ a * a a + a * a

最右推导 2 〈表达式〉 〈表达式〉〈运算符〉〈表达式〉 〈表达式〉〈运算符〉〈表达式〉〈运算符〉〈表达式〉 〈表达式〉〈运算符〉〈表达式〉〈运算符〉 a 〈表达式〉〈运算符〉〈表达式〉 * a 〈表达式〉〈运算符〉a * a 〈表达式〉+ a * a a + a * a

第 8 题

文法 G[S]为:

S→Ac|aB

A→ab

B→bc

该文法是否为二义的?为什么?

答案:

对于串 abc

(1)S=>Ac=>abc (2)S=>aB=>abc

即存在两不同的最右推导。所以,该文法是二义的。

或者:

对输入字符串 abc,能构造两棵不同的语法树,所以它是二义的。


编译原理(第2版)课后习题答案详解 (6).doc 将本文的Word文档下载到电脑

下一篇:用组策略禁ping方法

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7 元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx