JPH04205422A - プログラム自動翻訳結合及び選択方法 - Google Patents

プログラム自動翻訳結合及び選択方法

Info

Publication number
JPH04205422A
JPH04205422A JP2337117A JP33711790A JPH04205422A JP H04205422 A JPH04205422 A JP H04205422A JP 2337117 A JP2337117 A JP 2337117A JP 33711790 A JP33711790 A JP 33711790A JP H04205422 A JPH04205422 A JP H04205422A
Authority
JP
Japan
Prior art keywords
translation
module
file
load module
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
JP2337117A
Other languages
English (en)
Inventor
Sumio Kikuchi
菊池 純男
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2337117A priority Critical patent/JPH04205422A/ja
Publication of JPH04205422A publication Critical patent/JPH04205422A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ソースモジュールを翻訳・結合し、ロードモ
ジュールを作成する方法ならびにソースモジュール、オ
ブジェクトモジュール、ロードモジュールの管理方法に
関する。
〔従来の技術〕
従来のプログラミング支援システムは、ユーザが機能を
選択し実行するのに先立って、まずその動作環境をユー
ザ自身でつくることが要求される。
たとえば、あるモジュールをデバッグするときに特定の
ソース文位置で実行を中断し、変数の値を確認すること
が行われるが、このためには通常、対象ソースモジュー
ルを特定の翻訳オプションで再翻訳し、他のオブジェク
トモジュールと結合をとりロードモジュールを作成しな
ければならない。
また、再翻訳されると旧オブジェクトファイルの内容は
新オブジェクトモジュールに置き換えられるため、旧オ
ブジーエクトモジュールを再び使うには再度翻訳しなけ
ればならない。世代管理機能を持ったファイルシステム
では、この問題は解決されるが、翻訳時に指定したオプ
ションとオブジェクトモジュールとの関係、つまりユー
ザニーズとオブジェクトモジュールとの対応はユーザが
対応づけておかねばならない。この対応に基づいて、ニ
ーズ対応に結合するオブジェクトモジュールを選択し、
ロードモジュールを作成しなければならない。ロードモ
ジュールの管理においても状況は同じである。
従来、プログラムを自動的に翻訳結合する方法は、特開
平2−67626号のプログラム自動翻訳結合方式、特
開平2−15330号のプログラム情報管理及びロード
モジュール自動作成方式として特許出願されている。ま
た、動作させるべきプログラムを選択する方法は、特開
平2−67626号のプログラム選択方式として特許出
願されている。
第1の従来技術はソースファイルの作成更新目付とオブ
ジェクトファイルの翻訳日時、ロードモジュールの結合
日時を相互に比較して再翻訳・再結合が必要なソースフ
ァイルのみを翻訳・結合してロードモジュールを自動作
成するようになっている。
第2の従来技術はプログラム構成情報と新規追加及び修
正モジュール情報からオブジェクトモジュールを再翻訳
し、リンクすべきサブモジュールを自動検索し、自動リ
ンクするようになっている。
第3の従来技術は種々のプログラムからユーザ業務・動
作環境に最適なプログラムを自動選択・自動起動するよ
うになっている。
〔発明が解決しようとする課題〕
上記従来技術は、ユーザニーズに応じて、再翻訳が必要
なソースモジュールを決定する点、翻訳時オプションや
結合時オプションなどコンパイラやリンカの動作環境を
決定する点、さらにこの決定に基づいて翻訳を実行し、
オブジェクトモジュールを生成した後、オブジェクトモ
ジュール間の結合をとる点、について考慮されていない
。さらに、オブジェクトモジュールやロードモジュール
の管理は名称でのみ行われており、動作環境情報を保持
することについて考慮されていない。
したがって、ユーザニーズに対応して再翻訳する必要の
あるソースモジュールと翻訳時と結合時の動作環境情報
を決定し、コンパイラ、リンカを順次起動する方法とこ
の過程で作成されるオブジェクトモジュールとロードモ
ジュールとを動作環境情報と関連付けて管理する方法が
必要となる。
本発明の目的は、ユーザニーズに応じて、その実現に必
要な環境を判断し、これを整えるために必要な手続きを
決定し、実行する機構、あるし)はすでに存在する環境
からユーザニーズに適合する環境を選択する機構を提供
することを目的とする。
〔課題を解決するための手段〕
上記本発明の目的は、第1に翻訳時のオプションとユー
ザニーズとの対応を管理し、ユーザニーズにより翻訳時
のオプションを自動的に決定すること、また、第2に翻
訳の結果作成されるオブジェクトモジュールを格納する
オブジェクトファイルに翻訳時オプションを関連情報と
して保持し、さらにオブジェクトモジュールを結合して
得られるロードモジュールに対して、結合されたオブジ
ェクトファイルを示す情報を保持することによって達成
される。
〔作用〕
上記第1の構成によるプログラム自動翻訳結合及び選択
方法では、ユーザニーズと翻訳時に指定する必要がある
オプションとの関係が明らかであるので、ユーザニーズ
に対応して翻訳時オプションを自動的に決定することが
できる。
また、ユーザニーズに対応して、その実現に必要な環境
を判断し、整える必要性があるか否かを判定するために
は、ユーザニーズを満たすオブジェクトモジュール、ロ
ードモジュールの存在を調べる必要がある。
そこで、オブジェクトモジュールの関連情報である翻訳
時オプションを調べることにより再翻訳する必要がある
か否かを判断することができる。
また、すでに必要なオブジェクトモジュールを格納した
オブジェクトファイルが存在する場合には、これが結合
されたロードモジュールが存在するかを調べることによ
り再結合してロードモジュールを作成する必要があるか
否かを判断できる。すなわち、上記第2の構成によるプ
ログラム自動翻訳結合及び選択方法では、ユーザニーズ
に対応するオブジェクトモジュール、ロードモジュール
の存在の有無を調べることができ、存在しなければ、コ
ンパイラやリンカを起動して、これを生成することがで
きる。
〔実施例〕
以下、本発明の実施例を図面を参照して説明する。なお
、これにより本発明が限定されるものではない。
第1図は1本発明の一実施例を適用したプログラミング
支援システムの全体構成を示している。
プログラミング支援システム100にはユーザニーズと
対象ソースファイル名称が入力される。
ユーザニーズとそのニーズを実現するために必要な準備
の具体例は、たとえば、以下のようなものである。
ユーザプログラムのデバッグを行う場合、デバッグ対象
であるソースモジュールに対して、指定したソース文位
置で実行を中断し変数の値を参照したり、ソース文の実
行推移を高輝度に画面表示する。などといった手段を用
いる。このニーズを実現するには、対象ソースモジュー
ルを適当な翻訳オプションで翻訳してオブジェクトモジ
ュールを作成し、他オブジェクトモジュールとの結合を
とり、実行可能なロードモジュールを作成する必要があ
る。また、翻訳時には、オブジェクトモジュールに加え
てデバッグ情報を作成し、ファイルに格納する。
プログラミング支援システム100は、動作環境設定部
200と翻訳対象選択部300.翻訳部400、結合対
象選択部5oO9結合部600゜ファイル管理登録部7
00とを有している。これら各部は第7図に示されたフ
ローチャートのように作動する。
これらフローチャート中のステップの番号で、210は
前記動作環境設定部200による処理を示し、310.
311は前記翻訳対象選択部300による処理を示し、
410,411は前記翻訳部400による処理を示し、
510〜512は前記結合対象選択部500による処理
を示し、610゜611は前記結合部600による処理
を示す。
まず、動作環境設定部200ではユーザニーズを実現す
る環境を決定する。通常、ユーザニーズを満たすオブジ
ェクトモジュールを作成するための翻訳オプションの決
定、結合時の結合オプションの決定9作業ファイルの必
要性の決定を行う。
作業ファイルは必要な場合にのみシステムが確保するも
のであって、デバッグオプションで翻訳時にオブジェク
トモジュール対応に出力されるデバッグ情報を格納した
り、あるいはプログラム実行中にトレースデータを収集
する場合にこれらを格納するために必要となる。
ステップ210では、翻訳オプションと結合オプション
を決定し、これらをそれぞれ環境管理ファイル内80o
の翻訳環境管理データ820と結合環境管理データ84
0に登録する。ともに同一の管理データ、すなわち同一
の翻訳環境識別子、結合環境識別子を持つものがあれば
重複登録しない。
翻訳環境管理データ820は第3図に示すが如きデータ
格納形式を有している。
各データは翻訳環境識別子821と翻訳オプション集合
822とから成る。翻訳オプションは複数個存在するが
、これらに一連の番号づけを行う。
指定されたオプションは翻訳オプション集合において対
応位置ビットONで表現する。
同様に、結合環境管理データ840は第5図に示すが如
きデータ格納形式を有しており、結合時に指定されたオ
プションをビット集合の形式824で保持し、これに結
合環境識別子841を付けて管理する。
このようにステップ210では、ユーザニーズを満たす
翻訳環境識別子と翻訳候補ソースファイル名が決定され
、ステップ310以降に渡される。
翻訳対象選択部300は、動作環境設定部200で設定
された翻訳候補ソースファイル名と翻訳環境識別子を入
力し、ステップ310〜311において環境管理ファイ
ル800内の翻訳情報管理データ810を検索し、新た
に翻訳処理が必要なソースファイルを決定する。
翻訳情報管理データ810は第2図に示すが如きデータ
格納形式を有している。
ソースファイル名情報811には翻訳されたソースファ
イル名を格納し、オブジェクトモジュール名情報812
には翻訳して作成されたオブジェクトモジュール名称を
格納する。813には、翻訳環境識別子情報814のア
ドレスを格納する。
翻訳環境識別子情報814には、上記ソースファイル内
に格納されたソースモジュールを翻訳する際に指定した
翻訳オプション情報である翻訳環境識別子821(第3
図)を格納する。オブジェクトファイル名情報815に
は、上記ソースファイルを上記翻訳環境識別子814で
翻訳して作成されたオブジェクトモジュールを格納して
いるオブジェクトファイル名称を格納する。さらに、デ
バッグ情報ファイル名情報816にはデバッグ用情報を
格納しているファイル名称を格納する。
また、同一ソースファイルが複数の翻訳環境識別子で翻
訳されている場合には、最終フィールド817に次の翻
訳環境識別子情報のアドレスを格納する。
ステップ310では、すべての翻訳候補ソースファイル
について、翻訳情報管理データ810に登録されている
ソースファイル名811を検索し、一致するソースファ
イルが登録されているか調べる。同一ソースファイル名
が存在しない翻訳候補ソースファイルは翻訳対象ソース
ファイルとする。
存在する場合には、ステップ210で設定した翻訳環境
識別子と翻訳環境識別子814とが一致するか調べる。
一致しない場合には翻訳対象ソースファイルとする。こ
こで翻訳対象ソースファイルに決定したソースファイル
名は翻訳部400に渡される。
ステップ311では、上記ステップにて翻訳対象ソース
ファイルが存在したかを判定し、翻訳対象があれば翻訳
処理400部のステップ410に進み、翻訳対象がなけ
れば結合対象選択部500のステップ510に進む。
翻訳部400は、翻訳対象選択部300で設定された翻
訳対象ソースファイル名と、動作環境設定部200で設
定された、このソースファイルの翻訳環境識別子とを入
力し、翻訳処理を行ってオブジェクトモジュールを作成
する。このオブジェクトモジュールはファイル管理登録
部700によリオブジェクトファイル910に出力され
る。さらに、環境管理ファイル800内の翻訳情報管理
データ810の更新処理を行う。
ステップ410では、ソースファイル900から翻訳対
象ソースファイルを読み込み、翻訳環境識別子に示され
た翻訳オプションに従い、翻訳処理を行う。翻訳結果で
あるオブジェクトモジュールは、ファイル管理登録部7
00によってオブジェクトファイル910に出力する。
ステップ411では、翻訳情報管理データ810の更新
処理を行う。ここでの更新処理は2つの場合に分けられ
る。
第1の場合は、翻訳ソースファイルが翻訳情報管理デー
タ810に登録されていない場合である。
この場合には、第2図に示したデータ格納形式に従い、
翻訳情報管理データを新たに作成し、環境管理ファイル
800に格納する。
第2の場合は、翻訳ソースファイル名は翻訳情報管理デ
ータ810に存在するが、翻訳環境識別子が一致しない
場合である。この場合は、新たに814〜817からな
るフィールド情報を作成する。このとき、813に格納
されていたポインタは新フィールド817に格納し、8
13には新翻訳環境識別子情報へのポインタを格納する
以上、ステップ210〜411までによりユーザニーズ
を満たすロードモジュールを作成するために必要な特定
ニーズ用オブジェクトファイル名が決定する。
結合対象選択部500は、環境管理ファイル800内の
結合情報管理データ830からユーザニーズを満たすロ
ードモジュールを選択するか、あるいは適合するロード
モジュールが存在しない場合には、ロードモジュールを
作成するために結合対象オブジェクトファイル名の決定
を行う。
ステップ510では、翻訳対象選択部300のステップ
311の判定で翻訳対象ソースファイルが無かった場合
に回部300からユーザニーズを満たす翻訳環境識別子
を有するオブジェクトファイル名を入力し、環境管理フ
ァイル800内の結合情報管理データ830内に登録さ
れたロードモジュールに対して上記オブジェクトファイ
ルを結合して作成されたロードモジュールを格納してい
るロードファイルを検索する。
結合情報管理データは第4図に示すが如きデータ格納形
式を有している。ロードモジュール名情報831にはロ
ードモジュール名称を格納する。
さらにロードモジュール情報として動作種別833、ロ
ードファイル名834.結合環境識別子835゜特定ニ
ーズ用オブジェクトファイル名情報へのポインタ836
をリスト形式で保持する。
また、第6図は、通常実行用のロードモジュールを作成
するための結合対象オブジェクトファイル名の一覧をリ
スト形式で示している。
動作種別833は、ロードモジュールの種別が通常実行
用、デバッグ用、性能チューニング用であるかを示す。
この種別を設けることにより、たとえば、ユーザニーズ
がデバッグであるときには種別がデバッグ用のロードフ
ァイルについてのみ検索対象にすればよく、検索処理を
高速化することができる。ロードファイル名情報834
には、ロードモジュールが格納されているファイル名を
格納する。結合識別子情報835には上記ロードファイ
ルの作成時に指定された結合環境識別子841を格納す
る。特定ニーズ用オブジェクトファイル名情報838に
は本ロードモジュール作成時に結合され、かつ第6図に
格納された通常実行用オブジェクトファイルとは異なる
特定ニーズ用オブジェクトファイル名を格納する。
上記ステップ510において、種別833と結合環境識
別子835が一致し、かつ入力された特定ニーズ用オブ
ジェクトファイル名が838で示されたファイル名と全
て一致するかをすべてのロードファイルについて検索す
る。
ステップ511では、上記検索の結果を判定し、一致す
るロードファイルが存在した場合にはロードファイル名
834を出力し、全ての動作を終了する。一致するロー
ドファイルが存在しない場合にはステップ512に進む
ステップ512では、ユーザニーズを満たすために結合
する必要のある特定ニーズ用オブジェクトファイル名と
、環境管理ファイル800内結合対象管理データ850
のオブジェクトファイル名リスト851とを入力し、結
合順を前者ファイルの後、後者ファイルとしてこれをス
テップ610に渡す。
結合処理600では、上記順番に従い、ステップ610
で結合処理を行い、ロードモジュールを作成する。ファ
イル管理登録部700はこれをロードファイル920に
出力する。また、環境管理ファイル800に対して第4
図に示した結合情報管理データ830を更新する。
以上の実施例によれば、ユーザニーズに対応して再翻訳
する必要のあるソースファイルと翻訳、結合時のオプシ
ョンや必要な作業ファイルなどの動作環境をシステムが
決定することができ、その結果、コンパイラとリンカを
順次起動することにより必要なロードモジュールを自動
的に作成することができる。しかも、オブジェクトモジ
ュールとロードモジュールを翻訳情報や結合情報ととも
に管理することにより、再翻訳や再結合の必要がない場
合には、これを行わないように制御することができる。
〔発明の効果〕
本発明によれば、ユーザニーズに応じて翻訳時オプショ
ンが決定されるため、ユーザがオプションの種類やその
意味内容を知らなくても自動的に必要な翻訳処理を行う
ことができる。
また、ユーザニーズを満たすロードモジュールを作成す
るために結合するオブジェクトファイルが自動的に決定
され、結合が行われるため、結合時のユーザ作業が不要
になる。
さらに、オブジェクトモジュールとこのときに指定され
た翻訳オプションを関連付けて管理することにより、ユ
ーザニーズに対応して対象ソースファイルを再翻訳する
必要があるかを判定することができる。その結果、同一
翻訳オプションで翻訳されたオブジェクトモジュールが
すでに存在すれば、これを再利用し無駄な翻訳処理を省
くことができる。
また、ロードモジュールとこれに結合されているオブジ
ェクトファイルとの関係を保持することにより、再結合
してロードモジュールを作成する必要があるかを判定す
ることができる。その結果、結合すべきオブジェクトフ
ァイルから作成されたロードモジュールがすでに存在す
れば、これを再利用し無駄な結合処理も省くことができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例の全体構成図、第2図はソー
スファイルとオブジェクトファイルとの関係を管理する
翻訳情報管理データのデータ形式図、第3図は翻訳環境
管理データのデータ形式図、第4図は結合情報管理デー
タのデータ形式図、第5図は結合環境管理データのデー
タ形式図、第6図は結合対象管理データのデータ形式図
、第7図はプログラミング支援システムの動作のフロー
チャートである。 100・・・プログラム支援システム、200・・・動
作環境設定部、300・・・翻訳対象選択部、400・
・・翻訳部、500・・・結合対象選択部、600・・
・結合部、700・・・ファイル管理登録部、8oo・
・・環境管理ファイル、810・・・翻訳情報管理デー
タ。

