導航:首頁 > 源碼編譯 > 編譯原理ll1文法判斷

編譯原理ll1文法判斷

發布時間:2025-01-23 02:26:06

『壹』 編譯原理判斷題

1. B 正確
2. A 錯誤,不一定存在
3. B 正確
4. B 正確
5. A 錯誤,是後綴式
6. A 錯誤,只是算符文法,不一定是算符優先文法
7. B 正確
8. B 正確
9. A 錯誤,語義動作是附加在產生式上的,不是附加在非終結符上
10. A 錯誤,有些文法不能改寫為LL(1)文法
11. B 正確
12. B 正確
13. B 正確
14. B 正確
15. A 錯誤,SLR(1),LR(1)等都是沖突解決的辦法
16. B 正確
17. B 正確
18. A 錯誤,不是編譯程序工作效率高,而是生成的目標程序運行效率高
19. B 正確

『貳』 關於LL(1)文法

(1)first(E)={(,i},first(D)={+,-,ε},first(T)={(,i},first(S)={*,/,ε}
first(F)={(,i}
follow(E)={#,)},follow(D)={#,)},follow(T)={+,-,#,)} follow(S)={+,-,#,)} follow(F)={*,/,+,-,#,)}
(2)select(E->TD)=FIRST(TD)={(,i}
SELECT(E->+TD)={+}
SELECT(E->-TD)={-}
SELECT(E->ε)={#,)}
SELECT(T->FS)={(,i}
SELECT(S->*FS)={*}
SELECT(S->/FS)={/}
SELECT(S->ε)={+,-,#,)}
SELECT(F->(E))={(}
SELECT(F->i)={i}
預測分析表:
+ - * / ( ) i #
E ->+TD ->-TD ->TD ->ε ->TD ->ε
D
T ->FS ->FS
S ->ε ->ε ->*FS ->/FS ->(E) ->ε ->ε
F ->i

(3)i/i-i的分析過程:
步驟 輸入串 剩餘串 移進或規約
1 # i/i-i#
2 #i /i-i# E->TD
3 #DT ......
...
剩餘的只要按照書上的步驟填就行了。

『叄』 什麼叫首符集不相交 編譯原理(判定是否為LL(1)文法)

就是各自的first集沒有相同的元素

『肆』 編譯原理的LL(1)文法是什麼意思

第一個L表示從左向右讀取要判斷的字元(括弧內數字表示每次讀取的字元數),第二個L指最左推導。

『伍』 關於LL(1)文法的編譯原理題目

判斷是不是LL(1),首先看候選式的首字元有沒有相同的,第二判斷首字元迭代進去是否會構成左遞歸。
如果首字元不相同,也沒用左遞歸就說明此文法是LL(1)
M→MaH|H
H→(M)|b(M)|b
第一個產生式中存在左遞歸:M->MaH
第二個產生式中存在首字元相同:H->b(M) ,
H->b
怎麼改呢?
對第一個產生式,消除左遞歸就是要變成右遞歸,把右邊剩下的符號提到前面:
M->aHM'

M'->aHM'
對第二個產生式,提出公共因子
H->b( (M)|ε)
=>
H->bH'

H'->(M)|ε

『陸』 編譯原理怎麼判斷是否為slr文法

LL(1)就是向前只搜索1個符號,即與FIRST()匹配,如果FIRST為空則還要考慮FELLOW.
LR需要構造一張LR分析表,此表用於當面臨輸入字元時,將它移進,規約(即自下而上分析思想),接受還是出錯.
LR(0)找出句柄前綴,構造分析表,然後根據輸入符號進行規約.
SLR(1)使用LR(0)時若有沖突,不知道規約,移進,活移進哪一個,所以需要向前搜索,則只把有問題的地方向前搜索一次.
LR(1)1.在每個項目中增加搜索符.2.舉個列子如有A->α.Bβ,則還需將B的規則也加入.
LALR(1)就是假如兩個產生式集相同則將它們合並為一個,幾合並同心集.

『柒』 編譯原理題目關於判斷LL(1)文法的

A 不是,因為含有左公共引子a
B 和D不是,因為含有左遞歸
C是,因為SELECT(S→aS) 與SELECT(S→b)的交集為空,符合LL(1)文法的定義。

『捌』 編譯原理的LL(1)文法是什麼意思

1.文法不含左遞歸,沒有公共左因子
2.對於文法中的每個非終結符A的產生式的候選首符集兩兩不相交。
3.對於文法中的每個非終結符A,它存在某個候選首符集包括ε,則FIRST(A)∩FOLLOW(A)=空
滿足以上條件的文法為LL(1)文法

『玖』 編譯原理 對一個文法進行改寫,然後判斷改寫後的文法是不是LL(1)文法,請問改寫方式的不同是否影響結果

樓上的答案是錯誤的。對同一種文法,可能同時存在兩種改寫方法,其中一種使改寫後的新文法為LL(1)文法,而另外一種使改寫後的新文法不為LL(1)文法。

閱讀全文

與編譯原理ll1文法判斷相關的資料

熱點內容
有個腹黑程序員男友是什麼體驗 瀏覽:110
pdf添加文本框 瀏覽:770
系統文件夾很大沒有文件 瀏覽:74
蘇寧電器app如何還分期 瀏覽:635
蘋果怎麼在主屏幕創建文件夾 瀏覽:627
河南雲伺服器租用虛擬主機 瀏覽:361
centos修改ip命令 瀏覽:779
租用伺服器屬於什麼服務類型 瀏覽:135
英雄聯盟說沒有網路連接到伺服器地址 瀏覽:28
單片機周期信號波形識別 瀏覽:42
演算法驅動的成長史 瀏覽:936
好又省APP怎麼用 瀏覽:576
pdf在線格式轉換jpg格式轉換器 瀏覽:868
中興捧月演算法大賽第二場 瀏覽:15
穿雲伺服器 瀏覽:394
單片機核心電壓表 瀏覽:151
最強大逃頂通達信指標源碼 瀏覽:441
java程序員面試寶典歐立奇 瀏覽:457
cad命令不要跟著游標 瀏覽:200
騰訊軟體伺服器是什麼 瀏覽:895