以编程方式解析和编辑C++源文件

Kry*_*ten 5 c++ parsing

我想以编程方式解析和编辑C++源文件.我需要在代码的某些部分(即函数,类块等)中更改/添加代码.我也(最好)能够得到评论.

我想要做的部分内容可以通过以下代码解释:

CPlusPlusSourceParser cp = new CPlusPlusSourceParser(“x.cpp”);  // Create C++ Source Parser Object
CPlusPlusSourceFunction[] funcs = cp.getFunctions();  // Get all the functions

for (int i = 0; i &lt funcs.length; i++) {  // Loop through all functions
    funcs[i].append(/* … code I want to append …*/);  // Append some code to function 
}
cp.save(); // Save new source
cp.close(); // Close file
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我希望能够在Java,C++,Perl,Python或C#中做到这一点.但是,我对其他语言API持开放态度.

bri*_*gge 4

这类似于C 代码中的 AST

如果您熟悉 Java,antlr 可以轻松地将您的代码解析为抽象语法树,然后对该树应用转换。默认的 AST 转换只是简单地打印出原始源代码。