cparser 是一个用 C99 编写的递归下降 C99 解析器。它包含预处理器、词法分析器、解析器、构造 AST 并进行语义分析。它充当 libFirm 中间表示库的前端。通过这种方式执行优化和代码生成。该编译器支持通过命令行开关交叉编译到多个目标体系结构。它带有用于调用汇编器和链接器以及解析命令行选项的驱动程序逻辑。这使得它在许多情况下可以直接替代 gcc 或 clang。
要求:
将 libfirm 解压到源目录中名为 libfirm 的目录中,或者您可以使用“config.mak”文件设置备用位置。只需在源目录中输入“make”即可。结果被放入名为“build”的目录中。您可以通过创建“config.mak”文件来覆盖现有的预处理器、编译器和链接器标志以及包含目录的内置路径。
cparser 有一个额外的 cmake 构建系统。 CMake 是一个比基于 make 的构建更复杂的构建系统,大多数 cparser 开发人员不使用它。然而,它可以调整编译器和链接器标志来为更广泛的系统构建共享库,提供安装目标,并且对于准备分发包的人来说通常更熟悉。
虽然 cparser 通常在 source/build 目录中运行良好,但正确的安装应该配置正确的系统路径。为此,应创建config.mak
文件,并为系统适当设置以下变量: PREFIX
、 SYSTEM_INCLUDE_DIR
、 LOCAL_INCLUDE_DIR
、 COMPILER_INCLUDE_DIR
、 MULTILIB_M32_TRIPLE
、 MULTILIB_M64_TRIPLE
、 variant=optimize
。该变量可以定义为空;有关详细信息,请参阅config.default.mak
和Makefile
。
官方网站:http://libfirm.org/
联系电子邮件:[email protected]
邮件列表:https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
错误跟踪器:http://pp.ipd.kit.edu/~firm/bugs
互联网中继聊天:irc://chat.freenode.net/#firm