JPH01307832A - コンパイラの原始プログラムの文法誤り自動修正方式 - Google Patents

コンパイラの原始プログラムの文法誤り自動修正方式

Info

Publication number
JPH01307832A
JPH01307832A JP63138487A JP13848788A JPH01307832A JP H01307832 A JPH01307832 A JP H01307832A JP 63138487 A JP63138487 A JP 63138487A JP 13848788 A JP13848788 A JP 13848788A JP H01307832 A JPH01307832 A JP H01307832A
Authority
JP
Japan
Prior art keywords
source program
text
correction
error
program
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
JP63138487A
Other languages
English (en)
Inventor
Tomoko Miyajima
宮島 友子
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 JP63138487A priority Critical patent/JPH01307832A/ja
Publication of JPH01307832A publication Critical patent/JPH01307832A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、原始プログラムを入力して目的プログラムを
作成するコンパイラの原始プログラムの文法誤シ自動修
正方式に関する。
〔従来の技術〕
従来のコンパイラは、原始プログラムを入力して1文法
に従って解析を行ない1文法誤りがあれば、その旨をコ
ンパイルリスト等に表示し、リカバリ可能な誤りであれ
ばリカバリをして、目的プログラムを作成するのみであ
り、原始プログラム上の誤まった記述を修正し、原始プ
ログラムを更新することはなかった。
〔発明が解決しようとする課題〕
上述した従来のコンパイラは、検出した文法誤りをコン
・ンイルリスト等に表示するのみであるため、利用者は
コンパイルリスト等を見、必要ならば1文法書などで正
しい記述と修正方法を確認した上で原始プログラムを修
正し、再コンパイルしなければならない。また、利用者
が修正しない場合は、毎回、コンパイルする度に同じ文
法誤りが検出されるという欠点がある。
〔課題を解決するための手段〕
本発明によるコンパイラの原始プログラムの文法誤シ自
動修正方式は。
局所的な誤シで文法的にリカバリ可能な文法誤りのエラ
ー番号と、その文法誤りに対する原始プログラム修正イ
メージ、および修正種別からなる自動修正イメージ対応
表と。
テキスト化された語彙を入力して2文法に従って解析を
行ない、検出した文法誤りのエラー番号が、自動修正イ
メージ対応表に存在するか否かを検索し、存在すれば、
原始プログラム上の修正すべき行・桁位置と原始プログ
ラム修正イメージ。
および修正種別からなる原始プログラム修正テキストを
作成し、原始プログラム修正テキスト格納ファイルに格
納する構文解析手段と。
原始プログラム格納ファイルから原始プログラムの各行
を入力し、原始プログラム修正テキスト格納ファイルか
ら原始プログラム修正テキストを入力し、原始プログラ
ム修正テキストの修正すべき行・桁位置で示される原始
プログラム上の語彙を原始プログラム修正テキストの修
正イメー・ゾと修正種別により修正し、原始グロダラム
格納ファイルに書きもどす原始プログラム修正手段と金
有している。
〔実施例〕
以下9本発明の実施例について図面を参照して説明する
第1図を参照すると1本発明の一実施例は、原始プログ
ラムが格納された原始プログラム格納ファイル6を有す
る。原始プログラム入力手段1は。
原始プログラム格納ファイル6より原始プログラムを入
力して9語葉に分解して2行・桁位置2語葉から成る第
1の中間テキストを作成して、第1の中間テキスト格納
ファイル7に格納する。
構文解析手段2は、第1の中間テキスト格納ファイル7
より第1の中間テキストを入力して9文法に従って解析
を行ない、検出した文法誤りのエラー情報をコンパイル
エラー情報格納ファイル9に格納しながら、後述する自
動修正イメージ対応表8を参照して、検出したエラー番
号が存在すれば、原始プログラム上の修正すべき行・桁
位置と。
原始プログラム修正イメージと修正種別から成る原始プ
ログラム修正テキストを原始プログラム修正テキスト格
納ファイル10に格納し、目的プログラム作成のために
必要な第2の中間テキストを第2の中間テキスト格納フ
ァイル11に格納する。
コンパイルリスト出力手段3は、コンパイルエラー情報
格納ファイル9からコン・母イルエラー情報を入力し、
原始プログラム格納ファイル6から原始プログラムを入
力し、原始プログラムリスト上に検出した文法誤りの内
容と、自動修正されるか否かを示すエラーメツセージを
表示したコンパイルリスト12を出力する。
目的プログラム作成手段4は、第2の中間テキストl格
納ファイル11より第2の中間テキストを入力し、目的
プログラム格納ファイル13に目的プログラムを格納す
る。
原始プログラム修正手段5は、原始プログラム修正テキ
スト格納ファイル10より、原始プログラム上の修正す
べき行、カラム位置と、原始プログラム修正イメージと
修正種別から成る原始プログラム修正テキストを入力し
て、原始プログラム格納ファイル6に格納された原始プ
ログラムを修正し、修正結果を原始プログラム格納ファ
イル6に書きもどす。
第2図は、自動修正イメージ対応表の構成袈素を示し、
自動修正可能な文法誤りのエラー番号21と、その文法
誤りに対する修正イメージ22゜および修正種別23か
ら成る。
次に本実施例の動作について1図面を参照して詳細に説
明する。
第3図を参照すると、第1の中間テキスト格納ファイル
7に格納されている第1の中間テキストの一部はデータ
定義の記述31〜40から成る。
第4図を参照すると、構文解析手段2は、まず。
第1の中間テキストを入力しくステップ41)。
第1の中間テキストがなければ終了する。第1の中間テ
キストがあれば1文法に従って解析しくステップ43)
、誤まりがあるか否かを判定しくステップ44)、なけ
れば第2の中間テキストを作成し、第2の中間テキスト
格納ファイル11に格納する(ステップ49.50)。
一方、誤まりがあれば(ステップ44のある)、検出し
たエラー番号をコン・母イルエラー情報格納ファイル9
へ格納する(ステラ7°45)。そして、検出したエラ
ーが自動修正可能なエラーか否かを判定し、すなわち検
出したエラー番号が自動修正イメーゾ対応表8にあるか
否かを判定しくステラf46)、あれば原始グロダラム
修正テキストを作成し、原始グロダラム修正テキスト格
納ファイル10に格納しくステップ47.48)、正し
く記述されたとみなして第2の中間テキストを作成し、
第2の中間テキスト格納ファイル11に格納する(ステ
ップ49.50)。
第3図に示されたデータ定義の記述31〜40を構文解
析手段2により文法に従って解析すると。
第1の中間テキスト32に対して、エラー番号7「′″
5ECTION″が正しくない。自動修正される(この
語と置換される)」の文法誤りが検出される。エラー番
号7は、自動修正イメージ対応表8に存在するため、ス
テップ47により原始プログラム修正テキストが作成さ
れる。
第5図を参照すると、原始プログラム修正テキスト51
は、第1の中間テキスト32から得た修正すべき行・桁
(10行、24桁め)と、修正、イメーゾ“5ECTI
ON”および修正種別6置換”から成る。
同様に、第1の中間テキスト35に対して、エラー番号
5「”、”がない。自動修正される(この語の後に追加
される)」の文法誤りが検出され。
原始グロダラム修正テキスト52が作成される。
第5図を参照すると、原始プログラム修正テキスト52
は第1の中間テキスト35から得た修正すべき行・桁(
11行・12桁め)と修正イメーゾ6.′および修正種
別6追加”から成る。
第6図を参照すると、構文解析手段2によりコンバイル
エラー情報格納ファイル9に格納されたコンノにイルエ
ラー情報61は、第1の中間テキスト32から得たエラ
ア検出箇所(10行、24桁め〕と、エラー番号7.「
5ECTION ”が正しくない。自動修正される(こ
の語と置換される)」のエラーメツセージから成る。同
じく、コンノやイルエラー情報62は、第1の中間テキ
スト35から得た工2−検出箇所〔11行、12桁め〕
と。
エラー番号5 r ”、”がない。自動修正される(こ
の語の後に追加される)」のエラーメツセージから成る
コン)J?イルリスト出力手段3は、原始プログラム格
納ファイル6より原始プログラムを入力し。
コンバイルエラー情報格納ファイル9よりコンパイルエ
ラー情報を入力して原始プログラムリスト上に検出した
エラーメツセージを表示したコンパイルリスト12を出
力する。
第7図を参照すると、コンパイルリスト出力手段3によ
り出力されたコンパイルリストア1は。
エラーを検出した行の次にエラーメツセージが表示され
ている。
目的プログラム作成手段4は、第2の中間テキスト格納
ファイル11から第2の中間テキストを入力して、目的
プログラムを作成し、目的プログラム格納ファイル13
に格納す・る。
第8図を参照すると、原始プ龜グラム修正手段5は、ま
ず原始プログラムの1行分を入力しくステップ81)、
原始プログラムがなければ終了する。あれば9次に原始
プログラム修正テキストを入力しくステップ83)、な
ければ終了する。あれば、入力した原始プログラムの行
番号と原始プログラム修正テキストの行番号を比較しく
ステップ85)2等しくなければ、原始プログラムの次
の1行を入力しくステラf903)、等しくなるまで、
繰り返す。等しければ9次に修正種別を判定しくステッ
プ86)、”追加”であれは、原始プログラム修正テキ
ストの修正箇所のカラム位置にある語の終了に原始プロ
グラム修正テキストの修正イメージを追加し、その語の
後了に続く記述をずらした行を作成する〔ステップ87
〕。修正種別が”置換”であれば、原始プログラム修正
テキストの修正箇所のカラム位置にある語を原始プログ
ラム修正テキストの修正イメージで置換し、その語の後
了に続く記述をずらした行を作成する(ステップ88)
。次に、原始プログラム修正テキストを入力しくステッ
プ89)、原始プログラム修正テキストがなければ終了
する。あれば、原始プログラムの行番号と原始プログラ
ム修正テキストの行番号を比較しくステップ901 )
、等しければ修正種別による行の修正を繰り返す。等し
くなければ、修正した原始プログラムの1行全原始プロ
グラム格納ファイル内の元の1行と置き換える(ステッ
プ902)。以上の処理を原始プログラム修正テキスト
がなくなるまで繰り返す。
第9図を参照すると、原始プログラムの10行め91は
、原始プログラム修正手段5により、原始プログラム修
正テキスト51(第5図)とつき合わされて、修正後の
行93と置きかえられる。
原始プログラムの11行め92は、原始プログラム修正
テキスト52(第5図)とつき合わされて。
修正後の行94と置きかえられる。
〔発明の効果〕
以上説明したように9本発明は、コンパイラが。
文法に従って解析を行ない9文法誤りを検出した際、自
動修正可能な文法誤りのエラー番号と、その文法誤りに
対する修正イメーゾおよび修正箇所から成る自動修正イ
メーノ対応衣を使って9文法誤シを検出した語彙に対す
る原始プログラム修正テキストを作成しておき、コン/
IPイラが1文法誤りを検出した箇所を自動的に修正す
ることにより。
プログラムの生産性が向上するという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例によるコンパイラの原始プロ
グラムの文法誤り自動修正方式の構成を示すブロック図
、第2図は自動修正イメージ対応人の構成を示す図、第
3図は第1の中間テキスト格納ファイルに格納された第
1の中間テキストの一部を示す図、第4図は構文解析手
段の処理の流れを示す図、第5図は原始プログラム修正
テキストの構成を示す図、第6図はコン・やイルエラー
情報の構成を示す図、第7図はコン・母イルリストの概
畳を示す図、第8図は原始プログラム修正手段の処理の
流れを示す図、第9図は文法誤りが検出された元の原始
プログラムの行と修正された原始プログラムの行を示す
図である。 l・・・原始プログラム入力手段、2・・・構文解析手
段、3・・・コン/?イルリスト出力手段、4・・・目
的プログラム作成手段、5・・・原始プログラム修正手
段。 6・・・原始7’oグラム格納フアイル、7・・・第1
の中間テキスト格納ファイル、8・・・自動修正イメー
ジ対応表、9・・・コンパイルエラー情報格納ファイル
。 10・・・原始プログラム修正テキスト格納ファイル。 11・・・第2の中間テキスト格納ファイル、12・・
・コン7やイルリスト、13・・・目的プログラム格納
ファイル。 第2図 第7図 第9図

