警告野牛编译
正在使用 flex/bison 开发编译器。 我的构建输出中有此警告。
警告:在默认操作中输入冲突 ('s' '')
有什么帮助吗?
am developping a compiler using flex/bison.
I have this warning in my build output.
warning: type clash ('s' '') on default action
any help please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它似乎与源中的 %token 和 %type 声明有关。
如果没有源代码行以及相关的标记和类型声明,就很难为您提供帮助。
如果您指定 val 类型的 expr 并定义 tptr 类型的 ID 令牌
如果您在没有任何操作的情况下编写, bison 将发出警告
请注意,在这种情况下,我当前使用的 bison 级别打印的消息略有不同。
要修复此警告,您需要采取明确的操作:
http://www .gnu.org/s/bison/manual/bison.html#Token-Decl
It seems to be related to your %token and %type declaration in your source.
without the source line and the related token and type declaration it is difficult to help you.
If you specify an expr of type val and definer an ID token of type tptr
If you write without any action bison will emit a warning
Note that the bison level I am currently using print a slighty different message in this case.
To fix this warning you need an explicit action:
http://www.gnu.org/s/bison/manual/bison.html#Token-Decl
使用联合定义从 lex 中键入给定的标记。
Use the union definition to type your given tokens from lex.