JPH0651995A - 実行サブルーチン名の認識方法 - Google Patents

実行サブルーチン名の認識方法

Info

Publication number
JPH0651995A
JPH0651995A JP4204724A JP20472492A JPH0651995A JP H0651995 A JPH0651995 A JP H0651995A JP 4204724 A JP4204724 A JP 4204724A JP 20472492 A JP20472492 A JP 20472492A JP H0651995 A JPH0651995 A JP H0651995A
Authority
JP
Japan
Prior art keywords
subroutine
name
program
stored
microprogram
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
JP4204724A
Other languages
English (en)
Inventor
Yasukazu Kubota
安一 窪田
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP4204724A priority Critical patent/JPH0651995A/ja
Publication of JPH0651995A publication Critical patent/JPH0651995A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】実行中のサブルーチン名を常に外部から参照さ
れる名称と同一名称で表示でき、且つプログラマの負担
を軽減できる実行サブルーラン名の認識方法を提供す
る。 【構成】ソースプログラムをコンパイルする時に、各サ
ブルーチンが外部から参照される名称と同一の名称を各
々のサブルーチン名として各サブルーチンのデータ部の
特定のアドレスに格納するとともに、各サブルーチンの
コード部に、前記特定のアドレスをパラメータとして関
連付けた特定の予約語により表示命令を記述したマイク
ロプログラムを格納してオブジェクトプログラムを作成
し、サブルーチンの実行時に、前記予約語による表示命
令により前記特定のアドレスからサブルーチン名を読み
出すとともに、実行中のサブルーチン名として表示す
る。従って、プログラマによる人為的なサブルーチン名
の記述ではないので、サブルーチン名は常に外部参照す
る名称と一致し、プログラマの負担を軽減できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、アプリケーションプロ
グラムの機能モジュール単位であるサブルーチンにおけ
る実行中のもののサーブルーチン名を認識する方法に関
するものである。
【0002】
【従来の技術】図8は一般的なアプリケーションプログ
ラムの構造を示したもので、メインプログラムのコード
部(1)、サブルーチンA,B,…の各コード部
(2),(3),…、メインプログラムのデータ部(1
0)、サブルーチンA,B,…の各データ部(20),
(30),… 等により構成されている。このようなア
プリケーションプログラムにおいて、実行中のサブルー
チン名を表示する場合、例えば図9のように行なわれ
る。尚、図9において図8と同等のものには同一の符号
を付してある。先ず、メインプログラムのコード部
(1)のcall“A”(1A)を実行してサブルーチ
ンAが呼び出されると、サブルーチンAのコード部
(2)の先頭に記述された表示命令(2A)によりサブ
ルーチンAのデータ部(20)にプログラマにより任意
に書かれたサブルーチン名(20A)を表示する。即
ち、各サブルーチンの各々のコード部(2),(3),
…の各先頭に記述されたサブルーチン名表示命令により
実行中のサブルーチン名を表示して認識するようになっ
ている。
【0003】
【発明が解決しようとする課題】然し乍ら、各サブルー
チンの各々のデータ部の先頭に存在するサブルーチン名
はプログラマによって任意に記述されたものであるた
め、プログラマの記述間違いやサブルーチン名の変更等
に起因して、そのサブルーチンが外部から参照されるサ
ブルーチン名と必ずしも一致しないことが生じ、実行中
のサブルーチン名を正確に認識できない問題がある。ま
た、そのサブルーチン名が一致しないことを検出するの
は専ら人為的に行なわなければならないので、プログラ
マ等の負担が大きい。
【0004】そこで本発明は、実行中のサブルーチン名
を常に外部から参照される名称と同一名称で表示でき、
且つプログラマの負担を軽減できる実行サブルーチン名
の認識方法を提供することを技術的課題とするものであ
る。
【0005】
【課題を解決するための手段】本発明は、上記した課題
を達成するための技術的手段として、実行サブルーチン
名を次のような手段で認識するようにした。即ち、ソー
スプログラムをコンパイルする時に、各サブルーチンが
外部から参照される時の名称と同一の名称を各々のサブ
ルーチン名として各サブルーチンのデータ部の特定のア
ドレスに格納するとともに、各サブルーチンのコード部
に、前記特定のアドレスをパラメータとして関連付けた
特定の予約語により表示命令を記述したマイクロプログ
ラムを格納してオブジェクトプログラムを作成し、サブ
ルーチンの実行時に、前記特定の予約語による表示命令
により前記特定のアドレスからサブルーチン名を読み出
すとともに、実行中のサブルーチン名として表示するよ
うにしたことを特徴としている。
【0006】
【作用】各サブルーチンのソースプログラムをコンパイ
ルする時に、各サブルーチンが外部から参照される時の
名称と同一の名称を各々のサブルーチン名として各サブ
ルーチンのデータ部の特定のアドレスに格納するので、
プログラマによる人為的なサブルーチン名の記述と異な
り、格納されたサプルーチン名は常に外部参照される名
称と同一である。また、各サブルーチンのコード部に、
前記特定のアドレスをパラメータとして関連付けた特定
の予約語により表示命令を記述したマイクロプログラム
を格納しているので、各サブルーチンの実行中に特定の
アドレスから読み出された実行中サブルーチン名が必ず
表示される。
【0007】
【実施例】以下、本発明の好適な一実施例について図面
を参照しながら詳述する。図1は本発明の一実施例のハ
ードウェアのブロック構成図を示し、装置全体を制御す
る中央処理装置(4)と、内部記憶装置としてのRAM
(9)と、キーボード制御装置(6)を通じてキー入力
データを中央処理装置(4)に対し入力する入力手段と
してのキーボード(5)と、ディスク制御装置(12)
を通じ中央処理装置(4)に対しデータの送受が行なわ
れる外部記憶装置としてのディスク装置(11)とによ
り構成されている。
【0008】図2はプログラム生成の機能ブロック図を
示し、ディスク装置(11)に格納されているコンパイ
ラ(16)がディスク制御装置(12)および中央処理
装置(4)を通じてRAM(9)にロードされた後に、
メインプログラムのソースプログラム(13)、サブル
ーチンAおよびサブルーチンBの各々のソースプログラ
ム(14),(15)も、それぞれディスク制御装置
(12)および中央処理装置(4)を通じてRAM
(9)にロードされて解析されるとともに中央処理装置
(4)によりコンパイル処理される。この処理により生
成されたそれぞれ再配置可能なメインプログラムのオブ
ジェクトプログラム(17),サブルーチンAおよびサ
ブルーチンBの各オブジェクトプログラム(18),
(19)がディスク装置(11)に格納される。次に、
ディスク装置(11)に格納されているリンケージエデ
ィタ(22)がRAM(9)にロードされた後に、各々
再配置可能なメインプログラムのオブジェクトプログラ
ム(17),サブルーチンAおよびサブルーチンBの各
オブジェクトプログラム(18),(19)、表示命令
等の処理に関するランタイムライブラリ(21)がそれ
ぞれRAM(9)にロードされて解析され、中央処理装
置(4)によりリンケージ処理され、この処理により生
成された実行可能なオブジェクトプログラム(23)が
ディスク装置(11)に格納される。この実行可能なオ
ブジェクトプログラム(23)がRAM(9)にロード
されて中央処理装置(4)により実行されることにより
表示装置(7)に実行中のサブルーチン名を表示して認
識できるようになっている。
【0009】次に、各サブルーチンのソースプログラム
(14),(15)がコンパイルされて再配置可能なプ
ロジェクトプログラム(18),(19)が生成される
手順を、それぞれCOBOL言語で例示しながら以下に
説明する。この時、サブルーチン名が格納される特定の
アドレスを「0」とし、サブルーチン名を示す特定の予
約語を「P−ID」として説明する。図3はCOBOL
言語で示したサブルーチンのソースプログラム(14)
または(15)であり、(P1)はこのサブルーチン名
が「ABC」であることを示すサブルーチン名の定義、
(P2)はデータ部の定義、(P3)はコード部の定
義、(P4)はサブルーチン名を示す特定の予約語であ
る「P−ID」によって表示装置(7)の座標(1,
1)にサブルーチン名を表示することを示す表示命令を
それぞれ示す。
【0010】このソースプログラムをコンパイルして得
られた再配置可能なオブジェクトプログラム(18),
(19)の構造を図4に示す。同図において、(P6)
は図3のコード部の定義(P)以降に対応するコード部
のマイクロプログラム、(P7)は図3のデータ部の定
義(P2)からコード部の定義(P3)の直前までに対
応するデータ部のマイクロプログラム、(P10)は外
部参照するシンボルのテーブル部、(P8)はコード部
のマイクロプログラム(P6)の中で外部参照している
シンボルのシンボルテーブル部(P10)における位置
を示す再配置情報、(P9)はデータ部のマイクロプロ
グラム(P7)の中で外部参照しているシンボルのシン
ボルテーブル部(P10)における位置を示す再配置情
報、(P5)は前述の(P6)〜(P10)の各々の大
きさを示す情報が格納されているヘッダー部をそれぞれ
示す。また、コード部のマイクロプログラム(P6)内
には、後述の図7のフロチャートに基づいて図3の表示
命令(P4)がコンパイルされたマイクロプログラム
(P61)を有しており、このマイクロプログラム化さ
れる時に、このマイクロプログラム(P61)が処理さ
れるランタイムライブラリのシンボル(P102)がシ
ンボルテーブル部(P10)内に格納されるとともに、
その位置を示す情報(P81)が再配置情報(P8)に
格納される。更に、データ部のマイクロプログラム(P
7)内には、後述する図6のフローチャートに基づいて
図3のサブルーチン名の定義(P1)がコンパイルされ
たマイクロプログラム(P71)を有しており、そのマ
イクロプログラム化の時にシンボルテーブル部(P1
0)内に広域属性を示すシンボル(P101)が作成さ
れる。
【0011】図5は図3の表示命令の定義(P4)がコ
ンパイルされた図4のマイクロプログラム(P61)の
具体的なマイクロプログラムを例示したものであり、第
1のプログラム部(P11)においてランタイムサブル
ーチンに渡される制御用ブロックのアドレスがパラメー
タ(引数)として設定される。第のプログラム部(P1
2)はランタイムサブルーチンへのcallである。第
3のプログラム部(P13)は制御用ブロックの要素で
あって表示すべきデータのデータ部のアドレスが設定さ
れている。この場合、表示すべきデータは実行中のサブ
ルーメン名であるので、前述のようにサブルーチン名が
格納される特定のアドレスである「0」が設定されてい
る。第4のプログラム部(P14)も制御用ブロックの
要素であって表示装置(7)の座標が設定されている。
この実施例では(1,1)が設定されている。
【0012】次に、図6を参照しながら図3のコード部
の定義(P3)の直前までに対応する部分をコンパイル
してデータ部を生成する処理について説明する。先ず、
COBOL言語のプログラム名であってサブルーチン名
を示すPROGRAM−ID句が存在するか否かを判別
し(ステップS1)、存在しない場合には既存の処理を
行なった(ステップS2)後に、同様の動作を繰り返
し、存在する場合には、図3のサブルーチン名の定義
(P1)からサブルーチン名を得(ステップS3)、こ
のサブルーチン名をシンボルテーブル部(P10)に広
域属性を示すシンボル(P101)として格納する。
【0013】上述の動作は既存のコンパイルの手順と同
様であり、本発明では、データ部のマイクロプログラム
(7)の特定のアドレスである「0」に、図3のサブル
ーチン名の定義(P1)をコンパイルしたマイクロプロ
グラム(P71)が格納される。そして、終了であると
判別される(ステップS6)まで同様の動作を繰り返
す。ここで、COBOL言語においてはデータ定義より
もPROGRAM−ID句が先に記述されるため、特定
のアドレスとして「0」にサブルーチン名を格納するこ
とは何ら支障とならない。
【0014】次に、図7を参照しながら図3のコード部
の定義(P3)以降に対応する部分をコンパイルしてコ
ード部を生成する処理について説明する。まず、命令語
を得る(ステップS7)と、この命令語に対するシンボ
ル(P102)と再配置情報(P81)とをセットす
る。即ち、図5に示したマイクロプログラムを図4のコ
ード部のマイクロプログラム(P6)内に格納するとと
もに、この命令語に対するシンボル(P102)がシン
ボルテーブル(P10)の何番目であるかの位置情報を
再配置情報(P8)内に位置を示す情報(P81)とし
て格納される。
【0015】そして、一意名を得た(ステップS9)後
に、この一意名が特定の予約語である「P−ID」であ
るか否かの判別(ステップS10)が行なわれ、「P−
ID」で無い場合には既存の処理を行なった(ステップ
S11)後に、マイクロプログラムをコード部に格納し
(ステップS12)、終了であると判別され(ステップ
S13)までステップS7にジャンプして同様の動作を
繰り返す。
【0016】一方、「P−ID」であると判別される
と、パラメータを特定のアドレスとしてマイクロプログ
ラムに設定する(ステップS14)。即ち、図5におけ
る第3のプログラム部(P13)に設定されている表示
すべきデータのデータ部のアドレス、つまり表示すべき
データである実行中のサブルーメン名が格納される特定
のアドレスである「0」をバラメータとしてマイクロプ
ログラム(P61)を設定する。その後に、前記マイク
ロプログラム(P61)をコード部のマイクロプログラ
ム(P6)内に格納する。
【0017】このように、ソースプログラムをコンパイ
ルする時に、各サブルーチンが外部から参照される時の
名称と同一の名称を各々のサブルーチン名として各サブ
ルーチンのデータ部の特定のアドレスに格納するととも
に、各サブルーチンのコード部に、前記特定のアドレス
をパラメータとして関連付けた特定の予約語により表示
命令を記述したマイクロプログラムを格納してオブジェ
クとプログラムを作成するようにしたので、実行中のサ
ブルーチン名を、アプリケーションプログラム自体で正
確に認識して表示することができる。
【0018】
【発明の効果】以上のように本発明の実行サブルーチン
名の認識方法によると、ソースプログラムをコンパイル
する時に、各サブルーチンが外部から参照される時の名
称と同一の名称を各々のサブルーチン名として各サブル
ーチンのデータ部の特定のアドレスに格納するととも
に、各サブルーチンのコード部に、前記特定のアドレス
をパラメータとして関連付けた特定の予約語により表示
命令を記述したマイクロプログラムを格納してオブジェ
クトプログラムを作成し、サブルーチンの実行時に、前
記特定の予約語による表示命令により前記特定のアドレ
スからサブルーチン名を読み出すとともに、実行中のサ
ブルーチン名として表示するようにしたので、各サブル
ーチンが外部から参照される時の名称と同一の名称を各
々のサブルーチン名として各サブルーチンのデータ部の
特定のアドレスに格納するため、プログラマによる人為
的なサブルーチン名の記述と異なり、格納されたサプル
ーチン名は常に外部参照される名称と正確に同一であ
る。また、各サブルーチンの実行中に特定の予約語によ
る表示命令により特定のアドレスから読み出された実行
中サブルーチン名が必ず表示され、実行中のサブルーチ
ン名を、アプリケーションプログラム自体で正確に認識
することができる。従って、プログラマの負担を格段に
軽減できるとともに、デバッグの向上を図ることができ
る。
【図面の簡単な説明】
【図1】本発明の一実施例のハードウェアのブロック構
成図である。
【図2】同上、プログラム生成時の機能ブロック図であ
る。
【図3】同上、サブルーチンのCOBOL言語で表した
ソースプログラムを示す図である。
【図4】同上、ソースプーグラムをコンパイルした再配
置可能なオブジェクトプログラムの構造を示す図であ
る。
【図5】同上、図4の一部の具体的なマイクロプログラ
ムを示す図である。
【図6】同上、データ部の生成処理のフローチャートで
ある。
【図7】同上、コード部の生成処理のフローチャートで
ある。
【図8】一般的なアプリケーションプログラムの構造を
示す図である。
【図9】従来のサブルーチン名を表示するためのアプリ
ケーションプログラムの構造を示す図である。
【符号の説明】
14,15 サプルーチンのソースプログラム 18,19 再配置可能なサブルーチンのオブジェクト
プログラム P6 コード部のマイクロプログラム P7 データ部のマイクロプログラム

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムをコンパイルする時
    に、各サブルーチンが外部から参照される時の名称と同
    一の名称を各々のサブルーチン名として各サブルーチン
    のデータ部の特定のアドレスに格納するとともに、各サ
    ブルーチンのコード部に、前記特定のアドレスをパラメ
    ータとして関連付けた特定の予約語により表示命令を記
    述したマイクロプログラムを格納してオブジェクトプロ
    グラムを作成し、サブルーチンの実行時に、前記特定の
    予約語による表示命令により前記特定のアドレスからサ
    ブルーチン名を読み出すとともに、実行中のサブルーチ
    ン名として表示するようにしたことを特徴とする実行サ
    ブルーチン名の認識方法
