LL(2)语言不是LL(1)

Nor*_*wap 11 grammar parsing

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

该课程中是否有有用的语言?也就是说,我们可以想象一种LL(2)但不是LL(1)的计算机语言?

Nor*_*wap 14

本书中提到的例子与Gunther的答案相关联:

S -> a S A | epsilon
A -> a^k b S | c
Run Code Online (Sandbox Code Playgroud)

是描述不是LL(k)的LL(k + 1)语言的语法.特别是,

S -> a S A | epsilon
A -> a b S | c
Run Code Online (Sandbox Code Playgroud)

是一种语法,描述LL(2)语言不是LL(1).


Gun*_*her 8

Grune和Jacobs的解析技术就是一个例子.本书的旧版本可在线获取

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

这个例子在第181页.