parsing - 解决 BNFC 中的“lexer hack”/“typedef-name: identifier”问题
问题描述
我正在尝试使用 BNFC 解析 CPP,但遇到了“typedef-name: identifier”问题(https://en.wikipedia.org/wiki/The_lexer_hack)。
这是 BNFC 的规范:https ://bnfc.readthedocs.io/en/latest/ 。
当在程序中定义新类型(在 C 中使用typedef
)并且需要将其作为类型进行词法分析以供解析器正确处理时,就会出现问题,但词法分析阶段已经发生。其他系统有解决这个问题的方法,但我不确定如何在 BNFC 中解决它。
解决方案
推荐阅读
- sql-server - 新 SQL 用户的 azure 应用程序性能变慢
- c# - C# selenium chromedriver 点击允许在此设备上存储文件
- c# - HTTP 错误 502.5 - 升级到 ASP.NET Core 2.2 后 ANCM 进程外启动失败
- java - 片段翻译和电话定位错误
- macos - 从 go 构建 vips 库的问题
- r - 从 R Markdown 编织时,如何创建额外的空白然后发表评论?
- php - Sapepay 表单集成:我在使用特定帐户时遇到了一些问题 - 错误代码:5080
- node.js - ExpressJS:如何将数据发送到 URL
- python-3.x - Python Selenium在网站上找不到href
- jquery - 链接不会打开引导模式