0

我已经在我的 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
4

1 回答 1

0

不幸的是,Antlr 3 还没有发布 C++ 目标。但是 Antlr v2 确实有一个很好的C++目标以及一个示例 Calc 程序。

Antlr v3 确实有一个C目标。如果您想查看它的示例,可以在此页面上找到它们:

http://www.antlr.org/api/C/index.html

或者在这里为不耐烦的人:) http://www.antlr.org/download/examples-v3.tar.gz

如果您想查看 Antlr V2 C++ Calc 示例并尝试将其修改为在 Antlr v3 中使用 C,您可以在此处下载: http ://www.antlr.org/api/C/index.html

于 2010-01-14T22:04:36.287 回答