JPH05334093A - 言語プロセッサにおけるシンボル管理方式 - Google Patents
言語プロセッサにおけるシンボル管理方式Info
- Publication number
- JPH05334093A JPH05334093A JP4162222A JP16222292A JPH05334093A JP H05334093 A JPH05334093 A JP H05334093A JP 4162222 A JP4162222 A JP 4162222A JP 16222292 A JP16222292 A JP 16222292A JP H05334093 A JPH05334093 A JP H05334093A
- Authority
- JP
- Japan
- Prior art keywords
- symbol
- program
- management table
- symbol management
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】 異なるプログラムで同一のシンボルが使用さ
れても、特別な仕掛けを言語プロセッサに組み込むこと
なしに、動作上の問題が生じないようにする。 【構成】 プログラム別シンボル管理テーブル作成手段
21はプログラムXおよびYのロード開始時にプログラ
ム別シンボル管理テーブル3−2および3−3を作成
し、組込みシンボル管理テーブル検索手段22は組込み
シンボル管理テーブル3−1を検索し、組込みシンボル
アドレス登録手段23はプログラム別シンボル管理テー
ブル3−2および3−3に組込みシンボルのシンボルテ
ーブルのアドレスを登録し、プログラム別シンボル管理
テーブル検索手段24はプログラム別シンボル管理テー
ブル3−2および3−3を検索し、シンボルテーブル作
成手段25は非組込みシンボルのシンボルテーブルを作
成してそのアドレスをプログラム別シンボル管理テーブ
ル3−2および3−3に登録する。
れても、特別な仕掛けを言語プロセッサに組み込むこと
なしに、動作上の問題が生じないようにする。 【構成】 プログラム別シンボル管理テーブル作成手段
21はプログラムXおよびYのロード開始時にプログラ
ム別シンボル管理テーブル3−2および3−3を作成
し、組込みシンボル管理テーブル検索手段22は組込み
シンボル管理テーブル3−1を検索し、組込みシンボル
アドレス登録手段23はプログラム別シンボル管理テー
ブル3−2および3−3に組込みシンボルのシンボルテ
ーブルのアドレスを登録し、プログラム別シンボル管理
テーブル検索手段24はプログラム別シンボル管理テー
ブル3−2および3−3を検索し、シンボルテーブル作
成手段25は非組込みシンボルのシンボルテーブルを作
成してそのアドレスをプログラム別シンボル管理テーブ
ル3−2および3−3に登録する。
Description
【0001】
【産業上の利用分野】本発明は言語プロセッサにおける
シンボル管理方式に関し、特にソースプログラムやコン
パイルされたオブジェクトコードを解釈・実行しながら
動作するインタプリタを基本とする言語プロセッサ(例
えば、Lisp言語)におけるシンボル管理方式に関す
る。
シンボル管理方式に関し、特にソースプログラムやコン
パイルされたオブジェクトコードを解釈・実行しながら
動作するインタプリタを基本とする言語プロセッサ(例
えば、Lisp言語)におけるシンボル管理方式に関す
る。
【0002】
【従来の技術】従来、この種の言語プロセッサにおける
シンボル管理方式では、インタプリタで1つのシンボル
管理テーブルをもち、言語プロセッサに組み込まれたシ
ンボル(以下、組込みシンボルという)を含む全てのシ
ンボルをその1つのシンボル管理テーブルで管理するよ
うになっていた。シンボル管理テーブルへの登録方法と
しては、組込みシンボルは、あらかじめそのシンボルテ
ーブルのアドレスをシンボル管理テーブルに登録してお
く。次に、プログラムにシンボルが現れるたびに、この
シンボルのシンボルテーブルのアドレスがすでにシンボ
ル管理テーブルに登録されているかどうかを調査し、登
録されている場合にはそのアドレスにあるシンボルテー
ブルを参照するようにする。シンボルテーブルのアドレ
スがシンボル管理テーブルに登録されていない場合に
は、新たにシンボルテーブルを作成し、そのアドレスを
シンボル管理テーブルに登録する。
シンボル管理方式では、インタプリタで1つのシンボル
管理テーブルをもち、言語プロセッサに組み込まれたシ
ンボル(以下、組込みシンボルという)を含む全てのシ
ンボルをその1つのシンボル管理テーブルで管理するよ
うになっていた。シンボル管理テーブルへの登録方法と
しては、組込みシンボルは、あらかじめそのシンボルテ
ーブルのアドレスをシンボル管理テーブルに登録してお
く。次に、プログラムにシンボルが現れるたびに、この
シンボルのシンボルテーブルのアドレスがすでにシンボ
ル管理テーブルに登録されているかどうかを調査し、登
録されている場合にはそのアドレスにあるシンボルテー
ブルを参照するようにする。シンボルテーブルのアドレ
スがシンボル管理テーブルに登録されていない場合に
は、新たにシンボルテーブルを作成し、そのアドレスを
シンボル管理テーブルに登録する。
【0003】また、複数のシンボル管理テーブルを使用
する場合は、用途別にシンボル管理テーブルを用意し、
どのシンボルをどのシンボル管理テーブルに登録するか
をプログラムにおいて宣言し、インタプリタがそれを調
べて該当するシンボル管理テーブルに登録し参照するよ
うな仕掛けを言語プロセッサに組み込んで実現するよう
にしていた。
する場合は、用途別にシンボル管理テーブルを用意し、
どのシンボルをどのシンボル管理テーブルに登録するか
をプログラムにおいて宣言し、インタプリタがそれを調
べて該当するシンボル管理テーブルに登録し参照するよ
うな仕掛けを言語プロセッサに組み込んで実現するよう
にしていた。
【0004】
【発明が解決しようとする課題】上述した従来の言語プ
ロセッサにおけるシンボル管理方式では、前者のシンボ
ル管理方式の場合、インタプリタで1つのシンボル管理
テーブルを備え、全てのシンボルのシンボルテーブルの
アドレスを1つのシンボル管理テーブルに登録して管理
していたので、いくつかのプログラムで同一のシンボル
を使用すると、それら全てのシンボルが同一のシンボル
テーブルの変数値や関数定義を参照するようになるた
め、あるプログラムで使用しているシンボルの変数値や
関数定義などの情報が他のプログラムによって変更され
てしまうという問題点がある。特に、言語プロセッサの
一部をその言語自体で実現し、インタプリタの起動後に
ロードするような言語プロセッサ構成をとった場合、言
語プロセッサが提供する機能を実現するプログラム上で
使用するシンボル名と同一のシンボル名を利用者プログ
ラムで使用したときには、言語プロセッサが使用してい
るシンボルの変数値や関数定義などの情報が変更されて
しまうという欠点がある。
ロセッサにおけるシンボル管理方式では、前者のシンボ
ル管理方式の場合、インタプリタで1つのシンボル管理
テーブルを備え、全てのシンボルのシンボルテーブルの
アドレスを1つのシンボル管理テーブルに登録して管理
していたので、いくつかのプログラムで同一のシンボル
を使用すると、それら全てのシンボルが同一のシンボル
テーブルの変数値や関数定義を参照するようになるた
め、あるプログラムで使用しているシンボルの変数値や
関数定義などの情報が他のプログラムによって変更され
てしまうという問題点がある。特に、言語プロセッサの
一部をその言語自体で実現し、インタプリタの起動後に
ロードするような言語プロセッサ構成をとった場合、言
語プロセッサが提供する機能を実現するプログラム上で
使用するシンボル名と同一のシンボル名を利用者プログ
ラムで使用したときには、言語プロセッサが使用してい
るシンボルの変数値や関数定義などの情報が変更されて
しまうという欠点がある。
【0005】また、後者のシンボル管理方式の場合、シ
ンボル管理テーブルを切り替えてシンボルを宣言された
シンボル管理テーブルに登録し参照するような複雑な仕
掛けを言語プロセッサに実装する必要があるので、処理
が複雑になって、1つのシンボルをアクセスするための
処理効率が悪くなるという欠点がある。
ンボル管理テーブルを切り替えてシンボルを宣言された
シンボル管理テーブルに登録し参照するような複雑な仕
掛けを言語プロセッサに実装する必要があるので、処理
が複雑になって、1つのシンボルをアクセスするための
処理効率が悪くなるという欠点がある。
【0006】本発明の目的は、上述の点に鑑み、異なる
プログラムで同一のシンボルが使用されても、特別な仕
掛けを言語プロセッサに組み込むことなしにプログラム
動作上の問題が生じないようにした言語プロセッサにお
けるシンボル管理方式を提供することにある。
プログラムで同一のシンボルが使用されても、特別な仕
掛けを言語プロセッサに組み込むことなしにプログラム
動作上の問題が生じないようにした言語プロセッサにお
けるシンボル管理方式を提供することにある。
【0007】
【課題を解決するための手段】本発明の言語プロセッサ
におけるシンボル管理方式は、プログラムを解釈・実行
しながら動作するインタプリタを基本とし、プログラム
中の変数名や関数名などを表す名標であるシンボルの内
部表現を管理するシンボルテーブルと、このシンボルテ
ーブルを管理するシンボル管理テーブルとを備えている
言語プロセッサにおいて、プログラムのロード開始時に
該プログラムのプログラム別シンボル管理テーブルを作
成するプログラム別シンボル管理テーブル作成手段と、
該プログラムにシンボルが現れるたびに前記組込みシン
ボル管理テーブルを検索する組込みシンボル管理テーブ
ル検索手段と、この組込みシンボル管理テーブル検索手
段による検索の結果、前記組込みシンボル管理テーブル
に該シンボルのシンボルテーブルのアドレスが登録され
ていれば該シンボルのシンボルテーブルのアドレスを該
プログラムのプログラム別シンボル管理テーブルに登録
する組込みシンボルアドレス登録手段と、前記組込みシ
ンボル管理テーブル検索手段による検索の結果、前記組
込みシンボル管理テーブルに該シンボルのシンボルテー
ブルのアドレスが登録されていなければ該プログラムの
プログラム別シンボル管理テーブルを検索するプログラ
ム別シンボル管理テーブル検索手段と、このプログラム
別シンボル管理テーブル検索手段による検索の結果、該
プログラムのプログラム別シンボル管理テーブルに該シ
ンボルのシンボルテーブルのアドレスが登録されていな
ければ該シンボルのシンボルテーブルを作成してそのア
ドレスを該プログラムのプログラム別シンボル管理テー
ブルに登録するシンボルテーブル作成手段とを有する。
におけるシンボル管理方式は、プログラムを解釈・実行
しながら動作するインタプリタを基本とし、プログラム
中の変数名や関数名などを表す名標であるシンボルの内
部表現を管理するシンボルテーブルと、このシンボルテ
ーブルを管理するシンボル管理テーブルとを備えている
言語プロセッサにおいて、プログラムのロード開始時に
該プログラムのプログラム別シンボル管理テーブルを作
成するプログラム別シンボル管理テーブル作成手段と、
該プログラムにシンボルが現れるたびに前記組込みシン
ボル管理テーブルを検索する組込みシンボル管理テーブ
ル検索手段と、この組込みシンボル管理テーブル検索手
段による検索の結果、前記組込みシンボル管理テーブル
に該シンボルのシンボルテーブルのアドレスが登録され
ていれば該シンボルのシンボルテーブルのアドレスを該
プログラムのプログラム別シンボル管理テーブルに登録
する組込みシンボルアドレス登録手段と、前記組込みシ
ンボル管理テーブル検索手段による検索の結果、前記組
込みシンボル管理テーブルに該シンボルのシンボルテー
ブルのアドレスが登録されていなければ該プログラムの
プログラム別シンボル管理テーブルを検索するプログラ
ム別シンボル管理テーブル検索手段と、このプログラム
別シンボル管理テーブル検索手段による検索の結果、該
プログラムのプログラム別シンボル管理テーブルに該シ
ンボルのシンボルテーブルのアドレスが登録されていな
ければ該シンボルのシンボルテーブルを作成してそのア
ドレスを該プログラムのプログラム別シンボル管理テー
ブルに登録するシンボルテーブル作成手段とを有する。
【0008】
【作用】本発明の言語プロセッサにおけるシンボル管理
方式では、プログラム別シンボル管理テーブル作成手段
がプログラムのロード開始時に該プログラムのプログラ
ム別シンボル管理テーブルを作成し、組込みシンボル管
理テーブル検索手段が該プログラムにシンボルが現れる
たびに組込みシンボル管理テーブルを検索し、組込みシ
ンボルアドレス登録手段が組込みシンボル管理テーブル
検索手段による検索の結果、組込みシンボル管理テーブ
ルに該シンボルのシンボルテーブルのアドレスが登録さ
れていれば該シンボルのシンボルテーブルのアドレスを
該プログラムのプログラム別シンボル管理テーブルに登
録し、プログラム別シンボル管理テーブル検索手段が組
込みシンボル管理テーブル検索手段による検索の結果、
組込みシンボル管理テーブルに該シンボルのシンボルテ
ーブルのアドレスが登録されていなければ該プログラム
のプログラム別シンボル管理テーブルを検索し、シンボ
ルテーブル作成手段がプログラム別シンボル管理テーブ
ル検索手段による検索の結果、該プログラムのプログラ
ム別シンボル管理テーブルに該シンボルのシンボルテー
ブルのアドレスが登録されていなければ該シンボルのシ
ンボルテーブルを作成してそのアドレスを該プログラム
のプログラム別シンボル管理テーブルに登録する。
方式では、プログラム別シンボル管理テーブル作成手段
がプログラムのロード開始時に該プログラムのプログラ
ム別シンボル管理テーブルを作成し、組込みシンボル管
理テーブル検索手段が該プログラムにシンボルが現れる
たびに組込みシンボル管理テーブルを検索し、組込みシ
ンボルアドレス登録手段が組込みシンボル管理テーブル
検索手段による検索の結果、組込みシンボル管理テーブ
ルに該シンボルのシンボルテーブルのアドレスが登録さ
れていれば該シンボルのシンボルテーブルのアドレスを
該プログラムのプログラム別シンボル管理テーブルに登
録し、プログラム別シンボル管理テーブル検索手段が組
込みシンボル管理テーブル検索手段による検索の結果、
組込みシンボル管理テーブルに該シンボルのシンボルテ
ーブルのアドレスが登録されていなければ該プログラム
のプログラム別シンボル管理テーブルを検索し、シンボ
ルテーブル作成手段がプログラム別シンボル管理テーブ
ル検索手段による検索の結果、該プログラムのプログラ
ム別シンボル管理テーブルに該シンボルのシンボルテー
ブルのアドレスが登録されていなければ該シンボルのシ
ンボルテーブルを作成してそのアドレスを該プログラム
のプログラム別シンボル管理テーブルに登録する。
【0009】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
説明する。
【0010】図1は、本発明の一実施例に係る言語プロ
セッサにおけるシンボル管理方式の構成を示すブロック
図である。本実施例の言語プロセッサにおけるシンボル
管理方式は、言語プロセッサ(図示せず)の一部を構成
するプログラムXと、利用者プログラムであるプログラ
ムYと、記憶域空間1と、記憶域空間1上に存在するイ
ンタプリタ2と、組込みシンボル管理テーブル3−1
と、プログラム別シンボル管理テーブル3−2および3
−3と、組込みシンボルのシンボルテーブル4−1〜4
−3と、組込みシンボル以外のシンボル(以下、非組込
みシンボルという)のシンボルテーブル4−4〜4−7
とから、その主要部が構成されている。
セッサにおけるシンボル管理方式の構成を示すブロック
図である。本実施例の言語プロセッサにおけるシンボル
管理方式は、言語プロセッサ(図示せず)の一部を構成
するプログラムXと、利用者プログラムであるプログラ
ムYと、記憶域空間1と、記憶域空間1上に存在するイ
ンタプリタ2と、組込みシンボル管理テーブル3−1
と、プログラム別シンボル管理テーブル3−2および3
−3と、組込みシンボルのシンボルテーブル4−1〜4
−3と、組込みシンボル以外のシンボル(以下、非組込
みシンボルという)のシンボルテーブル4−4〜4−7
とから、その主要部が構成されている。
【0011】インタプリタ2は、プログラムXおよびY
のロード開始時にプログラムXおよびYのプログラム別
シンボル管理テーブル3−2および3−3を作成するプ
ログラム別シンボル管理テーブル作成手段21と、プロ
グラムXおよびYにシンボルが現れるたびに組込みシン
ボル管理テーブル3−1を検索する組込みシンボル管理
テーブル検索手段22と、組込みシンボル管理テーブル
検索手段22による検索の結果、組込みシンボル管理テ
ーブル3−1にシンボルのシンボルテーブルのアドレス
が登録されていればシンボルのシンボルテーブルのアド
レスをプログラムXおよびYのプログラム別シンボル管
理テーブル3−2および3−3に登録する組込みシンボ
ルアドレス登録手段23と、組込みシンボル管理テーブ
ル検索手段22による検索の結果、組込みシンボル管理
テーブル3−1にシンボルのシンボルテーブルのアドレ
スが登録されていなければプログラムXおよびYのプロ
グラム別シンボル管理テーブル3−2および3−3を検
索するプログラム別シンボル管理テーブル検索手段24
と、プログラム別シンボル管理テーブル検索手段24に
よる検索の結果、プログラムXおよびYのプログラム別
シンボル管理テーブル3−2および3−3にシンボルの
シンボルテーブルのアドレスが登録されていなければシ
ンボルのシンボルテーブルを作成してそのアドレスをプ
ログラムXおよびYのプログラム別シンボル管理テーブ
ル3−2および3−3に登録するシンボルテーブル作成
手段25とを含んで構成されている。
のロード開始時にプログラムXおよびYのプログラム別
シンボル管理テーブル3−2および3−3を作成するプ
ログラム別シンボル管理テーブル作成手段21と、プロ
グラムXおよびYにシンボルが現れるたびに組込みシン
ボル管理テーブル3−1を検索する組込みシンボル管理
テーブル検索手段22と、組込みシンボル管理テーブル
検索手段22による検索の結果、組込みシンボル管理テ
ーブル3−1にシンボルのシンボルテーブルのアドレス
が登録されていればシンボルのシンボルテーブルのアド
レスをプログラムXおよびYのプログラム別シンボル管
理テーブル3−2および3−3に登録する組込みシンボ
ルアドレス登録手段23と、組込みシンボル管理テーブ
ル検索手段22による検索の結果、組込みシンボル管理
テーブル3−1にシンボルのシンボルテーブルのアドレ
スが登録されていなければプログラムXおよびYのプロ
グラム別シンボル管理テーブル3−2および3−3を検
索するプログラム別シンボル管理テーブル検索手段24
と、プログラム別シンボル管理テーブル検索手段24に
よる検索の結果、プログラムXおよびYのプログラム別
シンボル管理テーブル3−2および3−3にシンボルの
シンボルテーブルのアドレスが登録されていなければシ
ンボルのシンボルテーブルを作成してそのアドレスをプ
ログラムXおよびYのプログラム別シンボル管理テーブ
ル3−2および3−3に登録するシンボルテーブル作成
手段25とを含んで構成されている。
【0012】言語プロセッサは、起動時に、インタプリ
タ2を記憶域空間1上にロードするとともに、setq
やprintなどの組込み関数やstandard−i
nputなどの組込み変数などのシンボルテーブル4−
1,4−2および4−3を記憶域空間1上に作成し、そ
れらのアドレスを組込みシンボル管理テーブル3−1に
あらかじめ登録しておく。
タ2を記憶域空間1上にロードするとともに、setq
やprintなどの組込み関数やstandard−i
nputなどの組込み変数などのシンボルテーブル4−
1,4−2および4−3を記憶域空間1上に作成し、そ
れらのアドレスを組込みシンボル管理テーブル3−1に
あらかじめ登録しておく。
【0013】シンボルテーブル4−1〜4−7には、各
シンボルの変数値や関数定義などが登録される。
シンボルの変数値や関数定義などが登録される。
【0014】次に、このように構成された本実施例の言
語プロセッサにおけるシンボル管理方式の動作について
説明する。
語プロセッサにおけるシンボル管理方式の動作について
説明する。
【0015】まず、プログラムXのロードを開始する際
に、インタプリタ2は、プログラム別シンボル管理テー
ブル作成手段21により、プログラムX用のプログラム
別シンボル管理テーブル3−2を記憶域空間1上に作成
する。
に、インタプリタ2は、プログラム別シンボル管理テー
ブル作成手段21により、プログラムX用のプログラム
別シンボル管理テーブル3−2を記憶域空間1上に作成
する。
【0016】次に、インタプリタ2は、プログラムX中
にシンボルが現れるたびに、組込みシンボル管理テーブ
ル検索手段22により、組込みシンボル管理テーブル3
−1を検索してシンボルのシンボルテーブルのアドレス
が登録されているかどうかを調べる。
にシンボルが現れるたびに、組込みシンボル管理テーブ
ル検索手段22により、組込みシンボル管理テーブル3
−1を検索してシンボルのシンボルテーブルのアドレス
が登録されているかどうかを調べる。
【0017】シンボルのシンボルテーブルのアドレスが
すでに組込みシンボル管理テーブル3−1に登録されて
いる場合には、そのシンボルは組込みシンボルであるの
で、インタプリタ2は、組込みシンボルアドレス登録手
段23により、該当するシンボルテーブルのアドレスを
プログラムX用のプログラム別シンボル管理テーブル3
−2に登録する。例えば、シンボルがsetqの場合に
は、シンボルテーブル4−1のアドレスがプログラムX
用のプログラム別シンボル管理テーブル3−2に登録さ
れる。
すでに組込みシンボル管理テーブル3−1に登録されて
いる場合には、そのシンボルは組込みシンボルであるの
で、インタプリタ2は、組込みシンボルアドレス登録手
段23により、該当するシンボルテーブルのアドレスを
プログラムX用のプログラム別シンボル管理テーブル3
−2に登録する。例えば、シンボルがsetqの場合に
は、シンボルテーブル4−1のアドレスがプログラムX
用のプログラム別シンボル管理テーブル3−2に登録さ
れる。
【0018】シンボルのシンボルテーブルのアドレスが
組込みシンボル管理テーブル3−1に登録されていない
場合には、シンボルは非組込みシンボルであるので、イ
ンタプリタ2は、プログラム別シンボル管理テーブル検
索手段24により、プログラムX用のプログラム別シン
ボル管理テーブル3−2を検索してシンボルのシンボル
テーブルのアドレスが登録されているかどうかを調べ
る。
組込みシンボル管理テーブル3−1に登録されていない
場合には、シンボルは非組込みシンボルであるので、イ
ンタプリタ2は、プログラム別シンボル管理テーブル検
索手段24により、プログラムX用のプログラム別シン
ボル管理テーブル3−2を検索してシンボルのシンボル
テーブルのアドレスが登録されているかどうかを調べ
る。
【0019】シンボルのシンボルテーブルのアドレスが
プログラム別シンボル管理テーブル3−2に登録されて
いない場合には、インタプリタ2は、シンボルテーブル
作成手段25により、シンボルのシンボルテーブルを作
成して、そのアドレスをプログラムX用のプログラム別
シンボル管理テーブル3−2に登録する。例えば、シン
ボルがaの場合には、シンボルテーブル4−4が新たに
作成されて、そのアドレスがプログラムX用のプログラ
ム別シンボル管理テーブル3−2に登録される。
プログラム別シンボル管理テーブル3−2に登録されて
いない場合には、インタプリタ2は、シンボルテーブル
作成手段25により、シンボルのシンボルテーブルを作
成して、そのアドレスをプログラムX用のプログラム別
シンボル管理テーブル3−2に登録する。例えば、シン
ボルがaの場合には、シンボルテーブル4−4が新たに
作成されて、そのアドレスがプログラムX用のプログラ
ム別シンボル管理テーブル3−2に登録される。
【0020】また、プログラムYのロードを開始する際
に、インタプリタ2は、プログラム別シンボル管理テー
ブル作成手段21により、プログラムY用のプログラム
別シンボル管理テーブル3−3を記憶域空間1上に作成
する。
に、インタプリタ2は、プログラム別シンボル管理テー
ブル作成手段21により、プログラムY用のプログラム
別シンボル管理テーブル3−3を記憶域空間1上に作成
する。
【0021】次に、インタプリタ2は、プログラムY中
にシンボルが現れるたびに、組込みシンボル管理テーブ
ル検索手段22により、組込みシンボル管理テーブル3
−1を検索してシンボルのシンボルテーブルのアドレス
が登録されているかどうかを調べる。
にシンボルが現れるたびに、組込みシンボル管理テーブ
ル検索手段22により、組込みシンボル管理テーブル3
−1を検索してシンボルのシンボルテーブルのアドレス
が登録されているかどうかを調べる。
【0022】シンボルのシンボルテーブルのアドレスが
すでに組込みシンボル管理テーブル3−1に登録されて
いる場合には、そのシンボルは組込みシンボルであるの
で、インタプリタ2は、組込みシンボルアドレス登録手
段23により、該当するシンボルテーブルのアドレスを
プログラムY用のプログラム別シンボル管理テーブル3
−3に登録する。例えば、シンボルがsetqの場合に
は、シンボルテーブル4−1のアドレスがプログラムY
用のプログラム別シンボル管理テーブル3−3に登録さ
れる。
すでに組込みシンボル管理テーブル3−1に登録されて
いる場合には、そのシンボルは組込みシンボルであるの
で、インタプリタ2は、組込みシンボルアドレス登録手
段23により、該当するシンボルテーブルのアドレスを
プログラムY用のプログラム別シンボル管理テーブル3
−3に登録する。例えば、シンボルがsetqの場合に
は、シンボルテーブル4−1のアドレスがプログラムY
用のプログラム別シンボル管理テーブル3−3に登録さ
れる。
【0023】シンボルのシンボルテーブルのアドレスが
組込みシンボル管理テーブル3−1に登録されていない
場合には、シンボルは非組込みシンボルであるので、イ
ンタプリタ2は、プログラム別シンボル管理テーブル検
索手段24により、プログラムY用のプログラム別シン
ボル管理テーブル3−3を検索してシンボルのシンボル
テーブルのアドレスが登録されているかどうかを調べ
る。
組込みシンボル管理テーブル3−1に登録されていない
場合には、シンボルは非組込みシンボルであるので、イ
ンタプリタ2は、プログラム別シンボル管理テーブル検
索手段24により、プログラムY用のプログラム別シン
ボル管理テーブル3−3を検索してシンボルのシンボル
テーブルのアドレスが登録されているかどうかを調べ
る。
【0024】シンボルのシンボルテーブルのアドレスが
プログラム別シンボル管理テーブル3−3に登録されて
いない場合には、インタプリタ2は、シンボルテーブル
作成手段25により、シンボルのシンボルテーブルを作
成して、そのアドレスをプログラムY用のプログラム別
シンボル管理テーブル3−3に登録する。例えば、シン
ボルがaの場合には、シンボルテーブル4−6が新たに
作成されて、そのアドレスがプログラムY用のプログラ
ム別シンボル管理テーブル3−3に登録される。
プログラム別シンボル管理テーブル3−3に登録されて
いない場合には、インタプリタ2は、シンボルテーブル
作成手段25により、シンボルのシンボルテーブルを作
成して、そのアドレスをプログラムY用のプログラム別
シンボル管理テーブル3−3に登録する。例えば、シン
ボルがaの場合には、シンボルテーブル4−6が新たに
作成されて、そのアドレスがプログラムY用のプログラ
ム別シンボル管理テーブル3−3に登録される。
【0025】このように、プログラムXおよびYをロー
ドする際にシンボルを登録するプログラム別シンボル管
理テーブル3−2および3−3を切り替えることによっ
て、プログラムXおよびY別にシンボルを管理すること
ができるようになる。この結果、組込みシンボルは各プ
ログラムXおよびYから言語プロセッサで提供された同
一のシンボルテーブルを参照することができ、非組込み
シンボルは各プログラムXおよびY固有のシンボルテー
ブルを参照することができる。
ドする際にシンボルを登録するプログラム別シンボル管
理テーブル3−2および3−3を切り替えることによっ
て、プログラムXおよびY別にシンボルを管理すること
ができるようになる。この結果、組込みシンボルは各プ
ログラムXおよびYから言語プロセッサで提供された同
一のシンボルテーブルを参照することができ、非組込み
シンボルは各プログラムXおよびY固有のシンボルテー
ブルを参照することができる。
【0026】なお、上記実施例では、プログラムXを言
語プロセッサの一部を構成するプログラム、プログラム
Yを利用者プログラムであると説明したが、プログラム
XおよびYの両者が言語プロセッサの一部を構成するプ
ログラムであっても利用者プログラムであっても本発明
が同様に適用できることはいうまでもない。
語プロセッサの一部を構成するプログラム、プログラム
Yを利用者プログラムであると説明したが、プログラム
XおよびYの両者が言語プロセッサの一部を構成するプ
ログラムであっても利用者プログラムであっても本発明
が同様に適用できることはいうまでもない。
【0027】
【発明の効果】以上説明したように本発明は、インタプ
リタにプログラム別シンボル管理テーブル作成手段,組
込みシンボル管理テーブル検索手段,組込みシンボルア
ドレス登録手段,プログラム別シンボル管理テーブル検
索手段およびシンボルテーブル作成手段を設けたことに
より、プログラム別にシンボルの管理を行うことが可能
となり、異なるプログラムで同一のシンボルが使用され
ても、特別な仕掛けを言語プロセッサに組み込むことな
しにプログラム動作上の問題が生じないという効果があ
る。特に、言語プロセッサが提供する機能を実現するプ
ログラム上で使用している変数や関数などの非組込みシ
ンボルと利用者プログラム上で使用している変数や関数
などの非組込みシンボルとを個別に管理することが可能
になるので、言語プロセッサの一部で使用される非組込
みシンボルと利用者プログラムで使用される非組込みシ
ンボルとに同一のシンボルが使用されても、プログラム
動作上の問題は生じなくなる。
リタにプログラム別シンボル管理テーブル作成手段,組
込みシンボル管理テーブル検索手段,組込みシンボルア
ドレス登録手段,プログラム別シンボル管理テーブル検
索手段およびシンボルテーブル作成手段を設けたことに
より、プログラム別にシンボルの管理を行うことが可能
となり、異なるプログラムで同一のシンボルが使用され
ても、特別な仕掛けを言語プロセッサに組み込むことな
しにプログラム動作上の問題が生じないという効果があ
る。特に、言語プロセッサが提供する機能を実現するプ
ログラム上で使用している変数や関数などの非組込みシ
ンボルと利用者プログラム上で使用している変数や関数
などの非組込みシンボルとを個別に管理することが可能
になるので、言語プロセッサの一部で使用される非組込
みシンボルと利用者プログラムで使用される非組込みシ
ンボルとに同一のシンボルが使用されても、プログラム
動作上の問題は生じなくなる。
【0028】なお、本発明のシンボル管理方式では、特
に複雑な処理は必要なく、実行時のオーバヘッドは全く
ないという利点がある。
に複雑な処理は必要なく、実行時のオーバヘッドは全く
ないという利点がある。
【図面の簡単な説明】
【図1】本発明の一実施例に係る言語プロセッサにおけ
るシンボル管理方式の構成を示すブロック図である。
るシンボル管理方式の構成を示すブロック図である。
1 記憶域空間 2 インタプリタ 3−1 組込みシンボル管理テーブル 3−2,3−3 プログラム別シンボル管理テーブル 4−1〜4−7 シンボルテーブル 21 プログラム別シンボル管理テーブル作成手段 22 組込みシンボル管理テーブル検索手段 23 組込みシンボルアドレス登録手段 24 プログラム別シンボル管理テーブル検索手段 25 シンボルテーブル作成手段
Claims (1)
- 【請求項1】 プログラムを解釈・実行しながら動作す
るインタプリタを基本とし、プログラム中の変数名や関
数名などを表す名標であるシンボルの内部表現を管理す
るシンボルテーブルと、このシンボルテーブルを管理す
るシンボル管理テーブルとを備えている言語プロセッサ
において、 言語プロセッサに組み込まれた組込みシンボルのシンボ
ルテーブルのアドレスを登録する組込みシンボル管理テ
ーブルと、 プログラムのロード開始時に該プログラムのプログラム
別シンボル管理テーブルを作成するプログラム別シンボ
ル管理テーブル作成手段と、 該プログラムにシンボルが現れるたびに前記組込みシン
ボル管理テーブルを検索する組込みシンボル管理テーブ
ル検索手段と、 この組込みシンボル管理テーブル検索手段による検索の
結果、前記組込みシンボル管理テーブルに該シンボルの
シンボルテーブルのアドレスが登録されていれば該シン
ボルのシンボルテーブルのアドレスを該プログラムのプ
ログラム別シンボル管理テーブルに登録する組込みシン
ボルアドレス登録手段と、 前記組込みシンボル管理テーブル検索手段による検索の
結果、前記組込みシンボル管理テーブルに該シンボルの
シンボルテーブルのアドレスが登録されていなければ該
プログラムのプログラム別シンボル管理テーブルを検索
するプログラム別シンボル管理テーブル検索手段と、 このプログラム別シンボル管理テーブル検索手段による
検索の結果、該プログラムのプログラム別シンボル管理
テーブルに該シンボルのシンボルテーブルのアドレスが
登録されていなければ該シンボルのシンボルテーブルを
作成してそのアドレスを該プログラムのプログラム別シ
ンボル管理テーブルに登録するシンボルテーブル作成手
段とを有することを特徴とする言語プロセッサにおける
シンボル管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4162222A JPH05334093A (ja) | 1992-05-28 | 1992-05-28 | 言語プロセッサにおけるシンボル管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4162222A JPH05334093A (ja) | 1992-05-28 | 1992-05-28 | 言語プロセッサにおけるシンボル管理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05334093A true JPH05334093A (ja) | 1993-12-17 |
Family
ID=15750293
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4162222A Pending JPH05334093A (ja) | 1992-05-28 | 1992-05-28 | 言語プロセッサにおけるシンボル管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05334093A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06230976A (ja) * | 1992-12-22 | 1994-08-19 | Sun Microsyst Inc | 参照をリゾルブする方法および装置 |
-
1992
- 1992-05-28 JP JP4162222A patent/JPH05334093A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06230976A (ja) * | 1992-12-22 | 1994-08-19 | Sun Microsyst Inc | 参照をリゾルブする方法および装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20020019972A1 (en) | Isolating assembly versions for binding to application programs | |
| JP2004038958A (ja) | プロパティをオブジェクトに関連付けするための、コンピュータ可読媒体、システム、および、方法 | |
| CN107145549B (zh) | 一种数据库缓存控制方法以及系统 | |
| US20060130034A1 (en) | Apparatus, system, and method for providing access to a set of resources available directly to a particular class loader | |
| JP3489216B2 (ja) | ファイルシステム | |
| JPH05334093A (ja) | 言語プロセッサにおけるシンボル管理方式 | |
| US20040111714A1 (en) | Dynamic division optimization for a just-in-time compiler | |
| US7051333B1 (en) | System and method for extending a programming language to include multiple dissimilar object systems | |
| US6697826B1 (en) | Information-handling system, method, and article of manufacture including and object search mechanism that provides constraint-based filtering in a distributed object system | |
| CN117725091A (zh) | 批量打印方法、装置及存储介质 | |
| US7065760B2 (en) | Reducing the memory footprint of applications executed in a virtual machine | |
| JP2002328935A (ja) | オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置 | |
| JPH1063494A (ja) | プログラム部品利用支援システム | |
| JPH11232109A (ja) | クラスオブジェクトのロード方法 | |
| CN110990648A (zh) | 一种病毒查询方法、服务器及计算机可读存储介质 | |
| JPH09146772A (ja) | 手続き呼出し方法 | |
| JP3489153B2 (ja) | ファイルシステム | |
| JPH10293691A (ja) | レジスタ割り付け方法 | |
| JPH04335428A (ja) | ファイルのバージョン管理方法 | |
| JPH06162070A (ja) | 機械翻訳システムの辞書作成方法 | |
| CN120705195A (zh) | 数据库的临时表管理方法、设备、介质及产品 | |
| JP3018992B2 (ja) | オブジェクト指向言語の実行処理方式 | |
| JPH0512079A (ja) | 媒体グループ名フアイルアサイン方式 | |
| Ballintijn et al. | Scheduling concurrent RPCs in the Globe location service | |
| JPH04282724A (ja) | プログラム間のアドレス解決方式 |