作者civelant (阿痕)
看板b93902HW
標題[討論] 雙班作業三一個問題
時間Sun Apr 15 14:15:03 2007
題目的文法前半段是這樣
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
推 htl:你可以把E和E'以外的FIRST先求出來就比較容易做了 04/15 15:12
推 civelant:我是最後做這兩個沒錯阿 但這種加自己的情況該怎解決? 04/15 16:07
推 htl:我是做到FIRST(E')=FIRST(E')∪{所有的terminal}後 04/15 16:42
推 htl:就得出FIRST(E')={所有的terminal} 04/15 16:43
推 usoko:別陷入epsilon無限迴圈 他總是要生出一個terminal來 04/15 17:01
推 civelant:thx 04/15 17:41