JPS60179847A - 実配列および仮配列間の整合性チエツク方式 - Google Patents

実配列および仮配列間の整合性チエツク方式

Info

Publication number
JPS60179847A
JPS60179847A JP59035800A JP3580084A JPS60179847A JP S60179847 A JPS60179847 A JP S60179847A JP 59035800 A JP59035800 A JP 59035800A JP 3580084 A JP3580084 A JP 3580084A JP S60179847 A JPS60179847 A JP S60179847A
Authority
JP
Japan
Prior art keywords
array
size
subprogram
actual
real
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
JP59035800A
Other languages
English (en)
Other versions
JPH0377541B2 (ja
Inventor
Akio Shibazaki
柴崎 彰夫
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 JP59035800A priority Critical patent/JPS60179847A/ja
Publication of JPS60179847A publication Critical patent/JPS60179847A/ja
Publication of JPH0377541B2 publication Critical patent/JPH0377541B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、プログラム処理におけるエラー検出方式に関
し、特にFORTRANプログラム等のプログラム処理
において、サブルーチンの呼び出しが行われた場合に、
サブルーチン側のデータの仮配列の大きさと実引数で渡
されたデータの配列の大きさとの間の整合性をチェック
する方式に関する。
〔技術の背景〕
たとえば、主副構造のFORTRANプログラムでは2
本体の主プログラムから副プログラムのサブルーチンを
呼び出しくCALL)したり、関数を引用したりする場
合、副プログラムの仮引数に対してプログラム実行段階
で主プログラムから実引数の配列が引き渡され、副プロ
グラムの処理が行われる。
ところで従来のコンパイラは、主プログラムも副プログ
ラムも連係させずに別々にコンパイルするようになって
おり、主副相互間の配列不整合はチェックしていない。
このため、副プログラムの仮配列の大きさが不定のもの
であった場合に、副プログラムが、少なくとも主プログ
ラムから引き渡された実配列の大きさを超える処理を行
うものであったとしてもこれを知ることができず、プロ
グラム実行の結果、許容されていない他の領域を破壊し
てしまうことがあった。
第1図は、このようなプログラム処理の1例を示したも
のである。図中、1は主プログラム、2はサブルーチン
副プログラム、3は実引数テーブル、4は仮引数テーブ
ルを示す。
実引数テーブル3および仮引数テーブル4は。
それぞれ主プログラム1およびサブルーチン副プログラ
ム2のソースをコンパイルする際に、オブジェクトと一
緒に作成されるものであり、対応するプログラムの引数
の属性を示している。
実引数テーブル3の内容は図示のように、■配列名:A
、■1要素の長さ: 4 Bytes、■配列の大きさ
: 20 Bytes、■1次元の下限;1.■1次元
の上限:5となり、第2図に斜線部分で示すように、実
行時に定まる■の配列の先頭番地から20 Bytes
の領域が、配列Aの領域となる。
これに対して仮引数テーブル4では、■配列名:Bとな
るが、■の項目は使用されず、■配列の大きさ:不定、
■1次元の下限:1.■1次元の上限:不定、となる。
このため、サブルーチン副プログラム2のB (10)
=Cが実行されると。
第2図に示すように、主プログラム1から渡された実配
列の領域外にC″を書き込むことになり。
許容されていない他の領域を破壊することになる。
しかも、このような他の領域の破壊は実行段階で直ちに
知ることができないため、システムの信頼性において問
題があった。
〔発明の目的および構成〕
本発明の目的は、主、側構造のプログラムの処理におい
て、大きさ不定の仮配列をもつ副プログラムが主プログ
ラムから渡された実配列の大きさを超えた処理を行った
とき、これをエラーとして直ちに検出できるようにする
ことにあり、そのための構成として、実引数をもつ主プ
ログラムと該主プログラムによって呼ばれる仮引数をも
つ副プログラムとからなり、前記実引数および仮引数の
それぞれの属性を示すテーブル手段をそなえたプログラ
ム処理システムにおいて、前記テーブル手段は少なくと
も実引数についての実配列の大きさを表すデータと仮引
数についての仮配列が大きさ不定であるか否かの表示と
を含み、前記副プログラムの実行に際して前記テーブル
手段より当該副プログラムの仮配列が大きさ不定である
か否かの表示を読み出し、大きさ不定である場合にさら
に主プログラムから引き渡された実引数の実配列の大き
さを読み出すとともに、副プログラムで使用している配
列の大きさを計算し、これら双方の大きさを比較して、
副プログラムで使用している配列の大きさが実施列の大
きさを超えている場合にエラー表示を行うことを特徴と
するものである。
〔発明の実施例〕
以下に2本発明の詳細を実施例にしたがって説明する。
第3図は9本発明の1実施例によるデータ処理装置の構
成図である。図中、5はデータ処理装置。
6はプログラム処理部、7はメモリ、8は主プログラム
、9はサブルーチン副プログラム、10は実引数テーブ
ル、11は仮引数テーブル、12はデパック情報である
。また■乃至■は制御ステップを表している。
本実施例の主プログラム8.サブルーチン副プログラム
9.実引数テーブル10は、それぞれ第1図に示した従
来例の主プログラム1.サブルーチン副プログラム2.
実引数テーブル3と同じものとして示されている。しか
し1本実施例の仮引数テーブル11には、第1図の仮引
数テーブル4で使用されていなかった“■1要素の長さ
”の項目の代わりには、デパック情報12の項目が設け
られ、仮配列が大きさ不定である場合に、コンパイル処
理時にその表示が設定されるようになっている。
動作において、プログラム処理部6は、主プログラム8
がサブルーチン副プログラム9を呼び出したとき、まず
ステップ■で仮引数テーブル11を参照し、そのデパッ
ク情@12から、仮配列の大きさが不定であるか否かを
識別する。仮配列の大きさが不定である場合には、ステ
ップ■で実引数テーブル10中の“配列の大きさ”の値
AI(20Bytes)を仮引数テーブル11の“配列
の大きさ”の値として取り込み2次にステップ■でサブ
ルーチン副プログラム9を実行する。その際配列を使用
する命令を実行するごとにその配列要素の位置A2を計
算し、ステップ■でその値A2が仮引数テーブル11中
の“配列の大きさ′の値A+ (20Bytes)の内
にあるか否かを判定する。
図示のB (10)=Cの例でば、A2が4oByte
sとなるため、 A + < A zとなる。このよう
なA1<A2の場合には他領域破壊のおそれがあるため
ステップ■でエラーメツセージを出力し、使用者に通知
する。
使用者は、このエラーメソセージによりサブルーチン副
プログラムの配列の大きさの不整合を知り、その適切な
対応をとるときに、破壊が生じた場合の他領域の復元を
行うことができる。
〔発明の効果〕
以上のように1本発明によれば、使用者は実引数と仮引
数との間で不整合が生じた場合を確実にチェックできる
ので、信頼性を向上できるとともに、エラー処理が容易
となる。
【図面の簡単な説明】
第1図は大きさ不定の仮配列が実配列の大きさを超える
プログラム処理例の説明図、第2図は第1図のプログラ
ム処理例における配列の説明図。 第3図は本発明の1実施例データ処理装置の構成図であ
る。。 図中、1および8は主プログラム、2および9はサブル
ーチン副プログラム、3および10は実引数テーブル、
4および11は仮引数テーブル。 5はデータ処理装置、6はプログラム処理部、7はメモ
リ、12はデパック情報を示す。 特許出願人 冨士通株式会社