Claims (1)

  1. 【特許請求の範囲】 1、原始プログラムを入力して、文法に従つて解析を行
    ない、文法誤りがあれば、その旨をコンパイルリストに
    表示し、文法的にリカバリ可能な誤りがあれば、正しく
    書かれたとみなして目的プログラムを作成するコンパイ
    ラにおいて、 局所的で、文法的にリカバリ可能な文法誤りのエラー番
    号と、その文法誤りに対する原始プログラム修正イメー
    ジ、および修正種別から成る自動修正イメージ対応表と
    、 あらかじめテキスト化された語彙を入力して、文法に従
    って解析を行ない、検出した文法誤りのエラー番号が、
    上記自動修正イメージ対応表に存在すれば、原始プログ
    ラム上の修正すべき行・桁位置、原始プログラム修正イ
    メージおよび修正種別から成る原始プログラム修正テキ
    ストを作成し、原始プログラム修正テキスト格納ファイ
    ルに格納する構文解析手段と、 原始プログラム格納ファイルから原始プログラムの各行
    を入力し、上記原始プログラム修正テキスト格納ファイ
    ルから原始プログラム修正テキストを入力し、原始プロ
    グラム修正テキストの修正すべき行・桁位置で示される
    原始プログラム上の語彙を原始プログラム修正テキスト
    の修正イメージと、修正種別により修正し、上記原始プ
    ログラム格納ファイルに書きもどす原始プログラム修正
    手段とを 有することを特徴とするコンパイラの原始プログラムの
    文法誤り自動修正方式。
