コードの分析と操作を行う趣味のプロジェクトのアイデアがあります。このプロジェクトでは、特定のソース ファイルの具体的な構文ツリーと抽象的な構文ツリーの両方が必要になります。さらに、2 つのツリー間の双方向参照が役立ちます。文法を書き写して独自のレクサーとパーサーを構築する作業は避けたいと思います。
具体的または抽象的な構文ツリーを記述するための標準形式はありますか? 広く使用されているツール チェーンは、これらの形式への出力をサポートしていますか?
特定のターゲット プログラミング言語を念頭に置いているわけではありません。プロトタイプには一般的なものを使用できますが、Python、C#、Javascript、または C/C++ など、私がよく知っているものを使用したいと思います。
ツールまたはライブラリを介してソース ファイルを実行し、両方のツリーを取得する機能が必要です。理想的な世界では、このツールをユーザーが編集しているコードで実行し、エラーを許容することが実用的です。繰り返しますが、私は単にプロトタイプを開発しようとしているだけなので、これらの要件はかなり緩いです。
ありがとう!