BNF范式和EBNF范式
BNF 的全称是 Backus–Naur form,是一种表示上下文无关语法的表示方式。
non-terminal意为非终止符,就是说我们还没有定义完的东西,还可以继续由右边的replacement,也就是代替物来进一步解释、定义。
法则:
::=表示定义;
“ ”双引号里的内容表示字符;
<>尖括号里的内容表示必选内容;
| 竖线两边的是可选内容,相当于or;
示例
定义java中的switch语句:
BNF:Backus-Naur Form
描述语言的数学方法,是定义语言的语法,非常精确,没有歧义;
BNF
从一个符号开始,起始标志,给出替换前面符号的规则;
这些规则叫做书写规范,形式如下:
symbol := alternative1 | alternative2 …
:=左侧的符号必须被右侧某一个可选项代替;
替换项通常有两个符号和终结符构成,终结符代表书写过程终止;
另一种变化,把终止符放在引号中,与符号区分开;
@表示符号可以去掉;
EBNF(Extended Backus–Naur form),是一个计算机用语,意思是扩展的巴科斯范式,用来描述计算机语言语法的符号集。
现在在网络上大多数能搜出来的都是extended BNF ,允许使用循环。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/123762.html