3

関数呼び出しを含む式を (C コードで) 分解し、各関数呼び出しを変数に抽出するプログラムを作成したいと考えています。例えば:

x = A() + B();

に変更する必要があります:

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

Clang と RecursiveASTVisitor を使って書いています。これが私の解決策です。最初に、すべての関数を探し、すべての呼び出しが含まれるメイン ブロックの最初の部分でそれぞれの変数を宣言する必要があります。次に、両側に関数呼び出しがある Binary Operations を探します。次に、関数呼び出しを抽出し、代わりに変数を使用します。私はこれの初心者なので、これを行う方が良いのか、それともこの解決策がまったく機能するのかわかりませんか?

4

0 に答える 0