C++ 解析器很难构建。
我无法谈论使用ANTLR 的 C++ 语法的经验。在这里,我讨论了我通过阅读我在 ANTLR 站点上看到的注释所附的注释所学到的知识;本质上,作者创造了一个不完整的语法。这仅适用于 C++98。我已经有一段时间没看过了;可能还有其他人。
我们的DMS 软件重组工具包具有强大的 C++ 前端。
词法分析器处理 ANSI、GCC3、MS Visual Studio 2008 的所有问题,包括大精度浮点数等。
[编辑:12/2011。现在处理 C++11 和 OpenMP 指令]
[编辑:3/2015:现在可以处理 GCC 和 MS 变体中的 C++14。 请参阅此处的一些解析树]
“仅仅”有一个解析器实际上并不是很有用。除了“仅仅解析”之外,我们的前端还将构建 AST、构建准确的符号表(对于 C++ 来说,这是极其困难的)、执行函数局部流分析,并允许您执行程序转换等。请参阅解析后的生活。
[编辑:5/2019:现在处理 ANSI、GCC 和 MS 变体中的 C++17。跨编译单元完成名称和类型解析。用于跨 3000 个编译单元的系统自动进行大规模上帝级重构/分割。]
| 归档时间: |
|
| 查看次数: |
6310 次 |
| 最近记录: |