巴科斯範式(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