272得票4回答
LL解析和LR解析有什么区别?

有人能给我提供一个简单的 LL 分析和 LR 分析的例子吗?

93得票1回答
LL解析器和递归下降解析器的区别是什么?

我最近试图自学语言/无上下文语法解析器,大部分内容似乎都很清晰易懂,只有一点不太理解。我特别关注 LL(k) 文法,其中两个主要算法似乎是 LL 解析器(使用堆栈/解析表)和 递归下降解析器(只需使用递归)。 据我所知,递归下降算法可用于所有 LL(k) 文法,可能还有更多,而 LL 解析器...

80得票5回答
如何确定一个语法是LL(1),LR(0)还是SLR(1)?

如何确定语法是LL(1)、LR(0)还是SLR(1)? 有谁能够使用这个示例或其他示例来解释一下吗? X → Yz | a Y → bZ | ε Z → ε

61得票4回答
LL(1), LR(1), LR(0), LALR(1)语法的例子是什么?

是否有一个在线资源,包含一些主要解析算法(LL(1), LR(1), LR(0), LALR(1))的语法集合?我找到了很多属于这些族群的单个语法,但是我不知道是否有一个好的资源,其中有人编写了一大批示例语法。 有没有人知道这样的资源?

38得票7回答
LL解析器相对于LR解析器有哪些优势?

LL解析器在今天的解析器生成工具中相对流行的原因是什么优势? 根据维基百科,LR分析似乎比LL分析有优势: LR分析可以处理比LL分析更广泛的语言,并且在错误报告方面也更好,即当输入不符合语法时,它尽可能早地检测到语法错误。这与LL(k)(甚至更糟的是LL(*)解析器)形成对比,后者可能由...

35得票2回答
哪些当代计算机语言是 LL(1) 的?

(我正在用假期时间研究一些语言理论,如果这是一个幼稚的问题,请见谅。) 根据此处所述: LL语法,特别是LL(1)语法,具有很大的实际意义,因为这些语法的解析器易于构建,并且许多计算机语言都是为了这个原因而设计成LL(1)。 出于好奇,那么哪些当代计算机语言是LL(1)?C、Ja...

28得票1回答
LL(1)解析器中FIRST和FOLLOW集的目的是什么?

有人能解释一下在LL(1)文法中如何使用FIRST和FOLLOW吗?我知道它们被用于语法表的构建,但我不明白具体应该怎么做。

21得票1回答
为什么存在LR(0)分析器但不存在LL(0)分析器?

我在维基百科上阅读了有关LL(0)和LR(0)解析器的内容,发现虽然存在LR(0)解析器,但并不存在LL(0)解析器。 根据我的理解,LL(k)/LR(k)中的k代表解析器可以查看当前正在处理的字符之后多少个字符。 那么我的问题是,为什么尽管存在LR(0),却没有LL(0)解析器呢?

20得票1回答
不能用LL表示的LR语法的例子是什么?

所有的LL文法都是LR文法,但反之则不然,但我仍然很难区分它们。如果存在的话,我很好奇是否有一些LR文法没有等效的LL表示的小例子。

20得票2回答
LALR与LL解析器的比较

我一直在使用lex/yacc,现在我正在尝试切换到ANTLR。主要的担忧是ANTLR是LL(*)解析器,而yacc则是LALR解析器。我习惯了自下而上地思考问题,不确定LL文法的优势在哪里。人们说LL文法更容易理解,而且现在更受欢迎。但似乎LR解析器更强大,例如LL解析器无法处理左递归,虽然似...