Checker Studio を使用して目的の KAST ノードを検索する
単純なテストケースを作成したら、次のステップは Checker Studio を開くことです。
- デスクトップで Checker Studio アイコンをダブルクリックするか、コマンドラインで次のように入力します。
kwstudio
- Checker Studio の [ソースコード] セクションにテストケースの抜粋を貼り付けて、KAST ノード名、コード例および階層情報を表示します。これらは、チェッカーで特定する指摘へのパスを追跡する KAST 式の構成要素になります。言語ボタンをウィンドウの右上隅に忘れずに設定してください。
- [ソースコード] ペインで、抜粋内の if をクリックします。
AST で IfStmt ノードがハイライトされます。これはKAST 式内の目的の最初のノードです。
- ツリーノードを選択して F1 キーを押すか、[表示] > [コンテキストヘルプ] ウィンドウをクリックし、式のコンテキスト依存ヘルプを表示します。[ソースコード] ペインの下にコンテキスト依存ヘルプが表示され、スーパータイプやサブタイプ、使用できる関数などのノード情報が提供されます(画像の鮮明度の理由により、このチュートリアルの図には [コンテキストヘルプ] パネルは表示されません)。
- AST で IfStmt を拡張します。
IfStmt には子 Cond、Then、および Else があります。このチェッカーは if ステートメントの条件式を処理します。
- Cond: :AnyExpr ノードを拡張します。
Cond には 1 つの子 BinaryExpr があり、IfStmt にはバイナリ式 (BinaryExpr) の条件句 (Cond) が含まれることを示します。
- [ソースコード] ペインで '=' をクリックします。
これにより BinaryExpr がハイライトされ、属性が左下の属性テーブルに表示されます。
属性が表示されない場合は、
[属性を表示] アイコンをクリックします。現在選択されているノードの属性のみが表示されます。
- Value (KTC_OPCODE_ASSIGN)を書き留めます。
AST ノードが揃ったら、KAST 式のドラフトを作成できます。