当前位置:首页 » 编程软件 » 编译原理测试题及答案

编译原理测试题及答案

发布时间: 2024-07-13 16:17:39

⑴ 一道《编译原理》求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)={#,)}。

⑵ 编译原理左递归消除

这些题很难啊!!!
都有间接左递归。要先变成直接左递归,然后消除掉。
--------------------
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:

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

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

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

  • 首先,确定值为非负的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。

⑷ 编译原理题,求大家帮忙看一下如何解答

一、选择题

  1. A B

  2. D

  3. C

  4. A B

  5. C

  6. D

二、判断题


热点内容
可区分存储单元中存放的是指令还是数据 发布:2024-10-18 17:57:26 浏览:886
java中return返回值 发布:2024-10-18 17:57:11 浏览:560
安卓换苹果主题对手机有什么影响 发布:2024-10-18 17:49:11 浏览:117
华易数据库 发布:2024-10-18 17:48:05 浏览:358
概率题算法 发布:2024-10-18 17:44:30 浏览:421
可以写源码的文本编译器 发布:2024-10-18 17:44:29 浏览:282
100到200素数c语言 发布:2024-10-18 17:38:20 浏览:181
有钱还众筹源码 发布:2024-10-18 17:33:13 浏览:213
java前一个月 发布:2024-10-18 17:07:19 浏览:950
战地配置有哪些 发布:2024-10-18 16:44:48 浏览:311