JP63138487A 1988-06-07 1988-06-07 コンパイラの原始プログラムの文法誤り自動修正方式 Pending JPH01307832A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63138487A JPH01307832A (ja) 1988-06-07 1988-06-07 コンパイラの原始プログラムの文法誤り自動修正方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63138487A JPH01307832A (ja) 1988-06-07 1988-06-07 コンパイラの原始プログラムの文法誤り自動修正方式

Publications (1)

Publication Number Publication Date
JPH01307832A true JPH01307832A (ja) 1989-12-12

Family

ID=15223245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63138487A Pending JPH01307832A (ja) 1988-06-07 1988-06-07 コンパイラの原始プログラムの文法誤り自動修正方式

Country Status (1)

Country Link
JP (1) JPH01307832A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160494A (ja) * 1993-12-08 1995-06-23 Nec Corp コーディング時の入力文字列修正装置
JPH10133883A (ja) * 1996-10-31 1998-05-22 Nec Corp コンパイル装置
JPH1185496A (ja) * 1997-09-03 1999-03-30 Fujitsu Ltd オブジェクト指向プログラム作成支援装置
JP2010067103A (ja) * 2008-09-12 2010-03-25 Nec Corp プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム
US10402304B2 (en) 2016-11-22 2019-09-03 Fujitsu Limited Non-transitory computer-readable storage medium, correction support method and correction support device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160494A (ja) * 1993-12-08 1995-06-23 Nec Corp コーディング時の入力文字列修正装置
JPH10133883A (ja) * 1996-10-31 1998-05-22 Nec Corp コンパイル装置
JPH1185496A (ja) * 1997-09-03 1999-03-30 Fujitsu Ltd オブジェクト指向プログラム作成支援装置
JP2010067103A (ja) * 2008-09-12 2010-03-25 Nec Corp プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム
US10402304B2 (en) 2016-11-22 2019-09-03 Fujitsu Limited Non-transitory computer-readable storage medium, correction support method and correction support device

