最近、言語のセマンティック アナライザーを探していましたがC
、見つかりませんでした。flex
パーサーを生成するためのyacc
C
言語ファイルを見つけました。それらを変更してパーサーを生成することができました。しかし今、次のステップを実行する必要があります。C
誰かがツリーの意味分析と構築の例をいくつか教えてくれれば幸いです。セマンティック分析に関する情報も役に立ちます。いくつかの小さなC
コンパイラを見つけましたが、それらは独自のパーサーを使用しているため、私には合いません。
1851 次
1 に答える
1
当社のDMSソフトウェアリエンジニアリングツールキットとそのCフロントエンドは、おそらく必要なものを提供します。
DMSは、汎用の構文解析、ツリー構築、およびプログラム分析の機構を提供します。CフロントエンドはこれをC言語に特化しています。Cの多くの一般的なダイアレクト/バリアント(GCC、Microsoft、Green Hills)を処理し、暗いコーナーでASTSを解析および構築し、制御およびデータフローグラフ、ポイントツー分析、および間接関数ポインターを説明するグローバルコールグラフを構築します。
これらすべてを自分で行うこともできますが、これを正しく行うには数年かかることがわかります。
于 2012-04-09T20:03:15.607 に答える