fbpx
维基百科

巴科斯范式

巴科斯范式(英語:Backus Normal Form,縮寫為 BNF),又称为巴科斯-诺尔范式(英語:Backus-Naur Form,縮寫同樣為 BNF,也譯为巴科斯-瑙尔范式巴克斯-诺尔范式),是一种用于表示上下文无关文法的语言,上下文无关文法描述了一类形式语言。它是由约翰·巴科斯(John Backus)和彼得·诺尔(Peter Naur)首先引入的用来描述计算机语言语法的符号集。

尽管巴科斯范式也能表示一部分自然语言语法,它还是更广泛地使用于程序设计语言指令集通信协议的语法表示中。大多数程序设计语言或者形式语义方面的教科书都采用巴科斯范式。在各种文献中还存在巴科斯范式的一些变体,如扩展巴科斯范式 EBNF 或扩充巴科斯范式 ABNF。

發展歷史 编辑

約翰·巴科斯首次在ALGOL 58中实现巴科斯範式。彼得·諾爾ALGOL 60之中,進一步發展它的概念並將它的符號加以簡化,稱其為巴科斯範式(Backus Normal Form)。但高德納主張應稱為巴科斯-諾爾範式(Backus–Naur Form),因為它不算是一種正規形式(Normal form)。

介绍 编辑

BNF 规定是推导规则(产生式)的集合,写为:

<符號> ::= <使用符號的表達式>

这里的 <符号> 是非终结符,而表达式由一个符号序列,或用指示选择的竖杠 '|' 分隔的多个符号序列构成,每个符号序列整体都是左端的符号的一种可能的替代。从未在左端出现的符号叫做终结符

参见 编辑

引用 编辑

本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。

外部链接 编辑

  • , the original BNF.
  • Sample grammars at the .
  • [1] (页面存档备份,存于互联网档案馆) contains a posting on news:comp.compilers that explains some of the history of the two names (Backus-Naur form vs. Backus normal form).
  • Article BNF and EBNF: What are they and how do they work? (页面存档备份,存于互联网档案馆 by Lars Marius Garshol.
  • RFC 4234[失效連結] Augmented BNF for Syntax Specifications: ABNF

巴科斯范式, 此條目可参照德語維基百科相應條目来扩充, 2023年7月13日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 英語, backus, normal, form, 縮寫為, 又. 此條目可参照德語維基百科相應條目来扩充 2023年7月13日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 巴科斯范式 英語 Backus Normal Form 縮寫為 BNF 又称为巴科斯 诺尔范式 英語 Backus Naur Form 縮寫同樣為 BNF 也譯为巴科斯 瑙尔范式 巴克斯 诺尔范式 是一种用于表示上下文无关文法的语言 上下文无关文法描述了一类形式语言 它是由约翰 巴科斯 John Backus 和彼得 诺尔 Peter Naur 首先引入的用来描述计算机语言语法的符号集 尽管巴科斯范式也能表示一部分自然语言的语法 它还是更广泛地使用于程序设计语言 指令集 通信协议的语法表示中 大多数程序设计语言或者形式语义方面的教科书都采用巴科斯范式 在各种文献中还存在巴科斯范式的一些变体 如扩展巴科斯范式 EBNF 或扩充巴科斯范式 ABNF 目录 1 發展歷史 2 介绍 3 参见 4 引用 5 外部链接發展歷史 编辑約翰 巴科斯首次在ALGOL 58中实现巴科斯範式 彼得 諾爾在ALGOL 60之中 進一步發展它的概念並將它的符號加以簡化 稱其為巴科斯範式 Backus Normal Form 但高德納主張應稱為巴科斯 諾爾範式 Backus Naur Form 因為它不算是一種正規形式 Normal form 介绍 编辑BNF 规定是推导规则 产生式 的集合 写为 lt 符號 gt lt 使用符號的表達式 gt 这里的 lt 符号 gt 是非终结符 而表达式由一个符号序列 或用指示选择的竖杠 分隔的多个符号序列构成 每个符号序列整体都是左端的符号的一种可能的替代 从未在左端出现的符号叫做终结符 参见 编辑八篇书 使用数学结构的梵语文法 扩充巴科斯范式 ABNF 扩展巴科斯范式 EBNF GOLD BNF分析器 GNU bison GNU版本的Yacc 正则表达式 Wirth语法表示法1977提出的对BNF的一个替代者 Yacc分析器生成器 与Lex预处理器一起使用 ANTLR用Java写的另一个分析器生成器 上下文有关文法 形式文法 分析表达式文法 随机上下文无关文法引用 编辑本條目部分或全部内容出自以GFDL授權發佈的 自由線上電腦詞典 FOLDOC 外部链接 编辑Algol 60 BNF the original BNF Sample grammars at the BNF Web club 1 页面存档备份 存于互联网档案馆 contains a posting on news comp compilers that explains some of the history of the two names Backus Naur form vs Backus normal form Article BNF and EBNF What are they and how do they work 页面存档备份 存于互联网档案馆 by Lars Marius Garshol RFC 4234 失效連結 Augmented BNF for Syntax Specifications ABNF Comparision of different variants of BNF Syntax diagram of EBNF Generation of syntax diagrams from EBNF 取自 https zh wikipedia org w index php title 巴科斯范式 amp oldid 78062881, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。