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.
我为 LALR 解析器编写了语法,但我被困在可选的非终端。考虑例如 C++ 取消引用,当您可以编写时:
******expression;
当然你可以写:
expression;
这是我的问题,取消引用非终结符确实是可选的,这对语法有很大的影响,现在解析器看到它适合任何地方(几乎),因为它可能是空的。
是否有一个常见的模式我应该如何重写语法来修复它?
如果您指出一些涉及“编写语法时的常见问题和模式”的书籍或其他资源,我也将不胜感激。