Re: [問題] BNF文法問題
※ 引述《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
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章