Re: [請益] 有 Compiler 達人嗎? Orz

看板Programming作者 (㊣烏笨禿,又笨又禿)時間17年前 (2008/06/27 23:14), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《itchy (Lucky we love you.)》之銘言: : : → MOONRAKER:阿又不是一定會加在這種沒妨礙的地方 : : → MOONRAKER:有的地方會有影響,別的地方則否 : : → MOONRAKER:各有不同,你應該分項討論,這就是重點 : 感謝回應~ : 不過還是不太瞭耶 囧 : ε加在哪裡不都一樣嗎? : e.g. : E' --> E : E --> E + T : T --> T * F | ε : F --> (E) | id : 或 : E' --> E : E --> E + T : T --> T * F : F --> (E) | id | ε : 是我漏掉什麼地方嗎? @@" 以上你舉的第一個例子是沒什麼問題,但是第二個會發生錯誤。 為了讓你自己體會,我舉一個比較土的例子好了 以下的文法稱為"水果店" <水果籃> → <水果> | <水果> + <水果籃> <水果> → 葡萄 | 香蕉 | 西瓜 | 芭樂 你可以看得出來 < > 括住的是 nonterminals, 而沒有 < > 的就是 terminals. 然後我們考慮以下的"水果店*"文法: <水果籃> → <水果> | <水果> + <水果籃> <水果> → 葡萄 | 香蕉 | 西瓜 | 芭樂 | ε 然後現在我有一堆水果 芭樂 西瓜 葡萄 西瓜 香蕉 你把這堆水果用"水果店"和"水果店*" parse 一下,看看中間過程會有什麼差別。   -- BATCH 1 (4/20) - 如何隱身 - SPAM - 英國殺人笑話 - http://tinyurl.com/65vvbx BATCH 2 (5/10) - 當眾脫褲 - 主教 - 傻蛋奧運會 - http://tinyurl.com/68grk7 BATCH 3 (6/14) - 買張床 - 切達大俠 - 伐木人之歌 - http://tinyurl.com/3zpyx5 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ 蒙帝派松正體中文計畫 Spam-a-lot and enjoy the pythonesque delight! ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.199.251
文章代碼(AID): #18PGFXF0 (Programming)
文章代碼(AID): #18PGFXF0 (Programming)