JPH01196629A - 翻訳処理方式 - Google Patents

翻訳処理方式

Info

Publication number
JPH01196629A
JPH01196629A JP2107288A JP2107288A JPH01196629A JP H01196629 A JPH01196629 A JP H01196629A JP 2107288 A JP2107288 A JP 2107288A JP 2107288 A JP2107288 A JP 2107288A JP H01196629 A JPH01196629 A JP H01196629A
Authority
JP
Japan
Prior art keywords
intermediate information
source program
compiler
holding area
translation
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
JP2107288A
Other languages
English (en)
Inventor
Setsuo Tsukamoto
塚本 節男
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 JP2107288A priority Critical patent/JPH01196629A/ja
Publication of JPH01196629A publication Critical patent/JPH01196629A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はエディタで更新を行なった原始プログラムの翻
訳を高速に行なうことができる翻訳処理方式に関する。
〔従来の技術〕
エディタで更新を行なった原始プログラムを翻訳する場
合、従来は、原始プログラムの生成時と同様に、更新を
行なった原始プログラムを全てコンパイラに入力し、翻
訳処理を行なわせるようにしていた。
〔発明が解決しようとする問題点〕
上述した従来の翻訳処理方式では、原始プログラムを更
新する毎に、原始プログラムから翻訳処理を行なうので
、原始プログラムに文法誤り等、があり、その一部分を
修正(更新)する場合であっても、最初の翻訳処理時と
ほぼ同等の処理時間が必要になるという問題点があった
本発明はこのような問題点を解決したものであり、その
目的は、直前に翻訳された原始プログラムをエディタで
更新して再翻訳する際の処理時間を短縮化することにあ
る。
〔問題点を解決するための手段〕
本発明は前述の如き問題点を解決するため、エディタで
原始プログラムの生成または更新を行なった後、前記エ
ディタからコンパイラを呼び出して前記生成または更新
された原始プログラムを翻訳するシステムに於いて、 前記コンパイラは、原始プログラム保持手段に保持され
た原始プログラムを翻訳して目的プログラムを生成する
と共に該翻訳で生成した中間情報を中間情報保持領域に
保持する第1のモードと、前記中間情報保持領域に保持
された中間情報及び該中間情報に対応する原始プログラ
ムと今回翻訳する原始プログラムとの相違する部分を示
す更新情報保持手段に保持された更新情報に基づいて目
的プログラムを生成すると共に該翻訳で生成した中間情
報を前記中間情報保持領域に保持する第2のモードとを
存し、 前記エディタは、 原始プログラムの生成時、生成した原始プログラムを前
記原始プログラム保持手段に格納すると共に初期化した
前記中間情報保持領域を準備した後、前記コンパイラを
第1のモードで呼出し、原始プログラムの更新時、更新
した原始プログラムを前記原始プログラム保持手段に格
納した後、直前の翻訳時に前記コンパイラにより前記中
間情報保持領域に保持された中間情報を再利用した方が
翻訳時間が短くなるか否かを判定し、短くならないと判
定したときは初期化した前記中間情報保持領域を準備し
た後前記コンパイラを第1のモードで呼出し、短くなる
と判定したときは前記更新情報を前記更新情報保持手段
に保持させ前記中間情報保持領域を初期化することなく
前記コンパイラを第2のモードで呼び出す。
〔作 用〕
原始プログラムの生成時に於いては、生成された原始プ
ログラムが原始プログラム保持手段に格納されると共に
初期化された中間情報保持領域が準備され、その後、コ
ンパイラが第1のモードで呼出される。
原始プログラムの更新時に於いては、更新された原始プ
ログラムが原始プログラム保持手段に格納され、その後
、直前の翻訳時にコンパイラにより中間情報保持領域に
格納された中間情報を再利用した方が翻訳時間を短くで
きるか否かが判定される。そして、中間情報を再利用し
た方が翻訳時間を短くできると判定された場合は、更新
情報が更新情報保持手段に格納され、中間情報保持領域
が初期化されることなく、コンパイラが第2のモードで
呼出され、中間情報を利用すると翻訳時間が長くなると
判定された場合は、初期化した中間情報保持領域が準備
され、コンパイラが第1のモードで呼出される。
〔実施例〕
次に本発明の実施例について図面を参照して詳細に説明
する。
第1図は本発明の実施例のブロック図であり、エディタ
lと、コンパイラ2と、原始プログラム保持手段3と、
中間情報保持領域4と、更新情報保持手段5とを含んで
いる。エディタ1は利用者からの要求が原始プログラム
の生成を要求するものであるのか、原始プログラムの更
新を要求するものであるのかを判定する生成・更新判定
手段10と、利用者からの要求に従って原始プログラム
を生成する原始プログラム生成手段11と、原始プログ
ラム生成手段11で生成された原始プログラムを原始プ
ログラム保持手段3に出力する原始プログラム出力手段
12と、コンパイラ2によって生成された中間情報を保
持する中間情報保持領域4を例えば作業用ファイル内に
生成する中間情報保持領域生成手段13と、中間情報保
持領域生成手段13によって生成された中間情報保持領
域4を初期化する中間情報保持領域初期化手段14と、
原始プログラム保持手段3に保持されている原始プログ
ラムを更新する原始プログラム更新手段15と、中間情
報保持領域4に保持されている直前の翻訳で生成された
中間情報を利用するか否かを判定する中間情報再利用判
定手段16と、中間情報再利用判定手段16で再利用す
ると判定された時に直前に翻訳した原始プログラムと異
なる部分の情報を出力する更新情報出力手段17と、翻
訳処理のためにコンパイラ2を呼出すコンパイラ呼出し
手段1日とを含んでいる。コンパイラ2は原始プログラ
ム保持手段3に保持されている原始プログラムを入力し
て翻訳すると共に翻訳処理で生成した中間情報を中間情
報保持領域4に保持する第1のモードと、中間Wa保持
領域4に保持されている中間情報と更新情報保持手段5
に保持されている更新情報とに基づいて翻訳処理を行な
うと共に翻訳処理で生成した中間情報を中間情報保持領
域4に保持する第2のモードとを有している。
第2図は生成・更新判定手段10の処理例を示す流れ図
、第3図は中間情報保持領域生成手段13の処理例を示
す流れ図、第4図は中間情報保持領域初期化手段14の
処理例を示す流れ図、第5図は中間情報再利用判定手段
16の処理例を示す流れ図、第6図は更新情報出力手段
17の処理例を示す流れ図、第7図はコンパイラ呼出し
手段18の処理例を示す流れ図であり、以下各図を参照
して本実施例の動作を説明する。
エディタ1は利用者から要求が加えられると、生成・更
新判定手段10に制御を渡す、これにより、生成・更新
判定手段10は要求を解析するコマンド処理を行ない(
ステップ521)、原始プログラムの生成要求であると
判定した場合(ステップS22の判断結果がYESの場
合)は原始プログラム生成手段11へ制御を渡し、原始
プログラムの更新要求であると判定した場合(ステップ
322の判断結果がNoの場合)は原始プログラム更新
手段15へ制御を渡す。
利用者からの要求が原始プログラムの生成要求であると
判定され、生成・更新判定手段10から制御が渡される
と、原始プログラム生成手段11は利用者からの要求に
従って原始プログラムを生成し、原始プログラム出力手
段12は原始プログラム生成手段11が生成した原始プ
ログ、ラムを原始プログラム保持手段3に出力し、その
後中間情報保持領域生成手段13に制御を渡す。中間情
報保持領域生成手段13は制御が渡されると、中間情報
保持領域4が既に存在しているか否かを判定しくステッ
プ531)、存在していると判定した場合は中間情報保
持領域初期化手段14に制御を渡し、存在していないと
判定した場合は中間情報保持領域4を生成した後(ステ
ップ532) 、中間情報保持領域初期化手段14に制
御を渡す、中間情報保持領域初期化手段14は制御が渡
されると、中間情報保持領域4を初期化して中間情報が
何も書かれていない状態にしくステップ341) 、そ
の後コンパイラ呼出し手段18に制御を渡す。
コンパイラ呼出し手段18は中間情報保持領域初期化手
段14及び更新情報出力手段17から制御が渡されるも
のであり、中間情報保持領域初期化手段14から制御が
渡された場合(ステップ371の判断結果がY[!Sの
場合)は、コンパイラ2を呼出して原始プログラム保持
手段3に保持されている原始プログラムをコンパイラ2
に引渡す(ステップ572)。これにより、コンパイラ
2は第1のモードで動作し、原始プログラム保持手段3
に保持されている原始プログラムを入力して翻訳処理を
行なうとぎに翻訳処理の過程で生成した中間情報を中間
情報保持領域4に格納する。この中間情報は次の翻訳処
理の時に利用される。
次に、生成・更新判定手段10で利用者からの要求が直
前に翻訳処理された原始プログラム(原始プログラム保
持手段3に保持されている原始プログラム)の更新要求
であると判定され、原始プログラム更新手段15に制御
が渡された場合の動作を説明する。
原始プログラム更新手段15は生成・更新判定手段lO
より制御が渡されると、利用者からの要求に従って原始
プログラム保持手段3に保持されている原始プログラム
を更新し、更新完了により中間情報再利用判定手段16
に制御を渡す。制御が渡されると、中間情報再利用判定
手段16は直前の翻訳処理に於いて生成され、中間情報
保持領域4に保持されている中間情報を再利用するか否
かを判定する(ステップ351) 、ステップ351の
処理を更に詳細に説明すると、中間情報再利用判定手段
16は原始プログラム更新手段15によって更新された
原始プログラムを中間情報保持領域4に保持されている
中間情報を利用して翻訳することが可能か否かを更新内
容に基づいて判定し、再利用できると判定した場合は更
に中間情報保持領域4に保持されている中間情報を利用
した方が翻訳処理時間を短くできるか否かを判定する。
そして、中間情報を再利用することができ、且つ中間情
報を再利用した方が処理時間を短縮できると判定した場
合のみ、中間情報保持領域4に保持されている中間情報
を再利用すると判定する。ここで、中間情報保持領域4
に保持されている中間情報を再利用した方が翻訳処理時
間を短縮できるか否かの判定は、例えば次のようにして
行なうものである。
原始プログラムを通常処理によって翻訳する際に必要と
なる処理時間は翻訳対象としている原始プログラムの行
数Xの関数f (x)で表すことができ、また、中間情
報を再利用して更新後の原始プログラムを翻訳する場合
に必要となる処理時間は更新前の原始プログラムの行数
nと更新する行数yとの関数g (n、y)で表すこと
ができる。
従って、更新前の原始プログラムの行数Nと、利用者か
らの要求によって更新した後の原始プログラムの行数X
と、更新したけ数Yとからf(X)。
g (N、Y)を求め、両者を比較することにより、中
間情報を再利用した方が処理時間を短縮することができ
るか否かを判断することができる。即ち、g (N、 
Y) <f (X)が成り立つ場合、中間情報を再利用
した方が処理時間を短(できると判断するものである。
特に、Y<<Xが成り立つ場合、g (N、Y)<<f
  (X)となる。
そして、中間情報再利用判定手段16はステップ351
で中間情報保持領域4に保持されている中間情報を再利
用しないと判定した場合(判断結果がNOの場合)は中
間情報保持領域初期化手段14に制御を渡し、中間情報
を再利用すると判定した場合は更新情報出力手段17に
制御を渡す。
中間情報保持領域初期化手段14は制御が渡されると、
前述したと同様に中間情報保持領域4を初期化した後(
ステップ541) 、コンパイラ呼出し手段1日に制御
を渡し、コンパイラ呼出し手段18も前述したと同様に
コンパイラ2を呼出して原始プログラム保持手段3に保
持されている原始プログラムをコンパイラ2に引渡す(
ステップ372)。
これにより、コンパイラ2は、原始プログラム更新手段
15によって更新され原始プログラム保持手段3に保持
されている原始プログラムを入力し、翻訳処理を行なう
また、更新情報出力手段17は中間情報再利用判定手段
16から制御が渡されると、利用者からの要求に基づい
て、更新前の原始プログラムと更新後の原始プログラム
との異なる部分(更新部分)を示す更新情報(更新箇所
の情報及び更新イメージ等)を作成して更新情報保持手
段5に出力しくステップ361. 562) 、その後
、コンパイラ呼出し手段18に制御売渡す。コンパイラ
呼出し手段18は更新情報出力手段17から制御が渡さ
れたと判断するとくステップS71の判断結果がNoの
場合)、中間情報保持領域4に保持されている中間情報
及び更新情報保持手段5に保持されている更新情報をコ
ンパイラ2に引渡す(ステップ573)。これにより、
コンパイラ2は第2のモードで動作し、中間情報保持領
域4に保持されている中間情報及び更新情報保持手段5
に保持されている更新情報を人力して翻訳処理を行なう
と共に、翻訳処理の過程で作成された中間情報を中間情
報保持領域4に出力しておく。この中間情報は、また次
の翻訳処理の時に利用される。
〔発明の効果〕
以上説明したように、本発明は、直前の翻訳時に生成さ
れた中間情報を今回の翻訳処理に於いて再利用した方が
翻訳にかかる時間を短くすることができるか否かを判定
し、短くなると判定した場合は中間情報を再利用するも
のであるので、再翻訳処理を高速化することが可能とな
る効果がある。
特に、構文誤り等がある原始プログラムを正しいものに
修正し、その後再度翻訳する場合等のように、原始プロ
グラムの大きさに比べて、更新した行数が小さい場合は
翻訳処理時間を大幅に短縮することが可能となる。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は生成・
更新判定手段10の処理例を示す流れ図、 第3図は中間情報保持領域生成手段13の処理例を示す
流れ図、 第4図は中間情報保持領域初期化手段14の処理例を示
す流れ図、 第5図は中間情報再利用判定手段16の処理例を示す流
れ図、 第6図は更新情報出力手段17の処理例を示す流れ図及
び、 第7図はコンパイラ呼出し手段18の処理例を示す流れ
図である。 図に於いて、1・・・エディタ、2・・・コンパイラ、
3・・・原始プログラム保持手段、4・・・中間情報保
持領域、5・・・更新情報保持手段、10・・・生成・
更新判定手段、11・・・原始プログラム生成手段、1
2・・・原始プログラム出力手段、13・・・中間情報
保持領域生成手段、14・・・中間情報保持領域初期化
手段、15・・・原始プログラム更新手段、16・・・
中間情報再利用判定手段、17・・・更新情報出力手段
、1日・・・コンパイラ呼出し手段。 生成・更新判定手段10の処理例を示す流ね図第2図 処理例を示す流れ図 の処理列を示す流I図 第4図

