通过BSON specification阅读,我遇到了终端和非终端条款。例如:
有效的BSON数据由文档非终端表示。
< ...>
以下基本类型在语法的其余部分用作终端。
在BSON规范的背景下,“终端”和“非终端”是什么意思?
答案 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