シンボルテーブル
シンボルテーブル(英: symbol table)は、コンパイラやインタプリタといったコンピュータプログラミング言語処理系などのプログラムで使われるデータ構造のひとつであり、プログラムのソースコード内の変数名や関数名などの名前(シンボル)と、それぞれの内容(データ型、サイズ、スコープレベル、位置など)を表すデータ集合のペアを管理する。つまり、「名前」から対応する「中身」を参照するための情報を格納したテーブルである。
典型的な実装としては、ハッシュテーブルを使った実装がある。コンパイラやインタプリタやその他の処理系は、1つの大きなシンボルテーブルで全てを扱う場合と、名前空間ごとに分割されたシンボルテーブルを使う場合がある。前者の場合は、なんらかの方法で別々の名前空間にある同じ名前が衝突しないようにしなければならない。後者の場合は、名前空間が階層構造になっている場合にはその階層構造に対応した階層構造になっていることもあれば、なっていないこともある。