12

通读BSON 规范,我在其中遇到了终端非终端术语。例如:

有效的 BSON 数据由文档non-terminal表示。

<...>

以下基本类型在语法的其余部分用作终结符。

在 BSON 规范的上下文中,“终端”和“非终端”是什么意思?

4

1 回答 1

21

在形式语法中,终结符号是不能进一步分解的符号,例如文字字符或数字(但不一定取决于语法),非终结符号是可以通过产生式进一步简化的符号规则(定义语法的规则)直到它被简化为终结符号,例如,在下面的语法integer中是非终结符号,0-9都是终结符号。

<integer> ::= ['-'] <digit> {<digit>}  
<digit> ::= '0' | '1' | '2' | > '3' | '4' | '5' | '6' | '7' | '8' | '9'

http://en.wikipedia.org/wiki/Terminal_and_nonterminal_symbols

于 2012-11-03T05:59:08.617 回答