JPH01149138A - コンパイラにおけるエラー修正方式 - Google Patents

コンパイラにおけるエラー修正方式

Info

Publication number
JPH01149138A
JPH01149138A JP62308459A JP30845987A JPH01149138A JP H01149138 A JPH01149138 A JP H01149138A JP 62308459 A JP62308459 A JP 62308459A JP 30845987 A JP30845987 A JP 30845987A JP H01149138 A JPH01149138 A JP H01149138A
Authority
JP
Japan
Prior art keywords
error
translation
information
file
source
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
JP62308459A
Other languages
English (en)
Inventor
Ichiro Hirakura
平倉 一郎
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP62308459A priority Critical patent/JPH01149138A/ja
Publication of JPH01149138A publication Critical patent/JPH01149138A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータシステムにおけるコンパイラに関
し、特にコンパイラにおけるエラー修正方式に関する。
(従来の技術〕 従来、コンパイラにおける翻訳処理においてエラーが発
生し検知された場合には、エラーメソセージが出力され
適当な箇所までのソースプログラムの読飛ばし等の回復
処理が行われた上で翻訳処理が続行されたり、エラーメ
ンセージが出力されてその時点で翻訳処理が打ち切られ
たりしていた。
〔発明が解決しようとする問題点〕
コンパイラにおける翻訳処理においてエラーが発生し検
知された場合の上述した従来の方式では、回復処理が行
われた上で翻訳処理が続行される方式においてはそのエ
ラーの発生の原因であるソースフログラムの不備等の問
題点がそのままにされて翻訳処理が続行されるので、1
つのエラーによってさらに多くのエラーが誘発されて発
生する(1つのエラーの発生により別のエラーの検知が
できなくなるという事態も生じる)という欠点がある。
また、エラーが発生した時点で翻訳処理が打ち切られる
方式においてはその時点以後に処理されるはずであった
ソースプログラム中の箇所がコンパイラによって取り扱
われなくなるので、ソースプログラムのエラー発生箇所
の以後にエラーが存在してもそのエラーを検知できない
という欠点がある。
さらに、回復処理が行われた上で翻訳処理が続行される
方式においても翻訳処理が打ち切られる方式においても
エラーが修正されたソースプログラムの翻訳処理は終了
していないので、翻訳終了後や翻訳打切り後にエラーメ
ツセージの参照に基づきエディタ等を用いてソースプロ
グラムを修正した上で再びコンパイラを起動し翻訳処理
を行わなければならない煩雑さが生じるという欠点があ
る。
本発明の目的は、上述の点に鑑み、コンパイラの翻訳処
理の、途中で発生したエラー(エラーが発生した時点で
修正が不可能なエラーを除く)を直ちに修正し翻訳処理
を継続することにより、1つのエラーによってさらに多
くのエラーが誘発されるという事態等をなくすことがで
き、ソースプログラムを修正して再びコンパイラを起動
するという煩雑な処理を少なくできるコンパイラにおけ
るエラー修正方式を提供することにある。
〔問題点を解決するための手段〕
本発明のコンパイラにおけるエラー修正方式は、翻訳開
始時にソースファイル上の翻訳対象のソースプログラム
をワークファイルに複写し翻訳終了時にワークファイル
上のエラーが修正されたソースプログラムをソースファ
イルに複写しソースファイルとそのソースファイルに対
応するワークファイルとの翻訳処理における管理を行う
ソースファイル管理手段と、このソースファイル管理手
段により管理されているワークファイル上のソースプロ
グラムを翻訳し翻訳情報を作成しその翻訳処理において
エラーが発生した場合にそのエラーに係るエラー情報を
作成する翻訳手段と、この翻訳手段により作成されたエ
ラー情報等に基づくエラー解析を行い発生したエラーが
その時点で修正の可能なエラーであると解析したならば
そのエラーに対する利用者からの修正情報を人力し前記
ソースファイル管理手段により管理されているワークフ
ァイル上のソースプログラムおよび前記翻訳手段により
作成された翻訳情報を修正し前記翻訳手段が翻訳処理を
再開するために必要な情報である翻訳再開情報を作成す
るエラー修正手段とを有する。
〔作用〕
本発明のコンパイラにおけるエラー修正方式では、ソー
スファイル管理手段が翻訳開始時にソースファイル上の
翻訳対象のソースプログラムをワークファイルに複写し
翻訳終了時にワークファイル上のエラーが修正されたソ
ースプログラムをソースファイルに複写しソースファイ
ルとそのソースファイルに対応するワークファイルとの
翻訳処理における管理を行い、翻訳手段がソースファイ
ル管理手段により管理されているワークファイル上のソ
ースプログラムを翻訳し翻訳情報を作成しその翻訳処理
においてエラーが発生した場合にそのエラーに係るエラ
ー情報を作成し、エラー修正手段が翻訳手段により作成
されたエラー情報等に基づくエラー解析を行い発生した
エラーがその時点で修正の可能なエラーであると解析し
たならばそのエラーに対する利用者からの修正tifg
を入力しソースファイル管理手段により管理されている
ワークファイル上のソースプログラムおよび翻訳手段に
より作成された翻訳情報を修正し翻訳手段が翻訳処理を
再開するために必要な情報である翻訳再開情報を作成す
る。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は、本発明のコンパイラにおけるエラー修正方式
の一実施例の構成を示すブロック図である。本実施例の
コンパイラにおけるエラー修正方式は、ソースファイル
1と、ソースファイル管理手段2と、ワークファイル3
と、翻訳手段4と、翻訳情f[15と、エラー情報6と
、翻訳再開情報7と、エラー修正手段8と、端末9とか
ら構成されている。
第2図を参照すると、エラー修正手段8の処理は、エラ
ー解析ステップIOと、修正情報入力ステップ11と、
ソースプログラム修正ステップ12と、翻訳情報修正ス
テップ13と、翻訳再開情報作成ステップ14とからな
る。
なお、第1[Dおよび第2図において、「→」は制御の
流れを示し、「→」はデータの流れを示している。
次に、このように構成された本実施例のコンパイラにお
けるエラー修正方式の動作について説明する。
ソースファイル1上のソースプログラムが翻訳される場
合には、翻訳対象のソースプログラムの翻訳開始前の状
態を保持するために(エラーを修正しながら翻訳処理を
行っている場合にエラーの修正が適正に行われないとき
や翻訳処理が途中で中止されたときにもソースファイル
lには翻訳開始前のソースプログラムが保持されている
ように)、翻訳対象のソースプログラムがソースファイ
ルlからワークファイル3にソースファイル管理手段2
により複写される。
次に、ワークファイル3上のソースプログラムを入力と
して翻訳手段4が起動される。
翻訳手段4では、翻訳対象のソースプログラムがワーク
ファイル3から読み込まれ、シンボルテーブルやオブジ
ェクトプログラム等が翻訳情報5として作成されながら
翻訳処理が行われる。
この翻訳処理の過程でエラーが発生し検知されると、エ
ラー発生箇所、エラー発生時のコンパイラの状態および
エラーメツセージ等を内容とするエラー情報6が翻訳手
段4により作成されてエラー修正手段8が起動される。
エラー修正手段8では、翻訳情報5とエラー情f[16
とが参照されて(翻訳情報5は発生したエラーの種類に
基づき必要に応して参照される)エラー解析が行われ、
このエラー解析に基づいてエラー修正ml[i(発生し
たエラーがその時点で修正の可能なエラーであるか否か
を示し修正が可能である場合にはどのように修正すべき
かという指針を示す情fil)が作成されることにより
翻訳手段4における翻訳処理が適正に継続できるか否か
が決定される(ステップ10)。
このエラー修正情報は端末9に出力されて利用者に提示
され、ステップ10における決定が翻訳処理を適正に’
Il’hlできるという内容である場合にはエラー修正
情報に基づいて修正情報(ソースプログラムの修正内容
等を示す情報)が端末9から利用者により入力される(
ステップ11)(ステップ10における決定が翻訳処理
を適正にmvEできないという内容である場合にはコン
パイラの処理、すなわち本実施例のコンパイラにおける
エラー修正方式の処理が終了する)。
次に、ステップ11で入力された修正情報に基づいてワ
ークファイル3上のソースプログラムが修正される(ス
テップ12)。
また、すでに行われた翻訳手段4による翻訳処理によっ
て作成されているシンボルテーブルやオブジェクトプロ
グラム等にステップ11で入力された修正情報を反映さ
せるために、翻訳情報5が一ヒ述の修正情報に基づいて
修正される(ステップ13)。
次に、エラーの修正後に翻訳処理を再開するソースプロ
グラム上の箇所がエラー発生箇所、ソースプログラムの
最初およびエラー発生箇所を有する翻訳単位(ソースプ
ログラムの構成要素)の最初のいずれであるか等を示す
翻訳手段4が翻訳処理を再開するために必要な情報であ
る翻訳再開情報7 (ステップ11で端末9から翻訳中
止(ステップIOにおけるエラー解析では翻訳処理の適
正な継続が可能であると決定されても利用者によって翻
訳処理を中止したほうがよいと判断されることがある)
を示す修正情報が入力された場合にはその旨を翻訳手段
4に通知する情報)が作成され(ステップ14)、翻訳
手段4にM御が戻る。
翻訳手段4では、翻訳再開情$i17に基づいて翻訳処
理の適正な継続(翻訳再開情報7が翻訳中止の旨を示し
ている場合には翻訳処理は継続されずに本実施例のコン
パイラにおけるエラー修正方式の処理は終了する)が行
われ、翻訳終了後にソースファイル管理手段2に制御が
戻る。
ソースファイル管理手段2では、ワークファイル3上の
エラーが修正されたソースプログラムがソースファイル
1に複写され、翻訳中のソースプログラムの修正がソー
スファイルl上の元のソースプログラムに反映され、本
実施例のコンパイラにおけるエラー修正方式の処理が終
了する。なお、ワークファイル3上のソースプログラム
の修正が行われなかった場合やステップ11で翻訳中止
を示す修正情報が入力された場合等には、上述のソース
プログラムの複写は行われない。
〔発明の効果〕
以上説明したように本発明は、コンパイラの翻訳処理の
途中で発生したエラーを直ちに修正し翻訳処理をm続す
ることにより、1つのエラーによってさらに多くのエラ
ーが誘発されるという事態や1つのエラーの発生により
別のエラーの検知ができなくなるという事態をなくすこ
とができ、翻訳終了後や翻訳打切り後にエラーメツセー
ジを参照しながらエディタ等でソースプログラムを修正
して再びコンパイラを起動させるという煩雑な処理を少
なくできるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、 第2図は第1図中のエラー修正手段の処理を示す流れ図
である。 図において、 1・・・ソースファイル、 2・・・ソースファイル管理手段、 3・・・ワークファイル、 4・・・翻訳手段、 5・・・翻訳情報、 6・・・エラー情報、 7・・・翻訳再開情報、 8・・・エラー修正手段、 9・・・端末である。

Claims (1)

  1. 【特許請求の範囲】 翻訳開始時にソースファイル上の翻訳対象のソースプロ
    グラムをワークファイルに複写し翻訳終了時にワークフ
    ァイル上のエラーが修正されたソースプログラムをソー
    スファイルに複写しソースファイルとそのソースファイ
    ルに対応するワークファイルとの翻訳処理における管理
    を行うソースファイル管理手段と、 このソースファイル管理手段により管理されているワー
    クファイル上のソースプログラムを翻訳し翻訳情報を作
    成しその翻訳処理においてエラーが発生した場合にその
    エラーに係るエラー情報を作成する翻訳手段と、 この翻訳手段により作成されたエラー情報等に基づくエ
    ラー解析を行い発生したエラーがその時点で修正の可能
    なエラーであると解析したならばそのエラーに対する利
    用者からの修正情報を入力し前記ソースファイル管理手
    段により管理されているワークファイル上のソースプロ
    グラムおよび前記翻訳手段により作成された翻訳情報を
    修正し前記翻訳手段が翻訳処理を再開するために必要な
    情報である翻訳再開情報を作成するエラー修正手段と、 を有することを特徴とするコンパイラにおけるエラー修
    正方式。
JP62308459A 1987-12-04 1987-12-04 コンパイラにおけるエラー修正方式 Pending JPH01149138A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62308459A JPH01149138A (ja) 1987-12-04 1987-12-04 コンパイラにおけるエラー修正方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62308459A JPH01149138A (ja) 1987-12-04 1987-12-04 コンパイラにおけるエラー修正方式

Publications (1)

Publication Number Publication Date
JPH01149138A true JPH01149138A (ja) 1989-06-12

Family

ID=17981277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62308459A Pending JPH01149138A (ja) 1987-12-04 1987-12-04 コンパイラにおけるエラー修正方式

Country Status (1)

Country Link
JP (1) JPH01149138A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018084939A (ja) * 2016-11-22 2018-05-31 富士通株式会社 修正支援プログラム、修正支援方法、修正支援装置、およびコンパイラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018084939A (ja) * 2016-11-22 2018-05-31 富士通株式会社 修正支援プログラム、修正支援方法、修正支援装置、およびコンパイラ

Similar Documents

Publication Publication Date Title
US5828890A (en) System for interrupting program operation when an out-of-range value is encountered to correct a data value
JPH01149138A (ja) コンパイラにおけるエラー修正方式
JPH0388011A (ja) 作業手順審査装置
JP2006293582A (ja) ジョブ自動リランシステム
JPH05197561A (ja) コンパイル方式
JP2970260B2 (ja) システム静的情報の相関チェック・修正装置
JP3114907B2 (ja) プログラマブルコントローラのシーケンスプログラムの変更方法
JPH06337780A (ja) ロードモジュールのパッチ修正装置および方法
JPS63228341A (ja) プログラム構文チエツク方式
JPS62251938A (ja) リストフアイル更新方式
JPH04257029A (ja) エディタ
JP2000081995A (ja) プログラム再実行方法
JPS593784B2 (ja) マイクロプログラム制御デ−タ処理装置
JPH0298732A (ja) 実行時エラー情報の原始プログラムファイルへの埋め込み方式
JPS63763A (ja) ワ−ドプロセツサの英文スペルチエツク方式
JPH064412A (ja) ローカルメモリ検査訂正回路
JPH0944347A (ja) エラー知識ベース作成装置
JPH07306801A (ja) プログラムテスト実行方式
JPS63641A (ja) 命令の入力方式
JPH07160352A (ja) プログラム実行方式
JPH06259242A (ja) 基本制御プログラムの修正方法および装置
JPH06149602A (ja) 演算処理装置
JPS5922147A (ja) 再試行処理のチエツク方式
JPH0390934A (ja) 文書に対する妥当性のチェック方式
JPH11345147A (ja) プログラム移行装置