Claims (1)

  1. 【特許請求の範囲】 1、プログラムが複数モジュールから構成され、その中
    の複数のモジュールに特定の動作をさせるため対象ソー
    スモジュールを翻訳しオブジェクトモジュールを作成し
    た後、結合してロードモジュールを作成する方法におい
    て、該特定動作対象ソースファイル名称と動作を指定さ
    れた時に、その要求動作を満たすロードモジュールを作
    成し実行するために必要な翻訳時オプション、結合時オ
    プション、実行時オプション、作業ファイルなどの動作
    環境を決定し、翻訳・結合を順次行い、ロードモジュー
    ルを作成するプログラム自動翻訳結合方法。 2、ソースファイルを翻訳した結果作成されるオブジェ
    クトモジュールの管理情報において、該オブジェクトモ
    ジュールが格納されているオブジェクトファイル名称と
    ともにデバッグ情報ファイル名称、翻訳環境情報として
    翻訳時のオプションとを用いるプログラム自動翻訳結合
    方法。 3、請求項2記載のオブジェクトモジュールを管理する
    方法において、オブジェクトモジュール名称が同一でも
    動作環境情報が異なる場合には、これらを区別して管理
    するプログラム自動翻訳結合方法。 4、請求項1記載のオブジェクトモジュール間を結合す
    る方法において、同一ソースファイルに対して翻訳環境
    情報が異なる複数のオブジェクトファイルが存在する場
    合、オブジェクトファイル対応に保持される翻訳環境情
    報を参照して特定動作対象オブジェクトファイルを選択
    し、これら以外の通常動作するオブジェクトモジュール
    との間で結合をとるプログラム自動翻訳結合方法。 5、請求項1の翻訳方法において、翻訳対象ソースモジ
    ュールが格納されているソースファイル名と翻訳環境情
    報が決定したときに、既にこのソースファイルを翻訳し
    て得られたオブジェクトモジュールが格納されているオ
    ブジェクトファイルの管理情報の内容を調べ、同一翻訳
    環境情報を持つものが存在すれば再翻訳を行わないプロ
    グラム自動翻訳結合方法。 6、請求項1で生成されるロードモジュールを管理する
    方法において、ロードモジュールの動作種別として最終
    実行用、デバッグ用、性能チューニング用の3種を用い
    てロードモジュールの実行により実現される機能を識別
    できるプログラム選択方法。 7、請求項6のロードモジュール管理方法において、結
    合されるオブジェクトファイルの翻訳環境情報からロー
    ドモジュールの動作種別を決定するプログラム選択方法
