小编Asa*_*san的帖子

从C代码构建AST

如何从gcc C代码构建AST(抽象语法树)以进行一些修改,比如将一些int变量转换为float,然后再将代码重新生成(生成)到C语法.

实际上,目前,我真正需要的唯一功能是从包含几行的ac程序中提取变量及其类型的表...我认为有一个简单的解析器就是这样做的.

我有一些变量,如:

int  var_bss ;           
float var_f_bss;            
int var_data = 4;        
float var_f_data = 5;  
Run Code Online (Sandbox Code Playgroud)

功能:

int Foo(){          
   some local variables;            
}    
Run Code Online (Sandbox Code Playgroud)

代码位于单个c文件中.

我想向最终用户介绍所有变量,让他选择特定内存段中的源类型,例如.data中的int变量.然后用户可以将这些变量转换为浮点数.最后,我为用户生成相同的代码,但使用他选择的新变量类型.

c gcc abstract-syntax-tree code-translation

9
推荐指数
2
解决办法
6156
查看次数

标签 统计

abstract-syntax-tree ×1

c ×1

code-translation ×1

gcc ×1