JPH03255533A - Symbol managing system in programming language processing system - Google Patents

Symbol managing system in programming language processing system

Info

Publication number
JPH03255533A
JPH03255533A JP5440590A JP5440590A JPH03255533A JP H03255533 A JPH03255533 A JP H03255533A JP 5440590 A JP5440590 A JP 5440590A JP 5440590 A JP5440590 A JP 5440590A JP H03255533 A JPH03255533 A JP H03255533A
Authority
JP
Japan
Prior art keywords
symbol
symbol table
global
information
processes
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
Application number
JP5440590A
Other languages
Japanese (ja)
Inventor
Tsuneko Hagiwara
つね子 萩原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5440590A priority Critical patent/JPH03255533A/en
Publication of JPH03255533A publication Critical patent/JPH03255533A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To reduce the size of a symbol management shared memory and to decrease the exclusive control for a symbol processing by providing a global symbol table having a printing name and a numeral, and having a local symbol table of a printing name and a numeral peculiar to a process, in a shared memory area and a process intrinsic memory area, respectively. CONSTITUTION:The system is provided with a symbol table for registering a printing name and a numeral as a pair by dividing it into a global symbol table 7 which all processes can use, and local symbol tables 4-1 - 4-n peculiar to the process which each process can use separately. In such a state, when the process is actuated, at the time of compiling a source program, a pair of a printing name and a numeral are registered in the local symbol tables 4-1 - 4-n peculiar to the process, and also, a pair of a symbol and a numeral like a large area used in common with other process are registered in the global symbol table 7 and the exclusive control is executed. In such a way, under the multi-process environment, the use quantity of a shared memory for the symbol management at the time of execution is reduced, and also, the exclusive control for the symbol processing is decreased.

Description

【発明の詳細な説明】 〔概 要〕 計算機において、マルチプロセス環境下で、任意のプロ
グラミング言語で書かれた各ソースプログラム中の印字
名を数字に変換するプログラミング言語処理システムに
おけるシンボル管理方式に関し マルチプロセス環境下で、実行時のシンボル管理のため
の共有メモリの使用量を軽減し、またシンボル処理のた
めの排他制御を少なくするシンボル管理方式を提供する
ことを目的とし。
[Detailed Description of the Invention] [Summary] This invention relates to a symbol management method in a programming language processing system that converts printed names in each source program written in an arbitrary programming language into numbers in a multi-process environment in a computer. The purpose of this invention is to provide a symbol management method that reduces the amount of shared memory used for symbol management during runtime in a process environment, and reduces exclusive control for symbol processing.

印字名と数字との対を登録するシンボルテーブルを、全
プロセスが使用できるグローバル・シンポルテーブルと
、各プロセスが個別に使用できるプロセス固有のローカ
ル・シンボルテーブルとに分けてもち、プロセス起動時
に、ソースプログラムをコンパイルする際印字名と数字
との対をプロセス固有のローカル・シンボルテーブルに
g!録するとともに、他のプロセスと共用される大域的
なシンボルと数字との対はグローバル・シンボルテーブ
ルに登録して排他制御するように構成した。
The symbol table for registering pairs of print names and numbers is divided into a global symbol table that can be used by all processes and a process-specific local symbol table that can be used individually by each process. When you compile a program, print name and number pairs into the process-specific local symbol table. In addition, global symbol-number pairs shared with other processes are registered in the global symbol table for exclusive control.

〔産業上の利用分野〕[Industrial application field]

本発明は、計算機において、マルチプロセス環境下で、
任意のプロゲラξング言語で書かれた各ソースプログラ
ム中の印字名を数字に変換するプログラミング言語処理
システムにおけるシンボル管理方式に関する。
In a computer, the present invention provides the following advantages:
This invention relates to a symbol management method in a programming language processing system that converts printed names in each source program written in any programming language into numbers.

〔従来の技術〕[Conventional technology]

コンパイラなどのプログラミング言語処理システム(以
下、処理システムという)では、ソースプログラムを計
算機が実行可能なオブジェクト形式にコンパイルする。
A programming language processing system (hereinafter referred to as a processing system) such as a compiler compiles a source program into an object format that can be executed by a computer.

