JPH0695889A - Program correction system - Google Patents
Program correction systemInfo
- Publication number
- JPH0695889A JPH0695889A JP32928491A JP32928491A JPH0695889A JP H0695889 A JPH0695889 A JP H0695889A JP 32928491 A JP32928491 A JP 32928491A JP 32928491 A JP32928491 A JP 32928491A JP H0695889 A JPH0695889 A JP H0695889A
- Authority
- JP
- Japan
- Prior art keywords
- correction
- syntax
- source program
- grammatical
- 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.)
- Withdrawn
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、プログラム修正方式に
関し、特に、原始プログラムの文法解析を行い、原始プ
ログラム中に文法誤りを検出した際に、プログラムの修
正を行うプログラム修正方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program correction method, and more particularly to a program correction method for correcting a program when a grammatical analysis of the source program is detected and a grammatical error is detected in the source program.
【0002】[0002]
【従来の技術】従来のプログラム修正方式は、プログラ
ム開発作業に際して原始プログラムの文法誤りを修正す
る場合には、コンパイラや文法解析ツールを使用して、
文法誤りの内容や位置をエラーリスト等に出力した後
に、エディタ等を使用して原始プログラムの修正を行っ
ていた。2. Description of the Related Art The conventional program correction method uses a compiler or a grammar analysis tool to correct a grammatical error in a source program during program development work.
After outputting the contents and position of grammatical errors to the error list, etc., the source program was modified using an editor.
【0003】[0003]
【発明が解決しようとする課題】上述した従来のプログ
ラム修正方式は、あるコンピュータシステムから他のコ
ンピュータシステムへ原始プログラムを移植しようとし
た場合に、その原始プログラムには同一種類の文法誤り
が多数含まれている場合が多いので、同一種類の文法誤
りが複数件検出されていても、その都度エディタ上で原
始プログラムの修正を行わなければならないという欠点
を有している。In the above-mentioned conventional program correction method, when a source program is to be ported from one computer system to another computer system, the source program contains many grammatical errors of the same type. In many cases, even if multiple grammatical errors of the same type are detected, the source program must be modified on the editor each time.
【0004】そこで、本発明の目的は、1度ある文法誤
りに対して原始プログラムの修正を行えば、2度目以降
に検出された同一種類の文法誤りを、1度目の修正情報
を基にして自動修正することによって、原始プログラム
の修正の工数を削減することができるプログラム修正方
式を提供することにある。Therefore, an object of the present invention is to correct grammatical errors of the same type detected after the second time based on the correction information of the first time if the source program is corrected for a certain grammatical error. An object of the present invention is to provide a program modification method that can reduce the number of man-hours for modifying a source program by automatically modifying it.
【0005】[0005]
【課題を解決するための手段】本発明のプログラム修正
方式は、原始プログラムの文法解析を行い、原始プログ
ラム中に文法誤りを検出したときに、表示入力装置を使
用して対話形式で原始プログラムの修正を行うプログラ
ム修正方式において、文法チェックを行う原始プログラ
ムを格納する原始プログラムファイルと、文法チェック
を実行して文法誤りをすべて修正した原始プログラムを
格納する修正プログラムファイルと、前記原始プログラ
ムファイルおよび前記修正プログラムファイルの入出力
の制御を行う入出力手段と、原始プログラムの文法解析
を行う文法解析手段と、修正情報を記録する修正情報登
録手段および登録済みの修正情報から正しい構文を生成
する構文生成手段を含むことにより、前記文法解析手段
で文法誤りを検出した際に構文の修正を行う構文修正手
段と、前記構文修正手段で修正した修正情報を格納する
修正履歴テーブルと、を備えて構成されている。According to the program modification method of the present invention, a grammatical analysis of a source program is performed, and when a grammatical error is detected in the source program, a display input device is used to interactively display the source program. In a program correction method for making a correction, a source program file for storing a source program for performing a grammar check, a source program file for storing a source program for executing a grammar check and correcting all grammatical errors, the source program file and the Input / output means for controlling input / output of the correction program file, grammar analysis means for grammatical analysis of the source program, correction information registration means for recording correction information, and syntax generation for generating correct syntax from registered correction information Means for detecting grammatical errors by the grammar analyzing means Is configured by including a syntax modification means for correcting the syntax, and a correction history table for storing correction information modified by the syntax correction means when the.
【0006】[0006]
【実施例】次に、本発明の実施例について図面を参照し
て説明する。Embodiments of the present invention will now be described with reference to the drawings.
【0007】図1は、本発明のプログラム修正方式の一
実施例を示すブロック図である。図1に示すように、本
実施例は、文法解析の対象である原始プログラムファイ
ル1、文法誤りをすべて修正し終えた修正プログラムを
格納する修正プログラムファイル2、原始プログラムフ
ァイル1と修正プログラムファイル2との入出力の制御
を行う入出力手段3、原始プログラムの文法解析を行う
文法解析手段4、誤りを含む構文をどのように修正した
かを解析して記録する修正情報登録手段51および1度
登録された修正情報を基にして同一種類の構文誤りを含
む構文の修正を行う構文修正手段52を有して文法誤り
を含む構文の修正を行う構文修正手段5、構文誤りの修
正情報を格納する修正履歴テーブル6、表示入力装置7
から構成されている。FIG. 1 is a block diagram showing an embodiment of a program correction system of the present invention. As shown in FIG. 1, in this embodiment, a source program file 1 which is a target of grammar analysis, a correction program file 2 for storing a correction program in which all grammatical errors have been corrected, a source program file 1 and a correction program file 2 are stored. Input / output means 3 for controlling input / output with, grammar analysis means 4 for performing grammatical analysis of a source program, correction information registration means 51 for analyzing and recording how a syntax including an error is corrected, and once. The syntax correction means 52 for correcting the syntax including the same type of syntax error based on the registered correction information, and the syntax correction means 5 for correcting the syntax including the syntax error, and the correction information of the syntax error are stored. Correction history table 6, display input device 7
It consists of
【0008】まず、原始プログラムファイル1は、入出
力手段3によって1文づつ読み込まれ、この入力文は、
文法解析手段4によって文法解析される。そして、文法
に誤りがない場合には、そのまま修正プログラムファイ
ル2に出力される。また、文法誤りを検出した場合に
は、構文修正手段5が構文の修正を行う。構文修正手段
5は、修正履歴テーブル8を検索して、それまでに同一
種類の構文誤りに関する情報が登録されているかどうか
を検索する。First, the source program file 1 is read by the input / output means 3 one sentence at a time.
The grammar analysis means 4 performs grammatical analysis. Then, if there is no grammatical error, it is directly output to the correction program file 2. When a grammatical error is detected, the syntax correction means 5 corrects the syntax. The syntax correction unit 5 searches the correction history table 8 to see if information about the same type of syntax error has been registered by then.
【0009】そして、同一種類の誤りがない場合には、
修正情報登録手段51を呼び出す。修正情報登録手段5
1は、表示入力装置7を用いて正しい構文への修正指示
を入力し、この修正指示によりどのような修正を行った
かを示す修正情報を修正履歴テーブル6に登録する。一
方、修正履歴テーブル6に入力文と同一種類の誤りの情
報が登録されている場合には、構文生成手段52を呼び
出して修正履歴テーブル6に登録されている修正情報か
ら正しい構文を生成する。If there is no error of the same type,
The correction information registration means 51 is called. Correction information registration means 5
1 inputs a correction instruction for correct syntax using the display input device 7, and registers correction information indicating what kind of correction is made by the correction instruction in the correction history table 6. On the other hand, when the same type of error information as the input sentence is registered in the correction history table 6, the syntax generation unit 52 is called to generate the correct syntax from the correction information registered in the correction history table 6.
【0010】図2は、入出力手段3の動作の一例を示す
流れ図である。図2に示すように、入出力手段3は、原
始プログラムファイル1から1文ずつ入力し(ステップ
101)、原始プログラムファイル1が終了するまで
(ステップ102)、処理を繰り返す。そして、入力文
は、文法解析手段4によって文法解析される(ステップ
103)。FIG. 2 is a flow chart showing an example of the operation of the input / output means 3. As shown in FIG. 2, the input / output unit 3 inputs sentence by sentence from the source program file 1 (step 101) and repeats the process until the source program file 1 is completed (step 102). Then, the input sentence is grammatically analyzed by the grammar analyzing means 4 (step 103).
【0011】そして、文法解析の結果、文法誤りがない
場合には(ステップ104)、入力文をそのまま修正プ
ログラムファイル2へ出力する(ステップ106)。文
法誤りがある場合には、構文修正手段5を呼び出し、誤
りを含む文に対して修正処理を行って(ステップ10
5)から、修正プログラムファイル2へ出力する(ステ
ップ106)。When there is no grammatical error as a result of the grammatical analysis (step 104), the input sentence is output as it is to the correction program file 2 (step 106). If there is a grammatical error, the syntax correcting means 5 is called to correct the sentence including the error (step 10).
From 5), it outputs to the correction program file 2 (step 106).
【0012】図3は、文法解析手段4の動作の一例を示
す流れ図である。図3に示すように、文法解析手段4
は、入力した文を文法解析して一つの文を一連のトーク
ン列に分解する(ステップ201)。FIG. 3 is a flow chart showing an example of the operation of the grammar analyzing means 4. As shown in FIG. 3, the grammar analysis means 4
Grammatically analyzes the input sentence and decomposes one sentence into a series of token strings (step 201).
【0013】図4は、一つの文をトークンに分解した一
例を示す図である。図4に示すように、一つのトークン
は、トークンの種類などの情報を持つトークン識別子、
トークンに対応する文字列へのポインタ、次のトークン
へのポインタ、および修正履歴テーブル6へ登録する際
に使用する同意トークンへのポインタを有している。FIG. 4 is a diagram showing an example in which one sentence is decomposed into tokens. As shown in FIG. 4, one token is a token identifier having information such as a token type,
It has a pointer to the character string corresponding to the token, a pointer to the next token, and a pointer to the consent token used when registering in the correction history table 6.
【0014】図5は、構文修正手段5の動作の一例を示
す流れ図である。図5に示すように、構文修正手段5
は、まず、修正履歴テーブル6を検索する(ステップ3
01)。そして、修正履歴テーブル6内に修正情報が登
録されていないときには(ステップ302)、修正情報
登録手段51を呼び出し(ステップ303)、修正情報
がすでに登録済であれば、構文生成手段52を読み出す
(ステップ304)。FIG. 5 is a flow chart showing an example of the operation of the syntax correction means 5. As shown in FIG. 5, the syntax correction means 5
First searches the correction history table 6 (step 3
01). Then, when the correction information is not registered in the correction history table 6 (step 302), the correction information registration means 51 is called (step 303), and when the correction information is already registered, the syntax generation means 52 is read ( Step 304).
【0015】図6は、修正情報登録手段51の動作の一
例を示す流れ図である。図6に示すように、修正情報登
録手段51は、まず、入力文を表示入力装置7に表示し
(ステップ401)、修正指示を入力して編集する(ス
テップ402)。入力した修正指示を文法解析手段4に
よって解析し(ステップ403)、文法誤りがなくなる
まで(ステップ404)繰り返す。文法誤りのない修正
情報が生成されたら、修正履歴テーブル6へ登録する
(ステップ405)。FIG. 6 is a flow chart showing an example of the operation of the correction information registration means 51. As shown in FIG. 6, the correction information registration means 51 first displays the input sentence on the display / input device 7 (step 401), and inputs and edits the correction instruction (step 402). The input correction instruction is analyzed by the grammar analysis means 4 (step 403) and repeated until there is no grammatical error (step 404). When the correction information having no grammatical error is generated, it is registered in the correction history table 6 (step 405).
【0016】図7は、ステップ402における修正指示
の編集例を示す図である。図7に示すように、修正情報
登録手段51は、修正指示により入力文の各トークンに
対応する文字列に対して、それぞれ同じ意味を持つ文字
列が対応するように編集する。FIG. 7 is a diagram showing an example of editing the correction instruction in step 402. As shown in FIG. 7, the correction information registration unit 51 edits a character string corresponding to each token of the input sentence so that the character strings having the same meaning correspond to each other according to the correction instruction.
【0017】図8は、修正履歴テーブル6への登録の一
例を示す図である。図8に示すように、修正履歴テーブ
ル6は、構文識別テーブルと、入力文に関するトークン
列すなわち旧トークン列と、修正後のトークン列すなわ
ち新トークン列から構成される。構文識別テーブルは、
入力文の種類を表す構文識別子と、旧トークン列および
新トークン列に対するポインタとを持つ。旧トークン列
および新トークン列は、ステップ402における文字列
の対応に従って修正指示から入力文のトークンへポイン
タを結合する。FIG. 8 is a diagram showing an example of registration in the correction history table 6. As shown in FIG. 8, the correction history table 6 includes a syntax identification table, a token string related to an input sentence, that is, an old token string, and a token string after correction, that is, a new token string. The syntax identification table is
It has a syntax identifier indicating the type of the input sentence and pointers to the old token sequence and the new token sequence. The old token string and the new token string combine the pointers from the modification instruction to the tokens of the input sentence according to the correspondence of the character strings in step 402.
【0018】図9は、構文生成手段52の動作を一例を
示す流れ図である。図9に示すように、構文生成手段5
2は、すでに修正履歴テーブル6に登録済の旧トークン
列と同じトークン列と同じトークン列の構造を持つ構文
が再び入力されたときに、その修正情報を使用して正し
い構文を生成する。修正を行う入力文は、あらかじめ文
法解析手段4によってトークンに分解され、旧トークン
列と1対1にポインタを結合する(ステップ501)。
次に、新トークン列を順にたどり、修正構文を組み立て
る(ステップ502)。新トークン列の最後のトークン
まで処理を行い、すべて組み終えたら修正構文を表示入
力装置7に表示して(ステップ503)、プログラム開
発者に確認を促す。FIG. 9 is a flow chart showing an example of the operation of the syntax generating means 52. As shown in FIG. 9, the syntax generation means 5
In No. 2, when the syntax having the same token string and the same token string structure as the old token string already registered in the modification history table 6 is input again, the correct syntax is generated using the modification information. The input sentence to be corrected is previously decomposed into tokens by the grammar analyzing means 4, and the pointer is combined with the old token string in a one-to-one correspondence (step 501).
Next, the new token sequence is sequentially followed to assemble the modified syntax (step 502). The processing is performed up to the last token of the new token string, and when all the tokens are assembled, the corrected syntax is displayed on the display / input device 7 (step 503) to prompt the program developer to confirm.
【0019】図10は、ステップ502における修正構
文の組み立ての一例を示す図である。図10に示すよう
に、組み立て方法は、まず、新トークン中の同意トーク
ンへのポインタを参照し、トークン識別子tkP−N1
のように、同意トークンへのポインタが不定状態の場合
には、そのトークンに結合されている文字列“WRIT
E”を修正構文領域に格納する。トークン識別子tkN
−3のように、同意トークンへのポインタが有効となっ
ている場合には、旧トークンの同意トークンポインタを
指すトークン中の同意トークンポインタが指すトークン
に示す文字列“10”を修正構文領域へ格納する。この
ようにして新トークンの最後まで処理を行い、修正構文
を組み立てる。FIG. 10 is a diagram showing an example of assembling the modified syntax in step 502. As shown in FIG. 10, in the assembling method, first, the pointer to the consent token in the new token is referred to, and the token identifier tkP-N1.
If the pointer to the consent token is in an indeterminate state, as in "," the string "WRIT" linked to the token
Store E ″ in the modified syntax area. Token identifier tkN
If the pointer to the consent token is valid as in -3, the character string "10" indicated in the token pointed to by the consent token pointer in the tokens pointing to the consent token pointer of the old token is moved to the modified syntax area. Store. In this way, the processing is performed to the end of the new token, and the modified syntax is assembled.
【0020】[0020]
【発明の効果】以上説明したように、本発明のプログラ
ム修正方式は、原始プログラムの文法誤りの修正作業に
おいて、特に、あるコンピュータシステムから言語使用
の異なる他のコンピュータシステムに原始プログラムを
移植する場合のように、同じ構文誤りが多数含まれる原
始プログラムを修正する場合には、最初に検出した文法
誤りを修正すれば、2度目以降に現れた構文誤りを自動
的に修正することによって、原始プログラムの修正工数
を大幅に削減することができるという効果を有してい
る。As described above, according to the program correction method of the present invention, in the work of correcting a grammatical error in a source program, especially when the source program is ported from one computer system to another computer system having a different language usage. In the case of modifying a source program containing a large number of the same syntax errors as described above, if the first detected grammatical error is corrected, the syntax error appearing after the second time is automatically corrected. This has the effect of significantly reducing the correction man-hours.
【図1】本発明のプログラム修正方式の一実施例を示す
ブロック図である。FIG. 1 is a block diagram showing an embodiment of a program correction system of the present invention.
【図2】入出力手段3の動作の一例を示す流れ図であ
る。FIG. 2 is a flowchart showing an example of the operation of the input / output unit 3.
【図3】文法解析手段4の動作の一例を示す流れ図であ
る。FIG. 3 is a flowchart showing an example of the operation of the grammar analysis means 4.
【図4】一つの文をトークン列に分解した一例を示す図
である。FIG. 4 is a diagram showing an example in which one sentence is decomposed into token strings.
【図5】構文修正手段5の動作の一例を示す流れ図であ
る。5 is a flowchart showing an example of the operation of the syntax correction means 5. FIG.
【図6】修正情報登録手段51の動作の一例を示す流れ
図である。FIG. 6 is a flowchart showing an example of the operation of the correction information registration means 51.
【図7】ステップ402における修正指示の編集列を示
す図である。FIG. 7 is a diagram showing an edit sequence of correction instructions in step 402.
【図8】修正履歴テーブル6への登録の一例を示す図で
ある。FIG. 8 is a diagram showing an example of registration in a correction history table 6.
【図9】構文生成手段7の動作の一例を示す流れ図であ
る。9 is a flowchart showing an example of the operation of the syntax generation means 7. FIG.
【図10】ステップ502における修正構文の組み立て
の一例を示す図である。FIG. 10 is a diagram showing an example of assembling a modified syntax in step 502.
1 原始プログラムファイル 2 修正プログラムファイル 3 入出力手段 4 文法解析手段 5 構文修正手段 6 修正履歴テーブル 7 表示入力装置 51 修正情報登録手段 52 構文生成手段 DESCRIPTION OF SYMBOLS 1 source program file 2 correction program file 3 input / output means 4 grammar analysis means 5 syntax correction means 6 correction history table 7 display / input device 51 correction information registration means 52 syntax generation means
Claims (1)
プログラム中に文法誤りを検出したときに、表示入力装
置を使用して対話形式で原始プログラムの修正を行うプ
ログラム修正方式において、 文法チェックを行う原始プログラムを格納する原始プロ
グラムファイルと、 文法チェックを実行して文法誤りをすべて修正した原始
プログラムを格納する修正プログラムファイルと、 前記原始プログラムファイルおよび前記修正プログラム
ファイルの入出力の制御を行う入出力手段と、 原始プログラムの文法解析を行う文法解析手段と、 修正情報を記録する修正情報登録手段および登録済みの
修正情報から正しい構文を生成する構文生成手段を含む
ことにより、前記文法解析手段で文法誤りを検出した際
に構文の修正を行う構文修正手段と、 前記構文修正手段で修正した修正情報を格納する修正履
歴テーブルと、 を備えることを特徴とするプログラム修正方式。1. A grammar check is performed in a program modification method in which a grammatical analysis of a source program is performed, and when a grammatical error is detected in the source program, a source input program is used to interactively modify the source program. A source program file that stores the source program, a source program file that stores the source program in which all grammatical errors have been corrected by executing a grammar check, and an input / output that controls input / output of the source program file and the source program file. Means, a grammar analysis means for performing grammatical analysis of the source program, a modification information registration means for recording modification information, and a syntax generation means for generating a correct syntax from the registered modification information. Syntax correction means for correcting the syntax when an error is detected, and A correction history table that stores the correction information corrected by the syntax correction means, and a program correction method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32928491A JPH0695889A (en) | 1991-12-13 | 1991-12-13 | Program correction system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32928491A JPH0695889A (en) | 1991-12-13 | 1991-12-13 | Program correction system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0695889A true JPH0695889A (en) | 1994-04-08 |
Family
ID=18219737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32928491A Withdrawn JPH0695889A (en) | 1991-12-13 | 1991-12-13 | Program correction system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0695889A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185536A (en) * | 1997-09-12 | 1999-03-30 | Nec Corp | Device and method for automatically correcting error of source program |
-
1991
- 1991-12-13 JP JP32928491A patent/JPH0695889A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185536A (en) * | 1997-09-12 | 1999-03-30 | Nec Corp | Device and method for automatically correcting error of source program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0695889A (en) | Program correction system | |
JP3337763B2 (en) | Drawing description generator | |
JPH01307832A (en) | System for automatically correcting grammatical error of source program in compiler | |
JPS5922140A (en) | Interactive compiling system | |
JPH1185536A (en) | Device and method for automatically correcting error of source program | |
JPH10289123A (en) | Optimization code debugging system | |
JPS59231649A (en) | Output processing system for compiled program list | |
JP3031767B2 (en) | Natural language processor | |
JP2908184B2 (en) | Text file editing method and apparatus | |
JPH04101229A (en) | Compile error display controlling system | |
JP4458491B2 (en) | Test command file creation system, method and program | |
JPH0540638A (en) | Vocabulary analyzing/editing system | |
JPH0644081A (en) | System for outputting error message of compiler | |
JPH0546373A (en) | Flow chart generation processor | |
JPH05108372A (en) | System for outputting compiler optimization processing content | |
JPH07191858A (en) | Simulation interpreter | |
JPH04273328A (en) | Generation system for cross-reference list | |
JPH04322326A (en) | Program correcting system | |
JPH05127888A (en) | Automatic build-in system for message output function | |
JPH0498539A (en) | Program information editing device | |
JPH0511989A (en) | Parameter analyzing device | |
JPH04317112A (en) | Error message treatment of man-machine-interface | |
JPH036622A (en) | Compile list output device | |
JPH0333936A (en) | Debug supporting compilation system for source program including input/output text | |
JPH0259936A (en) | Cursor movement processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990311 |