2010-12-18 16 views
1

私は独自の言語用の静的解析ツールを構築する予定です。私はANTを使用してASTを構築する予定です。私はASTを使用して独自の言語を使用してプロジェクトによって設定されたルールとガイドラインをチェックする方法について知りたいと思います。ANTLRによる静的解析

私がCソースコード用のASTをビルドして、ヌルポインタをチェックしたいと言っているとします。 ASTまたはCSTを使用してこのチェックを行う方法

ANTLRで生成されたlexer/parserを使用してテストする必要がありますか。

ありがとうございました

答えて

2

実行する具体的な分析によって異なります。あなたの具体例を取る:変数がヌルポインタであるかどうかを静的に判断するには、data flow graphを構築する必要があります。私はdragon bookを勉強することをお勧めします。

+0

@Martin:ANTLRと一緒にドラゴンの本を勉強すれば、私の言語用の単純なスタティックアナライザーを作ることができます。 – codeanalyser

+0

@codeanalyser:この質問には答えられません。単純な静的分析を実行したいことを説明する必要があります。他の人には簡単ではないことがあります。 –

+0

@Martin:私が構築しようとしているのは、糸くずに似たツールですが、私の言語です。 – codeanalyser

1

ヌルポインタの値を確認する場合は、独自の言語の完全な制御とデータフロー解析が必要です。 ANTLRはあなたのために超人的な努力なしにあなたをそこに連れてこないでしょう。

flow analysis capabilities of our DMSをご覧ください。これを使って、非常に大規模なCプログラムの詳細な解析を行いました。

この機械を使用していても、あなたはその機械の説明に多くの労力をかけなければなりません。これは他の方法よりもずっと簡単です。

関連する問題