作为家庭作业,我必须为十六进制数<hex>
编写BNF定义。
这是使用<digit>
和<letter>
完成的,两者都定义如下:
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<letter> ::= A | B | C | D | E | F
教科书答案如下:
<hex> ::= <digit> | <letter> | <hex> <digit> | <hex> <letter>
我同意这是一个正确的答案,但我想问一下答案是否正确如下:
<hex> ::= <digit> | <letter> | <hex> <hex>