巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首次引入一种形式化符号来描述给定语言的语法。express
简称为:BNF符号。编程
如今,几乎每一位新编程语言书籍的做者都使用巴科斯范式来定义编程语言的语法规则。编程语言
在 双引号中的字("word")代 表着这些字符自己。而double_quote用来表明双引号。在 双引号外的字(有可能有下划线)表明着 语法部分。尖括号( < > )内包含的为 必选项。方括号( [ ] )内包含的为 可选项。大括号( { } )内包含的为 可重复0至无数次的项。竖线( | )表示在 其左右两边任选一项,至关于"OR"的意思。::= 是 “被定义为”的意思。
这是用BNF来定义的Java语言中的For语句的实例: FOR_STATEMENT ::= "for" "(" ( variable_declaration | ( expression ";" ) | ";" ) [ expression ] ";" [ expression ] ")" statement