Vera ++または静的アナライザーに関する知識がある場合は、スルーしてください。
複雑な C++ ルール検証マシンを静的アナライザーとして実装するにはどうすればよいですか? 基本クラスの仮想関数、クラス、構造体などのユーザー定義変数の識別などの複雑なルールを実装したい.グローバル、ローカル、静的などの変数スコープ.Vera++をよく理解していた.トークンの解析のみを行っている.言語のコンテキストはスクリプトを介して実装する必要があります (言語が C++ の場合、実装されたコンテキストは複雑すぎる可能性があります)。a *b; を区別するためです。(これは、クラス型 a のポインター b である可能性があります) または a *b;(変数内の 2 つの単純な乗算である可能性があります);
複雑なルールの実装には、スクリプトが言語のコンテキストを理解できるように、ステート マシンのようなコンパイラが必要になるかもしれないとさえ感じています。
私の質問はただ尋ねることです:
Static Analyzer Rules の実装に関して、私の理解は正しいですか。
このタスクを達成するためにどのように進めればよいか、少し教えてください。
これらのタスクは、tcl の REGEXP によって簡素化できますか。
Solid C++ Code Analyzer を適切に実装するために提案できる特定の設計アプローチはありますか?