[討論] 雙班作業三一個問題

看板b93902HW作者 (阿痕)時間18年前 (2007/04/15 14:15), 編輯推噓6(600)
留言6則, 3人參與, 最新討論串1/1
題目的文法前半段是這樣 E -> E' T E' -> T E' | ( T') | R H | epsilon 假設我現在要算 FIRST(E') 於是我先去看 E' -> T E'這項文法 FIRST(T) , 發現FIRST(T) 中有 epsilon , 於是我把FIRST(T) 中除了 epsilon 以外的 元素都加到 FIRST(E') 中 , 然後繼續看...就看到FIRST(E') ??? 自己 遇到這種情況要怎麼處理阿 請高手指點一下>< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.105.155

04/15 15:12, , 1F
你可以把E和E'以外的FIRST先求出來就比較容易做了
04/15 15:12, 1F

04/15 16:07, , 2F
我是最後做這兩個沒錯阿 但這種加自己的情況該怎解決?
04/15 16:07, 2F

04/15 16:42, , 3F
我是做到FIRST(E')=FIRST(E')∪{所有的terminal}後
04/15 16:42, 3F

04/15 16:43, , 4F
就得出FIRST(E')={所有的terminal}
04/15 16:43, 4F

04/15 17:01, , 5F
別陷入epsilon無限迴圈 他總是要生出一個terminal來
04/15 17:01, 5F

04/15 17:41, , 6F
thx
04/15 17:41, 6F
文章代碼(AID): #168SBgJ5 (b93902HW)