`
miyazaki
  • 浏览: 17069 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

EBNF范式

阅读更多
1、巴科斯范式:巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集。现在,几乎每一位新编程语言书籍的作者都使用巴科斯范式来定义编程语言的语法规则。
2、巴科斯范式的内容:
在双引号中的字("word")代表着这些字符本身。而double_quote用来代表双引号。
在双引号外的字(有可能有下划线)代表着语法部分。
< > : 内包含的为必选项。
[ ] : 内包含的为可选项。
{ } : 内包含的为可重复0至无数次的项。
|  : 表示在其左右两边任选一项,相当于"OR"的意思。
::= : 是“被定义为”的意思
3、扩展的巴科斯范式(Augmented BNF):RFC2234 定义了扩展的巴科斯范式(ABNF)。近年来在Internet的定义中ABNF被广泛使用。ABNF做了更多的改进,比如说,在ABNF中,尖括号不再需要。
4、EBNF的基本内容:
"..." : 术语符号
[...] : 选项:最多出现一次
{...} : 重复项: 任意次数,包括 0 次
(...) : 分组
|   : 并列选项,只能选一个
斜体字: 参数,在其它地方有解释
分享到:
评论

相关推荐

    词法分析器

    用EBNF范式设计的一个简单的程序设计语言(语言中有+、-运算,语句有赋值语句、输入语句、输出语句、复合语句)

    词法分析器实验报(C语言)

    完成一个交互式面向对象的词法编译器的设计,而一个交互式面向对象的词法编译器基本功能是: (1) 输入源程序: (2) 输出单词,输出形式为:(序号,单词,对应源程序行号,对应源程序列号);...

    MDA.rar_mda

    根据MDA的思想,给出了用于统一描述...采用EBNF范式对描述映射关系的语法进行形式化定义和描述,同时给出映射关系的相关语义说明。在研究的基础上实现了数据映射功能,并投入实际应用,文中给出数据映射的应用实例。

    c++程序设计语言,实例程序代码,简单,易懂

    c及其c++编程,讲解精细,易懂,适合初学者对编程语言的学习

    ISO_IEC_14977_1996(E) 信息技术 语法元语言 扩展的BNF标准(EBNF) .pdf

    信息技术 语法元语言 扩展的BNF标准(EBNF) 巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集。现在,几乎每一位新编程语言书籍的作者都使用...

    扩展巴科斯范式.pdf

    常用的语法描述语言,某些情况下(例如:boost/sprit),可以用于编写语法解析器 例如:自己写一个c++函数识别程序,自动匹配函数名以及参数,用于写单元测试程序有可能会用到语法识别。

    基于EBNF和二次爬取策略的XSS漏洞检测技术

    针对传统基于渗透测试技术的漏洞检测方法中攻击向量复杂度低易被过滤、整体检测流程繁琐等问题,提出了一种基于扩展的巴科斯范式(EBNF)的攻击向量自动生成方法和XSS漏洞二次爬取策略。通过定义EBNF规则生成规则...

    基于lex和yacc的词法分析器+语法分析器,可以在控制台生成语法分析树.zip

    使用BNF(巴科斯-诺尔范式)或EBNF(扩展巴科斯-诺尔范式)来定义你的语言的语法。 为每个语法规则编写一个动作,这个动作通常包括构建语法分析树的一部分。 集成lex和yacc: lex生成的词法分析器会读取源代码,并...

    面向扩展文法语义分析器的自动生成 (2005年)

    在扩展巴克斯范式(EBNF)Earley分析的基础上,提出一个语义分析器的自动生成算法,给出了一个带有语义动作的扩展文法和一个输入,即可生成其语义分析器。通过执行语义动作,就可以进行类型检查、中间代码生成及优化等...

    plo编译的实现

    掌握语言的形式化描述:语法描述图与巴科斯范式EBNF。以PL/0为例学习编译程序实现的基本步骤和相关技术,熟悉并理解编译程序的基本原理和概念。对于一段给定的程序,给出其形式化描述

    python实现的对C--语言的词法分析、语法分析.zip

    python实现的对C--语言的...可以采用EBNF(扩展巴科斯-诺尔范式)或类似的文法表示方法。 测试用例: 设计一系列测试用例,用于测试词法分析和语法分析器的正确性。 测试用例应该包括合法的C–代码和包含错误的代码。

    基于超文法的扩展文法转换技术 (2006年)

    针对带有优先级的扩展巴克斯范式(EBNF),普通的语法分析技术很难适用于该文法的问题,给出了扩展文法的形式定义,提出一种基于超文法的EBNF到巴克斯范式(BNF)的转换算法,并给出转换的正确性证明,该算法在ATLAS...

    论文研究-一种基于3APL的多agent合作系统.pdf

    引入合作规划表达式给出基于扩展巴克斯范式(EBNF)个体agent的3APL语法。利用推理规则、结构结合变换规则等概念提出新的多agent合作操作语义。并深入研究多agent合作慎思循环过程,通过例子说明了多agent间如何合作...

Global site tag (gtag.js) - Google Analytics