parsing - 每个 LL(1) 文法也是 LR(0) 文法吗?

标签 parsing grammar ll lr

我知道每个 LL(1) 也是一个 LR(1)。但是 LL(1) 和 LR(0) 之间的关系呢,LL(1) 也可以是 LR(0) 吗?

最佳答案

你问两个问题,一个在标题中,另一个在帖子正文中。两者都没有说明您是在询问语言还是语法,但基本答案是相同的:

  • 所有 LL(1) 语言都是 LR(0) 吗?

    不可以。同时包含字符串和该字符串的适当前缀的语言不能是 LR(0)。但是许多 LL(1) 语言都有这种形式。
  • 某些 LL(1) 语言是 LR(0) 吗?

    当然。
  • (未提出的问题)任何 LR(0) 语言不是 LL(1)。

    是的。例如,语言 {ambnc | m≥n≥0}是 LR(0),但它没有 LL(1) 文法。
  • 关于parsing - 每个 LL(1) 文法也是 LR(0) 文法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707467/

    相关文章:

    compiler-construction - 左递归消除

    parsing - ~ 在语法中是什么意思(在 Perl 6 中)?

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

    c - 什么是 HTTP Parser,用在什么地方,有什么作用

    python - 使用 python 中的请求函数解析 json 数据....我无法访问对象

    php - PHP解析/语法错误;以及如何解决它们

    python - 循环遍历文件并同时使用 `file.readline()` 是 "ok"的做法吗?

    python - 我如何根据时态(现在时、过去时、将来时等)对句子进行分类?

    parsing - 解析器的性能 : PEG vs LALR(1) or LL(k)

    ANTLR:回溯和前瞻的区别?