Re: [問題] BNF文法問題

看板Programming作者 (......)時間14年前 (2011/04/07 21:24), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/6 (看更多)
※ 引述《LPH66 (-858993460)》之銘言: : ※ 引述《supercygnus (......)》之銘言: : : 給定下列BNF 文法規則: : : <pop>::=[<bop>,<pop>]|<bop> : : <bop>::= <boop>|(<pop>) : : <boop>::= x|y|z : : 請問下列那些字串不屬於上述語法所規範的集合? : : 猨A.([x,y]) 獏B.[(x),y] 獱C.[(x),[y,x]] 斅D.[y] : : 答案是D : : 想問到底要怎麼推倒呢@@? 我推來推去感覺都可以 : : 可幫忙解答一下嗎 ~? 3Q ^^ : 以下為前三者的 leftmost derivation : A. B. C. (接B.第6行) : <pop> <pop> [(x),<pop>] : <bop> [<bop>,<pop>] [(x),[<bop>,<pop>]] : (<pop>) [(<pop>),<pop>] [(x),[<boop>,<pop>]] : ([<bop>,<pop>]) [(<bop>),<pop>] [(x),[y,<pop>]] : ([<boop>,<pop>]) [(<boop>),<pop>] [(x),[y,<bop>]] : ([x,<pop>]) [(x),<pop>] [(x),[y,<boop>]] : ([x,<bop>]) [(x),<bop>] [(x),[y,x]] : ([x,<boop>]) [(x),<boop>] : ([x,y]) [(x),y] : D.不能的原因 你仔細觀察即可看到 [ ] 中間必恰有一個不在其內的括號當中的逗號 : 而 [y] 在 [ ] 中間沒有逗號 故不屬於此語法所規範的集合 考慮以下文法: E → E * T | T T → T + P | P P → i | (E) i → 0 | 1 | 2….. 則2 * 3 + 4 * 5值為何? 答:70(2*7*5) 為什麼呢@@ 我還是推不出來,就是怪@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.105.145

04/07 22:26, , 1F
你推的過程是什麼?
04/07 22:26, 1F
文章代碼(AID): #1DdRices (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 6 篇):
文章代碼(AID): #1DdRices (Programming)