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

标签 programming-languages parser-generator ll lr

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

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

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

最佳答案

这里有几个观点,你可以考虑它们的观点和对立:

  • Parsing ought to be easier - 支持 LL
  • Why I prefer LALR parsers - 支持 LR
  • 关于programming-languages - LL 与 LR 解析器的局限性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5467244/

    相关文章:

    programming-languages - "closure"和 "block"之间到底有什么区别?

    programming-languages - 在求职者中特定的编程语言技能和经验是否重要?

    programming-languages - 有多少个 oo-functional 混合体?

    windows - 基于信息亭系统的编程语言和 O/S

    eclipse - XText 没有提供哪些 ANTLR 功能?

    java - 使用 byaccj 构建 ast 时出错

    parsing - 哪些语法可以使用递归下降而不回溯来解析?

    algorithm - 解决 LL(1) 中的 PREDICT/PREDICT 冲突

    parsing - 将 Mathematica 移植到 Octave