18

解析できるようにする必要がある巨大な C ファイル (〜 100k 行) があります。主に、すべての構造の個々のフィールドに関する詳細 (構造内のすべてのフィールドのフィールド名やタイプなど) をその定義から取得できるようにする必要があります。これを行うための良い(コードで使用できるオープンソース)方法はありますか?または、このために独自のパーサーを作成する必要があります。自分で書く必要がある場合、誰かが始めるのに適した場所を提案できますか? 私は以前にPythonを使ったことがありません。

ありがとう

4

2 に答える 2

22

Python で使用できる解析ツールの広範なリストについては、このリンクを参照してください。具体的には、c コードを解析するには、pycparserを試してください

于 2012-06-21T17:07:19.173 に答える
10

これを行う正しい方法は、ほとんどの場合、任意の言語で独自のパーサーを作成しようとするのではなく、gcc などの既存のコンパイラのフロントエンドとやり取りしてから中間表現を操作することです。

ただし、pycparserは、Dhara が示唆するように、適切な代替手段である可能性があり、自分で作成するよりも間違いなく優れています。

于 2012-06-21T17:11:35.880 に答える