问题标签 [ll]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
8542 浏览

programming-languages - LL 与 LR 解析器的局限性?

我知道 LL 与 LR 解析器的基本区别。我也知道 GLR、SLR 和 LALR 都是 LR 解析器的扩展。所以我更详细的问题是......

给定一个 LL(*) 解析器和 LR 解析器的任何变体,是否有任何语言可以用一种语言来描述,而不能用另一种语言来描述?或者更简单地说,是否有任何特性或属性都无法表达?

作为一个具体的例子。如果我要使用 LL(*) 解析器创建一种语言,我是否会遇到想要添加到我的语言中的所需功能/属性,而这只有通过 LR 解析器才能实现(反之亦然)?

0 投票
4 回答
85179 浏览

algorithm - LL和LR解析有什么区别?

谁能给我一个 LL 解析与 LR 解析的简单示例?

0 投票
4 回答
54693 浏览

parsing - LL(1)、LR(1)、LR(0)、LALR(1) 文法的例子?

是否有一个很好的在线资源,其中包含一些主要解析算法(LL(1)、LR(1)、LR(0)、LALR(1))的语法集合?我发现许多属于这些家族的单独语法,但我不知道有人写过大量示例语法的好资源。

有人知道这样的资源吗?

0 投票
1 回答
1573 浏览

theory - 为什么所有的 LL(1) 文法都是 LR(1)?

众所周知,任何 LL(1) 语法也是 LR(1),但我似乎无法在任何地方找到严格的证明。我听说过一些关于证明的高级概述(例如,由于 LL(1) 语法一次仅从一个标记确定其产生式,而 LR(1) 语法可以在做出决定之前扫描更多的输入制作)。但是,在查阅了两本关于编译器和解析的教科书并在 Google 上进行了快速搜索之后,我似乎无法找到更正式的证据来证明这一事实。

有谁知道这个证明,或者至少在哪里可以找到它?

0 投票
1 回答
2912 浏览

parsing - 找到一种不是 LL(1) 的语言?

我最近一直在玩很多不是 LL(1) 的语法,其中许多可以转换为 LL(1) 的语法。

但是,我从未见过不是 LL(1)的明确语言的示例。换句话说,一种语言的任何明确语法都不是 LL(1)),我也不知道如果我不小心偶然发现了一种语言,我将如何证明我找到了一种语言。

有谁知道如何证明一种特定的明确语言不是 LL(1)?

0 投票
1 回答
6288 浏览

parsing - 如何确定语言是否为 LL(1)?

我有一个语法,我可以检查是否是 LL(1)。但是,有什么方法可以检查语法生成的语言是否为 LL(1)?LL(1) 语法和 LL(1) 语言之间到底有什么区别?

0 投票
2 回答
2384 浏览

parsing - 赋值为 Antlr 语法中的表达式

我正在尝试扩展Tiny Language 的语法以将赋值视为表达式。因此,这样写是有效的

赋值在两个方面不同于其他运算符。它是右关联的(没什么大不了的),它的左边必须是一个变量。所以我改变了这样的语法

它不起作用,因为它包含一个非 LL(*) 决定。我也试过这个变种:

但我得到了同样的错误。我对感兴趣

  • 这个具体问题
  • 给定具有非 LL(*) 决策的文法,如何找到导致问题的两条路径
  • 如何修复它
0 投票
5 回答
121467 浏览

parsing - 如何识别语法是 LL(1)、LR(0) 还是 SLR(1)?

您如何识别语法是 LL(1)、LR(0) 还是 SLR(1)?

任何人都可以使用这个例子或任何其他例子来解释它吗?

X → Yz | 一种

Y → bZ | ε

Z → ε

0 投票
1 回答
2567 浏览

parsing - 不能用 LL 表示的 LR 文法的例子?

所有 LL 语法都是 LR 语法,但不是相反,但我仍然很难处理这种区别。我很好奇没有等效 LL 表示的 LR 语法的小例子(如果有的话)。

0 投票
1 回答
3589 浏览

parsing - 如何为 LL(k>1) 构造解析表?

在网络上,有很多示例展示了如何从 LL(1) 解析器的第一/后集构建上下文无关文法的解析表。

但我没有发现任何与 k>1 案例相关的有用信息。甚至维基百科也没有提供有关此的信息。

我希望它必须在某种程度上相似,但指向该领域现有研究的指针将非常有帮助。