首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LL(2)非LL(1)的语言

LL(2)非LL(1)的语言
EN

Stack Overflow用户
提问于 2012-05-17 10:42:09
回答 3查看 7.9K关注 0票数 16

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-17 17:47:10

Grune和Jacobs的解析技术给出了一个例子。这本书的旧版本可在网上查阅

版/BookBody.pdf

这个例子出现在第181页。

票数 10
EN

Stack Overflow用户

发布于 2012-05-18 18:24:35

这本书中提到的例子在Gunther的回答中联系起来:

代码语言:javascript
复制
S -> a S A | epsilon
A -> a^k b S | c

描述非LL(k)的LL(k+1)语言的语法。特别地,

代码语言:javascript
复制
S -> a S A | epsilon
A -> a b S | c

描述非LL(1)的LL(2)语言的语法。

票数 20
EN

Stack Overflow用户

发布于 2022-06-28 13:41:07

在Gunther提到的书中,有一个更微不足道的例子:

S -> a^k b\ a^k a

描述非LL(k)的LL(k+1)语言的语法。特别地,

S -> ab _

描述非LL(1)的LL(2)语言的语法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10634197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档