gpt4 book ai didi

c - 推荐保留预处理器指令的 C 前端

转载 作者:太空狗 更新时间:2023-10-29 15:05:04 26 4
gpt4 key购买 nike

我想开始一个涉及转换 C 代码的项目,但我想包含预处理器指令。我不想通过编写自己的 C 解析器来重新发明轮子,所以有谁知道可以解析 C 预处理器和 C 代码,并生成可用于重新生成(或 pretty-print )原始源代码的 AST?

例如:

#define FILENAME "filename"
#include <stdio.h>

FILE *f=0;
...
if (file_is_open) {
#ifdef CAN_OPEN_IT
f = fopen(FILENAME, "r");
#else
printf("Unable to open file.\n");
#endif
}

上面的代码应该被解析成一些内存中的表示形式,可以用来重新生成源代码。换句话说,它不应该像正常的 C 一样分两个阶段处理,首先处理 PP 指令,然后解析纯 C 代码。相反,它应该代表整个编译时逻辑,包括预处理器变量。

最佳答案

关于c - 推荐保留预处理器指令的 C 前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2143552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com