Claims (1)

  1. 【特許請求の範囲】 エディタで原始プログラムの生成または更新を行なった
    後、前記エディタからコンパイラを呼び出して前記生成
    または更新された原始プログラムを翻訳するシステムに
    於いて、 前記コンパイラは、原始プログラム保持手段に保持され
    た原始プログラムを翻訳して目的プログラムを生成する
    と共に該翻訳で生成した中間情報を中間情報保持領域に
    保持する第1のモードと、前記中間情報保持領域に保持
    された中間情報及び該中間情報に対応する原始プログラ
    ムと今回翻訳する原始プログラムとの相違する部分を示
    す更新情報保持手段に保持された更新情報に基づいて目
    的プログラムを生成すると共に該翻訳で生成した中間情
    報を前記中間情報保持領域に保持する第2のモードとを
    有し、 前記エディタは、 原始プログラムの生成時、生成した原始プログラムを前
    記原始プログラム保持手段に格納すると共に初期化した
    前記中間情報保持領域を準備した後、前記コンパイラを
    第1のモードで呼出し、原始プログラムの更新時、更新
    した原始プログラムを前記原始プログラム保持手段に格
    納した後、直前の翻訳時に前記コンパイラにより前記中
    間情報保持領域に保持された中間情報を再利用した方が
    翻訳時間が短くなるか否かを判定し、短くならないと判
    定したときは初期化した前記中間情報保持領域を準備し
    た後前記コンパイラを第1のモードで呼出し、短くなる
    と判定したときは前記更新情報を前記更新情報保持手段
    に保持させ前記中間情報保持領域を初期化することなく
    前記コンパイラを第2のモードで呼び出すことを特徴と
    する翻訳処理方式。
