巴科斯範式

巴科斯範式

巴科斯範式(BNF: Backus-Naur Form 的縮寫)描述計算機語言語法的符號集。

解釋


在雙引號中的字("word")代表著這些字元本身。而double_quote用來代表雙引號。
在雙引號外的字(有可能有下劃線)代表著語法部分。
尖括弧( < > )內包含的為必選項。
方括弧( 【 】 )內包含的為可選項。
大括弧( { } )內包含的為可重複0至無數次的項。
豎線( | )表示在其左右兩邊任選一項,相當於"OR"的意思。
::= 是“被定義為”的意思。

巴科斯範式示例


下面是用BNF來定義的Java語言中的For語句的實例:
FOR_STATEMENT ::=
"for" "(" ( variable_declaration |
( expression ";" ) | ";" )
【 expression 】 ";"
【 expression 】 ";"
這是用BNF來定義的BNF本身的例子:
syntax ::=
rule ::= identifier "::=" expression
expression ::= term { "|" term }
term ::= factor
factor ::= identifier |
quoted_symbol |
"(" expression ")" |
"【" expression "】" |
"{" expression "}"
identifier ::= letter { letter | digit }
quoted_symbol ::= """ """