我已经在我的 Windows 上成功安装了 ANTLR3 并将其绑定到 Visual Studio,但是......
谁能给我看一个 C++/ANTLR 中计算器的工作示例?与 distrib 相同,它是用 Java 编写的。
我很难做到。我将 std::map<std::string, double> 用于命名表,但无法从 @header 加载 C++ 头文件,因为所有生成的文件都完全在 C 中(对于 C++ 编译器使用隐式 extern "C"),甚至 cstdlib 也可以不编译。当我在 main.cpp 中编写包装函数并从 lexer/parser 加载它们时,我收到一条奇怪的错误消息。最后,我有以下一个,我不知道它是什么。
Antlr3c.lib(antlr3lexer.obj) :找到了 MSIL .netmodule 或使用 /GL 编译的模块;重新启动与 /LTCG 的链接;将 /LTCG 添加到链接命令行以提高链接器性能 链接:警告 LNK4075:由于“/LTCG”规范而忽略“/增量” 创建库 D:\antlr_usage\Debug\antlr_usage.lib 和对象 D:\antlr_usage\Debug\antlr_usage.exp 链接:警告 LNK4098:defaultlib 'MSVCRT' 与使用其他库冲突;使用 /NODEFAULTLIB:library