如何从gcc C代码构建AST(抽象语法树),以便进行一些修改,例如将一些int变量转换为float,并在此之后再次将代码生成为C语法。
实际上,目前我真正需要的功能只是从由几行组成的c程序中提取变量及其类型的表格......我认为有一个简单的解析器可以做到这一点。
我有一些变量,例如:
int var_bss ;
float var_f_bss;
int var_data = 4;
float var_f_data = 5;
还有一个函数:
int Foo(){
some local variables;
}
这份代码在单个c文件中。
我想将所有变量介绍给最终用户,让他选择特定内存段中的源类型,例如.data中的int变量。然后用户可以将这些变量转换为浮点数。最后,我会为用户生成相同的代码,但使用他选择的新变量类型。