野牛:不能处理冲突,我应该选择哪条路线?

时间:2010-11-19 22:02:53

标签: language-design bison conflict

这是对问题的简单解释。请记住,这不是真正的问题

让我们说在我的语言函数中不能返回指针和成员变量无法引用。 Bison抱怨(有40个减少/减少问题)关于不推断类型的类型是函数还是成员变量。我知道但是这一行有> 40次冲突是荒谬的。

Class Name { ...
Type& func() {
Type* Var=0
Type What

我该如何处理?我应该使用%glr-parser并将expect / expect-rr设置为一个值吗?或者我应该使用具有所有内容的类型并过滤代码中合法与否的内容?看起来我的选择有更多的冲突/歧义VS编写更多的代码来处理它。我不确定哪个更糟,所以我想知道你们有没有人要处理这个问题。

1 个答案:

答案 0 :(得分:3)

您不应该尝试在语法中表达类型约束。 Wirth和其他人记录的Algol-68惨败证明了这一点。