Claims (1)

  1. 【特許請求の範囲】 実引数をもつ主プログラムと該主プログラムによって呼
    ばれる仮引数をもつ副プログラムとからなり、前記実引
    数および仮引数のそれぞれの属性を示すテーブル手段を
    そなえたプログラム処理システムにおいて、前記テーブ
    ル手段は少なくとも実引数についての実配列の大きさを
    表すデータと仮引数についての仮配列が大きさ不定であ
    るか否かの表示とを含み、前記副プログラムの実行に際
    して前記テーブル手段より当該副プログラムの仮配列が
    大きさ不定であるか否かの表示を読み出し。 大きさ不定である場合にさらに主プログラムから引き渡
    された実引数の実配列の大きさを読み出すとともに、副
    プログラムで使用している配列の大きさを計算し、これ
    ら双方の大きさを比較して。 副プログラムで使用している配列の大きさが実配列の大
    きさを超えている場合にエラー表示を行うことを特徴と
    する実配列および仮配列間の整合性チェック方式。
JP59035800A 1984-02-27 1984-02-27 実配列および仮配列間の整合性チエツク方式 Granted JPS60179847A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59035800A JPS60179847A (ja) 1984-02-27 1984-02-27 実配列および仮配列間の整合性チエツク方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59035800A JPS60179847A (ja) 1984-02-27 1984-02-27 実配列および仮配列間の整合性チエツク方式

