Re: [問題] BNF文法問題
※ 引述《yauhh (喲)》之銘言:
: ※ 引述《supercygnus (......)》之銘言:
: : 考慮以下文法:
: : E → E * T | T
: : T → T + P | P
: : P → i | (E)
: : i → 0 | 1 | 2…..
: : 則2 * 3 + 4 * 5值為何?
: : 答:70(2*7*5) 為什麼呢@@ 我還是推不出來,就是怪@@
: 2*3+4*5 由 E 規則可能有 <E,2>*<T,3+4*5> 或 <E,2*3+4>*<T,5> 而前者一下子
: 就會推到盡頭得不到解答. 然後可以看後者:
: <E,2*3+4*5>
: = <E,2*3+4>*<T,5> { 由 E.1 }
: = <E,2>*<T,3+4>*<T,5> { 由 E.1 }
: = <T,2>*<T,3+4>*<T,5> { 由 E.2 }
: = <P,2>*<T,3+4>*<T,5> { 由 T.2 }
: = <i,2>*<T,3+4>*<T,5> { 由 P.1 }
: = 2*<T+P,3+4>*<T,5> { 由 i 和 T.1 }
: = 2*<<T,3>+<P,4>>*<T,5> { 由 T.1 }
: ...
: = 2*<<i,3>+<i,4>>*<i,5>
: = 2*7*5
: = 70
延續y大的答案而產生的問題...
該如何判斷一個文法如何拆解呢?
不太懂這句
而前者一下子就會推到盡頭得不到解答
因為我推導出來E * T之後
T再推導下去,感覺就推不出來了...
是因為這樣才不考慮這個解答嗎?
另外一問...
E→E + T | T
T→T * F | F
F→(E) | id (E)可視為E嗎?如不行,這題則不為模糊?對嗎?
這個文法是模糊文法嗎?
我的判斷為是模糊文法?對嗎?
※ 編輯: killermomo 來自: 112.105.171.107 (05/10 00:38)
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章