JP2601541B2 - Fortran入出力並び処理方式 - Google Patents

Fortran入出力並び処理方式

Info

Publication number
JP2601541B2
JP2601541B2 JP1043573A JP4357389A JP2601541B2 JP 2601541 B2 JP2601541 B2 JP 2601541B2 JP 1043573 A JP1043573 A JP 1043573A JP 4357389 A JP4357389 A JP 4357389A JP 2601541 B2 JP2601541 B2 JP 2601541B2
Authority
JP
Japan
Prior art keywords
input
processing
list
parameter
output
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.)
Expired - Fee Related
Application number
JP1043573A
Other languages
English (en)
Other versions
JPH02222038A (ja
Inventor
孝則 寺田
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 JP1043573A priority Critical patent/JP2601541B2/ja
Publication of JPH02222038A publication Critical patent/JPH02222038A/ja
Application granted granted Critical
Publication of JP2601541B2 publication Critical patent/JP2601541B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は,FORTRANオブジェクトからのライブラリ呼び
出し時に制御が渡されるオブジェクトインタフェースモ
ジュールと,そのオブジェクトインタフェースモジュー
ルから呼び出されてFORTRANの入出力文で指定された入
出力並びの処理を行う並び処理モジュールとを備えたデ
ータ処理システムにおけるFORTRAN入出力並び処理方式
に関する。
〔従来の技術〕
第5図は従来方式の例を示す。
FORTRAN言語で記述されたプログラムを実行する場
合,そのソースプログラムをコンパイルし,コンパイル
結果のオブジェクトと,あらかじめ用意されたFORTRAN
ライブラリとを結合編集して,ロードモジュールを作成
する。
例えば,第5図に示すFORTRANの入出力文40を含むプ
ログラムを,コンパイルオプションOPT(2)を指定し
て,コンパイルすると,FORTRANオブジェクト11が生成さ
れる。FORTRANオブジェクト11は,入出力文40で指定さ
れた入出力処理を行うために,“制御情報並びパラメ
タ",“入出力並びパラメタ”および“終了呼び出しパラ
メタ”の3種類のパラメタを作成して,それぞれのパラ
メタについて,ライブラリ内のオブジェクトインタフェ
ースモジュール17を3回呼び出す。
オブジェクトインタフェースモジュール17は,指定さ
れたパラメタが制御情報並びパラメタのときには,制御
情報並び処理モジュール18を呼び出す。一連の入出力並
びパラメタのときには,その一括して渡されたパラメタ
を1つ1つに分割し,各パラメタA,B,Cについて,それ
ぞれ1回ずつ,並び処理モジュール19を呼び出し,各々
の入出力処理を行う。終了呼び出しパラメタのときに
は,終了処理モジュール20を呼び出して,終了処理を行
う。
オブジェクトインタフェースモジュール17において,
入出力並びパラメタを分解して,複数回,並び処理モジ
ュール19を呼び出すようにしているのは,例えば以下の
理由による。
入出力文40を含むFORTRANプログラムについて,コン
パイルオプションOPT(2)ではなく,OPT(0)の指定
により,コンパイルした場合,FORTRANオブジェクト11か
ら,オブジェクトインタフェースモジュール17の呼び出
しを,個々の入出力並びごとに行う。そこで,オブジェ
クトインタフェースモジュール17と並び処理モジュール
19間のインタフェースを,OPT(0)でも,OPT(2)でも
同じにするためには,オブジェクトインタフェースモジ
ュール17において,入出力並びパラメタの調整が必要に
なる。
すなわち,プログラム間の呼び出しを,例えば, CALL プログラム(プログラムに渡すパラメタ,・・
・) と表し,オブジェクトインタフェースモジュール17の名
前を“OBJI",並び処理モジュール19の名前を“ARPR"と
すると,FORTRANオブジェクト11からのライブラリの呼び
出しは,次のように行われる。
i)コンパイルオプションOPT(0)の場合 CALL OBJI(制御情報並びパラメタ) CALL OBJI(並びAのパラメタ) …(a) CALL OBJI(並びBのパラメタ) …(b) CALL OBJI(並びCのパラメタ) …(c) CALL OBJI(終了呼び出しパラメタ) ii)コンパイルオプションOPT(2)の場合 CALL OBJI(制御情報並びパラメタ) CALL OBJI(並びAのパラメタ,並びBのパラメタ,並
びCのパラメタ) ……(d) CALL OBJI(終了呼び出しパラメタ) ここで,上記(a)〜(c)の呼び出しと,上記
(d)の呼び出しとを,統一的に処理するために,オブ
ジェクトインタフェースモジュール17では,(d)の呼
び出しのときに,入出力並びパラメタを分解し,次のよ
うに,並び処理モジュール19を呼び出すようにしてい
る。
CALL ARPR(並びAのパラメタ) CALL ARPR(並びBのパラメタ) CALL ARPR(並びCのパラメタ) すなわち,3回呼び出すことになる。
〔発明が解決しようとする課題〕
以上のように,従来方式では,複数個のパラメタを含
む一連の入出力並びパラメタが指定されて,オブジェク
トインタフェースモジュール17が呼び出された場合に,
渡されたパラメタを1つ1つに分解して,並び処理モジ
ュール19を各々呼び出すようにしていた。一般に,1つの
モジュールから他のモジュールを呼び出す場合には,レ
ジスタの退避/復元などのいわゆるプロローグ処理/エ
ピローグ処理が必要となるが,従来方式では,並び1つ
1つの処理で,必ずプロローグ処理/エピローグ処理が
入ることになり,処理性能に影響するという問題があっ
た。
本発明は上記問題点の解決を図り,FORTRANライブラリ
内におけるモジュール間インタフェースの改善により,
処理の高速化を図ることを目的としている。
〔課題を解決するための手段〕
第1図は本発明の構成例を示す。
第1図において,10はCPUおよびメモリなどからなる処
理装置,11はFORTRAN言語で記述されたプログラムをコン
パイルした結果のFORTRANオブジェクト,12はFORTRANオ
ブジェクト11から呼び出されるライブラリモジュール,1
3は入出力文の処理などにおけるライブラリ呼び出し部,
14は制御情報並びパラメタ,15は入出力並びパラメタ,16
は終了呼び出しパラメタ,17はオブジェクトインタフェ
ースモジュール,18は制御情報並びパラメタ14の指定に
よる呼び出しの処理を行う制御情報並び処理モジュー
ル,19は入出力並びの処理を行う並び処理モジュール,20
はライブラリ呼び出しの終了処理を行う終了処理モジュ
ールを表す。
FORTRANオブジェクト11は,READ文やWRITE文などの入
出力文に対し,制御情報並びパラメタ14,入出力並びパ
ラメタ15,終了呼び出しパラメタ16を作成し,ライブラ
リ呼び出し部13によって,制御情報並びパラメタ14で1
回,入出力並びパラメタ15で1回,終了呼び出しパラメ
タ16で1回のライブラリ呼び出しを行う。
ライブラリ呼び出し部13によるライブラリ呼び出しで
は,オブジェクトインタフェースモジュール17に制御が
渡され,オブジェクトインタフェースモジュール17は,
パラメタの種類に応じて,あらかじめ用意された各種の
処理機能を遂行する該当モジュールを呼び出す。
制御情報並びパラメタ14に対しては,制御情報並び処
理モジュール18が呼び出され,制御情報並び処理モジュ
ール18は,入出力処理で必要になる作業用テーブルを作
成する。
入出力並びパラメタ15の指定により,オブジェクトイ
ンタフェースモジュール17が呼び出されると,オブジェ
クトインタフェースモジュール17は,その入出力並びパ
ラメタ15を個々のパラメタに分解することなく,並び処
理モジュール19を呼び出して,入出力並びパラメタ15を
そのまま引き渡す。並び処理モジュール19は,入出力並
びパラメタ15に設定された個々のパラメタを取り出し,
その各々について,オブジェクトインタフェースモジュ
ール17に制御を戻すことなく,連続的に各パラメタの処
理を繰り返す。
並び処理モジュール19の終了通知が,オブジェクトイ
ンタフェースモジュール17を介して,FORTRANオブジェク
ト11に送られると,終了呼び出しパラメタ16により,オ
ブジェクトインタフェースモジュール17が呼び出され,
オブジェクトインタフェースモジュール17は,終了処理
モジュール20を呼び出して,入出力処理の終了処理を行
う。
以上の処理により,1つの入出力文の処理に対する制御
の移行は,第1図に示す〜のようになる。
〔作用〕
FORTRANオブジェクト11の処理,ライブラリモジュー
ル12における制御情報並び処理モジュール18の処理,終
了処理モジュール20の処理等は,従来と同様である。
本発明では,オブジェクトインタフェースモジュール
17が入出力並びパラメタ15の指定により呼び出されたと
きに,入出力並びパラメタ15に何個のパラメタが設定さ
れているかにかかわらず,そのまま並び処理モジュール
19が呼び出されるようになっている。すなわち,従来,
オブジェクトインタフェースモジュール17で入出力並び
パラメタ15のパラメタの分解を行っていたのを,並び処
理モジュール19内で行うようにしている。
そのため,オブジェクトインタフェースモジュール17
と並び処理モジュール19との間で,各パラメタごとの制
御の受け渡しが不要となり,呼び出しのためのプロロー
グ処理/エピローグ処理の回数を削減できるようにな
る。
〔実施例〕
第2図は本発明の適用システムの例,第3図は本発明
の実施例に係る入出力並びパラメタの説明図,第4図は
本発明の実施例に係る並び処理モジュールの処理フロー
を示す。
本発明は,第2図に示すようなFORTRAN言語で記述さ
れたプログラムを処理するシステムに適用される。
第2図において,コンパイラ31は,指定されたFORTRA
Nソースプログラム30を翻訳し,オブジェクトモジュー
ルファイル32にオブジェクトモジュールを出力する。結
合編集処理部34は,オブジェクトモジュールと,FORTRAN
ライブラリ33の必要なモジュールとの結合編集処理を行
い,ロードモジュールを作成して,ロードモジュールフ
ァイル35に格納する。
モードモジュールファイル35から,ロードモジュール
36を読み出して起動することにより,ユーザの要求する
処理が実行されることになる。ロードモジュール36は,F
ORTRANオブジェクト11とライブラリモジュール12とから
なり,入出力文があると,ライブラリモジュール12を介
して,入出力装置37へのアクセスが行われる。本発明
は,このライブラリモジュール12における内部インタフ
ェースに関連している。
例えば,第3図(イ)に示すようなREAD命令の入出力
文40では,「10,ERR=100」が制御情報並びで,入力対
象となる変数A,B,Cが入出力並びである。FORTRANオブジ
ェクト11は,これに対し,第3図(ロ)に示すような入
出力並びパラメタ15を作成して,その先頭アドレスを所
定のレジスタR1に設定し,ライブラリモジュール12中の
オブジェクトインタフェースモジュール17を呼び出す。
入出力並びパラメタ15における41a〜41cは,パラメタ
の終了表示であり,これがOFF(0)のときは,他のパ
ラメタが後続し,これがON(1)のときは,パラメタが
後に続かないことを示す。
オブジェクトインタフェースモジュール17は,渡され
た入出力並びパラメタ15を,そのまま並び処理モジュー
ル19に引き渡し,並び処理モジュール19を呼び出す。
並び処理モジュール19は,第4図に示すような処理
〜を行う。
入出力並びパラメタ15の先頭のパラメタに,作業用
ポインタを位置付ける。
処理するパラメタの長さを求める。なお,長さは,
パラメタ中に設定されている。
1つのパラメタを取り出す。第3図(ロ)に示す例
では,最初にAのパラメタが取り出されることになる。
READマクロまたはWRITEマクロなどの入出力文に応
じたマクロを発行し,入出力処理を実行する。
現在処理したパラメタの終了表示がONであるかどう
かを調べる。ONであれば,並び処理を終了し,呼び出し
元へ制御を戻す。
終了表示がOFFであれば,作業用ポインタを次のパ
ラメタに位置付け,処理へ制御を戻して,同様に処理
を繰り返す。
〔発明の効果〕
以上説明したように,本発明によれば,従来,オブジ
ェクトインタフェースモジュールで行っていたループ
を,並び処理モジュールで行うことにより,呼び出しの
ためのプロローグ処理/エピローグ処理を省略すること
ができるので,処理の高速化が可能になる。このプロロ
ーグ処理/エピローグ処理では,通常1回につき,10数
ステップのダイナミックステップを要するので,入出力
並びの個数が多い場合には,かなりのダイナミックステ
ップの削減が可能になり,効果が大きい。
【図面の簡単な説明】
第1図は本発明の構成例, 第2図は本発明の適用システムの例, 第3図は本発明の実施例に係る入出力並びパラメタの説
明図, 第4図は本発明の実施例に係る並び処理モジュールの処
理フロー, 第5図は従来方式の例を示す。 図中,10は処理装置,11はFORTRANオブジェクト,12はライ
ブラリモジュール,13はライブラリ呼び出し部,14は制御
情報並びパラメタ,15は入出力並びパラメタ,16は終了呼
び出しパラメタ,17はオブジェクトインタフェースモジ
ュール,18は制御情報並び処理モジュール,19は並び処理
モジュール,20は終了処理モジュールを表す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】FORTRANオブジェクトからのライブラリ呼
    び出し時に制御が渡されるオブジェクトインタフェース
    モジュールと,そのオブジェクトインタフェースモジュ
    ールから呼び出されてFORTRANの入出力文で指定された
    入出力並びの処理を行う並び処理モジュールと,入出力
    並び以外の処理を行う処理モジュール群とを有するライ
    ブラリモジュールを備えたデータ処理システムにおい
    て, 上記オブジェクトインタフェースモジュールは,FORTRAN
    オブジェクトから指定されたパラメタが一連の入出力並
    び情報が格納された入出力並びパラメタである場合に,
    上記並び処理モジュールを呼び出して入出力並びパラメ
    タをそのまま引き渡し,それ以外の場合に指定されたパ
    ラメタを解釈して該当する処理モジュールを呼び出す処
    理手段を備え, 上記並び処理モジュールは,引き渡された入出力並びパ
    ラメタを解釈し,その解釈結果から,順次個々のパラメ
    タを取り出して,上記オブジェクトインタフェースモジ
    ュールを介することなく入出力に関する処理をパラメタ
    が終了するまで繰り返す処理手段を備えた ことを特徴とするFORTRAN入出力並び処理方式。
JP1043573A 1989-02-23 1989-02-23 Fortran入出力並び処理方式 Expired - Fee Related JP2601541B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1043573A JP2601541B2 (ja) 1989-02-23 1989-02-23 Fortran入出力並び処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1043573A JP2601541B2 (ja) 1989-02-23 1989-02-23 Fortran入出力並び処理方式

Publications (2)

Publication Number Publication Date
JPH02222038A JPH02222038A (ja) 1990-09-04
JP2601541B2 true JP2601541B2 (ja) 1997-04-16

Family

ID=12667492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1043573A Expired - Fee Related JP2601541B2 (ja) 1989-02-23 1989-02-23 Fortran入出力並び処理方式

Country Status (1)

Country Link
JP (1) JP2601541B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63247830A (ja) * 1987-04-02 1988-10-14 Nec Corp ア−ギユメントリストによるデ−タ渡し方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理、24[5](1983−5.)P.630

Also Published As

Publication number Publication date
JPH02222038A (ja) 1990-09-04

Similar Documents

Publication Publication Date Title
US5586328A (en) Module dependency based incremental compiler and method
US5530870A (en) Arrangement for efficiently transferring program execution between subprograms
JP2666847B2 (ja) 異種言語間連絡方式
US5146594A (en) Method of producing object program based on interprocedural dataflow analysis of a source program
US6101326A (en) Method and apparatus for frame elimination for simple procedures with tail calls
US5134705A (en) System and method for concurrency simulation
JP2601541B2 (ja) Fortran入出力並び処理方式
US5671431A (en) Method for processing user program on a parallel computer system by inserting a tag during compiling
JPH03135630A (ja) 命令スケジューリング方式
JP3309810B2 (ja) プログラムリンクシステム、方法及び記録媒体
Zehendner A module-based assembly language with parallel processing constructs and its implementation in the ASTOR architecture
JP2585780B2 (ja) 入出力ライブラリにおけるdoループ最適化処理方式
JPS6116336A (ja) Fortran入出力制御処理方式
Reiser Bail: a Debugger for Sail
JP3323147B2 (ja) コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体
JPS6020275A (ja) マルチプロセサの簡易プログラミングシステム
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式
JPH01312636A (ja) 推論処理装置
JPH0293947A (ja) 電子計算機
JPH0334029A (ja) 索引入出力の指定方式
Wilson A newcomer's impressions of Scheme
JPS63269230A (ja) Cobolコンパイラにおけるuse手続き処理方法
JPH03271839A (ja) プログラム動作解析方法
Minassian GRASPL-A Graphical state Programming Language For Small Microprocessor Based Systems
JPH0460721A (ja) オブジェクト指向言語処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees