JPH0362227A - 高速再翻訳処理方式 - Google Patents

高速再翻訳処理方式

Info

Publication number
JPH0362227A
JPH0362227A JP19870889A JP19870889A JPH0362227A JP H0362227 A JPH0362227 A JP H0362227A JP 19870889 A JP19870889 A JP 19870889A JP 19870889 A JP19870889 A JP 19870889A JP H0362227 A JPH0362227 A JP H0362227A
Authority
JP
Japan
Prior art keywords
intermediate text
text
processing
source program
file
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
JP19870889A
Other languages
English (en)
Inventor
Kiyoshi Otaki
大瀧 潔
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 JP19870889A priority Critical patent/JPH0362227A/ja
Publication of JPH0362227A publication Critical patent/JPH0362227A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はソースプログラムから目的プログラムを生成す
る言語処理系に於ける翻訳処理方式に関し、特に過去に
翻訳処理を行なったソースプログラムを再翻訳する際の
翻訳処理を高速化することができる再翻訳処理方式に関
する。
〔従来の技術〕
過去に翻訳処理の行なわれたソースプログラムを再翻訳
する際、過去の翻訳処理に於いて生成された中間テキス
トを再利用することにより処理速度を高速化するという
ことは従来より提案されている。
第4図はこの種の従来方式の一例を示すブロック図であ
り、翻訳処理部400と、今回翻訳処理を行なうソース
プログラム402aの前回翻訳処理を行なった時の記述
に対する更新状態を示す更新情報401aが格納される
更新情報ファイル4Olと、ソースプログラム402a
が格納されるソースプログラムファイル402と、中間
テキス)403aが格納される中間テキストファイル4
03と、目的プログラム404aが格納される目的プロ
グラムファイル404とから構成されている。翻訳処理
部400は再利用可能性判定手段405と、中間テキス
ト修正手段406と、中間テをスト生成手段407と、
中間処理手段408と、終了処理手段409とを含んで
いる。
ソースプログラムファイル402に格納されているソー
スプログラム402aが入力されると、再利用可能性判
定手段405は更新情報ファイル401に格納されてい
る更新情報401aに基づいて、今回翻訳処理の対象と
しているソースプログラム402aの記述が前回翻訳処
理の対象となった時の記述に対して、全く変更されてい
ないと判断した場合、定数の値のみが変更されていると
判断した場合、演算子の種類のみが変更されていると判
断した場合1文が単に削除されていると判断した場合1
表の要素が追加されていると判断した場合のみ、ソース
プログラム402aの前回の翻訳処理で生成された中間
テキスト(中間テキス)403aとする)を再利用可能
であると判断する。
そして、中間テキスト403aを再利用可能であると判
断した場合は、再利用可能性判定手段405は中間テキ
スト修正手段406に制御を渡し、再利用不可能である
と判断した場合は中間テキスト生成手段407に制御を
渡す。
中間テキスト修正手段406は再利用可能性判定手段4
05から制御を渡されると、今回翻訳対象となっている
ソースプログラム402aの記述が前回翻訳対象となっ
た時の記述と比較して全く変更されていない場合は中間
処理手段408に中間テキスト403aを使用して中間
処理を行なうことを指示し、また、定数の値のみが変更
されている場合は中間テキスト403aの定数の値を表
現している箇所を更新情報401aに従って修正した後
、中間処理手段408に修正済みの中間テキスト403
aを使用して中間処理を行なうことを指示し、演算子の
種類のみが変更されている場合は中間テキスト403a
の演算子を表現している箇所を更新情報401aに従っ
て修正した後、中間処理手段408に修正済みの中間テ
キスト403aを使用して中間処理を行なうことを指示
し、文が削除されている場合は中間テキスト403aの
上記削除された行を表現している箇所を更新情報401
aに従って修正した後、中間処理手段408に修正済み
の中間テキス)403aを使用して中間処理を行なうこ
とを指示し、表の要素が追加されている場合は中間テキ
スト403aの表を表現している箇所を更新情報401
aに従って修正した後、中間処理手段408に修正済み
の中間テキスト403aを使用して中間処理を行なうこ
とを指示する。
また、中間テキスト生成手段407は再利用可能性判定
手段405から制御を渡されると、今回翻訳処理対象と
なっているソースプログラム402a全体を解析し、中
間テキストファイル403中にソースプログラム402
a対応の新たな中間テキストを生成し、その後、中間処
理手段408に新たに生成した中間テキストを用いて中
間処理を行なうことを指示する。
中間処理手段408は中間テキスト修正手段406或い
は中間テキスト生成手段407から指示された中間テキ
ストを用いて中間処理を行ない、終了処理手段409は
終了処理を行ない、生成されたソースプログラム402
a対応の目的プログラム404aを目的プログラムファ
イル404に格納する。
〔発明が解決しようとする課題〕
上述した従来例は過去に翻訳したことのあるソースプロ
グラムを再度翻訳する場合、今回翻訳処理を行なうソー
スプログラムが前回翻訳処理を行なった時と全く変更さ
れていない場合、定数の値のみが変更されている場合、
演算子の種類のみが変更されている場合1文が削除され
ている場合及び表の要素が追加されている場合しか中間
テキストを再利用しないため、それ以外の場合は前回の
翻訳処理と同じか、それ以上の処理時間、記憶領域等の
各種資源が必要になるという問題がある。
本発明はこのような問題点を解決したものであり、その
目的はソースプログラムを再翻訳する際の処理を更に高
速化すると共に、使用する資源を少なくできるようにす
ることにある。
〔課題を解決するための手段〕
本発明は上記目的を達成するため、 ソースプログラムから目的プログラムを生成する言語処
理系に於ける翻訳処理に於いて、過去の翻訳処理に於い
て生成された中間テキストが格納されている中間テキス
トファイルと、翻訳処理の対象となっているソースプロ
グラムが過去に翻訳処理の対象となった時の記述に対し
てどのように更新されたかを示す更新情報が副プログラ
ム呼び出し文の追加を示しているか否かによって前記中
間テキストファイルに格納されている中間テキストを再
利用して前記翻訳対象となっているソースプログラムの
翻訳処理を行なうことができるか否かを判断する呼び出
し判断手段と、該呼び出し判断手段で再利用可能である
と判断されることにより、前記更新情報と前記ソースプ
ログラムとに基づいて前記中間テキストファイルに格納
されている中間テキストを修正する呼出し中間テキスト
修正手段とを設けたものである。
〔作 用〕
中間テキストファイルには過去の翻訳処理に於いて生成
された中間テキストが格納されている。
呼び出し判断手段は更新情報が副プログラム呼び出し文
の追加を示しているか否かによって中間テキストファイ
ルに格納されている中間テキストを再利用して翻訳処理
を行なうことができるか否かを判断する。呼び出し中間
テキスト修正手段は呼び出し判断手段で中間テキストフ
ァイルに格納されている中間テキストを再利用して翻訳
処理を行なうことができると判断されることにより、更
新情報とソースプログラムとに基づいて中間テキストフ
ァイルに格納されている中間テキストを修正する。
〔実施例〕
次に本発明の実施例について図面を参照して詳細に説明
する。
第1図は本発明の実施例のブロック図であり、翻訳処理
部100と、ソースプログラム108aが格納されるソ
ースプログラムファイル108と、更新情報109aが
格納される更新情報ファイル109と、中間テキスト1
10aが格納される中間テキストファイル11Gと、目
的プログラム111aが格納される目的プログラムファ
イル111とから構成されている。翻訳処理部100は
呼び出し判断手段101と、呼び出し中間テキスト修正
手段102と、再利用可能性判定手段103と、中間テ
キスト修正手段104と、中間テキスト生成手段105
と、中間処理手段106と、終了処理手段107とを含
んでいる。
第2図は呼び出し判断手段101の処理例を示す流れ図
、第3図は呼び出し中間テキスト修正手段102の処理
例を示す流れ図であり、以下各図を参照して本実施例の
動作を説明する。
ソースプログラムファイル108に格納されているソー
スプログラム108aが入力されると、翻訳処理部10
0内の再利用可能性判定手段1゜3は更新情報ファイル
409に格納されている更新情報109aに基づいて、
第4図に示した再利用可能性判定手段405と同様に、
今回翻訳処理の対象となっているソースプログラム10
8aの記述が前回翻訳処理の対象となった時の記述に対
して、全く変更されていないと判断した場合、定数の値
のみが変更されていると判断した場合、演算子の種類の
みが変更されていると判断した場合。
文が単に削除されていると判断した場合2表の要素が追
加されていると判断した場合のみ、ソースプログラム1
08の前回の翻訳処理で生成された中間テキスト(中間
テキスト110aとする)を再利用可能であると判断す
る。
そして、中間テキスト110aを再利用可能であると判
断した場合は、再利用可能性判定手段103は中間テキ
スト修正手段104に制御を渡し、再利用不可能である
と判断した場合は呼び出し判断手段101に制御を渡す
再利用可能性判定手段103から制御が渡されると、中
間テキスト修正手段104は第4図に示した中間テキス
ト修正手段406と同様の処理を行ない、また、呼び出
し判断手段101は第2図の流れ図に示す処理を行なう
。即ち、呼び出し判断手段101は更新情報109aに
基づいて、今回翻訳処理の対象となったソースプログラ
ム108aの記述が前回翻訳処理の対象となった時の記
述に対して副プログラム呼び出し文が追加になったもの
か否かを判断する(ステップ201)。そして、副プロ
グラム呼び出し文が追加されたものであると判断した場
合は、副プログラム呼び出し文に含まれる実引き数が複
雑であるか否かを判断する(ステップ202)、ここで
、呼び出し判断手段101は実引き数が定数、変数であ
る場合のみ、実引き数が複雑でないと判定し、それ以外
の場合(配列名、配列要素名、算術式、副プログラム呼
び出し文等)は複雑であると判断するものである。そし
て、ステップ202で実引き数が複雑でないと判断した
場合は、前回の翻訳処理で生成したソースプログラム1
08a対応の中間テキスト110aを再利用可能である
と判断して呼び出し中間テキスト修正手段102に制御
を渡しくステップ203)、実引き数が複雑であると判
断した場合は中間テキスト110aを再利用できないと
判断して中間テキスト生成手段105に制御を渡す(ス
テップ204)。
中間テキスト生成手段105は呼び出し判断手段101
から制御が渡されると、今回翻訳対象となっているソー
スプログラム108a全体を解析し、新たなソースプロ
グラム108a対応の中間テキストを生成して中間テキ
ストファイル110に格納し、その後、中間処理手段1
06に新たに生成した中間テキストを使用して中間処理
を行なうことを指示する。
また、呼び出し中間テキスト修正手段102は呼び出し
判断手段101から制御を渡されると、第3図の流れ図
に示すように、先ず、ソースプログラム108a、更新
情報109a、中間テキスト110aに基づいて追加さ
れた副プログラム呼び出し文に含まれている手続き呼び
出し名(I!IIプログラム名)を解析して対応する中
間テキストを生成し、生成した中間テキストを中間テキ
スト110aの上記副プログラム呼び出し文が追加され
た位置に対応する位置に挿入する(ステップ301)、
尚、ステップ301で生成される中間テキストには、例
えば、副プログラム呼び出し文であることを示す情報1
手続き呼び出し名が名前表の何番目に存在するのかを示
す情報等が含まれる。
次いで、呼び出し中間テキスト修正手段102は追加さ
れた副プログラム呼び出し文に含まれている各実引き数
を解析して対応する中間テキストを生成し、生成した中
間テキストを中間テキスト1tOaの上記副プログラム
呼び出し文が追加された位置に対応する位置に挿入する
(ステップ302)、尚、ステップ302で生成される
中間テキストには、例えば、実引き数の個数、実引き数
を示す情報が含まれる。その後、呼び出し中間テキスト
修正手段102は副プログラム呼び出し文の追加によっ
てソースプログラム108aの行位置や桁位置が変化し
たか否かを判断しくステップ303)、変化したと判断
した場合は中間テキストの行1桁を表現する部分を修正
した後(ステップ304)、変化していないと判断した
場合は直ちに中間処理手段106に対して処理済みの中
間テキスト110aを用いて中間処理を行なうことを指
示する。尚、ステップ301,302の処理は既存の翻
訳処理の内の式を処理するルーチン、文を処理するルー
チンを利用して行なう。
中間処理手段106は呼び出し中間テキスト修正手段1
02.中間テキスト修正手段104或いは中間テキスト
生成手段105によって指示された中間テキストを用い
て中間処理を行ない、終了処理手段107は終了処理を
行ない、生成されたソースプログラム108a対応の目
的プログラム111aを目的プログラムファイル111
に格納する。
〔発明の効果〕
以上説明したように、本発明は過去に翻訳処理を行なっ
たソースプログラム中に副プログラム呼び出し文を追加
して再度翻訳処理を行なう場合、前回の翻訳処理時に生
成された中間テキストを呼び出し中間テキスト修正手段
によって修正し、この修正された中間テキストを再利用
して目的プログラムを生成するものであり、再翻訳処理
の内、中間テキストを生成するまでの処理を省略するこ
とができるので、翻訳処理時間を短いものとすることが
できると共に、再翻訳処理で使われる記憶領域等の各資
源の使用量を減少させることができる効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は呼び出
し判断手段の処理例を示す流れ図、 第3図は呼び出し中間テキスト修正手段の処理例を示す
流れ図及び、 第1図は従来例のブロック図である。 図に於いて、100.400・・・翻訳処理部、lOl
・・・呼び出し判断手段、102・・・呼び出し中間テ
キスト修正手段、103.405・・・再利用可能性判
定手段、104.406・・・中間テキスト修正手段、
105.407・・・中間テキスト生成手段、106.
408・・・中間処理手段、107,409・・・終了
処理手段、108.402・・・ソースプログラムファ
イル、108a、402a・・・ソースプログラム、1
09.401・・・更新情報ファイル、109a、40
1a−更新情報、110.403・・・中間テキストフ
ァイル、110a、403a・・・中間テキスト、11
1.404・・・目的プログラムファイル、1lla、
404a・・・目的プログラム。

