BNF 表示十六进制数
BNF for a hexadecimal number
作为家庭作业,我必须为十六进制数编写 BNF 定义 <hex>
。
这将使用<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>
不,只看 textbook grammar 与
suggested grammar (code)。注:解析树代表推导。
作为家庭作业,我必须为十六进制数编写 BNF 定义 <hex>
。
这将使用<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>
不,只看 textbook grammar 与 suggested grammar (code)。注:解析树代表推导。