有没有办法解析c ++源代码,并为每个变量获取声明它的行? 您可以忽略全局变量和函数参数,但它必须处理指针和任何用户定义的对象。
类似的东西:
int main(){
int x = 5,y = 6;
Car c1(1,2,3);
return 0;
}
预期产出:
的x,2
Y,2
c1,3
首选它可以在c ++或python中完成,但如果可以用任何其他语言完成它就没问题。
答案 0 :(得分:1)
C ++是一种非常难以正确解析的语言。声明语法已经足够糟糕了,但是预处理器宏提供了另一堆痛苦。
最强大的方法是使用ctags
之类的东西,或使用clang构建代码分析工具。
除此之外,您可以尝试编写正则表达式(除了现在您有两个问题)。