Grammars)の階層」などとも言う。1956年にノーム・チョムスキーが発表した。Symbol)から構成される。生成規則はある単語に適用され、規則の左側にある単語を右側にある記号列で置換する。導出は一連の規則適用過程である。このような文法で開始記号から始めて生成規則を適用していくことによって終端記号のみから構成される単語を生成する。そのような単語全体の集合が形式言語である。構成される文法の生成規則が以下のようなものであるとする。同様の言語をもっと単純な文法で定義した例を以下に示す。生成規則は以下のようになる。}階層[編集]チョムスキー階層は以下のレベルから構成される。一般的には形式言語の階層の記事を参照のこと。文法(制限のない文法)は全ての形式文法を包含する。この文法はチューリングマシンが認識できる全言語を生成できる。Language)として知られている。Language)とは異なる。文法(文脈依存文法)は文脈依存言語を生成する。終端記号と非終端記号から構成される文字列である。空でない文字列でなければならない。いう規則が存在しても良い。この文法によって記述される言語は線形拘束オートマトンで認識できる。文法(文脈自由文法)は文脈自由言語を生成する。終端記号と非終端記号から構成される文字列である。この文法で生成される言語群は非決定性プッシュダウン・オートマトンが認識できる言語である。多くのプログラミング言語の文法は、ほぼ[1]文脈自由文法である。文法(正規文法)は正規言語を生成する。この文法の生成規則は左側には必ずひとつの非終端記号があり、右側には必ずひとつの終端記号とひとつかゼロ個の非終端記号がある(順番はひとつの文法内では決められている。「終端・非終端」か、必ず「非終端・終端」)。いう規則が存在しても良い。この文法で生成される言語群は有限オートマトンで判定可能である。このタイプの形式言語は正規表現として使用されている。正規言語は検索パターンの定義やプログラミング言語の字句構造に一般的に使われている。帰納言語に対応する文法がこの階層のメンバーではないことに注意されたい。正規言語は全て文脈自由言語に含まれ、文脈自由言語は全て文脈依存言語に含まれ、文脈依存言語は全て帰納言語に含まれ、帰納言語は全て帰納的可算言語に含まれる。これは正当な包含関係である(つまり、各タイプは上位タイプの真部分集合である)。したがって帰納言語ではない帰納的可算言語があり、文脈依存言語ではない帰納言語があり、文脈自由言語ではない文脈依存言語があり、正規言語ではない文脈自由言語がある。C言語の場合の1例としては、typedefが現れた後は同じ綴りが単なる識別子から型名に変化するため、厳密には文脈自由文法で完全には扱えない。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。