通读BSON 规范,我在其中遇到了终端和非终端术语。例如:
有效的 BSON 数据由文档non-terminal表示。
<...>
以下基本类型在语法的其余部分用作终结符。
在 BSON 规范的上下文中,“终端”和“非终端”是什么意思?
在形式语法中,终结符号是不能进一步分解的符号,例如文字字符或数字(但不一定取决于语法),非终结符号是可以通过产生式进一步简化的符号规则(定义语法的规则)直到它被简化为终结符号,例如,在下面的语法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