JPH02278340A - コンパイル方式 - Google Patents

コンパイル方式

Info

Publication number
JPH02278340A
JPH02278340A JP9948789A JP9948789A JPH02278340A JP H02278340 A JPH02278340 A JP H02278340A JP 9948789 A JP9948789 A JP 9948789A JP 9948789 A JP9948789 A JP 9948789A JP H02278340 A JPH02278340 A JP H02278340A
Authority
JP
Japan
Prior art keywords
user word
user
word
hash table
program
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
JP9948789A
Other languages
English (en)
Inventor
Hiroyuki Kon
近 浩幸
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP9948789A priority Critical patent/JPH02278340A/ja
Publication of JPH02278340A publication Critical patent/JPH02278340A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野] 本発明は電子計算機システムのコンパイラにおけるコン
パイル方式に関し、特に利用者語の定義参照に対する処
理を行う方式に関するものである。
〔従来の技術〕
コンパイラにおいては、ソースプログラム中で定義され
る利用者語についてハツシュテーブルに登録を行い、そ
の後に利用者語の参照があった場合にはそのハツシュテ
ーブルを探索してコンパイルに必要な情報を得、定義と
対応をとるようにしている。
ところで、従来のコンパイル方式では、利用者語の登録
、参照は同じハツシュテーブルを用いており、一種類の
ハツシュテーブルで管理を行っていた。
〔発明が解決しようとする課題〕
上述したように従来のコンパイル方式では一種類のハツ
シュテーブルしか有していなかったため、同一の利用者
語が二つ以上出現する場合等にはハツシュ値が同一とな
るものが発生することになり、同一のハツシュ値を持つ
データの中から所望のものを識別するために他の情報を
用いてより複雑な探索を行わなければならず、処理に時
間がかかるという欠点があった。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、ハツシュテーブルの探索が短時間に
jテえ、コンパイルに要する処理時間を短縮することの
できる高速なコンパイル方式を提供することにある。
(課題を解決するための手段〕 本発明は上記の目的を達成するため、利用者語を含むソ
ースプログラムを入力してコンパイルを実行するコンパ
イラにおいて、 利用者語が定義された位置およびその利用者語の属性に
より全体のハツシュテーブルに登録するか子プログラム
用のハツシュテーブルに登録するかを判断して登録を行
う利用者語登録手段と、利用者語が参照されたときに子
プログラム用のハツシュテーブルから探索を行う利用者
語参照手段とを備えるようにしている。
〔作用〕
本発明のコンパイル方式にあっては、ソースプログラム
上で利用者語の定義があった場合、利用者語が定義され
た位置およびその利用者語の属性により全体のハツシュ
テーブルに登録するか子プログラム用のハツシュテーブ
ルに登録するかを利用者語登録手段が判断して登録を行
い、利用者語が参照された場合、利用者語参照手段が子
プログラム用のハツシュテーブルから探索を行う。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明のコンパイル方式の一実施例を示す構成
図であり、本発明に関係する部分のみを示しである。第
1図において、ソースプログラム1がコンパイルの対象
となるソースプログラムであり、利用者語定義11およ
び利用者語参照12を含んでいる。一方、コンパイラ2
は本発明のコンパイル方式を適用したコンパイラであり
、機能部として利用者語登録手段21および利用者語参
照手段22を有している。なお、コンパイラ2にはコン
パイルの実行に必要な周知の他の手段が含まれている。
また、全体のハフシュテーブル3は個々のソースプログ
ラムに共通な利用者語を登録するためのハツシュテーブ
ルであり、子プログラム用のハツシュテーブル4は各ソ
ースプログラムに対応して設けられたハシシュテーブル
である。
第2図は第1図におけるコンパイラ2の利用者語登録手
段21の主要な処理を示すフローチャートであり、第3
図は利用者語参照手段22の主要な処理を示すフローチ
ャートである。
以下、第1図ないし第3図に沿って上記の実施例の動作
を説明する。
ソースプログラム1が与えられ、コンパイラ2が起動さ
れると、コンパイラ2はソースプログラムlを読み込み
、コンパイル処理を実行する。このとき、利用者語定義
11を検出すると、利用者語登録手段2Iが起動され、
利用者語登録手段21は利用者語が定義された位置およ
びその属性によりローカルな利用者語であるかグローバ
ルな利用者語であるかを判断しくステップ211)、ロ
ーカルな利用者語である場合には子プログラム用のハツ
シュテーブル4にその利用者語を登録する(ステップ2
12)。また、グローバルな利用者語である場合には全
体のハツシュテーブル3に登録する(ステップ213)
次いで、ソースプログラム1から利用者語参照12を検
出すると、利用者語参照手段22が起動され、利用者語
参照手段22は先ずそのソースプログラムlに対応する
子プログラム用のハシシュテーブル4から対応する利用
者語を探索する(ステップ221)、探索の結果、ステ
ップ222で該当する利用者語が存在すればローカルな
データとして取得し、定義との対応をとる。また、存在
しない場合は続いて全体のハツシュテーブル3から対応
する利用者語を探索しくステップ223)、探索の結果
、存在すればグローバルなデータとして取得し、定義と
の対応をとる。なお、存在しない場合は未定義として処
理する。
〔発明の効果〕
以上説明したように、本発明のコンパイル方式にあって
は、利用者語が定義された位置およびその利用者語の属
性からグローバルな利用者語であると判断した場合は全
体のハシシュテーブルに登録し、反対にローカルな利用
者語であると判断した場合は子プログラム用のハツシュ
テーブルに登録するようにし、利用者語の参照があった
場合は子プログラム用のハツシュテーブルから参照を行
い、存在しない場合に全体のハツシュテーブルの参照を
行うようにしたので、複数のソースプログラムで同一の
利用者語が使用されていても対応するデータが即座に探
索でき、不要なデータに対する探索の回数が大幅に減る
ことから、処理時間を大幅に短縮化できる効果がある。
【図面の簡単な説明】
第1図は本発明のコンパイル方式の一実施例を示す構成
図、 第2回は第1図における利用者語登録手段の主要な処理
を示すフローチャートおよび、第3図は第1図における
利用者語参照手段の主要な処理を示すフローチャートで
ある。 図において、 ■・・・・・・ソースプログラム 11・・・利用古語定義 12・・・利用者語参照 2・・・・・・コンパイラ 21・・・利用者語登録手段 22・・・利用者語参照手段