Claims (1)

    【特許請求の範囲】
  1. ソースプログラムから目的プログラムを生成する言語処
    理系に於ける翻訳処理に於いて、過去の翻訳処理に於い
    て生成された中間テキストが格納されている中間テキス
    トファイルと、翻訳処理の対象となっているソースプロ
    グラムが過去に翻訳処理の対象となった時の記述に対し
    てどのように更新されたかを示す更新情報が副プログラ
    ム呼び出し文の追加を示しているか否かによって前記中
    間テキストファイルに格納されている中間テキストを再
    利用して前記翻訳対象となっているソースプログラムの
    翻訳処理を行なうことができるか否かを判断する呼び出
    し判断手段と、該呼び出し判断手段で再利用可能である
    と判断されることにより、前記更新情報と前記ソースプ
    ログラムとに基づいて前記中間テキストファイルに格納
    されている中間テキストを修正する呼出し中間テキスト
    修正手段とを含むことを特徴とする高速再翻訳処理方式
JP19870889A 1989-07-31 1989-07-31 高速再翻訳処理方式 Pending JPH0362227A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19870889A JPH0362227A (ja) 1989-07-31 1989-07-31 高速再翻訳処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19870889A JPH0362227A (ja) 1989-07-31 1989-07-31 高速再翻訳処理方式

