我想以以下方式更改 menhir 输出的行为:我希望它查找所有语法替代项(如果找到),并将它们放在一个列表中,然后让我恢复这种模棱两可的解释。它不会减少冲突,只是存储它们。
在 menhir 的源代码中,在我看来,我必须查看“Engine.ml”。作为语法自动机的检查点的状态,产生的语法确定的标记出现在变体类型项目“Accepted v”中。该内容由之前的“accept env prod”函数找到,该函数是递归函数包的一部分,用于更改状态。
您有什么建议吗,我如何更改这些函数以将所有可能的结果放在此处的列表中并像什么都没发生一样继续进行?还是您认为,这无论如何都行不通?
谢谢。