3

我想编写一个程序来分解表达式(在 C 代码中),其中表达式具有函数调用并将每个函数调用提取到变量。例如:

x = A() + B();

应改为:

a = A();
b = B();
x = a + b;

我正在使用 Clang 和 RecursiveASTVisitor 编写它。这是我的解决方案。首先,我必须查找所有函数并在所有调用所在的主块的第一个处为每个函数声明一个变量。然后查找在两侧都有函数调用的二进制操作。然后提取函数调用并使用变量代替它们。因为我是新手,所以我不知道这样做是否有更好的方法,或者这个解决方案是否有效?

4

0 回答 0