1
私は実験のためにLLVMを拡張しています。したがって、私はさまざまな使用法とその依存関係を追跡したいと思います。変数の使用法と依存関係をバックトラックするアルゴリズム
たとえば、2つのオペランドの比較によって引き起こされる条件分岐を見つけた後、その変数のすべての用途をバックトラックし、すべての依存関係(条件のオペランドを計算するために使用される変数)を決定します。私の場合、これは何らかの再帰的なバックトラック操作のようです。
この問題に特化した特別なアルゴリズムはありますか?
どの州からですか?ソース? IR? AST?情報のデータ構造には、歩行前後のアルゴリズムなどがあります。 –
中間表現。 –
OK、私はC++ライブラリ、クラス、または関数に慣れていませんが、それがあなたの最善の希望かもしれません。私のフロントエンドコンパイラはLLVM-IRを出すので、意味分析中に変数の依存関係を実行しています(ポストウォークなど)。 –