当前位置:首页 » 编程软件 » 编译原理第3版第二章答案

编译原理第3版第二章答案

发布时间: 2024-12-09 01:58:52

A. 编译原理,求文法的问题

l1:S->aS|bX
X->bX|cY
Y->cY|ε
l2:S->MbXcY
M->aM|ε
X->bX|ε
Y->cY|ε
例:bc,abc,abbc
l3:S->MX
M->aMb|ε
X->aXb|ε
例:ab,aabbab
l4:S->1S0|X|ε
X->0X1|ε
例:100110,10,1010

B. 编译原理左递归消除

这些题很难啊!!!
都有间接左递归。要先变成直接左递归,然后消除掉。
--------------------
G3.1
S->SA|Ab|b|c
A->Bc|a
B->Sb|b
--------------------
间接左递归转直接左递归
B代入A:A ->(Sb|b)c|a -> Sbc|bc|a
A代入S:S -> S(Sbc|bc|a)|(Sbc|bc|a)b|b|c -> SSbc|Sbc|Sa|Sbcb|bcb|ab|b|c
消除直接左递归
S->bcbS'|abS'|bS'|cS'
S'->SbcS'|bcS'|aS'|bcbS'|ε
S'还是有直接左递归,继续消除
S'->bcS'T|aS'T|bcbS'T
T->bcS'T|ε
最后,这题答案就是S,S',T的产生式

--------------------
下面两题更难了,上一题反复代入还能把其他非终结符消掉,下面两个文法都是最后代入还剩下两个非终结符反复迭代,佛了!
G3.2
E->ET+|T

T->TF*|F

F->E|i
--------------------
F代入T: T->T(E|i)*|(E|i)->TE*|Ti*|E|i
T代入E:

--------------------
G3.3
S->V_1

V_1->V_2|V_1 2 V_2

V_2->V_3|V_2 + V_3
V_3->V_1 * |(
这些字母我都不认识了,换一下
S->A|SiA
A->B|A+B
B->S*|(
--------------------
B代入A:A->(S*|()|A+(S*|()->S*|(|A+S*|A+(
A代入S:

--------------------

C. 编译原理及编译程序构造课后习题答案 薛联凤

您好,《普通高校计算机专业精品教材系列:编译原理及编译程序构造(第2版)》介绍编译理论基础及其实现方法,强调语言的形式化定义、编译技术的各种概念及实现过程的具体方法。介绍过程以算法为核心,力求简单明了地反映编译的基础知识。从形式语言理论角度讨论词法分析和语法分析技术,为计算机软件工作者开发大型软件打下良好基础。《普通高校计算机专业精品教材系列:编译原理及编译程序构造(第2版)》以理论联系实际为宗旨,内容深入浅出,重点突出,并结合构造el语言的编译程序介绍一种常用而又简单的编译方法。

D. 一道《编译原理》求follow集题目,在线等答案

哥们,你这个问题中的一个产生式E’→+TE’| e,应该是E->+TE’ |ε这样吧!否则不可能获得如此结果。
关于求follow集合,龙书中说得很清楚,依据三条规则即可:
1、任何FOLLOW(S)都包含输入终止符号,其中S是开始符号。
适用该条,因此FOLLOW(E’)中包含终止符号#。
2、如果存在产生式,A->αBβ,则将FIRST(β)中除ε以外的符号都放入FOLLOW(B)中。
该条不适用,因为在上述所有产生式中不存在形如E‘->αE’β这样的产生式。
3、如果存在产生式,A->αB,或A->αBβ,其中FIRST(β)中包含ε,则将FOLLOW(A)中的所有符号都放入FOLLOW(B)中。
适用该条,因为存在这样的产生式E->+TE’,使得FOLLOW(E’)=FOLLOW(E)成立。而FOLLOW(E)适用上述第二条,根据产生式F→(E)可求得为FOLLOW(E)={#,)}。
综上,FOLLOW(E’)=FOLLOW(E)={#,)}。

E. 求《编译原理》第三版(西北工业大学出版社)课后题答案

答案我已发到你的邮箱
节选:
第二章
2.3
叙述由下列正规式描述的语言
a)
0(0|1)*0
b)
((ε|0)1*)*
c)
(0|1)*0(0|1)(0|1)
d)
0*10*10*10*
e)
(00|11)*((01|10)(00|11)*(01|10)(00|11)*)*
Answer:
a)
以0开始和结尾,而且长度大于等于2的0、1串
b)
所有0,1串(含空串)
c)
倒数第三位是0的0、1串
d)
仅含3个1的0、1串
e)
偶数个0和偶数个1的0、1串(含空串)

F. 编译原理中的文法设计这题该怎么做,能给一下思路和答案吗

文法的设计需要考虑文法的类型和表达能力。一种可能的思路是:

  • 首先,确定值为非负的5的倍数或3的李腊消倍数的数字串有什么特征,例如结尾只能是0或5或3或6或9,不能有前导0等。

  • 然后,选择合适的文法类型来描述这些特征,例如正规文法、上下文无关文法等。

  • 最后,根据文法类哪知型的规则,给出局宽产生式和开始符号。

  • 一种可能的答案是:

  • 使用正规文法来描述这个语言。

  • 产生式如下:

  • S -> 0 | 3 | 5 | 6 | 9

  • S -> A0 | A3 | A5 | A6 | A9

  • A -> S

  • A -> AA

  • 开始符号为S。

G. 编译原理中语法分析的一道问题

LALR我做着做着觉得不对,但SLR还是没问题的,这道题工程量非常庞大,想必以后也一定有人问,我就简要的带过吧,我归纳的解题步骤是:

  1. 构造LR(0)项目集规范族

  2. 求出FOLLOW集

  3. 根据规则圈出sj和rj对应的产生式

  4. 算出goto数

  5. 构造分析表

H. 帮我做下两道简单的《编译原理》文法题目,在线等答案O(∩_∩)O谢谢!

热点内容
魅蓝e2存储卡 发布:2024-12-30 03:21:57 浏览:400
sql语句中if的用法 发布:2024-12-30 03:21:48 浏览:630
配置化疗药物怎么戴手套 发布:2024-12-30 03:20:22 浏览:639
编译apache 发布:2024-12-30 03:11:50 浏览:954
编程教程入门 发布:2024-12-30 03:08:22 浏览:447
怎么录阴阳师视频安卓 发布:2024-12-30 03:06:55 浏览:393
安卓6s手机怎么清内存垃圾 发布:2024-12-30 03:01:14 浏览:434
百度贴吧文件夹 发布:2024-12-30 02:59:47 浏览:97
java开发人员 发布:2024-12-30 02:26:17 浏览:537
存储技术参数 发布:2024-12-30 02:20:39 浏览:116