編譯原理中,在文法G中,E的follow集為什麼會含有右括

時間 2021-05-07 19:59:11

1樓:志當存高遠

這個問題中的一個產生式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)=.

2樓:傑仔系邊度

因為f->(e),e->te』 所以有f->(te』)這樣知道原理了嗎,你沒有理解清楚follow集,之前人的回答是錯的

編譯原理中的follow集怎麼計算

3樓:匿名使用者

follow(a)

指的是所有包含a的句型中,直接跟在a後面的終結符或#的集合。

舉例:對於文法g(s)

1.s->l=r

2.s->r

3.l->*r

4.l->i

5.r->l

要求l的follow集,則首先要找出所有包含l的句型根據產生式1可知有句型l=r

將產生式5帶入1或2中有l=l或l

則l的follow集就是上邊所有包含l句型中l後邊緊跟著的終結符,如果l在句型的結尾則#包含在其follow集中

所有follow(l)=

希望我的回答能幫到樓主~

4樓:sss6木

follow集看產生式右邊,緊跟它其後的字元。

①緊跟的為終結符(小寫),直接將其加入follow集。

②緊跟的為非終結符(大寫),看此非終結符的first集,把first集加入到follow集,注意若first集包含ε(空符號串),則去掉ε,並且把產生式左邊非終結符follow集也加入到follow集。

③後無,則產生式左邊非終結符follow集加進去。

注:follow集無ε。開始符(一般s)follow集記得一定要加上#。

over,其實first集更麻煩。

編譯原理 設文法g[s] 求答案! 10

5樓:李唐泥鰍短**

·消除左遞迴 s→aas'|∧aas'

s'→vaas'|ε

對a的產生式提取左因子  a→∧aa'  a'→a|ε· 非終結符合  first    follows               a ∧      #s』              v  ε      #a              ∧          #a『             ∧          #select(s→aas')=a

select(s→∧aas')=∧

select(s'→vaas')=v

select(s'→ε)=#

select(a→∧aa')=∧

select(a'→a)=∧

select(a'→ε)=#

符合ll(1)文法

a                 ∧            v                 #

s  s→aas'    s→∧aas'

s'                                   s'→vaas'   s'→ε

a                  a→∧aa'

a'                    a'→a                          a'→ε

編譯原理中,形式語言裡怎麼區分2型文法與3型文法

可以叫我表哥 二型文法如下 s ac s sc a ab a aab 三型文法如下 s as a ba b cb b c a bb a 2型文法是上下文無關文法,表現在產生式上就是產生式的左部只有一個非終結符 3型文法從廣義上講包括左線形文法 右線形文法和正規文法 b 左線形文法產生式的右部要麼沒有...

請問在3g與4g網路中如何手動切換

中國聯通 4g向下相容,系統自動根據您個人實際使用的網路環境,在4g 3g 2g網路之間切換使用,當然,前提是您手機開啟了4g蜂窩資料,您可進入手機設定裡面操作。 如果是安卓機的話在撥號鍵盤裡輸入 4636 會彈出測試 在裡面選擇手機資訊 再往下有個首選網路型別 能設定2g 3g 4g 深圳市智炫顯...

在量子力學中,如何用實驗證明「測不準」原理

手機使用者 測不準就是對實驗結果的描述而已,不是證明出來的。你說的那個方法,只是一部分人對實驗結果的理解,因為它最簡單最接近巨集觀粒子的運動狀況,所以接受的人多。測不準和波粒二象性練習不大,但都是對未觀測的粒子狀態的一種描述,波粒二象性也是對實驗結果的描述,不是證明出來的,無法證明。測不準和波粒二象...