BNF范式和EBNF范式

BNF范式和EBNF范式

BNF 的全称是 Backus–Naur form,是一种表示上下文无关语法的表示方式。

BNF范式(巴科斯范式)是一种用递归的思想来表述计算机语言符号集的定义规范。
基本结构为 ::=

non-terminal意为非终止符,就是说我们还没有定义完的东西,还可以继续由右边的replacement,也就是代替物来进一步解释、定义。

法则:
::=表示定义;
“ ”双引号里的内容表示字符;
<>尖括号里的内容表示必选内容;
| 竖线两边的是可选内容,相当于or;
示例
定义java中的switch语句:
::= switch ( )
::= { }
::= |
::=
::= |
::= case :<……> | default :< ……>
BNF:Backus-Naur Form
描述语言的数学方法,是定义语言的语法,非常精确,没有歧义;

BNF
从一个符号开始,起始标志,给出替换前面符号的规则;
这些规则叫做书写规范,形式如下:
symbol := alternative1 | alternative2 …
:=左侧的符号必须被右侧某一个可选项代替;
替换项通常有两个符号和终结符构成,终结符代表书写过程终止;
另一种变化,把终止符放在引号中,与符号区分开;
@表示符号可以去掉;

EBNF(Extended Backus–Naur form),是一个计算机用语,意思是扩展的巴科斯范式,用来描述计算机语言语法的符号集。

现在在网络上大多数能搜出来的都是extended BNF ,允许使用循环。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值