私は現在、GNU Bison を調べてプログラム コードを解析しています (または、実際に Bison を使用するプログラムを拡張してそれを実行しています)。私は、Bison が LR(1) 文法、つまり特殊な形式の文脈自由文法しか処理できない (または: 最適) ことを理解しています。そして、私は実際に、文脈自由文法と LR(1) 文法の規則も (信じている) 理解しています。
しかし、どういうわけか、LR(1) 文法の概念をよく理解していません。たとえば、SQL を想定します。SQL には、文脈自由文法が組み込まれていると思います。しかし、それは LR(1) 文法でもありますか? どうすればわかりますか?はいの場合、LR(1) 規則に違反するのはどれですか?