parsing - 这些语法 : LL1, SLR1、LR0、LR1 和 LALR1 的层次结构是什么?

标签 parsing compiler-construction

这些语法是如何相互关联的?例如SLR 是 LALR1 的子集。有没有固定的方法来处理其他人之间的关系?

最佳答案

有三种类型的上下文无关语法(CFG'S)。
1) Floyd-Evans Parsable
2)明确的CFG
3) 运算符优先级
您上面提到的所有内容都是Unambiguous CFG。
LL(0) < LL(1) < LL(k)。 LR(0) < SLR(1) < LALR(1) < LR(1) < LR(k)。
此外,LL(k) < LR(k)
每个 LR(0) 语法 id SLR(1) 和每个 SLR(1) 都是 LALR(1),而 LALR(1) 又是 LR(1)。

关于parsing - 这些语法 : LL1, SLR1、LR0、LR1 和 LALR1 的层次结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4735995/

相关文章:

parsing - Scala 解析器 - 消息长度

c - 读取配置文件值错误

c# - 在 C# 中将不规则字符串转换为 TimeSpan

c# - 使用 double.Parse 如果 Null 值,则值替换为 0

java - 如何使用dom解析器java解析xml中的相同名称标签?

c - 字符串之间有空格

parsing - 基于 LLVM 的编译器的前端

c++ - Visual Studio 中的 fatal error C1010 - "stdafx.h"如何纠正?

java - 为什么 Javac 不在多核上运行?

c - 制作 : Circular mysh <- mysh dependency dropped