Antlr网站对于编译C ++语法的主题并不清楚, 它说该工具将生成与C ++兼容的C代码,它的意义是什么?我能用VS 2008编译这段代码吗?
答案 0 :(得分:1)
他们说:“从3.1版本开始,C目标与C ++兼容,将.c文件编译为C ++ .C +类将在2008年晚些时候作为单独的库提供。”
意思是它与C ++兼容。
答案 1 :(得分:1)
C is mostly a subset of C++。但是生成的C代码不应该脱离C ++ beaten路径,因此应该是有效的C ++。
Visual Studio有一个C / C ++编译器,因为在编译生成的解析器时,您不必担心C / C ++的区别。只需将代码编译为C ++即可。
答案 2 :(得分:1)
短语“与C ++兼容的C代码”意味着代码生成的目标是C和C ++的公共子集。因此,它不使用在C和C ++,etctera中具有不同含义的令牌class
。但它可以使用int
和foo
,其中C和C ++同意。
因此,生成的代码可以由C和C ++编译器编译。 Visual Studio包含(通过/TC
和/TP
标志),因此您可以使用任一模式。
答案 3 :(得分:1)
我已经为ANTLR上传了一个C ++目标。查看运行时库下的ANTLR wiki - C ++ Target
http://www.antlr.org/wiki/pages/viewpage.action?pageId=29130826