Publications (2)

Publication Number Publication Date
JPS60179847A true JPS60179847A (ja) 1985-09-13
JPH0377541B2 JPH0377541B2 (ja) 1991-12-10

Family

ID=12451991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59035800A Granted JPS60179847A (ja) 1984-02-27 1984-02-27 実配列および仮配列間の整合性チエツク方式

Country Status (1)

Country Link
JP (1) JPS60179847A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62224824A (ja) * 1986-03-26 1987-10-02 Hitachi Ltd リンケ−ジコンベンシヨン方法
JPS63147232A (ja) * 1986-12-10 1988-06-20 Nec Corp 整合性検査方式
JP2008145135A (ja) * 2006-12-06 2008-06-26 Shimadzu Corp 粒度分布測定装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113149A (en) * 1980-12-29 1982-07-14 Fujitsu Ltd Interprogram control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113149A (en) * 1980-12-29 1982-07-14 Fujitsu Ltd Interprogram control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62224824A (ja) * 1986-03-26 1987-10-02 Hitachi Ltd リンケ−ジコンベンシヨン方法
JPS63147232A (ja) * 1986-12-10 1988-06-20 Nec Corp 整合性検査方式
JP2008145135A (ja) * 2006-12-06 2008-06-26 Shimadzu Corp 粒度分布測定装置

Also Published As

Publication number Publication date
JPH0377541B2 (ja) 1991-12-10

Similar Documents

Publication Publication Date Title
JPS63278145A (ja) パラメ−タ対応検査方式
JPS60179847A (ja) 実配列および仮配列間の整合性チエツク方式
JPH0736734A (ja) アーギュメント値のチェック方法
JP2924392B2 (ja) マイクロコンピュータシステム
JPH01177165A (ja) 配列の定義/引用関係検査方式
JP2590083B2 (ja) ソース・プログラム翻訳処理方法
JP2686801B2 (ja) マイクロコンピュータのプログラム開発ツール
JPS6051135B2 (ja) パリテイビツト付加による命令語の検定方式
JPH03294934A (ja) 高級プログラム言語用デバッガ
JPH0244432A (ja) 電子計算機制御方式
JPS6373437A (ja) パリテイ回路検査方式
JPH0355633A (ja) モジュール間インタフェイス検査装置
JPS60167043A (ja) 情報処理装置
JPH04148432A (ja) 情報処理装置
JPS63193235A (ja) 条件コ−ド検査方法
JPH046019B2 (ja)
JPH0314148A (ja) プログラム破壊検出装置
JPH03235135A (ja) プログラムの自動検査方式
JPH03100837A (ja) 共有データアクセス検出方式
JPS60110045A (ja) 自動トレ−スダンプ方法
JPH03263134A (ja) データ処理装置のテスト処理方式
JPS6250937A (ja) 情報処理装置の試験方式
JPH01320547A (ja) プログラム実行情報の収集方式
JPS62208136A (ja) シ−ケンシヤル・コントロ−ル回路試験方式
JPS63228237A (ja) プログラムデバツグ方式

Legal Events

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