※ 引述《stator (別急著吃棉花糖)》之銘言:
: 請問哪個選項內容無法利用下列BNF 語法產生出來
: <digit> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0
: <number> ::= <digit> | <digit><number>
: A.123 B.12.3 C.012 D.000
: 希望能請教版上大大該怎麼看這題~上面的語法「|」是代表OR的意思嗎?
: 謝謝
<digit> 能展開成0~9的數字 或者你看成替換
<number> ::= <digit> __Rule-1 或者(OR) |
<number> ::= <digit><number> __Rule-2
以A為例
<number> (選第二個Rule)
|
<digit><number> (選第二個Rule)
| |
/ \
/ \
/ \
1 <digit><number> (選第一個Rule)
/ \
/ \
/ \
2 <digit>
|
|
3 (此為A選項123的剖析樹)
只有B選項的12.3無法展開 因為你的BNF語法裡
沒有提供你展開小數點的規則