JP4204724A 1992-07-31 1992-07-31 実行サブルーチン名の認識方法 Pending JPH0651995A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4204724A JPH0651995A (ja) 1992-07-31 1992-07-31 実行サブルーチン名の認識方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4204724A JPH0651995A (ja) 1992-07-31 1992-07-31 実行サブルーチン名の認識方法

Publications (1)

Publication Number Publication Date
JPH0651995A true JPH0651995A (ja) 1994-02-25

Family

ID=16495264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4204724A Pending JPH0651995A (ja) 1992-07-31 1992-07-31 実行サブルーチン名の認識方法

Country Status (1)

Country Link
JP (1) JPH0651995A (ja)

Similar Documents

Publication Publication Date Title
US7694289B2 (en) Method for embedding object codes in source codes
US8261251B2 (en) Modification of array access checking in AIX
US6735763B1 (en) Compiler device and computer-readable recording medium with a compiler recorded therein
JP2817786B2 (ja) シミュレーション装置及びシミュレーション方法
JPH0651995A (ja) 実行サブルーチン名の認識方法
US11256479B2 (en) Dynamic updates in an interactive programming environment
JPH10187461A (ja) 言語処理方式
JPS5922140A (ja) 対話型コンパイル方式
JPH07311679A (ja) プログラム作成システム
JP2004192139A (ja) デバッグ装置、デバッグ方法および記録媒体
JPH07295612A (ja) 高級言語シーケンス命令プログラム生成装置および汎用シーケンサ
CN111670091B (zh) 机器人程序指令编译方法、机器人控制系统及存储装置
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JPS60167042A (ja) プログラム編集装置
JP3113048B2 (ja) ソフトウェア部品合成装置
JP3424596B2 (ja) シンボル参照情報のキャッシュ方法ならびに装置
JPH05181706A (ja) 実行時情報出力デバッガ制御文生成装置
JPH0695868A (ja) ソフトウェア管理方式
JPH09128240A (ja) クラスの主記憶装置への配置方法
JPS63641A (ja) 命令の入力方式
JPH06309175A (ja) インタプリタのプログラム実行方式
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH04364537A (ja) 並列処理用プログラム最適化方法、装置およびコンパイラ
JPS63317826A (ja) シンボリックデバッグ方式
JPH0359726A (ja) プログラム単位一括翻訳方式