巴克斯范式

巴克斯范式(BNF:Bakus-Naur Form)是描述给定语言语法的一种形式化符号表示

现在几乎每一位编程语言书籍的作者都用它来定义编程语言的语法规则

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

猜你喜欢

转载自xiaoxiaoher.iteye.com/blog/2358645