勵志

勵志人生知識庫

巴科斯範式

巴科斯範式(Backus-Naur Form,簡稱BNF)是一種用於描述上下文無關文法(Context-Free Grammar,簡稱CFG)的形式化表示方法。它由美國人約翰·巴科斯(John Backus)和丹麥人彼得·諾爾(Peter Naur)在1950年代提出,並因其名字而得名。巴科斯範式在程式語言計算機科學中廣泛使用,尤其適用於描述語法結構

巴科斯範式的特點包括語法簡單、表示明確,便於語法分析和編譯。在BNF中,非終結符通常用尖括弧括起來,而終結符則用引號括起來。每條產生式規則由非終結符和終結符組成,中間以「::=」分開,表示語法規則。具有相同左部的規則可以共用一個左部,各右部之間以豎線「|」隔開,表示不同的選擇。例如,一個簡單的四則運算表達式的BNF表示可能包括如「expr -> expr '+' term | expr '-' term | term」等產生式規則。

巴科斯範式不僅是程式語言設計的基礎,也廣泛套用於編譯原理和形式語言理論等領域。它為人們理解和分析語言結構提供了一種清晰的方法。此外,巴科斯範式的變體,如擴展巴科斯範式(Extended BNF,EBNF)或擴充巴科斯範式(Augmented BNF,ABNF),也存在於各種文獻中,以適應不同的語法描述需求。