LL推導和LR推導

2021-08-30 09:40:31 字數 576 閱讀 3379

1、ll推導,從左至右分析,最左推導,超前檢視k個單詞

1)總是擴充套件產生式右邊部分的最左邊非終結符的推導

2)使用follow()和first()

3)first(x)指從x可推導出的任意字串(即x產生式右邊部分),follow(x)指從直接跟隨x之後的終結符集合。

2、lr推導,從左至右分析,最右推導,超前檢視k個單詞

1)總是擴充套件產生式右邊部分的最右邊非終結符的推導。

2)使用closure()和goto()

3)i是乙個項集合,x是乙個方法符號(終結符或非終結符),圓點代表分析器當前位置,文法規則與指出其右部位置的圓點組合在一起稱為項.乙個狀態是由若干個項組成的集合。

closure(i)=

repeat

fori中的任意項a->α.xβ

for 任意產生式x->γ

i<-i∪

until i沒有改變

return i

goto(i,x)=

設定j為空集合

fori中的任意項a->α.xβ

將a->α.xβ加入到j中

return closure(j)

最左推導和最右推導

於 1.定義 2.丟擲乙個小栗子 文法g e 為 給出i i i的最左推導和最右推導。思考三分鐘再往下看哦 解析 最左推導 從文法的起始符號開始 e e t t t f t i t i t f i f f i i f i i i 最右推導 從文法的開始符號開始 e e t e t f e t i e...

編譯原理之最左推導和最右推導

符號串的最左推導及最右推導 需求分析 1 輸入乙個文法,可以有多個非終結符號,每個非終結符號可有多條規則。2 輸入要分析的符號串 3 分別採用最左推導和最右推導進行符號串的分析,請輸出推導過程。文法為 e cb c c b b 假如有個要分析的字串為 eb最左推導的分析為 1cbb 2cbb 3cb...

python 推導 Python 推導式

python 語言有一種獨特的語法,它可以用最簡單的方式生成乙個列表 元組或字典,它們叫推導式。常見的推導式 列表推導式 字典推導式 集合推導式 列表推導式 列表推導式可以快速生成乙個列表,其語法格式為 x x for x in range 6 結果 0,1,4,9,16,25 相當於 l for ...