我想以编程方式解析和编辑 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 < 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
我怎样才能做到这一点?
我希望能够最好地使用 Java、C++、Perl、Python 或 C# 来完成此操作。不过,我对其他语言的 API 持开放态度。
这类似于来自 C 代码的 AST https://stackoverflow.com/questions/239722/ast-from-c-code
如果您熟悉 Java,antlr 可以轻松地将您的代码解析为抽象语法树,然后对该树应用转换。默认的 AST 转换只是简单地打印出原始源代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)