JP2337117A 1990-11-30 1990-11-30 プログラム自動翻訳結合及び選択方法 Pending JPH04205422A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2337117A JPH04205422A (ja) 1990-11-30 1990-11-30 プログラム自動翻訳結合及び選択方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2337117A JPH04205422A (ja) 1990-11-30 1990-11-30 プログラム自動翻訳結合及び選択方法

Publications (1)

Publication Number Publication Date
JPH04205422A true JPH04205422A (ja) 1992-07-27

Family

ID=18305599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2337117A Pending JPH04205422A (ja) 1990-11-30 1990-11-30 プログラム自動翻訳結合及び選択方法

Country Status (1)

Country Link
JP (1) JPH04205422A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098963A (ja) * 2007-10-17 2009-05-07 Mitsubishi Electric Corp モジュール自動生成システム
JP2018032082A (ja) * 2016-08-22 2018-03-01 富士通株式会社 プログラム生成プログラム、プログラム生成方法、プログラム生成装置及びコンパイルプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098963A (ja) * 2007-10-17 2009-05-07 Mitsubishi Electric Corp モジュール自動生成システム
JP2018032082A (ja) * 2016-08-22 2018-03-01 富士通株式会社 プログラム生成プログラム、プログラム生成方法、プログラム生成装置及びコンパイルプログラム

