作者tsiteowy (有理想的男人)
看板TransCSI
标题Re: [问题] BNF语法请教
时间Mon Sep 12 21:13:32 2011
※ 引述《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语法里
没有提供你展开小数点的规则
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.70.161.112
1F:推 stator:原来如此。谢谢T大 09/12 22:43