我正在尝试用python(PLY)编写一个小的C ++解析器,只覆盖整个C ++特性的一小部分(没有模板,没有指针,没有操作重载)。我目前有很多适用于代码片段的东西,但不适用于整个C ++项目。 所以我最大的问题是处理C ++预处理器(包括,定义,替换,ifdef,......)。
有人知道一个程序,它会在预处理后为你提供cpp文件的结果吗?
可以从python调用的东西是完美的。
我知道大多数编译器都可以使用它,但我不想在我的小解析器中包含另一个编译器。
我尝试过boost :: wave但它没有用。因为 : Using boost wave
任何提示?
答案 0 :(得分:2)
GNU C preprocessor可作为单独的程序使用。它适用于C和C ++(以及Objective-C)。
在我的系统上,它安装为/usr/bin/cpp
。
(它是根据GNU GPL许可的;注意你是否要将它合并到你自己的项目中。)
答案 1 :(得分:-4)
您需要添加以下命令来添加更多库文件。
Sudo apt-get install libboost -alt-dev emake subversion
Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install build-essential
Bcc -v
Make -v
Sudo apt-get install git
然后你需要重启。
这适用于.cpp .C .cpp
c ++文件扩展名。