Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想解决这个语法。 S->SS+ S->SS* S->a
我想用 action 和 goto 构建 SLR 项目集和解析表。这个语法可以在不消除左递归的情况下解析吗?这是语法单反。
不,这个语法不是 SLR。这是模棱两可的。
左递归对于 LR 解析器来说不是问题。左递归消除仅对 LL 解析器是必需的。
我对此并不完全确定,但我认为这个语法实际上是 SLR(1)。我手工构建了 SLR(1) 表,并获得了一个没有冲突的表(添加了一个从 S'(新开始符号)-> S 的 0 转换)。
有人可以提供一个可以从该语法以两种不同方式派生的句子吗?我能够在 Bison 中得到一个解析器,而没有任何警告。你确定它是模棱两可的吗?