ebnf范式_BNF范式(巴科斯范式)到底是什么?

让我来试着说几句人话...

BNF是John Backus 在20世纪90年代提出的用以简洁描述一种编程语言的语言。

基本结构为:

::=

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

举个例子:

在中文语法里,一个句子一般由“主语”、“谓语”和“宾语”组成,主语可以是名词或者代词,谓语一般是动词,宾语可以使形容词,名词或者代词。那么“主语”、“谓语”和“宾语”就是非终止符,因为还可以继续由“名词”、“代词”、“动词”、“形容词”等替代。

例1. ::=

例2. ::= |

例3. ::=

例4. ::=||

例5. ::=

例6. ::=

例7. ::=

例8. ::=

例9. ::=

如上,在::=左边的就是non-terminal非终止符,右边的就是replacement,可以是一系列的非终止符,如例1中的replacement便是后面例234左边的非终止符,也可以是终止符,如例56789的右边,找不到别的符号来进一步代替。

因此,终止符永远不会出现在左边。一旦我们看到了终止符,这个描述过程就结束了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值