このオブジェクト形式の情報を、ここでは実行情報とい
う。
Information in this object format is referred to as execution information here.

計算機は、実行情報によりプログラムを実行する。処理
システムは、?II数のプログラムを同時に処理するマ
ルチプロセス環境下において、各種のプロゲラ逅ング言
語で書かれたソースプログラムの実行情報をひとまとま
りとして管理する(以下。
The computer executes the program based on the execution information. What is the processing system? In a multi-process environment where two or more programs are processed simultaneously, the execution information of source programs written in various progera programming languages is managed as a group (hereinafter referred to as "execution information").

情報のまとまりをライブラリという)。A collection of information is called a library).

処理システム上では、実行情報を格納するファイルスペ
ース量の軽減、及び、プログラムの実行時の実行速度の
向上のため、ソースプログラム中で各情報に付与されて
いる印字名(以下、シンボルという)に−意に異なる数
字(以下、アトムidという)を割り当て、数字形式で
表現しておく。
On the processing system, in order to reduce the amount of file space for storing execution information and improve the execution speed when executing the program, the printed names (hereinafter referred to as symbols) assigned to each information in the source program are - Assign an arbitrarily different number (hereinafter referred to as an atom id) and express it in numerical form.

この割り当ては、シンボルテーブルにシンボルとアトム
idの対応を登録することによって行う。
This assignment is performed by registering the correspondence between symbols and atom IDs in the symbol table.

この時、同時に複数のプログラムが実行できるように、
同一のライブラリ上では、シンボルとアトムidとは1
対lに対応している。ここでは、シンボルとアトムid
の情報をシンボル情報という。
At this time, so that multiple programs can be executed at the same time,
On the same library, the symbol and atom id are 1
It corresponds to vs.l. Here, the symbol and atom id
This information is called symbol information.

従来、シンボル情報はすべてファイル(以下。Previously, all symbol information was stored in files (hereinafter referred to as files).

シンボルファイルという)に格納された。そして。stored in a symbol file (called a symbol file). and.

プログラムの実行時にシンボル情報は、主記憶上に表の
形式(以下、シンボルテーブルという)で管理される。
When a program is executed, symbol information is managed in the form of a table (hereinafter referred to as a symbol table) on the main memory.

シンボル情報はファイルに保持され。Symbol information is kept in files.

処理系システムの起動時に、このファイルからシステム
情報を主記憶上に展開し、シンボルテーブルを作成する
When the processing system is started, the system information is expanded from this file onto the main memory and a symbol table is created.

シンボルに対する処理では、このシンボルテーブルを使
ってシンボルからそのシンボルに割り当てられているア
トムidを検索し、あるいはアトL i dからシンボ
ルを検索することによって、シンボルとアトムidとの
間の変換を行う。
In processing a symbol, convert between a symbol and an atom ID by searching the symbol for the atom ID assigned to the symbol using this symbol table, or searching for the symbol from the atL i d. .

