1

最近、言語のセマンティック アナライザーを探していましたがC、見つかりませんでした。flexパーサーを生成するためのyacc C言語ファイルを見つけました。それらを変更してパーサーを生成することができました。しかし今、次のステップを実行する必要があります。C誰かがツリーの意味分析と構築の例をいくつか教えてくれれば幸いです。セマンティック分析に関する情報も役に立ちます。いくつかの小さなCコンパイラを見つけましたが、それらは独自のパーサーを使用しているため、私には合いません。

4

1 に答える 1

1

当社のDMSソフトウェアリエンジニアリングツールキットとそのCフロントエンドは、おそらく必要なものを提供します。

DMSは、汎用の構文解析、ツリー構築、およびプログラム分析の機構を提供します。CフロントエンドはこれをC言語に特化しています。Cの多くの一般的なダイアレクト/バリアント(GCC、Microsoft、Green Hills)を処理​​し、暗いコーナーでASTSを解析および構築し、制御およびデータフローグラフ、ポイントツー分析、および間接関数ポインターを説明するグローバルコールグラフを構築します。

これらすべてを自分で行うこともできますが、これを正しく行うには数年かかることがわかります。

于 2012-04-09T20:03:15.607 に答える