什么是BNF范式

转载 2013年12月02日 10:01:18

什么是巴科斯范式? 
   
  巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集。
  现在,几乎每一位新编程语言书籍的作者都使用巴科斯范式来定义编程语言的语法规则。    
      
     巴科斯范式的内容  

在双引号中的字("word")代表着这些字符本身。而double_quote用来代表双引号。
在双引号外的字(有可能有下划线)代表着语法部分。 
尖括号( < > )内包含的为必选项。 
方括号( [ ] )内包含的为可选项。 
大括号( { } )内包含的为可重复0至无数次的项。 
竖线( | )表示在其左右两边任选一项,相当于"OR"的意思。 
::= 是“被定义为”的意思。 
   
     巴科斯范式示例  

         这是用BNF来定义的Java语言中的For语句的实例:

FOR_STATEMENT ::= 
      "for" "(" ( variable_declaration | 
  ( expression ";" ) | ";" ) 
      [ expression ] ";" 
      [ expression ] ";" 
      ")" statement

相关文章推荐

BNF范式查看器

  • 2016年11月20日 01:07
  • 82KB
  • 下载

sql-92_bnf巴格达范式

  • 2008年11月24日 11:15
  • 75KB
  • 下载

巴科斯范式(BNF: Backus-Naur Form)

什么是巴科斯范式?   巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首次引入一种形式化符号来描述给定语言的语法(最早用于描...

BNF范式简介

 BNF 规定是推导规则(产生式)的集合,写为: ::= 这里的 符号> 是非终结符,而表达式由一个符号序列,或用指示选择的竖杠 '|' 分隔的多个符号序列构成,每个符号序列整体...

C语言的BNF范式表示

bison 的规则中,对文法的描述,使用的是BNF范式,这是一种上下文无关文法。 用BNF来描述C语言,比自然语言简练多了,当然,逻辑上会有点复杂,不过平时可以研究研究。 以下代码来自 http:...

BNF(巴科斯-瑙尔范式)和EBNF(扩展巴科斯-瑙尔范式)

新的一年到来了,首先祝愿大家也祝自己都能在新的一年里身体健康,离自己的理想越来越近。 有个哥们去了外滩玩儿,现在还联系不上,希望他一切OK,benison for him。 因为科目二考试和最近平台不...
  • jinnlxl
  • jinnlxl
  • 2015年01月01日 11:16
  • 445

BNF范式和EBNF范式

1、什么是BNF范式,什么又是EBNF范式?(在学习中经常会碰到用BNF范式描述的规则,老是忘记每个符号确切的作用,现在把他们一一罗列如下,亲手记录的东西应该能记住吧。。。-__-|||) ...

What's BNF Notation

原文:http://cui.unige.ch/db-research/Enseignement/analyseinfo/AboutBNF.html What is BNF notation? BN...

语法规范:BNF与ABNF

早上做智能施法项目,说一句话比如“明天6点开灯”,智能插座就会在6点把灯开起来,这涉及到语音语法方面的问题。由于科大讯飞开发语义,就决定用讯飞的SDK BNF        巴科斯范式(BNF...

c语言的bnf总结

注:不能说是自己的原创,只能说自己是总结了下而已 translation_unit : external_decl | translation_unit external_decl ;exte...
  • sileiam
  • sileiam
  • 2013年11月16日 22:48
  • 663
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是BNF范式
举报原因:
原因补充:

(最多只允许输入30个字)