チョムスキー階層(チョムスキーかいそう、Chomsky hierarchy)は、形式言語を生成する形式文法の包含階層(形式言語の階層)で、句構造文法(phrase structure grammar)の階層」などともいう。1956年にノーム・チョムスキーが発表した。
形式文法詳細は「形式文法」を参照
形式文法の構成要素は、終端記号(terminal symbol)の有限集合(形式言語の単語で使われる文字)、非終端記号(nonterminal symbol)の有限集合、生成規則(production rule)の有限集合(各生成規則は右側と左側に記号列で構成される単語を含む)、開始記号(start symbol)から構成される。生成規則はある単語に適用され、規則の左側にある単語を右側にある記号列で置換する。導出は一連の規則適用過程である。このような文法で開始記号から始めて生成規則を適用していくことで、終端記号のみから構成される単語を生成する。そのような単語全体の集合が形式言語である。
非終端記号は大文字、終端記号は小文字で表すことが多く、開始記号は S {\displaystyle S} で示される。例えば、終端記号 { a , b } {\displaystyle \{a,b\}} と非終端記号 { S , A , B } {\displaystyle \{S,A,B\}} から構成される文法の生成規則が以下のようなものであるとする。
S → A B S {\displaystyle S\rightarrow ABS}
S → ϵ {\displaystyle S\rightarrow \epsilon } (ここで ϵ {\displaystyle \epsilon } は空の文字列)
B A → A B {\displaystyle BA\rightarrow AB}
B S → b {\displaystyle BS\rightarrow b}
B b → b b {\displaystyle Bb\rightarrow bb}
A b → a b {\displaystyle Ab\rightarrow ab}
A a → a a {\displaystyle Aa\rightarrow aa}
これにより開始記号 S {\displaystyle S} から定義される全単語で構成される言語は a n b n {\displaystyle a^{n}b^{n}} である( n {\displaystyle n} 個の a {\displaystyle a} の後に n {\displaystyle n} 個の b {\displaystyle b} が続く形式)。同様の言語をもっと単純な文法で定義した例を以下に示す。終端記号 { p , q } {\displaystyle \{p,q\}} 、非終端記号 { S } {\displaystyle \{S\}} 、開始記号 S {\displaystyle S} で生成規則は以下のようになる。
S → p S q {\displaystyle S\rightarrow pSq} チョムスキー階層は以下のレベルから構成される。より一般的には形式言語の階層の記事を参照のこと。
S → ϵ {\displaystyle S\rightarrow \epsilon }
階層
タイプ-0 文法(制限のない文法