An Organization of Symbol Table for a Language with a Nested Block Structure and Its Analysis

Bibliographic Information

Other Title
  • 入れ子構造を許す言語処理で用いる名前表の一構成法とその解析

Search this article

Description

ブロック構造を許すプログラム言語のコンパイラやインタプリタで用いる名前表は 名前の探索だけでなく 格納 削除が混在する動的な状況に対処する必要がある.見出し探索法の一つである分散記憶法では 探索に要する路の長さは名前の多少に関わらず表占有率によって決まり 平均的に数回の探索回数でよい.したがって 分散記憶法は探索効率の点から名前表の処理に有効な方法である.しかし この方法では ブロックの開閉に伴う名前の格納 削除が混在する状況に対しては効率がよくない.本稿では 名前の格納 削除が混在する動的な状況に対処できるように 名前の探索に有効な分散記憶法と入れ子構造の処理に簡便なスタック法を組み合わせたワンパス・コンパイラ向きの名前表の構成法を提示し この名前表が入れ子構造を許すプログラム言語Pascalでの名前の処理に有効であることを具体的に示す.次に この名前表を用いた場合の探索路長をブロック間での名前の参照頻度を考慮したもとで解析し 探索路長の評価式を導出する.そして この評価式を用いて 探索路長を評価するとともに単純にスタックのみで名前表を構成した場合の探索路長とを具体的な数値例を用いて比較し ここで提示した名前表を用いれば 探索路長が著しく短くなることを示している.

Journal

Keywords

Details 詳細情報について

Report a problem

Back to top