當前位置:首頁 » 編程軟體 » 編譯原理練習題第三章答案

編譯原理練習題第三章答案

發布時間: 2025-02-07 23:35:05

Ⅰ 請教幾個有關編譯原理的習題!

答:

1. S -> aS | ε
2. S -> aS | Sb | ab

設 有字元串序列 abc, 而字元串 abc 符合是文法S.
abc 有兩種推導 ① S -> Ac, A -> bc
② S -> aB, B -> bc
有兩語法樹,二義文法

不好意思忘記了短語、直接短語和句柄
課本上應該有

Ⅱ 編譯原理左遞歸消除

這些題很難啊!!!
都有間接左遞歸。要先變成直接左遞歸,然後消除掉。
--------------------
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:

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

Ⅲ 編譯原理題:分別構造下列語言的文法(4個題) 200分獻上。。。

(3)任何不是以0打頭的所有奇整數所組成的集合

解:G(S)
=
({S,A,B,I,J},{-,0,1,2,3,4,5,6,7,8,9},{S→J|IBJ,B→0B|IB|e,
I→J|2|4|6|8,
Jà1|3|5|7|9},S)
(4)所有偶數個0和偶數個1所組成的符號串集合

解:對應文法為
S→0A|1B|e,A→0S|1C
B→0C|1S
C→1A|0B

Ⅳ 幫我做下兩道簡單的《編譯原理》文法題目,在線等答案O(∩_∩)O謝謝!

Ⅳ 編譯原理文法問題,急急急

第一題
S->AB

A->aA'b
A'->aA'b|ε
B->B'
B'->dB'|ε
----------------------
第二題
S->aS'b

S'->aS'b|D
D->dD|ε
----------------------
第三題
最左推導的話,我認為要先消除左遞歸才行(把左遞歸轉成右遞歸),消除之後:
N->DN'
N'->DN'|ε
D->0|1|2|...|9
最左推導為 N->DN'->2N'->2DN'->25N'->25DN'->258N'->258
規范推導(最右推導)為N->ND->N8->ND8->N58->D58->258
----------------------
第四題
構造一下語法樹就知道了。直接短語是深度為2的節點(根節點是深度0)。短語是深度為2的節點代入深度為1的產生式中。句柄是所有直接短語中最左的那個。
1.baaa
>>>
_________S
_______/___\
______A_____B
_____/__\____|
____A___a___a
___/__\
__b___B
_______|
______a
直接短語為 Aa、a
短語為 Aaa
句柄為 Aa
2.bBaa
>>>
_________S
_______/___\
______A_____B
_____/__\____|
____A___a___a
___/__\
__b___B
直接短語為 Aa、a
短語為 Aaa
句柄為 Aa

Ⅵ 編譯原理習題求幫忙

熱點內容
伺服器地址及密碼 發布:2025-04-23 03:05:53 瀏覽:268
ct6買哪個配置的好 發布:2025-04-23 03:05:08 瀏覽:913
c語言輸出多組數據 發布:2025-04-23 03:04:21 瀏覽:577
liststringjava 發布:2025-04-23 02:56:18 瀏覽:407
asi源碼 發布:2025-04-23 02:46:45 瀏覽:577
小候編程 發布:2025-04-23 02:46:41 瀏覽:559
網路工程師使用哪些軟體寫腳本 發布:2025-04-23 02:28:43 瀏覽:458
c語言短路現象 發布:2025-04-23 02:23:54 瀏覽:303
可運行腳本怎麼寫 發布:2025-04-23 02:23:09 瀏覽:324
安卓死亡空間怎麼飛行 發布:2025-04-23 02:17:21 瀏覽:545