抽象構文ツリー (AST)
指定されたプログラミング言語の文法に従って、ソースコード構造を表す階層的中間プログラム表現です。
AST ノードは、ソースコードのアイテムに対応します。 翻訳単位全体を表すノードを持つ最上位から始まって、多数の中間レベルに進み、最下位でタイプ名、識別子名、演算記号などの単純な言語構築を表します。
ノードは、親子関係を通して接続されます。コードアイテムは通常、多数の小さなサブアイテムで構成され、指定されたコードアイテムを表すノードはそのサブアイテムを表すノードの親になると見なされます。
AST は、ステートメント、式、識別子などの抽象構文用語で指定されます。AST には、括弧などの具体的な言語構文の詳細は含まれません。多くの場合、AST はパーサーによってビルドされ、その抽象的な性質を使用すると、コードのコンパイルの後続手順で柔軟性が高くなります。
詳細については、C/C++ KAST チェッカーの作成とCreating Java KAST チェッカーの作成を参照してください。