導航:首頁 > 源碼編譯 > 編譯原理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文法判斷相關的資料

熱點內容
歐姆龍plc編程第36講 瀏覽:907
我的世界如何將一個伺服器弄崩 瀏覽:6
php網站訪問量代碼 瀏覽:431
怠速壓縮機咔咔響 瀏覽:176
怎麼才能修改APP中的數據 瀏覽:688
哪裡有搶單的app 瀏覽:462
演算法概率題 瀏覽:465
長方形拉伸的命令 瀏覽:279
python代碼函數編程技術 瀏覽:194
java正則式 瀏覽:429
外包程序員好進嗎 瀏覽:384
雲伺服器服務模型架構 瀏覽:901
刪文件夾什麼指令 瀏覽:509
極速抖音已加密怎麼辦 瀏覽:603
matlab拉格朗日演算法框圖 瀏覽:430
華為公司計算機視覺演算法顧問 瀏覽:254
夏老師講的單片機 瀏覽:298
在編程中如何將圖片放大 瀏覽:163
appstore怎麼看是否付費 瀏覽:603
程序員和碩士 瀏覽:951