Claims (1)

  1. 【特許請求の範囲】 利用者語を含むソースプログラムを入力してコンパイル
    を実行するコンパイラにおいて、 利用者語が定義された位置およびその利用者語の属性に
    より全体のハッシュテーブルに登録するか子プログラム
    用のハッシュテーブルに登録するかを判断して登録を行
    う利用者語登録手段と、利用者語が参照されたときに子
    プログラム用のハッシュテーブルから探索を行う利用者
    語参照手段とを備えたことを特徴とするコンパイル方式
JP9948789A 1989-04-19 1989-04-19 コンパイル方式 Pending JPH02278340A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9948789A JPH02278340A (ja) 1989-04-19 1989-04-19 コンパイル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9948789A JPH02278340A (ja) 1989-04-19 1989-04-19 コンパイル方式

Publications (1)

Publication Number Publication Date
JPH02278340A true JPH02278340A (ja) 1990-11-14

Family

ID=14248664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9948789A Pending JPH02278340A (ja) 1989-04-19 1989-04-19 コンパイル方式

Country Status (1)

Country Link
JP (1) JPH02278340A (ja)

Similar Documents

Publication Publication Date Title
US6954747B1 (en) Methods for comparing versions of a program
JPH02278340A (ja) コンパイル方式
JPH021030A (ja) コンパイル方式
JP2000163266A (ja) 命令実行方式
JP3305767B2 (ja) ソート処理方法及びコンパイル方法
Hopkins HLLDA defies RISC: thoughts on RISCs, CISCs, and HLLDAs
WO2000022522A1 (en) Method for detecting equivalent instruction sequences
JPH01292526A (ja) プログラムの連繋編集方式
JPH0228838A (ja) Ada言語コンパイラのネームサーチ方式
JP2728504B2 (ja) 入力命令文検査装置
JPH0399330A (ja) 手続きインライン展開方式
JPH11203117A (ja) マクロパラメータチェック方式
JP2003058373A (ja) プログラム作成支援ソフトウェア・ツール
JPH06274332A (ja) プログラム部品の登録・検索方法
JPH0573335A (ja) プログラムの自動インライン展開方式
KR960018924A (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
JP2000132405A (ja) インライン展開処理装置及び方法
WO1997007452A1 (en) Programmable compiler
JPH0752391B2 (ja) 複数データベース記述を含む原始プログラムの翻訳方式
JPH028935A (ja) オンライントランザクション処理システムにおける実行環境定義オブジェクトの部分的変更方式
JPH06290054A (ja) コンパイラにおける記号表および予約語表検索方式
JPH0310327A (ja) コンパイラ処理方式
JPH06259261A (ja) ニモニック構文解析処理方式
JPH02264332A (ja) 英字名の検索・登録方式
JPH05334359A (ja) 統合データ抽出方式