问题标签 [shift-reduce-conflict]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1372 浏览

parsing - 如何解决三元表达式(a?b:c)和“也许”表达式(a?)之间的LR(1)语法歧义?

我创建了一个语法,其精简版本如下所示:

我相信这种语言是明确的,应该是 LR 可解析的。(如果我错了,请告诉我!)

但是,当我尝试为此语法生成 LR(1) 解析器时,我会遇到移位/归约冲突,因为当解析器看到exp3前瞻?时,它不知道是移位还是归约:

有没有一种合理的方法可以使这种语言 LR(1) 可解析(没有冲突)?

还是 GLR(或者可能是 LR(2)?)对于这样的语言,我唯一现实的选择是什么?
(或者我认为语言一开始是明确的,我什至是错误的?)


作为参考,我生成的模棱两可的状态机如下(其中 ♦ 是 EOF):

0 投票
1 回答
151 浏览

parsing - 小型语言解析器的 Bison Shift/Reduce 冲突

我的目标是为一种小语言创建一个解析器。它目前给我一个班次/减少错误。

我的 CFG 在某处模棱两可,但我不知道在哪里

0 投票
0 回答
432 浏览

parsing - 关于这个 Shift/Reduce 错误,Irony 告诉我什么?

我正在使用此处描述的语法为 PowerShell 语言编写解析器:http: //www.microsoft.com/en-us/download/details.aspx?id=9706

我使用了 Irony,Irony Grammar Explorer 报告了一些 shift/reduce 和 reduce/reduce 错误。这把我难住了,因为我不确定它在告诉我什么。

如果你想看看自己,代码在这里:https ://github.com/Pash-Project/Pash/tree/method-invocation/Source/Pash.System.Management

编辑:我认为这让人困惑的输入是:

这是添加还是铸造?

0 投票
1 回答
94 浏览

bison - 此 Bison 代码中的移位/减少冲突在哪里?

我的野牛代码中有一个 Shit/reduce 冲突:

我可以解决它写作:

但它需要对我的节点结构进行大量修改。因此,我正在寻找一种新的方法来解决它。你能帮助我吗 ?

祝你有美好的一天 !

0 投票
2 回答
350 浏览

parsing - Bison 的这种转变/减少冲突从何而来?

我试图通过在 Jison(一个 javascript 解析器)中定义一种非常简单的语言来掌握解析的窍门。它接受与野牛相同/非常相似的语法。

这是我的语法:

我得到一个班次/减少冲突。Jison 的输出在这里:

0 投票
2 回答
874 浏览

parsing - Happy中命题逻辑解析器中的移位/减少冲突

我正在根据命题逻辑语法的BNF 定义在快乐上制作一个简单的命题逻辑解析器,这是我的代码

现在,我这里有两个问题

  1. 出于某种原因,我遇到了 4 个 shift/reduce 冲突,我真的不知道它们可能在哪里,因为我认为优先级会解决它们(而且我认为我正确地遵循了 BNF 语法)......
  2. (这是一个 Haskell 问题)在我的词法分析器函数中,由于某种原因,我在说如何处理 '¬' 的那一行出现解析错误,如果我删除该行它是有效的,为什么会这样?(这个问题解决了)

任何帮助都会很棒。

0 投票
1 回答
189 浏览

parsing - 杯子解析器中的移位/减少冲突(带有数组和矩阵的语法)

我正在为一种小语言编写一个杯子解析器,该语言应该支持以数组和矩阵作为其字段的类。例如,如果有一个类实例:

这些字段将通过以下方式访问:

由于我不断遇到移位/减少冲突,我无法为最后一部分编写作品。这是我的制作:

警告 : *在状态 #189 中发现 Shift/Reduce 冲突,在 Designator ::= Designator LSQUARE Expr RSQUARE ( ) 和 Designator ::= Designator LSQUARE Expr RSQUARE ( ) LSQUARE Expr RSQUARE 下符号 LSQUARE 已解决,有利于移位。

谁能帮我解决这个问题?

0 投票
2 回答
70 浏览

compiler-construction - 解决 GnuWin32 Bison 中的 Shift/Reduce 警告?

我有以下规则,当用野牛实施它们时,我得到 5 个班次/减少警告。

规则的一部分是:

Parser.output在这种状态下给我警告:

**state 25**

谁能帮我解决这个问题,我已经阅读了很多文章,但我无法弄清楚出了什么问题,并提前感谢每个人...... :)

0 投票
1 回答
329 浏览

bison - Bison:修复了 shift/reduce 错误,不知道怎么做

所以我的语法出现了可怕的移位/减少错误。这是一个最小的测试用例:

但是,通过实验,我设法使问题消失了:

谁能解释为什么我首先会出现移位/减少错误以及为什么会这样?这甚至是一个适当的解决方案吗?如果不是,那是什么?

0 投票
1 回答
66 浏览

shift-reduce-conflict - 这个语法中的移位/减少冲突在哪里?

似乎无法弄清楚是什么导致了这个语法中的移位/减少冲突。将最右边的运算符优先级分配给 CMD 和 LCURLY 似乎已解决,但我不知道到底是什么问题。有什么帮助吗?