需要一个ANTLR3的计算示例

时间:2010-01-02 21:52:20

标签: c++ antlr calculator

我在Windows上成功安装了ANTLR3并将其绑定到Visual Studio,但是......

有人能告诉我C ++ / ANTLR中计算器的一个工作示例吗?与来自distrib的相同,它是用Java编写的。

我在制作它时遇到了麻烦。我使用std :: map< std :: string,double>对于nametable,但是无法从@header加载C ++头文件,因为所有生成的文件都完全在C中(对于C ++编译器使用隐式extern“C”),甚至cstdlib也无法编译。当我在main.cpp中编写包装器函数并从lexer / parser加载它们时,我收到一条奇怪的错误消息。最后,我得到了以下内容,我不知道它是什么。

Antlr3c.lib(antlr3lexer.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
Creating library D:\antlr_usage\Debug\antlr_usage.lib and object D:\antlr_usage\Debug\antlr_usage.exp
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library

1 个答案:

答案 0 :(得分: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