BSON |终端和非终端

时间:2012-11-03 05:51:26

标签: bson

通过BSON specification阅读,我遇到了终端非终端条款。例如:

  

有效的BSON数据由文档非终端表示。

< ...>

  

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

在BSON规范的背景下,“终端”和“非终端”是什么意思?

1 个答案:

答案 0 :(得分:17)

在形式语法中,终端符号是不能进一步细分的符号,例如:一个文字字符或数字(但不一定取决于语法),非终端符号是一个符号,可以通过生产规则(定义语法的规则)进一步减少,直到它被缩减为终端符号,例如,在以下语法中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