巴科斯范式

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

巴科斯范式的内容

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

扩展的巴科斯范式 Augmented BNF RFC2234

       定义了扩展的巴科斯范式(ABNF)。近年来在Internet的定义中ABNF被广泛使用。ABNF做了更多的改进,比如说,在ABNF中,尖括号不再需要。

猜你喜欢

转载自eryk.iteye.com/blog/2353658