マルチプロセス環境下では、シンボルテーブルは、全プ
ロセスが利用できる主記憶上の共有メモリ領域(以下、
共有メモリという)に置かれ、全プロセスがこのシンボ
ルテーブルを用いてシンボルファイルに保持しているシ
ンボル情報を管理している。
In a multi-process environment, the symbol table is stored in a shared memory area (hereinafter referred to as
All processes use this symbol table to manage symbol information held in symbol files.

ところでこの場合、複数のプロセスが同時に共有メモリ
上のシンボルテーブルやシンボルファイルの情報を変え
てしまうと、情報の更新に混乱が生し、信憑性が失われ
てしまう、このため、従来は共有メモリ上のシンボルテ
ーブルやシンボルファイルに対する処理が複数のプロセ
スから同時に行われないよう、排他制御を行っている。
By the way, in this case, if multiple processes change the information in the symbol table or symbol file on the shared memory at the same time, confusion will occur in the updating of the information and credibility will be lost. Exclusive control is performed to prevent multiple processes from processing the above symbol table and symbol file at the same time.

排他制御とは、前のプロセスの処理が終わるまでは後か
らシンボルテーブルやシンボルファイルに対して処理し
ようとしたプロセスの実行を遅らせることである。
Exclusive control means delaying the execution of a subsequent process that attempts to process a symbol table or symbol file until the previous process finishes processing.

例えば、第6図のように、プロセスのがシンボル「ab
C」に新しくアトム1dr50Jのシンボル情報を書き
込もうとする。またプロセス■が。
For example, as shown in Figure 6, the process has the symbol "ab"
An attempt is made to write new symbol information of atom 1dr50J into "C". There is also a process ■.

シンボルrxyzJに新しくアトム1dr60Jを割り
当てて、シンボルテーブルとシンボルファイルにシンボ
ルrxyzJとアトム1dr60Jのシンボル情報を書
き込もうとする。
Atom 1dr60J is newly assigned to symbol rxyzJ, and symbol information of symbol rxyzJ and atom 1dr60J is to be written in the symbol table and symbol file.

今、シンボルテーブルへの情報の追加はAの位置から使
用でき、シンボルファイルへの情報の追加はBの位置か
ら使用できる状態にある。このような状態の時に、プロ
セス■とプロセス■が同時にシンボルの情報を追加しよ
うとすると、シンボルテーブルとシンボルファイルの情
報が壊れてしまう。このような場合には、プロセス■の
処理が終わるまでプロセス■の処理を待たせるか、また
は、プロセス■の処理が終わるまでプロセス■の処理を
遅らせる排他制御が必要になる。
Now, information can be added to the symbol table from position A, and information can be added to the symbol file from position B. In such a state, if process ■ and process ■ try to add symbol information at the same time, the information in the symbol table and symbol file will be corrupted. In such a case, exclusive control is required to make the processing of the process (2) wait until the processing of the process (2) is completed, or to delay the processing of the process (2) until the processing of the process (2) is completed.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

マルチプロセスを実現しているシステムでは。 In systems that implement multi-processing.

共有メモリは他の情報のためにも使用され、また各プロ
セスが主記憶上にとれるメモリに比べて共有メモリは少
ないことから、共有メモリの使用量の軽減が望まれる。
The shared memory is also used for other information, and since the shared memory is smaller than the memory each process can allocate in main memory, it is desirable to reduce the amount of shared memory used.

しかし、実行情報が大量になるに伴い、処理系システム
のシンボル情報が大きくなり、シンボル管理のためにた
くさんの共有メモリを使うことになってしまう。また、
シンボルテーブルとシンボルファイルへの処理が複数の
プロセスから同時に行われた時、シンボルテーブルとシ
ンボルファイルに対して排他制御が行われ。
However, as the amount of execution information increases, the symbol information of the processing system also increases, resulting in the use of a large amount of shared memory for symbol management. Also,
When multiple processes simultaneously process symbol tables and symbol files, exclusive control is applied to the symbol tables and symbol files.

後からシンボルテーブルに対して処理しようとしたプロ
セスの処理が遅延してしまうという不都合があった。
There was an inconvenience in that the processing of processes that attempted to process the symbol table later was delayed.

本発明は3マルチプロセス環境下で、実行時のシンボル
管理のための共有メモリの使用量を軽減し、またシンボ
ル処理のための排他制御を少なくするシンボル管理方式
を提供することを目的としている。
An object of the present invention is to provide a symbol management method that reduces the amount of shared memory used for symbol management during runtime and reduces exclusive control for symbol processing in a three-multiprocess environment.

〔課題を解決するための手段〕[Means to solve the problem]

本発明は、各プロセスのソースプログラムに含まれてい
る印字名(シンボル)がプログラム名のように各プロセ
スにより大域的に用いられるものと1個々のプロセスに
固有のものとに分かれ、前者の大域的な印字が全体に占
める割り合いは比較的小さいことに着目して、これら大
域的印字名とプロセス固有の印字名とをそれぞれグロー
バル・シンボルテーブルとローカル・シンボルテーブル
とに分けて管理し、ローカル・シンボルテーブルはプロ
セスごとにその、プロセス固定メモリ領域に置いて対応
する1つのプロセスにのみアクセスを許し、他方、グロ
ーバル・シンボルテーブルは全プロセスの共有メモリ領
域に置いて、アクセスしようとするプロセスに対して、
排他制御を行い一時に1つのプロセスにのみアクセスを
許すようにするものである。
In the present invention, the printed names (symbols) included in the source program of each process are divided into those used globally by each process like a program name, and those unique to each individual process. Focusing on the fact that the proportion of global printing in the whole is relatively small, these global printing names and process-specific printing names are managed separately in a global symbol table and a local symbol table.・Symbol tables are placed in a process-fixed memory area for each process and can only be accessed by the corresponding process, while global symbol tables are placed in a memory area shared by all processes and can be accessed by any process that attempts to access them. for,
It performs exclusive control and allows access to only one process at a time.

第1図は9本発明の原理説明図である。FIG. 1 is a diagram explaining the principle of the present invention.

図において 1は、マルチプロセス管理部であり、マルチプロセスの
環境を実現し1個々のプロセスの起動終了と、それに伴
うメモリ領域等の資源の獲得。
In the figure, 1 is a multi-process management unit, which realizes a multi-process environment, starts and ends each process, and acquires resources such as memory areas accordingly.

解放などの処理を行う。Perform processing such as release.

2−1ないし2−nは、起動された複数のプロセスであ
り、それぞれプログラム実行時に印字名と数字との間の
変換を行うシンボル処理を行う。
2-1 to 2-n are a plurality of activated processes, each of which performs symbol processing to convert between printed names and numbers when a program is executed.

3は主記憶である。3 is the main memory.

4−1ないし4−nは、それぞれプロセス2−1ないし
2−nが獲得しているプロセス固有メモリ領域である。
4-1 to 4-n are process-specific memory areas acquired by processes 2-1 to 2-n, respectively.

5−1ないし5−nは、それぞれローカル・シンボルテ
ーブルであり、プロセス2−1ないし2−nがソースプ
ログラムのコンパイル時にプロセス固有の印字名と数字
の対を登録する。
5-1 to 5-n are local symbol tables, respectively, in which processes 2-1 to 2-n register pairs of process-specific print names and numbers when compiling source programs.

6は、各プロセス2−1ないし2−nが共通にアクセス
できる共有メモリ領域である。
6 is a shared memory area that can be commonly accessed by each of the processes 2-1 to 2-n.

7は、グローバル・シンボルテーブルであり各プロセス
2−1ないし2−nにより使用可能な大域的な印字名と
数字の対を登録する。この印字名と数字の対は、プロセ
ス間で一意に生成される。
7 is a global symbol table in which pairs of global print names and numbers usable by each process 2-1 to 2-n are registered. This print name and number pair is uniquely generated between processes.

8は、グローバル・シンボルテーブル排他制御部であり
、プロセス2−1ないし2−nからグローバル・シンボ
ルテーブル7へのアクセスについて競合を調整し5アク
セスを許可した1つのプロセス以外によるテーブルへの
アクセスを禁止する排他制御を行う。
Reference numeral 8 denotes a global symbol table exclusive control unit, which adjusts conflicts regarding access to the global symbol table 7 from processes 2-1 to 2-n and prevents access to the table by processes other than the one process to which access is permitted. Execute exclusive control to prohibit.

9は、各プロセス2−1ないし2−nで言語処理システ
ムを起動し、ソースプログラムをコンパイルして生成し
た実行情報をまとめて管理するライブラリであり、各プ
ロセスでのコンパイルの際ローカル・シンボルテーブル
に登録されたシンポル情報が対応する実行情報と一緒に
保持される。
9 is a library that starts the language processing system in each process 2-1 to 2-n, collectively manages the execution information generated by compiling the source program, and uses the local symbol table when compiling in each process. The symbol information registered in is retained together with the corresponding execution information.

10は、シンボルファイルであり、言語処理システムの
処理終了時にグローバル・シンボルテーブルに登録され
ているシンボル情報を格納し9次に言語処理システムが
起動されたとき読み出して。
Reference numeral 10 denotes a symbol file, which stores symbol information registered in the global symbol table when processing of the language processing system is completed, and is read out when the language processing system is next started.

共有メモリ領域6にグローバル・シンボルテーブル7が
作成される。
A global symbol table 7 is created in the shared memory area 6.

(作 用〕 本発明では ■共有メモリ領域にプロセス間で一意に決まる印字芯と
数字の対を登録したグローバル・シンボルテーブルを、
またプロセス固有メモリ領域にプロセス固有の印字芯と
数字の対を登録したローカル・シンボルテーブルを、2
種類もつ。
(Function) In the present invention, ■ a global symbol table in which pairs of printing cores and numbers that are uniquely determined between processes are registered in a shared memory area;
In addition, a local symbol table containing process-specific printing core and number pairs is stored in the process-specific memory area.
It has different types.

■ソースプログラムをコンパイルする時に、ソースプロ
グラム内の印字芯はローカル・シンボルテーブルに登録
し、実行情報とともにライブラリに保持する。
■When compiling a source program, the printing core in the source program is registered in the local symbol table and retained in the library along with the execution information.

■のグローバル・シンボルテーブルに印字芯と数字の対
からなるシンボル情報を登録することによって、全プロ
セスで統一されたシンボル情報を得ることが可能である
。グローバル・シンボルテーブルに登録する必要がある
のは、言語処理システム上で大域的に数字を割り当てる
必要のある印字芯であり2例えば、ソースプログラム名
などである。
By registering symbol information consisting of a pair of printing core and number in the global symbol table (2), it is possible to obtain unified symbol information in all processes. What needs to be registered in the global symbol table are printing cores to which numbers need to be assigned globally on the language processing system2, for example, source program names.

ソースプログラム名をグローバル・シンボルテーブルに
登録することによって、どのプログラムの実行情報をラ
イブラリからロードすればよいかを決めることができ、
そのプログラムを実行することができる。
By registering the source program name in the global symbol table, you can decide which program's execution information should be loaded from the library.
The program can be executed.

グローバル・シンボルテーブルに登録されたシンボル情
報はシンボルファイルに保持しておき新たに言語処理シ
ステムが起動されたときに、シンボルファイルからシン
ボル情報を読み出し、共有メモリ領域上にグローバル・
シンボルテーブルを作成する。それ以外のシンボルの登
録はローカル・シンボルテーブルに対してのみ行う。
Symbol information registered in the global symbol table is retained in a symbol file, and when a new language processing system is started, the symbol information is read from the symbol file and stored globally in the shared memory area.
Create a symbol table. Other symbols are registered only in the local symbol table.

ローカル・シンボルテーブルは、プロセスごとに固有の
メモリ領域上に保持して使用される。このため9共有メ
モリの使用量を軽減することが可能である。また、自プ
ロセスのみが自分のローカル・シンボルテーブルに対し
て処理するので、他のプロセスのシンボルの処理には無
関係で排他制御をする必要がない。
The local symbol table is maintained and used in a memory area specific to each process. Therefore, it is possible to reduce the usage amount of the 9 shared memory. Furthermore, since only the own process processes its own local symbol table, it is unrelated to the symbol processing of other processes and does not require exclusive control.

■で、コンパイルしたプログラムを実行する時。■When running the compiled program.

そのプログラムの実行情報をメモリにロードするととも
に、プログラム情報内のシンボル情報と■のローカル・
シンボルテーブルのシンボル情報と一致をとる。
Loads the program's execution information into memory, as well as the symbol information in the program information and the local
Match the symbol information in the symbol table.

〔実施例〕〔Example〕

以下に本発明の詳細な説明する。 The present invention will be explained in detail below.

第2図は1本発明実施例におけるプロセスのシンボル管
理機能の説明図であり、第1図と対応的に示しである。
FIG. 2 is an explanatory diagram of the symbol management function of a process in an embodiment of the present invention, and is shown in correspondence with FIG.

1例としてプロセス2−1のシンボル管理機能について
説明する。
As an example, the symbol management function of process 2-1 will be explained.

主記憶3上の共有メモリ領域6にグローバル・シンボル
テーブル7をもつ。
It has a global symbol table 7 in a shared memory area 6 on the main memory 3.

このグローバル・シンボルテーブル7では、言語処理シ
ステムの起動時に、シンボルファイル10に保持されて
いるシンボル(印字芯)と、アトムid(数字)の情報
に基づいて共有メモリ領域6上に作られる。
This global symbol table 7 is created in the shared memory area 6 based on information about symbols (print cores) and atom IDs (numbers) held in the symbol file 10 when the language processing system is started.

また各プロセス(2−1)は、起動後にプロセス固有メ
モリ領域(4−1)上にローカル・シンボルテーブル(
5−1)を作る。シンボル管理機能は、グローバル・シ
ンボルテーブル7とプロセス2−1のローカル・シンボ
ルテーブル5−1とを利用してシンボル管理を行う。
In addition, each process (2-1) stores a local symbol table (
Make 5-1). The symbol management function performs symbol management using the global symbol table 7 and the local symbol table 5-1 of the process 2-1.

第3図にシンボル管理の処理の流れを示す。FIG. 3 shows the flow of symbol management processing.

プロセスにおいて言語処理システムが実行されるとき、
シンボルとともにグローバル・シンボルテーブルでシン
ボルを処理するかどうかの情報がシンボル管理機能に与
えられる(■)。
When a language processing system is executed in a process,
Along with the symbol, information is given to the symbol management function whether to process the symbol in the global symbol table (■).

グローバル・シンボルテーブルに対して処Iする場合(
■)、シンボル管理機能はグローバル・シンボルテーブ
ルとシンボルファイルに対する処理が終わるまで、グロ
ーバル・シンボルテーブルとシンボルファイルに対する
他プロセスからの処理を排他する(■)。この後、グロ
ーバル・シンボルテーブルとシンボルファイルへの処理
を行う(■)。そして他プロセスの処理を排他していた
状態を終わりにする(■)。
When processing the global symbol table (
■) The symbol management function excludes processing of the global symbol table and symbol files from other processes until the processing of the global symbol table and symbol files is completed (■). After this, processing is performed on the global symbol table and symbol file (■). Then, the state in which the processing of other processes is excluded is ended (■).

一方、ローカル・シンボルテーブルに対して処理を行う
場合は(■)。他プロセスを排他した状態にせず、ロー
カル・シンボルテーブルに対する処理を行う(■)。
On the other hand, when processing the local symbol table (■). Process the local symbol table without excluding other processes (■).

グローバル・シンボルテーブルやシンボルファイルに対
して処理が必要な大域的なシンボルの数は 他のプロセ
ス固有のシンボルに比べて少ないので、グローバル・シ
ンボルテーブルのための共有メモリ領域の使用量は少な
くなり、処理■〜■が頻繁には起こらないので、シンボ
ル管理による排他制御が大きく軽減される。
Because the number of global symbols that need to be processed for the global symbol table and symbol files is small compared to other process-specific symbols, the amount of shared memory space used for the global symbol table is reduced. Since processes 1 to 2 do not occur frequently, exclusive control by symbol management is greatly reduced.

第4図は、ソースプログラムのコンパイル時のシンボル
処理の流れを示す。
FIG. 4 shows the flow of symbol processing when compiling a source program.

プロセス2−1の処理の中では、ソースプログラム(■
)からプログラム情報を作ることをコンパイル機能(■
)に依頼する(■)。
In process 2-1, the source program (■
) to create program information from the compile function (■
) to request (■).

コンパイル機能は、実行情報(■)を作成するとともに
、ソースプログラム中のシンボルをシンボル管理機能(
■)に依頼して、シンボルにアトムidを割り当てても
らう(■)、この時、大域的なシンボルであるプログラ
ム名はグローバル・シンボルテーブルにシンボル登録し
く■)、他のシンボルは、プロセス2−1のローカル・
シンボルテーブルにシンボル登録を行つ(■)。
The compilation function creates execution information (■) and also uses the symbol management function (
■) to assign an atom ID to the symbol (■).At this time, the program name, which is a global symbol, must be registered as a symbol in the global symbol table. 1 local
Register the symbol in the symbol table (■).

コンパイル機能は、実行情報とシンボル情報(■)の2
つを保持するプログラム情報(@)をライブラリ (■
)上に保持する。
The compilation function consists of two parts: execution information and symbol information (■).
Library (■
) hold on top.

第5図は、実行情報の主記憶上へのローディング時のシ
ンボル情報の処理の流れを示す。
FIG. 5 shows the flow of processing of symbol information when loading execution information onto the main memory.

プロセス2−1の処理の中でプログラムAの実行があっ
た時(■)、プログラム実行機能(■)は プログラム
名Aからグローバル・シンボルテーブル上でシンボル「
A」に割り当てられているアトムidが何かを、シンボ
ル管理機能に問い合わせる(■)。
When program A is executed during process 2-1 (■), the program execution function (■) retrieves the symbol " from program name A on the global symbol table.
The symbol management function is inquired about the atom ID assigned to "A" (■).

シンボル管理機能は(■)、グローバル・シンボルテー
ブルから(■)、シンボルAと対になったアトム1d2
00を読み出し、プログラム実行機能に答える。
The symbol management function is (■), from the global symbol table (■), atom 1d2 paired with symbol A.
Reads 00 and responds to the program execution function.

プログラム実行機能は、アトム1d200からライブラ
リ(■)上の200のプログラム情報をロードするよう
に、ロード機能(■)に依頼する。
The program execution function requests the load function (■) to load 200 program information on the library (■) from the atom 1d200.

ロード機能は、アトム1d200からライブラリ上のプ
ログラム情報を、プロセス2−1のメモリ(■)上にロ
ードする。
The load function loads program information on the library from the atom 1d200 onto the memory (■) of the process 2-1.

この時ロード機能は、実行情報([相])内のアトムi
dの250を実行情報とともに保持しているシンボル情
報(■)からシンボルrrst」に見つけ シンボルr
rst」に対してプロセス2−1のローカル・シンボル
テーブル(@)上で割り当てられているアトムidをシ
ンボル管理機能に問い合わせ、アトムidの150を得
る。
At this time, the load function loads the atom i in the execution information ([phase]).
Find the symbol rrst from the symbol information (■) that holds 250 of d together with the execution information and select the symbol r.
The symbol management function is inquired about the atom ID assigned to "rst" on the local symbol table (@) of the process 2-1, and the atom ID 150 is obtained.

ロード機能は、実行情報をプロセス2−1の固有メモリ
領域に展開する時に、アトムidの250を150に変
更する(■)。
The load function changes the atom ID from 250 to 150 when expanding the execution information to the specific memory area of the process 2-1 (■).

プログラム実行機能は、ロード機能によってプロセス2
−1の固有メモリ領域上にロードしてきた実行情報をも
とにプログラムを実行する([相])。
The program execution function is executed by process 2 using the load function.
The program is executed based on the execution information loaded into the specific memory area of -1 ([phase]).

〔発明の効果〕 本発明によれば、マルチプロセス環境下でのプログラミ
ング言語処理系において、シンボル管理のために使用す
る共有メモリの大きさの軽減とシンボル処理のための排
他制御を少なくすることができる。
[Effects of the Invention] According to the present invention, in a programming language processing system in a multi-process environment, it is possible to reduce the size of shared memory used for symbol management and to reduce exclusive control for symbol processing. can.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の原理説明図、第2図は本発明実施例に
おけるシンボル管理機能の説明図、第3図はシンボル管
理機能の処理の流れ図、第4図はソースプログラムコン
パイル時のシンボル処理の説明図、第5図は実行情報ロ
ーディング時のシンボル情報の処理の説明図、第6図は
複数のプロセスによるシンボル処理競合の説明図である
。 第1図中。 1 1:マルチプロセス管理部 2−1〜2−n:プロセス 3:主記憶 4−1〜4−n:プロセス固有メモリ領域5−1〜5−
n:ローカル・シンボルテーブル6:共有メモリ領域 7:グローバル・シンボルテーブル 8ニゲローバル・シンボルテーブル排他制御部9ニライ
ブラリ 0ニシンボルフアイル
Figure 1 is an explanatory diagram of the principle of the present invention, Figure 2 is an explanatory diagram of the symbol management function in an embodiment of the present invention, Figure 3 is a flowchart of the processing of the symbol management function, and Figure 4 is symbol processing when compiling a source program. FIG. 5 is an explanatory diagram of symbol information processing during execution information loading, and FIG. 6 is an explanatory diagram of symbol processing competition between a plurality of processes. In Figure 1. 1 1: Multi-process management unit 2-1 to 2-n: Process 3: Main memory 4-1 to 4-n: Process-specific memory area 5-1 to 5-
n: Local symbol table 6: Shared memory area 7: Global symbol table 8 Global symbol table exclusive control unit 9 Library 0 Symbol file

Claims (1)

【特許請求の範囲】 マルチプロセス環境下で、任意のプログラミング言語で
書かれたソースプログラム中の印字名を数字に変換して
処理するプログラミング言語処理システムにおいて、 印字名と数字との対を登録するシンボルテーブルを、全
プロセスが使用できるグローバル・シンボルテーブルと
、各プロセスが個別に使用できるプロセス固有のローカ
ル・シンボルテーブルとに分けてもち、 プロセス起動時に、ソースプログラムをコンパイルする
際印字名と数字との対をプロセス固有のローカル・シン
ボルテーブルに登録するとともに他のプロセスと共用さ
れる大域的なシンボルと数字との対はグローバル・シン
ボルテーブルに登録し、 任意のプロセスからのグローバル・シンボルテーブルへ
の処理は他のプロセスからの処理を排他して行うことを
特徴とするプログラミング言語処理システムにおけるシ
ンボル管理方式。
[Claims] In a programming language processing system that converts a printed name in a source program written in an arbitrary programming language into a number and processes it in a multi-process environment, a pair of a printed name and a number is registered. The symbol table is divided into a global symbol table that can be used by all processes and a process-specific local symbol table that can be used individually by each process. Pairs of symbols and numbers that are shared with other processes are registered in the global symbol table, and global symbol-number pairs that are shared with other processes are registered in the global symbol table. A symbol management method in a programming language processing system in which processing is performed to exclude processing from other processes.
JP5440590A 1990-03-06 1990-03-06 Symbol managing system in programming language processing system Pending JPH03255533A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5440590A JPH03255533A (en) 1990-03-06 1990-03-06 Symbol managing system in programming language processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5440590A JPH03255533A (en) 1990-03-06 1990-03-06 Symbol managing system in programming language processing system

Publications (1)

Publication Number Publication Date
JPH03255533A true JPH03255533A (en) 1991-11-14

Family

ID=12969789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5440590A Pending JPH03255533A (en) 1990-03-06 1990-03-06 Symbol managing system in programming language processing system

Country Status (1)

Country Link
JP (1) JPH03255533A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549538A (en) * 2018-04-11 2018-09-18 深圳市腾讯网络信息技术有限公司 A kind of code detection method, device, storage medium and test terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549538A (en) * 2018-04-11 2018-09-18 深圳市腾讯网络信息技术有限公司 A kind of code detection method, device, storage medium and test terminal

Similar Documents

Publication Publication Date Title
US8839225B2 (en) Generating and applying patches to a computer program code concurrently with its execution
US20090006403A1 (en) Efficiently boosting priority of read-copy update readers while resolving races with exiting and unlocking processes
JPH02188833A (en) Interface for computer system
JP2011170879A (en) Dependency graph parameter scoping
KR20100115578A (en) Reconfigurable processor and method for reconfiguring the processor
US20200409841A1 (en) Multi-threaded pause-less replicating garbage collection
US6662364B1 (en) System and method for reducing synchronization overhead in multithreaded code
US10360079B2 (en) Architecture and services supporting reconfigurable synchronization in a multiprocessing system
JPH03255533A (en) Symbol managing system in programming language processing system
JP7325437B2 (en) Devices and processors that perform resource index permutation
JP3019915B2 (en) Procedure call method
JP7499966B2 (en) Control device and address management method
JPS583177A (en) Data processing system
JPH05297911A (en) Sequence control circuit for sequence controller
JP6973856B2 (en) Information processing device, execution method and program modification method
JP3693311B2 (en) Distributed processing system
JP2005284925A (en) Computer system and program update method
JPH02224122A (en) Dynamic link system for memory patch data
JPH09138781A (en) Program correction device and method including parallel process, and storage medium storing correction program
JPH10161985A (en) Processor allocating method, and multiprocessor computer system
JPH02194439A (en) Program execution system
JPS62173535A (en) Access control system for shared resources
JP2003296128A (en) Thread execution device
JPH09218795A (en) Method and device for processing parallel program
JPS6180336A (en) Testing method of program