Re: [问题] BNF语法请教

楼主: tsiteowy (有理想的男人)   2011-09-12 21:13:32
※ 引述《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语法里
没有提供你展开小数点的规则
作者: stator (别急着吃棉花糖)   2011-09-12 22:43:00
原来如此。谢谢T大

Links booklink

Contact Us: admin [ a t ] ucptt.com