BNF范式(巴科斯范式) 是一种用递归的思想来表述计算机语言符号集的定义规范。
基本结构: <non-terminal> ::= <replacement>
non-terminal
意为非终止符,就是说我们还没有定义完的东西,还可以继续由右边的replacement
,也就是代替物来进一步解释、定义。
语法规则:
- 非终结符用尖括号括起。
- 每条规则的左部是一个非终结符,右部是由非终结符和终结符组成的一个符号串。
- 具有相同左部的规则可以共用一个左部,各右部之间以"|"隔开。
关键字:
::= :意为"被定义为"
" " :代表着字符本身,某些情况下为加粗表示
< > :包含的为必选项
( ) :包含的所有项为一组,用于控制表达式的优先级
[ ] :包含的为可选项,即可出现零次或一次
{ } :包含的为可重复出现或不出现的项,即可出现零次到无数次
| :左右两边为并列选项,类似"or"
举例: