JPH0334029A - 索引入出力の指定方式 - Google Patents

索引入出力の指定方式

Info

Publication number
JPH0334029A
JPH0334029A JP16700889A JP16700889A JPH0334029A JP H0334029 A JPH0334029 A JP H0334029A JP 16700889 A JP16700889 A JP 16700889A JP 16700889 A JP16700889 A JP 16700889A JP H0334029 A JPH0334029 A JP H0334029A
Authority
JP
Japan
Prior art keywords
read
exists
record
key
specifier
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.)
Granted
Application number
JP16700889A
Other languages
English (en)
Other versions
JP2507809B2 (ja
Inventor
Nobuko Imamoto
今本 伸子
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 JP16700889A priority Critical patent/JP2507809B2/ja
Publication of JPH0334029A publication Critical patent/JPH0334029A/ja
Application granted granted Critical
Publication of JP2507809B2 publication Critical patent/JP2507809B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概   要〕 高級言語の入出力処理を行う索引入出力の指定方式に関
し、 ユーザプログラムが簡単であり、かつ多機能とする索引
入出力の指定方式を目的とし、l/コード単位でキーが
設けられたファイルをアクセスして読み出したキーが他
のレコードに存在するか否かの判定を指示する指定子が
、FORTRANの索引READ文中に存在するかを判
別し、前記指定子が存在するときに読み出したキーが他
のレコードに存在するか否かの判定を行うように構成す
る。
〔産業上の利用分野〕
本発明は、FORTRAN等の高級言語を実行するコン
ピュータシステムに係り、さらに詳しくは、高級言語の
入出力処理を行う索引入出力の指定方式に関する。
〔従来の技術〕
近年、コンピュータシステムの多様化に伴い、多機能を
備えた処理プログラムが要求されている。
特に、高級言語において処理がどのように?!雑であっ
ても、その処理をプログラムによって実現できるように
したインタプリタやコンパイラが要求されている。しか
し、FORTRANのインタプリタやコンパイラにおい
ては、複数レコードに同一のキーが存在するようなデー
タは処理することはできなかった。例えば0PEN文に
よってファイルを指定するとともに、キーフィールドや
アクセスを指定してオープンした後、READ文によっ
て指定されたキーを読み取る場合、その読み取ったキー
が他のレコードに存在するか否かを判別することはでき
なかった。
〔発明が解決しようとする課題〕 このため、例えば複数レコードにわたって同一キーが存
在したような場合には、目的の処理を行うことができな
いという問題を有していた。
従来においてはこのような問題を発生しないために、人
力時に他のレコードに同一キーが存在しないようにチエ
ツクしていた。しかしながらこのチエツクは人手による
ものであり、チエツクに多くの時間を有するという問題
があった。
本発明は、ユーザプログラムが簡単であり、かつ多機能
とする索引入出力の指定方式を目的とする。
〔課題を解決するための手段および作用〕FORTRA
N言語においで、READ文中にレコード単位でキーが
設けられたファイルをアクセスして読み出したキーが他
のレコードに存在するか否かの判定を指示する指定子を
設ける。ユーザプログラムを例えばインタプリタで実行
する場合には、前述のレコード単位でキーが設けられた
ファイルをアクセスして読み出したキーが他のレコード
に存在するか否かの判定を指示する指定子がREAD文
中に存在するかを判別し、存在する場合にはその判定を
行いユーザプログラムにその結果を渡す。またコンパイ
ラであるならば、前記指定子が存在するか否かを判別し
、存在するときには読み出したキーが他のレコードに存
在するか否かの判定を行う処理プログラムを発生し、オ
ブジェクトプログラムに加える。このコンパイラによっ
て得られたオブジェクトプログラムには、READ文に
対応した処理を実行して1レコード読み取った後に、続
く1レコードをも読み取って前記1レコードに存在する
キーが前記続くレコードに存在するかを判別する処理が
組み込まれる。前記指定子は例えばC0NTKEY等の
簡単な指定でよく、簡単な指定子によって索引入出力に
おける連続したキーの判別を行うことができる。
〔実  施  例〕
以下、図面を用いて本発明の詳細な説明する。
第1図は本発明の実施例のコンパイラにおけるREAD
文の処理フローチャート、第2図は本発明の実施例のシ
ステム図である。
第2図におけるFORTRANプログラムのREAD文
(READ(10,C0NTKEY=C[lNT、、、
、) )が存在した場合、例えばVSAMのアクセス処
理によって1レコードの入力を行う(SL)。この処理
(S1)はREAD文における1レコードの読み出しの
処理であり、第2図には書かれていないが、例えばキー
変数等への格納はこの処理によってなされる。基本的な
READ文の実行の処理(S1)の後、このREAD文
中C0NTKEY指定子の指定があるか否かを判別する
(S2)。判別(S2)においてC0NTKEY指定子
が存在しない場合(No)にはそのREAD文での実行
を終了(END)する。一方判別(S2)において存在
すると判別した時(YES)には、続くレコードを読み
取り、先に読み取ったキーと同一のキ−が存在するかを
判別する(S3)。本発明の実施例においては、FOR
TRANライブラリ内で一致しているか否かを判別し、
一致している時にはマクロ詳細コードをX゛08″ と
する。よって、処理S3ではマクロ詳細コードがX’0
8’ であるかを判別する。例えばこのマクロ詳細コー
ドはC0NTKEY指定に対する処理プログラムのコー
ドである。
このコードを判別しX″08’ である時(YES)に
は、C0NTKEY指定子に真の値を返却する(S4)
。またX”08゛ でない時にはC○NTKEY指定子
に偽の値を返却する(S5)。
そしてRE AD文における処理を終了する。前述の実
施例においてはコンパイラで説明したが、これに限るも
のではなく、インタプリタにおいても同様である。
また、第1の実施例においてはコンパイラで説明したが
これに限るものではない。例えば第2図に示すように、
FORTRANプログラムをコンパイルし、オブジェク
トをプログラムを作成した時点において、あらかじめコ
ンパイル時にREAD文に存在するC0NTKEY指定
子を判別し、C0NTKEY指定子が存在するならばオ
ブジェクトプログラム中にC0NTKEY指定子に対応
する処理を挿入するか、或いはFORTRANライブラ
リ中のC0NTKEY指定子に対する処理と結合する。
なお、この結合とは、オブジェクトプログラムとFOR
TRANライブラリ中のC0NTKEY指定子とのリン
クである。
第3図は本発明の実施例のプログラム例図、第4図は本
発明の実施例のフローチャートである。
あらかじめキャラクタ(CHARACTER)でBKE
YIが2文字のデータ、AKEYlが4文字のデータ、
DATAIが10文字のデータであり、さらにロジカル
LOGICALによって4桁であると指定する。そして
ファイル名がA、DATAなるファイルをOPEN文(
OPEN(10,FILE=’ A、DATA’ 、 
KEYFIELD= (1:2.3:6) 、 ACC
ESS=’ KEYFD’ ) )によってオープンし
、アクセス可能とする(S7)なおOPEN文中のKE
YF I ELDは各1レコード内でのキーフィールド
を指示しており、ACCESSによってそのアクセスの
種類を指定している。このOPEN文によってファイル
がオープンできているので、続いてREAD文(REA
D(10゜FMT=’ (2A、4A、A) ’ 、 
KEY=’ C00O’ 、 KEYID=2.C0N
TKEY=CONT)BKEYI、AKEYI、DAT
AI)を実行する(S8)。
この実行においてはC0NTKEY指定子によって結果
をC0NTに格納するよう指示しであるので、このRE
AD文を実行したときには、次のレコードをも読み、同
一のキーが存在した時には変数C0NTKEYに真の値
を、存在していない時には偽の値を加え処理を終了する
ユーザプログラムにおいては同一であった場合とない場
合とでその処理を変更しなくてはならないので、続いて
IF文(IF THEN ELSE)によって変数C0
NTがTRUE (真)あるかを判別する(S9)、T
RUEであった場合(YES)にはGOTO100文に
よって文番号100にジャンプし、TRUEでなかった
場合(No)にはGOTO200によって文番号200
にジャンプする。
第3図においては、100番地、200番地はともにC
0NT I NUE文であるが、このCoNTINUE
文には図示しないがそれぞれに対応する処理がプログラ
ムしである。
前述した動作によって例えば第5図のデータ構成を読み
出した場合、レコード(3)からレコード(5)間のキ
ーがC001と同一であり、第3図におけるREAD文
で実行した場合、レコード(3)をREAD文によって
読み取った時に真(TRUE)となり、100番地から
の実行となる。
第3図、第4図においてはユーザプログラムにおける処
理を説明したが、本発明の実施例ではインタプリタなら
ばREAD文中のC0NTKEYが存在するかを判別し
存在した時に続くレコードを読み取るとともに同一キー
が存在するかを判別するものである。またコンパイラで
あるならば、コンパイル時にのみREAD文中にC0N
TKEY指定子が存在するかを判別し、存在する時のみ
、続く1レコードを読みC0NTKEY指定に対する処
理プログラムいわゆる読み出したキーが一致しているか
否かのの判別を行う処理をオブジェクトプログラムに挿
入するものである。そしてコンパイラによって得られた
オブジェクトプログラム中では1個のREA、D文に対
応した入出力におけるファイルの1レコードの読み出し
処理と続くレコードの第2番目の読み出し処理、さらに
読み出したキーの判別処理が挿入される。
以上本発明の実施例をインタプリタ並びにコンパイラに
ついて説明したが、これに限らず同一キーが存在する場
合、特定の指定子によって続くレコードも読み取りその
読み取ったレコードと前に読み取ったレコード内のキー
を比較するものであればこれに限るものではない。
〔発明の効果] 以上述べたように、本発明によれば、簡単なキー指定に
よって複雑な処理を行うことができ、プログラムの開発
が簡単化する。さらにプログラムが簡単化するので、作
成の時間、さらにはデバッグの時間をも短縮することが
できる。
【図面の簡単な説明】
第1図は本発明の実施例の処理フローチャート、第2図
は本発明の実施例のシステム図、第3図は本発明の実施
例のプログラム例図、第4図は本発明の実施例のフロー
チャート、第5図はデータ構成図である。

Claims (1)

  1. 【特許請求の範囲】 1)レコード単位でキーが設けられたファイルをアクセ
    スして読み出したキーが他のレコードに存在するか否か
    の判定を指示する指定子が、FORTRANの索引RE
    AD文中に存在するかを判別し、前記指定子が存在する
    ときに読み出したキーが他のレコードに存在するか否か
    の判定を行うことを特徴とする索引入出力の指定方式。 2)レコード単位でキーが設けられたファイルをアクセ
    スして読み出したキーが他のレコードに存在するか否か
    の判定を指示する指定子が、FORTRANの索引RE
    AD文中に存在するかを判別し、前記指定子が存在する
    ときに読み出したキーが他のレコードに存在するか否か
    の判定を行う処理を発生することを特徴とする索引入出
    力の指定方式。 3)READ文中に対応した処理を実行して1レコード
    読み取ったときに、続く1レコードをも読み取って前記
    1レコードに存在するキーが前記続く1レコードに存在
    するかを判別することを特徴とする索引入出力の指定方
    式。
JP16700889A 1989-06-30 1989-06-30 索引入出力の指定方式 Expired - Fee Related JP2507809B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16700889A JP2507809B2 (ja) 1989-06-30 1989-06-30 索引入出力の指定方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16700889A JP2507809B2 (ja) 1989-06-30 1989-06-30 索引入出力の指定方式

Publications (2)

Publication Number Publication Date
JPH0334029A true JPH0334029A (ja) 1991-02-14
JP2507809B2 JP2507809B2 (ja) 1996-06-19

Family

ID=15841671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16700889A Expired - Fee Related JP2507809B2 (ja) 1989-06-30 1989-06-30 索引入出力の指定方式

Country Status (1)

Country Link
JP (1) JP2507809B2 (ja)

Also Published As

Publication number Publication date
JP2507809B2 (ja) 1996-06-19

Similar Documents

Publication Publication Date Title
US5146593A (en) Procedure call interface
CA1159151A (en) Cellular network processors
US6138273A (en) Programmable interpretive virtual machine
EP0537309A1 (en) System and method for preserving source instruction atomicity in translated program code
JPH01306923A (ja) 異種言語間連絡方式
US5692196A (en) System and method for conditionally compiling a software compilation unit
US5581769A (en) Multipurpose program object linkage protocol for upward compatibility among different compilers
US6735774B1 (en) Method and apparatus for system call management
US5519860A (en) Central processor index sort followed by direct record sort and write by an intelligent control unit
JPH0334029A (ja) 索引入出力の指定方式
Mossin Partial evaluation of general parsers
US5671431A (en) Method for processing user program on a parallel computer system by inserting a tag during compiling
US7356809B1 (en) Programmable interpretive virtual machine
JPS59123936A (ja) 移動制御方式
JPS5846439A (ja) 計算機のプログラム編集方法
JP3428253B2 (ja) シーケンサ
JP2507676B2 (ja) 索引入出力文実行処理方式
JP2601541B2 (ja) Fortran入出力並び処理方式
WO1997007452A1 (en) Programmable compiler
JPS63269229A (ja) 文字列操作系命令コンパイル処理方式
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JPS6365530A (ja) コ−ド最適化方式
JPH02231638A (ja) オブジエクト指向データベース管理システムにおけるメツセージ処理方法
Montuelle CUFOM: the CERN Universal Format for Object Modules
JPH04102125A (ja) アセンブラのシンボル処理方式

Legal Events

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