パーサーと文法の理解を深めるために、 LL(1) ではなく LL(2)である言語の (できれば単純な) 例を探しています。つまり、LL(2) 文法では生成できるが、LL(1) 文法では生成できない言語です。
そのクラスに役立つ言語はありますか? つまり、LL(1) ではなく LL(2) であるコンピューター言語を想像できますか?
Guntherの回答にリンクされている本に記載されている例:
S -> a S A | epsilon
A -> a^k b S | c
LL(k) ではない LL(k+1) 言語を記述する文法です。特に、
S -> a S A | epsilon
A -> a b S | c
LL(1) ではない LL(2) 言語を記述する文法です。
Grune と Jacobs による構文解析手法は、その例を示しています。この本の古いバージョンは、オンラインで入手できます。
http://dickgrune.com/Books/PTAPG_1st_Edition/BookBody.pdf
例は 181 ページにあります。