Publications (1)

Publication Number Publication Date
JPH0362227A true JPH0362227A (ja) 1991-03-18

Family

ID=16395696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19870889A Pending JPH0362227A (ja) 1989-07-31 1989-07-31 高速再翻訳処理方式

Country Status (1)

Country Link
JP (1) JPH0362227A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197561A (ja) * 1992-01-20 1993-08-06 Hitachi Ltd コンパイル方式
JPH0778085A (ja) * 1993-06-21 1995-03-20 Nec Corp プログラム翻訳処理方式
WO2022085680A1 (ja) 2020-10-22 2022-04-28 京都府公立大学法人 ヒト角膜内皮細胞及び/又はヒト角膜内皮前駆細胞の保存方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197561A (ja) * 1992-01-20 1993-08-06 Hitachi Ltd コンパイル方式
JPH0778085A (ja) * 1993-06-21 1995-03-20 Nec Corp プログラム翻訳処理方式
WO2022085680A1 (ja) 2020-10-22 2022-04-28 京都府公立大学法人 ヒト角膜内皮細胞及び/又はヒト角膜内皮前駆細胞の保存方法

Similar Documents

Publication Publication Date Title
US5732276A (en) Machine translation device
JPH0362227A (ja) 高速再翻訳処理方式
JPS5922140A (ja) 対話型コンパイル方式
JP2000029678A (ja) プログラム言語変換方法、変換装置および記録媒体
JPH02267632A (ja) 再翻訳処理方式
JPH07210397A (ja) プログラム変換方法およびそれを用いたプログラム実行方法
JPH01196629A (ja) 翻訳処理方式
JPH01196628A (ja) 再翻訳処理方式
JPH01196632A (ja) 再翻訳処理方式
JPH01144127A (ja) インタプリタ方式
JPH04287134A (ja) 簡易トレース情報取得方式
JPH0237429A (ja) 再翻訳処理の高速化方式
JPH0385639A (ja) プログラム言語翻訳機
JPH05204699A (ja) デバッグ時識別子探索方式
JPH0250730A (ja) 共通機械語による言語変換方式
JPH04169941A (ja) デバッグ情報出力処理方式
JPH03144830A (ja) 並列処理方式
JPS62159235A (ja) リスト処理方式
JPH01194053A (ja) コマンドプロシジャの処理方式
JPH0619721A (ja) 機械語翻訳最適化方式
JPS63228341A (ja) プログラム構文チエツク方式
JPS592154A (ja) 被テスト処理プログラム・テスト処理方式
JPH05204658A (ja) 原始プログラム登録方式
JPH0223428A (ja) コマンド型エンドユーザ言語の翻訳型実行方式
JPH01158532A (ja) プログラム実行方式