JP2107288A 1988-01-30 1988-01-30 翻訳処理方式 Pending JPH01196629A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2107288A JPH01196629A (ja) 1988-01-30 1988-01-30 翻訳処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2107288A JPH01196629A (ja) 1988-01-30 1988-01-30 翻訳処理方式

Publications (1)

Publication Number Publication Date
JPH01196629A true JPH01196629A (ja) 1989-08-08

Family

ID=12044682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2107288A Pending JPH01196629A (ja) 1988-01-30 1988-01-30 翻訳処理方式

Country Status (1)

Country Link
JP (1) JPH01196629A (ja)

Cited By (1)

* 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 コンパイル方式

Cited By (1)

* 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 コンパイル方式

Similar Documents

Publication Publication Date Title
JPH03171243A (ja) データ・ストリーム修正方法
JPH01196629A (ja) 翻訳処理方式
US7353163B2 (en) Exception handling method and apparatus for use in program code conversion
EP1183601A2 (en) Exception handling method and apparatus for use in program code conversion
US5765148A (en) Database processing apparatus and database processing method for variable length objects, and computer-readable memory medium for storing database processing program
JP2000029678A (ja) プログラム言語変換方法、変換装置および記録媒体
JPS6378231A (ja) 部分的プログラム結合方式
JPS5922140A (ja) 対話型コンパイル方式
JPH0362227A (ja) 高速再翻訳処理方式
JPH09282174A (ja) プログラム実行方法
JPS61147336A (ja) ロ−ドモジユ−ルの世代管理方式
JPH04239338A (ja) マイクロプログラム網羅率測定方式
JPH01144127A (ja) インタプリタ方式
JPH04287134A (ja) 簡易トレース情報取得方式
JPH0619721A (ja) 機械語翻訳最適化方式
JPH03164835A (ja) インタプリタ型言語処理系における大域変数処理のコンパイル方法
JPH07244601A (ja) 関係データベースのアクセス方法および装置
JPH02267632A (ja) 再翻訳処理方式
JPH0250730A (ja) 共通機械語による言語変換方式
JPH0385639A (ja) プログラム言語翻訳機
JPH04324525A (ja) プログラム移植支援装置
JPH10207738A (ja) 言語処理システム
JPH0566949A (ja) 関数定義コンパイルドコード呼出し方式
JPH06314194A (ja) パッチ方式
JPH06274351A (ja) コンパイラの最適化方式