JPH05197538A - プリコンパイラ方式における例外発生行番号表示方式 - Google Patents
プリコンパイラ方式における例外発生行番号表示方式Info
- Publication number
- JPH05197538A JPH05197538A JP4031467A JP3146792A JPH05197538A JP H05197538 A JPH05197538 A JP H05197538A JP 4031467 A JP4031467 A JP 4031467A JP 3146792 A JP3146792 A JP 3146792A JP H05197538 A JPH05197538 A JP H05197538A
- Authority
- JP
- Japan
- Prior art keywords
- program
- line number
- source
- line
- execution
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 例外発生時にプリコンパイラの原始プログラ
ムの行番号を表示する。 【構成】 プリコンパイラ2のプログラム行番号設定手
段3は変換後原始プログラム6のソース行に行番号を設
定し、プログラム行番号設定情報出力手段4はその行番
号と原始プログラム1のソース行の行番号との関係を示
すプログラム行番号設定情報5を出力する。主翻訳系7
の行番号対アドレス情報出力手段8は実行プログラム9
中の命令の開始アドレスを求めると共に、その命令が記
述された変換後原始プログラム6のソース行に対応する
原始プログラム1のソース行の行番号をプログラム行番
号設定情報5を参照して求め、このプログラム行番号と
前記開始アドレスとの対を行番号対アドレス情報11とし
て実行プログラム9中に出力する。実行プログラム9の
実行時に例外が発生すると、行番号対アドレス情報11が
例外発生部により参照されて例外発生行が原始プログラ
ム1の行番号で表示される。
ムの行番号を表示する。 【構成】 プリコンパイラ2のプログラム行番号設定手
段3は変換後原始プログラム6のソース行に行番号を設
定し、プログラム行番号設定情報出力手段4はその行番
号と原始プログラム1のソース行の行番号との関係を示
すプログラム行番号設定情報5を出力する。主翻訳系7
の行番号対アドレス情報出力手段8は実行プログラム9
中の命令の開始アドレスを求めると共に、その命令が記
述された変換後原始プログラム6のソース行に対応する
原始プログラム1のソース行の行番号をプログラム行番
号設定情報5を参照して求め、このプログラム行番号と
前記開始アドレスとの対を行番号対アドレス情報11とし
て実行プログラム9中に出力する。実行プログラム9の
実行時に例外が発生すると、行番号対アドレス情報11が
例外発生部により参照されて例外発生行が原始プログラ
ム1の行番号で表示される。
Description
【0001】
【産業上の利用分野】本発明はプログラム言語の翻訳系
および実行支援系に関し、特にプリコンパイラ方式にお
ける例外発生行番号表示方式に関する。
および実行支援系に関し、特にプリコンパイラ方式にお
ける例外発生行番号表示方式に関する。
【0002】
【従来の技術】一般にコンパイラ方式の計算機では、原
始プログラムを翻訳系で一旦翻訳して実行プログラムを
生成し、これを実行している。
始プログラムを翻訳系で一旦翻訳して実行プログラムを
生成し、これを実行している。
【0003】このような計算機では、プログラムの実行
時に例外が発生した場合にそれが原始プログラムのどの
ソース行で発生した例外であるかを調べ、必要な措置を
講ずる必要がある。
時に例外が発生した場合にそれが原始プログラムのどの
ソース行で発生した例外であるかを調べ、必要な措置を
講ずる必要がある。
【0004】そこで、このような例外発生行番号の調査
を容易にするために、一部の計算機では、プログラムの
実行時に例外が発生したとき、例外の発生した実行プロ
グラム中に予め翻訳系により出力されている行番号対ア
ドレス情報を参照し、例外の発生したアドレスに対応す
る行番号をその翻訳系のメッセージで利用者端末等に出
力する例外処理部をオペレーティングシステムに備えて
いる。
を容易にするために、一部の計算機では、プログラムの
実行時に例外が発生したとき、例外の発生した実行プロ
グラム中に予め翻訳系により出力されている行番号対ア
ドレス情報を参照し、例外の発生したアドレスに対応す
る行番号をその翻訳系のメッセージで利用者端末等に出
力する例外処理部をオペレーティングシステムに備えて
いる。
【0005】そして、従来においては、翻訳系(プリコ
ンパイラと主翻訳系とを備えた翻訳系においては主翻訳
系)が、自身に入力された原始プログラムのソース行に
記述されている命令の実行プログラムにおける開始アド
レスを求め、この開始アドレスと、その命令が記述され
たソース行のプログラム行番号との対を上記の行番号対
アドレス情報として生成して実行プログラム中に出力し
ていた。
ンパイラと主翻訳系とを備えた翻訳系においては主翻訳
系)が、自身に入力された原始プログラムのソース行に
記述されている命令の実行プログラムにおける開始アド
レスを求め、この開始アドレスと、その命令が記述され
たソース行のプログラム行番号との対を上記の行番号対
アドレス情報として生成して実行プログラム中に出力し
ていた。
【0006】
【発明が解決しようとする課題】従って、利用者の作成
した原始プログラムを直接に翻訳して実行プログラムを
生成するコンパイラ方式では問題はないが、利用者の作
成した原始プログラムをプリコンパイラで一度翻訳して
変換後原始プログラムを生成し、これを主翻訳系で翻訳
して実行プログラムを生成するプリコンパイラ方式にお
いては、変換後原始プログラムのプログラム行番号と開
始アドレスとの対が行番号対アドレス情報として実行プ
ログラム中に出力される。
した原始プログラムを直接に翻訳して実行プログラムを
生成するコンパイラ方式では問題はないが、利用者の作
成した原始プログラムをプリコンパイラで一度翻訳して
変換後原始プログラムを生成し、これを主翻訳系で翻訳
して実行プログラムを生成するプリコンパイラ方式にお
いては、変換後原始プログラムのプログラム行番号と開
始アドレスとの対が行番号対アドレス情報として実行プ
ログラム中に出力される。
【0007】このため、実行時に例外発生行番号が表示
されたとしても、それは変換後原始プログラムのプログ
ラム行番号に過ぎず、利用者は作成した原始プログラム
のプログラム行番号で例外発生行番号を認識することが
できない。
されたとしても、それは変換後原始プログラムのプログ
ラム行番号に過ぎず、利用者は作成した原始プログラム
のプログラム行番号で例外発生行番号を認識することが
できない。
【0008】そこで、本発明の目的は、プリコンパイラ
の原始プログラムのプログラム行番号で例外発生時の行
番号を表示することにある。
の原始プログラムのプログラム行番号で例外発生時の行
番号を表示することにある。
【0009】
【課題を解決するための手段】本発明は上記の目的を達
成するために、プログラムの実行時に例外が発生するこ
とにより例外の発生した実行プログラム中の行番号対ア
ドレス情報を参照し、例外の発生したアドレスに対応す
る行番号を出力する例外処理部を備えている計算機にお
いて、原始プログラムを入力して翻訳結果である変換後
原始プログラムを出力するプリコンパイラ内に備えら
れ、前記変換後原始プログラムの各ソース行にプログラ
ム行番号を設定するプログラム行番号設定手段と、前記
プリコンパイラ内に備えられ、前記プログラム行番号設
定手段が設定した前記変換後原始プログラムのプログラ
ム行番号と前記原始プログラムのプログラム行番号との
関係を示すプログラム行番号設定情報を出力するプログ
ラム行番号設定情報出力手段と、前記変換後原始プログ
ラムを入力して実行プログラムを出力する主翻訳系に備
えられ、前記変換後原始プログラムのソース行に記述さ
れた命令の前記実行プログラムにおける開始アドレスを
求めると共に該命令が記述された変換後原始プログラム
のソース行に対応する前記原始プログラムのソース行の
プログラム行番号を前記プログラム行番号設定情報を参
照して決定し、該決定したプログラム行番号と前記求め
た開始アドレスとの対を前記行番号対アドレス情報とし
て前記実行プログラム中に出力する行番号対アドレス情
報出力手段とを備えている。
成するために、プログラムの実行時に例外が発生するこ
とにより例外の発生した実行プログラム中の行番号対ア
ドレス情報を参照し、例外の発生したアドレスに対応す
る行番号を出力する例外処理部を備えている計算機にお
いて、原始プログラムを入力して翻訳結果である変換後
原始プログラムを出力するプリコンパイラ内に備えら
れ、前記変換後原始プログラムの各ソース行にプログラ
ム行番号を設定するプログラム行番号設定手段と、前記
プリコンパイラ内に備えられ、前記プログラム行番号設
定手段が設定した前記変換後原始プログラムのプログラ
ム行番号と前記原始プログラムのプログラム行番号との
関係を示すプログラム行番号設定情報を出力するプログ
ラム行番号設定情報出力手段と、前記変換後原始プログ
ラムを入力して実行プログラムを出力する主翻訳系に備
えられ、前記変換後原始プログラムのソース行に記述さ
れた命令の前記実行プログラムにおける開始アドレスを
求めると共に該命令が記述された変換後原始プログラム
のソース行に対応する前記原始プログラムのソース行の
プログラム行番号を前記プログラム行番号設定情報を参
照して決定し、該決定したプログラム行番号と前記求め
た開始アドレスとの対を前記行番号対アドレス情報とし
て前記実行プログラム中に出力する行番号対アドレス情
報出力手段とを備えている。
【0010】また、本発明の好ましい実施例において
は、前記プログラム行番号設定手段は、前記変換後原始
プログラムの各ソース行のプログラム行番号として、展
開元となった前記原始プログラムにおける行番号をその
まま設定し、前記プログラム行番号設定情報出力手段
は、その関係を示すプログラム行番号設定情報を出力
し、前記行番号対アドレス情報出力手段は、前記変換後
原始プログラムのソース行に記述された全ての命令の前
記実行プログラムにおける開始アドレスを求めると共に
それらの命令が記述された変換後原始プログラムのソー
ス行に対応する前記原始プログラムのソース行のプログ
ラム行番号を前記プログラム行番号設定情報を参照して
決定し、該決定したプログラム行番号と前記求めた開始
アドレスとの対を前記行番号対アドレス情報として前記
実行プログラム中に出力する。
は、前記プログラム行番号設定手段は、前記変換後原始
プログラムの各ソース行のプログラム行番号として、展
開元となった前記原始プログラムにおける行番号をその
まま設定し、前記プログラム行番号設定情報出力手段
は、その関係を示すプログラム行番号設定情報を出力
し、前記行番号対アドレス情報出力手段は、前記変換後
原始プログラムのソース行に記述された全ての命令の前
記実行プログラムにおける開始アドレスを求めると共に
それらの命令が記述された変換後原始プログラムのソー
ス行に対応する前記原始プログラムのソース行のプログ
ラム行番号を前記プログラム行番号設定情報を参照して
決定し、該決定したプログラム行番号と前記求めた開始
アドレスとの対を前記行番号対アドレス情報として前記
実行プログラム中に出力する。
【0011】また、本発明の好ましい別の実施例におい
ては、前記プログラム行番号設定手段は、前記変換後原
始プログラムの各ソース行のプログラム行番号として、
展開元となった前記原始プログラムにおける行番号と独
立な行番号を設定し、前記プログラム行番号設定情報出
力手段は、展開元となった前記原始プログラムのソース
行のプログラム行番号と、そのソース行に対応する前記
変換後原始プログラムの一連のソース行のうちの最初の
ソース行に設定されたプログラム行番号との関係を示す
プログラム行番号設定情報を出力し、前記行番号対アド
レス情報出力手段は、前記変換後原始プログラムの前記
一連のソース行のうちの最初のソース行に記述された命
令の前記実行プログラムにおける開始アドレスを求める
と共に該命令が記述された変換後原始プログラムのソー
ス行に対応する前記原始プログラムのソース行のプログ
ラム行番号を前記プログラム行番号設定情報を参照して
決定し、該決定したプログラム行番号と前記求めた開始
アドレスとの対を前記行番号対アドレス情報として前記
実行プログラム中に出力する。
ては、前記プログラム行番号設定手段は、前記変換後原
始プログラムの各ソース行のプログラム行番号として、
展開元となった前記原始プログラムにおける行番号と独
立な行番号を設定し、前記プログラム行番号設定情報出
力手段は、展開元となった前記原始プログラムのソース
行のプログラム行番号と、そのソース行に対応する前記
変換後原始プログラムの一連のソース行のうちの最初の
ソース行に設定されたプログラム行番号との関係を示す
プログラム行番号設定情報を出力し、前記行番号対アド
レス情報出力手段は、前記変換後原始プログラムの前記
一連のソース行のうちの最初のソース行に記述された命
令の前記実行プログラムにおける開始アドレスを求める
と共に該命令が記述された変換後原始プログラムのソー
ス行に対応する前記原始プログラムのソース行のプログ
ラム行番号を前記プログラム行番号設定情報を参照して
決定し、該決定したプログラム行番号と前記求めた開始
アドレスとの対を前記行番号対アドレス情報として前記
実行プログラム中に出力する。
【0012】
【作用】本発明のプリコンパイラ方式における例外発生
行番号表示方式においては、原始プログラムを入力して
翻訳結果である変換後原始プログラムを出力するプリコ
ンパイラ内に備えられたプログラム行番号設定手段が前
記変換後原始プログラムの各ソース行にプログラム行番
号を設定すると共に、プログラム行番号設定情報出力手
段が前記プログラム行番号設定手段が設定した前記変換
後原始プログラムのプログラム行番号と前記原始プログ
ラムのプログラム行番号との関係を示すプログラム行番
号設定情報を出力する。
行番号表示方式においては、原始プログラムを入力して
翻訳結果である変換後原始プログラムを出力するプリコ
ンパイラ内に備えられたプログラム行番号設定手段が前
記変換後原始プログラムの各ソース行にプログラム行番
号を設定すると共に、プログラム行番号設定情報出力手
段が前記プログラム行番号設定手段が設定した前記変換
後原始プログラムのプログラム行番号と前記原始プログ
ラムのプログラム行番号との関係を示すプログラム行番
号設定情報を出力する。
【0013】そして、変換後原始プログラムを入力して
実行プログラムを出力する主翻訳系に備えられた行番号
対アドレス情報出力手段が、前記変換後原始プログラム
のソース行に記述された命令の前記実行プログラムにお
ける開始アドレスを求めると共に該命令が記述された変
換後原始プログラムのソース行に対応する前記原始プロ
グラムのソース行のプログラム行番号を前記プログラム
行番号設定情報を参照して決定し、該決定したプログラ
ム行番号と前記求めた開始アドレスとの対を行番号対ア
ドレス情報として前記実行プログラム中に出力する。
実行プログラムを出力する主翻訳系に備えられた行番号
対アドレス情報出力手段が、前記変換後原始プログラム
のソース行に記述された命令の前記実行プログラムにお
ける開始アドレスを求めると共に該命令が記述された変
換後原始プログラムのソース行に対応する前記原始プロ
グラムのソース行のプログラム行番号を前記プログラム
行番号設定情報を参照して決定し、該決定したプログラ
ム行番号と前記求めた開始アドレスとの対を行番号対ア
ドレス情報として前記実行プログラム中に出力する。
【0014】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
詳細に説明する。
【0015】図1を参照すると、本発明の一実施例のプ
リコンパイラ方式における例外発生行番号表示方式は、
原始プログラム1を入力して翻訳結果である変換後原始
プログラム6を出力するプリコンパイラ2内にプログラ
ム行番号設定手段3とプログラム行番号設定情報出力手
段4とを備え、変換後原始プログラム6を入力して実行
プログラム9を出力する主翻訳系7に行番号対アドレス
情報出力手段8を備えている。なお、5はプログラム行
番号設定情報出力手段4が出力するプログラム行番号設
定情報、10は実行プログラム9中のコード部、11は
同じく実行プログラム9中の行番号対アドレス情報であ
る。
リコンパイラ方式における例外発生行番号表示方式は、
原始プログラム1を入力して翻訳結果である変換後原始
プログラム6を出力するプリコンパイラ2内にプログラ
ム行番号設定手段3とプログラム行番号設定情報出力手
段4とを備え、変換後原始プログラム6を入力して実行
プログラム9を出力する主翻訳系7に行番号対アドレス
情報出力手段8を備えている。なお、5はプログラム行
番号設定情報出力手段4が出力するプログラム行番号設
定情報、10は実行プログラム9中のコード部、11は
同じく実行プログラム9中の行番号対アドレス情報であ
る。
【0016】以下、図1に示す実施例の動作を説明す
る。
る。
【0017】プリコンパイラ2は原始プログラム1を読
み込み、変換後原始プログラム6を出力する。
み込み、変換後原始プログラム6を出力する。
【0018】このときプログラム行番号設定手段3は、
変換後原始プログラム6の各ソース行のプログラム行番
号には展開元である原始プログラム1のソース行のプロ
グラム行番号を設定する。
変換後原始プログラム6の各ソース行のプログラム行番
号には展開元である原始プログラム1のソース行のプロ
グラム行番号を設定する。
【0019】また、プログラム行番号設定情報出力手段
4は、プログラム行番号設定情報5として、変換後原始
プログラム6の各ソース行のプログラム行番号は展開元
である原始プログラム1のソース行のプログラム行番号
が設定されているという情報を出力する。
4は、プログラム行番号設定情報5として、変換後原始
プログラム6の各ソース行のプログラム行番号は展開元
である原始プログラム1のソース行のプログラム行番号
が設定されているという情報を出力する。
【0020】次に主翻訳系7は変換後原始プログラム6
を読み込み、実行プログラム9を出力する。
を読み込み、実行プログラム9を出力する。
【0021】このとき行番号対アドレス情報出力手段8
は、変換後原始プログラム6のソース行に記述された全
ての命令の実行プログラム9における開始アドレスを求
めると共に、それらの命令が記述された変換後原始プロ
グラム6のソース行に対応する原始プログラム1のソー
ス行のプログラム行番号をプログラム行番号設定情報5
を参照して決定し、この決定したプログラム行番号と前
記求めた開始アドレスとの対を行番号対アドレス情報1
1として実行プログラム9中に出力する。
は、変換後原始プログラム6のソース行に記述された全
ての命令の実行プログラム9における開始アドレスを求
めると共に、それらの命令が記述された変換後原始プロ
グラム6のソース行に対応する原始プログラム1のソー
ス行のプログラム行番号をプログラム行番号設定情報5
を参照して決定し、この決定したプログラム行番号と前
記求めた開始アドレスとの対を行番号対アドレス情報1
1として実行プログラム9中に出力する。
【0022】図1の例においては、プリコンパイラ2は
原始プログラム1の行番号700の命令を変換後原始プ
ログラム6の複数行にわたるソース行に変換しているの
で、それら複数行に行番号700が設定されている。ま
た、原始プログラム1の行番号900の命令を変換後原
始プログラム6の1行分のソース行に変換しているの
で、その行に行番号900が設定されている。
原始プログラム1の行番号700の命令を変換後原始プ
ログラム6の複数行にわたるソース行に変換しているの
で、それら複数行に行番号700が設定されている。ま
た、原始プログラム1の行番号900の命令を変換後原
始プログラム6の1行分のソース行に変換しているの
で、その行に行番号900が設定されている。
【0023】そこで、主翻訳系7の行番号対アドレス情
報出力手段7では、変換後原始プログラム6の行番号7
00のソース行〜および行番号900のソース行
の命令のオブジェクトがコード部10のアドレスa〜c
およびdから始まるとすると、プログラム行番号設定情
報5は変換後原始プログラム6の行番号が原始プログラ
ム1の行番号そのものであることを示しているので、行
番号700に対してアドレスがa,b,cである3つの
組と、行番号900に対してアドレスがdである組とを
持つ行番号対アドレス情報11を生成する。
報出力手段7では、変換後原始プログラム6の行番号7
00のソース行〜および行番号900のソース行
の命令のオブジェクトがコード部10のアドレスa〜c
およびdから始まるとすると、プログラム行番号設定情
報5は変換後原始プログラム6の行番号が原始プログラ
ム1の行番号そのものであることを示しているので、行
番号700に対してアドレスがa,b,cである3つの
組と、行番号900に対してアドレスがdである組とを
持つ行番号対アドレス情報11を生成する。
【0024】さて、以上のようにして生成された行番号
対アドレス情報11が含まれている実行プログラム9の
実行時、この実行プログラム9において例外が発生する
と、図示しない例外処理部はこの実行プログラム9中の
行番号対アドレス情報11を参照して例外の発生したア
ドレスに対応するプログラム行番号を図示しない利用者
端末等に表示する。
対アドレス情報11が含まれている実行プログラム9の
実行時、この実行プログラム9において例外が発生する
と、図示しない例外処理部はこの実行プログラム9中の
行番号対アドレス情報11を参照して例外の発生したア
ドレスに対応するプログラム行番号を図示しない利用者
端末等に表示する。
【0025】従って、若し例外の発生した命令の実行プ
ログラム9におけるアドレスがアドレスa以上、アドレ
スd未満であれば例外発生行番号としては行番号700
が表示される。また、例外を発生した命令のアドレスが
アドレスd以上のときは行番号900が表示される。
ログラム9におけるアドレスがアドレスa以上、アドレ
スd未満であれば例外発生行番号としては行番号700
が表示される。また、例外を発生した命令のアドレスが
アドレスd以上のときは行番号900が表示される。
【0026】以上の実施例は、変換後原始プログラム6
の各ソース行の行番号として展開元となった原始プログ
ラム1における行番号をそのまま設定し、その旨をプロ
グラム行番号設定情報5で示した。
の各ソース行の行番号として展開元となった原始プログ
ラム1における行番号をそのまま設定し、その旨をプロ
グラム行番号設定情報5で示した。
【0027】一般に、プリコンパイラ2の言語仕様が主
翻訳系7の言語仕様に対して新たな命令を追加してお
り、プリコンパイラ2は新たな命令の翻訳処理のみを行
い、それ以外の記述は主翻訳系7に任せるというような
機能拡張型のプリコンパイラ方式においては、原始プロ
グラム1と変換後原始プログラム6のソースの対応が取
りやすいので、上記の実施例が適している。
翻訳系7の言語仕様に対して新たな命令を追加してお
り、プリコンパイラ2は新たな命令の翻訳処理のみを行
い、それ以外の記述は主翻訳系7に任せるというような
機能拡張型のプリコンパイラ方式においては、原始プロ
グラム1と変換後原始プログラム6のソースの対応が取
りやすいので、上記の実施例が適している。
【0028】また、プリコンパイラ2の出力した変換後
原始プログラム6に対し主翻訳系7でエラーが検出され
た場合、エラーメッセージ中の行番号が原始プログラム
1の行番号と一致するので好都合である。
原始プログラム6に対し主翻訳系7でエラーが検出され
た場合、エラーメッセージ中の行番号が原始プログラム
1の行番号と一致するので好都合である。
【0029】図2は本発明のプリコンパイラ方式におけ
る例外発生行番号表示方式の別の実施例の構成図であ
り、変換後原始プログラムの各ソース行の行番号として
展開元となった原始プログラムにおける行番号とは独立
な行番号を設定し、プログラム行番号設定情報が、原始
プログラムのソース行のプログラム行番号と、その行が
対応する変換後原始プログラムにおける一連のソース行
のうちの最初の行のプログラム行番号との対情報である
場合の実施例である。
る例外発生行番号表示方式の別の実施例の構成図であ
り、変換後原始プログラムの各ソース行の行番号として
展開元となった原始プログラムにおける行番号とは独立
な行番号を設定し、プログラム行番号設定情報が、原始
プログラムのソース行のプログラム行番号と、その行が
対応する変換後原始プログラムにおける一連のソース行
のうちの最初の行のプログラム行番号との対情報である
場合の実施例である。
【0030】以下、図2の実施例の構成を動作説明を交
えて説明する。
えて説明する。
【0031】プリコンパイラ2’は原始プログラム1’
を読み込み、変換後原始プログラム6’を出力する。
を読み込み、変換後原始プログラム6’を出力する。
【0032】このときプログラム行番号設定手段3’
は、変換後原始プログラム6’の各ソース行のプログラ
ム行番号には展開元である原始プログラム1’のソース
行のプログラム行番号とは全く別のプログラム行番号を
設定する。即ち、図2に例示するように、手続き部の行
番号に1から始まる一連の行番号を振り、データ部の行
番号には0を振っている。
は、変換後原始プログラム6’の各ソース行のプログラ
ム行番号には展開元である原始プログラム1’のソース
行のプログラム行番号とは全く別のプログラム行番号を
設定する。即ち、図2に例示するように、手続き部の行
番号に1から始まる一連の行番号を振り、データ部の行
番号には0を振っている。
【0033】また、プログラム行番号設定情報出力手段
4’は、プログラム行番号設定情報5’として、変換後
原始プログラム6’の必要なソース行のプログラム行番
号と、そのソース行が対応する変換後原始プログラム
6’における一連のソース行のうちの最初のソース行の
プログラム行番号との対情報を出力する。即ち、図2に
例示するように、原始プログラム1’の行番号200の
ソース行が変換後原始プログラム6’上では行番号4か
ら始まる一連のソース行に展開され、また原始プログラ
ム1’の行番号410のソース行が変換後原始プログラ
ム6’上では行番号100から始まる一連のソース行に
展開されているので、200と4,410と100とい
う2組の対情報を含むプログラム行番号設定情報5’を
出力する。
4’は、プログラム行番号設定情報5’として、変換後
原始プログラム6’の必要なソース行のプログラム行番
号と、そのソース行が対応する変換後原始プログラム
6’における一連のソース行のうちの最初のソース行の
プログラム行番号との対情報を出力する。即ち、図2に
例示するように、原始プログラム1’の行番号200の
ソース行が変換後原始プログラム6’上では行番号4か
ら始まる一連のソース行に展開され、また原始プログラ
ム1’の行番号410のソース行が変換後原始プログラ
ム6’上では行番号100から始まる一連のソース行に
展開されているので、200と4,410と100とい
う2組の対情報を含むプログラム行番号設定情報5’を
出力する。
【0034】次に主翻訳系7’は変換後原始プログラム
6’を読み込み、実行プログラム9’を出力する。
6’を読み込み、実行プログラム9’を出力する。
【0035】このとき行番号対アドレス情報出力手段
8’は、変換後原始プログラム6’の前記一連のソース
行のうちの最初のソース行に記述された命令の実行プロ
グラム9’における開始アドレスを求めると共に、その
命令が記述された変換後原始プログラム6’のソース行
に対応する原始プログラム1’のソース行のプログラム
行番号をプログラム行番号設定情報5’を参照して決定
し、この決定したプログラム行番号と前記求めた開始ア
ドレスとの対を行番号対アドレス情報11’として実行
プログラム9’中に出力する。
8’は、変換後原始プログラム6’の前記一連のソース
行のうちの最初のソース行に記述された命令の実行プロ
グラム9’における開始アドレスを求めると共に、その
命令が記述された変換後原始プログラム6’のソース行
に対応する原始プログラム1’のソース行のプログラム
行番号をプログラム行番号設定情報5’を参照して決定
し、この決定したプログラム行番号と前記求めた開始ア
ドレスとの対を行番号対アドレス情報11’として実行
プログラム9’中に出力する。
【0036】即ち、図2に例示するように、変換後原始
プログラム6’の行番号4のソース行の命令のオブジ
ェクトがコード部10’のアドレスaより始まり、行番
号100のソース行の命令のオブジェクトがコード部
10’のアドレスbより始まるとすると、変換後原始プ
ログラム6’の行番号4に対応する原始プログラム1’
の行番号200に対してアドレスaが対になるような組
と、変換後原始プログラム6’の行番号100に対応す
る原始プログラム1’の行番号410に対してアドレス
bが対になるような組とを持つ行番号対アドレス情報1
1’を生成する。
プログラム6’の行番号4のソース行の命令のオブジ
ェクトがコード部10’のアドレスaより始まり、行番
号100のソース行の命令のオブジェクトがコード部
10’のアドレスbより始まるとすると、変換後原始プ
ログラム6’の行番号4に対応する原始プログラム1’
の行番号200に対してアドレスaが対になるような組
と、変換後原始プログラム6’の行番号100に対応す
る原始プログラム1’の行番号410に対してアドレス
bが対になるような組とを持つ行番号対アドレス情報1
1’を生成する。
【0037】以上のようにして生成された行番号対アド
レス情報11’が含まれている実行プログラム9’の実
行時、この実行プログラム9’において例外が発生する
と、図示しない例外処理部はこの実行プログラム9’中
の行番号対アドレス情報11’を参照して例外の発生し
たアドレスに対応するプログラム行番号を図示しない利
用者端末等に表示する。
レス情報11’が含まれている実行プログラム9’の実
行時、この実行プログラム9’において例外が発生する
と、図示しない例外処理部はこの実行プログラム9’中
の行番号対アドレス情報11’を参照して例外の発生し
たアドレスに対応するプログラム行番号を図示しない利
用者端末等に表示する。
【0038】従って、若し例外の発生した命令の実行プ
ログラム9’におけるアドレスがアドレスa以上、アド
レスb未満であれば例外発生行番号としては行番号20
0が表示される。また、例外を発生した命令のアドレス
がアドレスb以上のときは行番号410が表示される。
ログラム9’におけるアドレスがアドレスa以上、アド
レスb未満であれば例外発生行番号としては行番号20
0が表示される。また、例外を発生した命令のアドレス
がアドレスb以上のときは行番号410が表示される。
【0039】図2に示した実施例では、実行プログラム
9’中の全ての命令について行番号対を生成するのでは
なく、原始プログラム1’の1行のソース行が変換後原
始プログラム6’の複数行に展開されている場合、その
展開された一連のソース行のうちの最初のソース行の命
令についてのみ行番号対を生成したので、実行プログラ
ム9’中に最終的に設定される行番号対アドレス情報1
1’は少ない情報となる。
9’中の全ての命令について行番号対を生成するのでは
なく、原始プログラム1’の1行のソース行が変換後原
始プログラム6’の複数行に展開されている場合、その
展開された一連のソース行のうちの最初のソース行の命
令についてのみ行番号対を生成したので、実行プログラ
ム9’中に最終的に設定される行番号対アドレス情報1
1’は少ない情報となる。
【0040】従って、プリコンパイラ2’の言語仕様が
主翻訳系7’の言語仕様とは全く異なり、原始プログラ
ム1’と変換後原始プログラム6’のソースの対応が取
りにくく、また、変換後原始プログラム6’のソース量
が原始プログラム1’に比べ数倍となるようなプリコン
パイラ方式には、変換後原始プログラム6’に独自の行
番号を割り付ける構成を採用し、また、行番号対アドレ
ス情報11’のオブジェクトコード中に占める割合が小
さくなる図2に示したプリコンパイラ方式における例外
発生行番号表示方式が適している。
主翻訳系7’の言語仕様とは全く異なり、原始プログラ
ム1’と変換後原始プログラム6’のソースの対応が取
りにくく、また、変換後原始プログラム6’のソース量
が原始プログラム1’に比べ数倍となるようなプリコン
パイラ方式には、変換後原始プログラム6’に独自の行
番号を割り付ける構成を採用し、また、行番号対アドレ
ス情報11’のオブジェクトコード中に占める割合が小
さくなる図2に示したプリコンパイラ方式における例外
発生行番号表示方式が適している。
【0041】
【発明の効果】以上説明したように、本発明によれば、
利用者が作成した原始プログラムをプリコンパイラによ
り翻訳して変換後原始プログラムを作成し、この変換後
原始プログラムを主翻訳系で翻訳して実行プログラムを
生成し実行する計算機において、例外発生時に例外処理
部で参照される行番号対アドレス情報を原始プログラム
のソース行のプログラム行番号を用いて生成するので、
例外発生時に表示されるプログラム行番号はプリコンパ
イラの原始プログラムのプログラム行番号となり、利用
者は自身が記述した原始プログラムで例外発生行を知る
ことができるという効果がある。
利用者が作成した原始プログラムをプリコンパイラによ
り翻訳して変換後原始プログラムを作成し、この変換後
原始プログラムを主翻訳系で翻訳して実行プログラムを
生成し実行する計算機において、例外発生時に例外処理
部で参照される行番号対アドレス情報を原始プログラム
のソース行のプログラム行番号を用いて生成するので、
例外発生時に表示されるプログラム行番号はプリコンパ
イラの原始プログラムのプログラム行番号となり、利用
者は自身が記述した原始プログラムで例外発生行を知る
ことができるという効果がある。
【図1】本発明の一実施例の構成図である。
【図2】本発明の別の実施例の構成図である。
1,1’…原始プログラム 2,2’…プリコンパイラ 3,3’…プログラム行番号設定手段 4,4’…プログラム行番号設定情報出力手段 5,5’…プログラム行番号設定情報 6,6’…変換後原始プログラム 7,7’…主翻訳系 8,8’…行番号対アドレス情報出力手段 9,9’…実行プログラム 10,10’…コード部 11,11’…行番号対アドレス情報
Claims (3)
- 【請求項1】 プログラムの実行時に例外が発生するこ
とにより例外の発生した実行プログラム中の行番号対ア
ドレス情報を参照し、例外の発生したアドレスに対応す
る行番号を出力する例外処理部を備えている計算機にお
いて、 原始プログラムを入力して翻訳結果である変換後原始プ
ログラムを出力するプリコンパイラ内に備えられ、前記
変換後原始プログラムの各ソース行にプログラム行番号
を設定するプログラム行番号設定手段と、 前記プリコンパイラ内に備えられ、前記プログラム行番
号設定手段が設定した前記変換後原始プログラムのプロ
グラム行番号と前記原始プログラムのプログラム行番号
との関係を示すプログラム行番号設定情報を出力するプ
ログラム行番号設定情報出力手段と、 前記変換後原始プログラムを入力して実行プログラムを
出力する主翻訳系に備えられ、前記変換後原始プログラ
ムのソース行に記述された命令の前記実行プログラムに
おける開始アドレスを求めると共に該命令が記述された
変換後原始プログラムのソース行に対応する前記原始プ
ログラムのソース行のプログラム行番号を前記プログラ
ム行番号設定情報を参照して決定し、該決定したプログ
ラム行番号と前記求めた開始アドレスとの対を前記行番
号対アドレス情報として前記実行プログラム中に出力す
る行番号対アドレス情報出力手段とを備えることを特徴
とするプリコンパイラ方式における例外発生行番号表示
方式。 - 【請求項2】 前記プログラム行番号設定手段は、前記
変換後原始プログラムの各ソース行のプログラム行番号
として、展開元となった前記原始プログラムにおける行
番号をそのまま設定し、 前記プログラム行番号設定情報出力手段は、その関係を
示すプログラム行番号設定情報を出力し、 前記行番号対アドレス情報出力手段は、前記変換後原始
プログラムのソース行に記述された全ての命令の前記実
行プログラムにおける開始アドレスを求めると共にそれ
らの命令が記述された変換後原始プログラムのソース行
に対応する前記原始プログラムのソース行のプログラム
行番号を前記プログラム行番号設定情報を参照して決定
し、該決定したプログラム行番号と前記求めた開始アド
レスとの対を前記行番号対アドレス情報として前記実行
プログラム中に出力する請求項1記載のプリコンパイラ
方式における例外発生行番号表示方式。 - 【請求項3】 前記プログラム行番号設定手段は、前記
変換後原始プログラムの各ソース行のプログラム行番号
として、展開元となった前記原始プログラムにおける行
番号と独立な行番号を設定し、 前記プログラム行番号設定情報出力手段は、展開元とな
った前記原始プログラムのソース行のプログラム行番号
と、そのソース行に対応する前記変換後原始プログラム
の一連のソース行のうちの最初のソース行に設定された
プログラム行番号との関係を示すプログラム行番号設定
情報を出力し、 前記行番号対アドレス情報出力手段は、前記変換後原始
プログラムの前記一連のソース行のうちの最初のソース
行に記述された命令の前記実行プログラムにおける開始
アドレスを求めると共に該命令が記述された変換後原始
プログラムのソース行に対応する前記原始プログラムの
ソース行のプログラム行番号を前記プログラム行番号設
定情報を参照して決定し、該決定したプログラム行番号
と前記求めた開始アドレスとの対を前記行番号対アドレ
ス情報として前記実行プログラム中に出力する請求項1
記載のプリコンパイラ方式における例外発生行番号表示
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4031467A JPH05197538A (ja) | 1992-01-22 | 1992-01-22 | プリコンパイラ方式における例外発生行番号表示方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4031467A JPH05197538A (ja) | 1992-01-22 | 1992-01-22 | プリコンパイラ方式における例外発生行番号表示方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05197538A true JPH05197538A (ja) | 1993-08-06 |
Family
ID=12332065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4031467A Pending JPH05197538A (ja) | 1992-01-22 | 1992-01-22 | プリコンパイラ方式における例外発生行番号表示方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05197538A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175365A (ja) * | 2010-02-23 | 2011-09-08 | Nec Corp | デバッグ装置、デバッグ方法及びデバッグ処理プログラム |
-
1992
- 1992-01-22 JP JP4031467A patent/JPH05197538A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175365A (ja) * | 2010-02-23 | 2011-09-08 | Nec Corp | デバッグ装置、デバッグ方法及びデバッグ処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04178833A (ja) | ソフトウェア再利用支援方法 | |
JPH05197538A (ja) | プリコンパイラ方式における例外発生行番号表示方式 | |
JP2002055853A (ja) | ログ比較デバッグ支援装置および方法およびプログラム | |
JP2605402B2 (ja) | 辞書システムにおけるデータ導出方式 | |
JPH04367946A (ja) | デバッグ情報出力方式 | |
JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
JP3021697B2 (ja) | プログラミング言語における例外処理方法 | |
JPH07168702A (ja) | システム構成情報生成更新装置 | |
JPH05334135A (ja) | プログラム異常終了時のエラー情報表示方式 | |
JPH0778096A (ja) | 単体プログラムテスト方式 | |
JPS6231444A (ja) | 擬似障害発生方式 | |
JPS63228236A (ja) | シンボルアドレス出力方式 | |
JPS59225449A (ja) | 文番号変換方式 | |
JPH06242986A (ja) | 外部行番号によるデバッグ方式 | |
JPS6086625A (ja) | デ−タ処理装置 | |
JPH05233241A (ja) | プログラム作成装置 | |
JPH10207738A (ja) | 言語処理システム | |
JPH0580992A (ja) | 手続き・関数関連図出力方式 | |
JPS62159248A (ja) | 入力プログラムの文法チエツク方式 | |
JPS63127338A (ja) | 中間言語プロセツサ用ソ−ステキスト行番号の対応付け処理方式 | |
JPH01266636A (ja) | 例外データ表示方式 | |
JPS63163964A (ja) | フロ−チヤ−トの出図方式 | |
JPH02128219A (ja) | システム定義情報を使用したシステム生成方式 | |
JPH07121514A (ja) | 操作手順書の自動作成方式 | |
JPH1011311A (ja) | プロセッサのテストプログラム生成装置 |