基本介紹
簡介,參見,巴科斯範式,喬姆斯基範式,格雷巴赫標準式,
簡介
- AB → CD
- A → BC
- A → B
- A → α
參見
巴科斯範式
巴科斯範式(英語:Backus Normal Form,縮寫為BNF),又稱為巴科斯-諾爾範式(英語:Backus-Naur Form,縮寫同樣為BNF,也譯為巴科斯-瑙爾範式、巴克斯-諾爾範式),是一種用於表示上下文無關文法的語言,上下文無關文法描述了一類形式語言。它是由約翰·巴科斯(John Backus)和彼得·諾爾(Peter Naur)首先引入的用來描述計算機語言語法的符號集。
儘管巴科斯範式也能表示一部分自然語言的語法,它還是更廣泛地使用於程式設計語言、指令集、通信協定的語法表示中。大多數程式設計語言或者形式語義方面的教科書都採用巴科斯範式。在各種文獻中還存在巴科斯範式的一些變體,如擴展巴科斯範式EBNF 或擴充巴科斯範式ABNF。
喬姆斯基範式
- A→BC
- A→ α
- S→ ε
所有的 Chomsky 範式的文法都是上下文無關,反過來,所有上下文無關文法都可以有效的變換成等價的 Chomsky 範式的文法。
除了(在文法可能生成空串的時候包括的)可選規則S→ ε 是例外,Chomsky 範式的文法的所有規則都是擴張的,就是說在字元串的整個導出過程中,每個終結符和非終結符的字元串比起前面導出的字元串要么同樣長度要么多出一個元素。長度 n 的字元串的導出總是精確的 2n-1 步長。
格雷巴赫標準式
或