15

パーサーと文法の理解を深めるために、 LL(1) ではなく LL(2)である言語の (できれば単純な) 例を探しています。つまり、LL(2) 文法では生成できるが、LL(1) 文法では生成できない言語です。

そのクラスに役立つ言語はありますか? つまり、LL(1) ではなく LL(2) であるコンピューター言語を想像できますか?

4

2 に答える 2

19

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) 言語を記述する文法です。

于 2012-05-18T18:24:35.070 に答える
9

Grune と Jacobs による構文解析手法は、その例を示しています。この本の古いバージョンは、オンラインで入手できます。

http://dickgrune.com/Books/PTAPG_1st_Edition/BookBody.pdf

例は 181 ページにあります。

于 2012-05-17T17:47:10.083 に答える