Similar Documents

Publication Publication Date Title
US7571427B2 (en) Methods for comparing versions of a program
JP3875999B2 (ja) 総称データ交換環境において動的データ参照を提供するシステムと方法
US5339435A (en) Heterogenous software configuration management apparatus
JP2927180B2 (ja) 情報処理プログラムのデバッグ方法およびそのためのデバッガ
JP2644728B2 (ja) データディクショナリ・ディレクトリシステム
US20010042241A1 (en) Apparatus and method for executing program using just-in time-compiler system
JPH06149554A (ja) プログラム動作仕様自動合成装置及びその方法
US6233732B1 (en) Compiling system using intermediate codes to store a plurality of values
JPH04205422A (ja) プログラム自動翻訳結合及び選択方法
CN113608795B (zh) 一种通用的VxWorks下启动并加载应用程序方法
JPH01193944A (ja) テスト項目自動選択システム
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JP2000122876A (ja) 情報処理装置
JP2614341B2 (ja) 計算機システムの新旧交換時における移行システム
JP3637606B2 (ja) データ処理装置
JPH11110250A (ja) ソフトウェア実行モード切替方法
CN115809087A (zh) 版本更新方法、装置、设备及存储介质
CN115587148A (zh) 适用于低代码平台的无业务含义数据访问方法及装置
JPH02310627A (ja) 言語処理プログラミングにおけるオブジェクトプログラムのリンク方法
JPH0128414B2 (ja)
JPH07121414A (ja) ファイルシステム
Kneen A Users Guide to the IBM Linkage Editor
JPH02178845A (ja) データベース操作言語のプリコンパイル方式
JPH11184680A (ja) ファイル編集方法及びこれを用いたプログラム開発方法及び装置並びに記憶媒体
Sabelfeld Procedure implementation in the multi-language translator