Similar Documents

Publication Publication Date Title
Lammel et al. Cracking the 500-language problem
JPH01307832A (ja) コンパイラの原始プログラムの文法誤り自動修正方式
JP5369565B2 (ja) プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム
JP2014191738A (ja) ソースプログラムのプログラミング言語変換装置
Kulkarni et al. Automatic Syntax Error Correction
JPS5922140A (ja) 対話型コンパイル方式
JPH1185536A (ja) 原始プログラムのエラー自動修正装置及び方法
JP2626174B2 (ja) 翻訳支援装置
JPH0695889A (ja) プログラム修正方式
JPH04148336A (ja) Fortranプログラム文法解析方式
JPS59231649A (ja) コンパイルリスト出力処理方式
JPH06103054A (ja) コーディング用チェックシート生成方式
JP3063297B2 (ja) 言語処理プログラム作成装置
JPH05158667A (ja) プログラム保守支援装置
JPH04101229A (ja) コンパイルエラー表示制御方式
JPH04257029A (ja) エディタ
JPH0484261A (ja) 誤り表記検索方式
JPH0259936A (ja) カーソル移動処理方式
JPH036622A (ja) コンパイルリスト出力装置
JPH0266631A (ja) 日本語名標による番地対応表出力方式
JPH04270422A (ja) プリコンパイル処理方式
JPH03294927A (ja) 電子計算機のスクリーンエディタ
JPS63100543A (ja) プログラム・デバツグ表示方法及びプログラム・デバッグ支援装置
JPH09293074A (ja) 文書作成装置及び誤入力補正方法
JPH0883170A (ja) プログラム変換装置