0

我为 LALR 解析器编写了语法,但我被困在可选的非终端。考虑例如 C++ 取消引用,当您可以编写时:

******expression; 

当然你可以写:

expression;

这是我的问题,取消引用非终结符确实是可选的,这对语法有很大的影响,现在解析器看到它适合任何地方(几乎),因为它可能是空的。

是否有一个常见的模式我应该如何重写语法来修复它?

如果您指出一些涉及“编写语法时的常见问题和模式”的书籍或其他资源,我也将不胜感激。

4

1 回答 1

1
于 2013-04-19T08:54:59.347 回答