15

为了进一步了解解析器和语法,我正在寻找一个(希望是简单的)LL(2) 但不是 LL(1)的语言示例。也就是说,一种可以由 LL(2) 文法生成但不能由任何 LL(1) 文法生成的语言。

那门课有有用的语言吗?即我们能想象一种计算机语言是 LL(2) 但不是 LL(1) 吗?

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 的Parsing Techniques提供了一个示例。这本书的旧版本可在网上获得

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

示例在第 181 页。

于 2012-05-17T17:47:10.083 回答