JPH05313878A - プログラムのコーディング支援方式 - Google Patents

プログラムのコーディング支援方式

Info

Publication number
JPH05313878A
JPH05313878A JP4141941A JP14194192A JPH05313878A JP H05313878 A JPH05313878 A JP H05313878A JP 4141941 A JP4141941 A JP 4141941A JP 14194192 A JP14194192 A JP 14194192A JP H05313878 A JPH05313878 A JP H05313878A
Authority
JP
Japan
Prior art keywords
coding
variable
identifier
reserved word
buffer
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
JP4141941A
Other languages
English (en)
Inventor
Masaya Sakai
昌也 酒井
Hitoshi Sato
均 佐藤
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.)
NIIGATA NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Niigata Ltd
Original Assignee
NIIGATA NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Niigata Ltd
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 NIIGATA NIPPON DENKI SOFTWARE KK, NEC Corp, NEC Software Niigata Ltd filed Critical NIIGATA NIPPON DENKI SOFTWARE KK
Priority to JP4141941A priority Critical patent/JPH05313878A/ja
Publication of JPH05313878A publication Critical patent/JPH05313878A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 プログラム開発のコーディング中の誤りを、
リアルタイムに検出し、その場で容易に修正できるよう
にするもの。 【構成】 識別子判定処理3は入力中の文字が識別子を
区切る区切り文字かどうかを判定する。予約語判定処理
4は入力された識別子が、プログラム言語の予約語であ
るかどうかを判定する。コーディング検査処理6はコー
ディング中に誤りがあるかどうかを検査する。修正選択
処理7はコーディング中の誤りをどのように修正するか
を、利用者に指示してもらってプログラムのコーディン
グ修正をその場で行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム開発に関
し、特にソースプログラムのコーディング支援方式に関
する。
【0002】
【従来の技術】図10は、従来のコーディング支援方式
のブロック図である。
【0003】従来、この種のコーディング支援方式はソ
ースプログラム91を入力するためのエディタ90と、
ソースプログラム91を機械語93に翻訳するコンパイ
ラ92がある、図10に示す構成でコーディングを行う
のが従来の方法である。図11は従来のコーディング支
援方式のフローチャートであり、コーディングが始めら
れてから、コーディング誤りのないソースプログラム9
1が完成するまでのフローである。このような方法でコ
ーディングを行う場合、コーディング中にはコーディン
グ誤りを発見するのではなく、コーディング終了後(ス
テップS100)、コンパイラ92で機械語プログラム
93に翻訳する際に(ステップS101)、コンパイラ
92が出すエラーメッセージによってコーディング誤り
を発見する(ステップS102)。利用者はコンパイラ
92の出すエラーメッセージを解釈して再びエディタ9
0でソースプログラム91を修正する(ステップS10
3)。以上のような作業をコンパイルエラー94が出な
くなるまでくり返していた。
【0004】
【発明が解決しようとする課題】上述した従来のエディ
タではコーディングの誤りはコーディングを終了した
後、利用者がコンパイラでソースプログラムを翻訳する
まで検出することができなかった。さらにコーディング
を修正する場合は、コンパイラの出力するコンパイルエ
ラーを参照して、修正位置を確認して、再度エディタで
利用者がソースプログラムを修正しなければならない。
このため修正に手間がかかるという欠点がある。
【0005】本発明は上述の問題点に鑑みてなされたも
のであり、プログラムのコーディング中の誤りをリアル
タイムに検出して、その場で修正可能なプログラムのコ
ーディング支援方式を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明のコーディング支
援方式は、コーディング開始時にプログラム言語の予約
語と区切り文字を文法データファイルから読み込み、予
約語テーブルと区切り文字テーブルに格納する文法デー
タ読み込み処理と、コーディング入力時に入力された文
字を識別子バッファと文字バッファに格納するコーディ
ング入力処理と、文字バッファ内の文字で区切り文字テ
ーブルを検索して識別子の終端を判定する識別子判定処
理と、識別子バッファ内の識別子が予約語であるかどう
かを予約語テーブルを検索して判定する予約語判定処理
と、コーディングした文字を1文字づつテキストバッフ
ァに格納するコーディング格納処理と、予約語が変数の
型名である場合、次に入力される識別子を変数名として
変数名テーブルに登録する変数名テーブル登録処理と、
入力された識別子が予約語ではない場合に変数名テーブ
ルを検索し定義済み変数名であるかどうかを判定するコ
ーディング検査処理と未定義の変数名が検出された場合
に変数定義をコーディングに追加するか、入力変数名を
訂正するかを表示部に表示して問い合わせる修正選択処
理と、コーディングに変数定義を追加する変数定義追加
処理と、変数名を訂正する変数名訂正処理と、テキスト
バッファの内容をソースプログラムファイルに書き込む
コーディング出力処理を有している。
【0007】
【作用】上記の構成によれば、文法データ読み込み処理
が、プログラム言語の予約語と区切り文字を文法データ
ファイルから読み込み、予約語テーブルと区切り文字テ
ーブルに格納し、コーディング入力処理が、コード入力
時に入力される文字を識別子バッファと文字バッファに
格納し、識別子判定処理は入力された文字が識別子を区
切る区切り文字かどうかを、文字バッファ内の文字で区
切り文字テーブルを検索して判定し、予約語判定処理が
入力された識別子バッファの識別子がプログラム言語の
予約語であるかどうかを、予約語テーブルを検索して判
定する。判定の結果、予約語が変数の型名である場合
は、変数名テーブル登録処理により識別子バッファの識
別子は次々に変数名として変数名テーブルに登録され、
使用する変数はすべて使用する前にその型が定義される
ことになる。
【0008】従って、予約語判定の結果入力された識別
子が予約語ではない場合は、コーディング検査処理が変
数名テーブルを検索して定義済み変数名であるかどうか
を判定し、未定義の変数名が検出されたらコーディング
誤りと判定する。コーディング誤りが検出されると、修
正選択処理がコーディング誤りがあるプログラムの修正
を、変数定義の追加か、変数名の訂正かどちらで行うか
を利用者に問い合わせて修正を行い、コーディング格納
処理によって1文字づつテキストバッファに格納された
内容を、コーディング出力処理によってソースプログラ
ムファイルに書き込むので、プログラム開発のコーディ
ング中の誤りを、コーディングの段階で検出し、その場
で容易に修正が可能となる。
【0009】
【実施例】次に、本発明について図面を参照して説明す
る。
【0010】図1は本発明の一実施例の処理のフローチ
ャートである。図2は図1の実施例に使用する装置のブ
ロック図である。図2において20はコーディング時に
文字を入力するキーボード、21はメモリ、22は表示
部、23はプログラム言語の文法データを格納している
文法データファイル、24はコーディングしたソースプ
ログラムを格納するソースプログラムファイル、25は
識別子を格納する識別子バッファ、26はキーボードか
ら入力された文字を格納する文字バッファ、27は予約
語テーブル、28は区切り文字テーブル、29は変数名
テーブル、30はテキストバッファである。
【0011】次に、図1、図2を用いて各部のつながり
を説明する。文法データファイル23は、文法データ読
み込み処理1によりメモリ21中の予約語テーブル27
と区切り文字テーブル28に読み込まれる。キーボード
20から入力された文字は、コーディング入力処理2に
より識別子バッファ25と文字バッファ26に格納さ
れ、表示部22にも表示される。区切り文字テーブル2
8は識別子判定処理3で参照される。予約語テーブル2
7は予約語判定処理4で参照される。変数名テーブル2
9はコーディング検査処理6で参照され、変数名テーブ
ル登録処理5で登録される。テキストバッファ30はコ
ーディング格納処理10で文字バッファ26の文字が格
納され、変数名訂正処理9で修正される。ソースプログ
ラムファイル24はコーディング出力処理11でテキス
トバッファ30と変数名テーブル29から生成される。
表示部22は、コーディング入力処理2で文字を修正選
択処理7と変数定義追加処理8と変数名訂正処理9で選
択子を表示する。
【0012】次に動作を説明する。
【0013】本実施例は、最初に文法データ読み込み処
理1で文法データファイル23から文法データを読み込
み、メモリ21中の予約語テーブル27と区切り文字テ
ーブル28に格納する。図3は文法データファイル23
の内容の説明図である。文法データファイル23には予
約語データ40と区切り文字データ41が格納されてお
り予約語データ40はさらに変数の型名データ42と制
御子データ43に文類して格納してある。変数の型名デ
ータ42はソースプログラム中に使用される変数の型を
示すものであり、使用する変数はすべて使用前にその型
を定義しておかなくてはならない。制御子データ43は
制御構造を記述するときに用いる予約語である。区切り
文字データ41は、プログラムソース中の識別子と識別
子を区切る文字でありこの区切り文字データにかこまれ
た1文字以上の連続した文字は識別子である。文法デー
タ読み込み処理1で読み込んだ文法データは、図4の予
約語テーブルの内容図に示す予約語テーブル27と、図
5の区切り文字テーブルの内容図に示す区切り文字テー
ブル28に格納する。図4の予約語テーブル27は予約
語とその種別が対応付けられている。
【0014】コーディング入力処理2でキーボード20
から入力した文字を文字バッファ26と識別子バッファ
25に格納し、さらに表示部22で表示する。識別子判
定処理3は文字バッファ26内の文字で区切り文字テー
ブル28を検索して文字バッファ内の文字が区切り文字
かどうかを判定する。もし入力された文字が区切り文字
である場合は、識別子バッファ25に識別子が入力され
たと判断する。識別子判定処理3で識別子の入力が完了
していない場合は、コーディング格納処理10で文字バ
ッファ26の文字を図7のテキストバッファの内容を示
す図に示すテキストバッファ30のソースプログラム領
域に格納する。
【0015】識別子判定処理3で識別子の入力が完了し
たと判定した場合は、予約語判定処理4で予約語テーブ
ル27を検索し識別子バッファ25の内容が予約語であ
るかどうか判定する。識別子バッファ25の内容が予約
語である場合はさらに図4に示す予約語テーブル27の
予約語に対応する種別を参照し予約語が変数の型名であ
るかどうかも調べる。識別子バッファ25の内容が変数
の型名である場合は、変数名テーブル登録処理5で、図
6に示す変数名テーブル29に型名を登録し、さらにキ
ーボード20から入力される識別子を変数名として変数
名テーブル29に登録し、識別子バッファ25の内容を
空にし、図7に示すテキストバッファ30の変数定義追
加位置とコーディング検査位置にテキストバッファ30
のソースプログラム領域のデータの終端情報を格納す
る。以上の動作でコーディング中の変数定義はテキスト
バッファ30には入らず、変数名テーブル29に登録さ
れる。
【0016】次に、識別子バッファ25の内容が変数の
型名ではない場合は、コーディング格納処理10で文字
バッファ26の内容をテキストバッファ30のソースプ
ログラム領域に追加する。
【0017】識別子バッファ25の内容が予約語ではな
い場合は、コーディング検査処理6で識別子バッファ2
5の内容で変数名テーブル29を検索し、識別子バッフ
ァ25内の変数が定義済みかどうかを調べて、未定義変
数ならばコーディング誤りであると判断する。コーディ
ング検査処理6でコーディング誤りが検出された場合は
修正選択処理7でソースプログラムをどのように修正す
るかを利用者に選択させる。図8のコーディング誤りの
修正方法説明図に示すように、コーディング誤りの検出
されたソースプログラム50を修正する場合、変数定義
を追加して修正する方法51と変数名を訂正して修正す
る方法52の2通りの方法があり、どちらの方法で修正
するかを利用者に判断してもらう必要がある。したがっ
て利用者に対して図9に示す修正選択処理の表示画面図
のような問い合わせ画面を表示部22に表示して、その
答えをキーボード20から受け取る。修正選択処理7で
変数定義の追加が選択された場合は変数定義追加処理8
で予約語テーブル27から変数の型名を検索し、どの型
名で変数定義を追加するのかを表示部22に表示して、
その答えをキーボード20から受け取り、変数名テーブ
ル29に追加する。修正選択処理7で変数名の訂正が選
択された場合は変数名訂正処理9で変数名テーブル29
の変数名を表示部22に表示し、どの変数名に修正する
かをキーボード20から受け取り、テキストバッファ3
0のコーディング検査位置からソースプログラム領域の
終端までを選択された変数名に置き変える。テキストバ
ッファ30のコーディング検査位置は、コーディング検
査処理6でコーディング誤りがなかった場合、変数名定
義追加処理8、変数名訂正処理9の最後にテキストバッ
ファ30のソースプログラム領域の終端位置情報が格納
される。
【0018】コーディングが終了した場合はコーディン
グ出力処理11でテキストバッファ30のソースプログ
ラム領域をソースプログラムファイル24に書き込む。
その際に変数名テーブル29から変数定義を生成してテ
キストバッファ30の変数定義追加位置に追加しながら
ソースプログラムファイル24に書き込む。以上のよう
な動作条件でコーディングを行うことでソースコードに
変数定義に関するコーディング誤りはソースプログラム
24に存在しなくなる。
【0019】
【発明の効果】以上説明したように本発明は、コーディ
ング中にコーディング誤りを発見し、利用者の指示を受
けることによって簡単にコーディング誤りを修正でき
る。これにより、コーディング後のコンパイルエラーの
発生を防止し、コンパイルからコーディングへの後戻り
を減少させる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるプログラムのコーディ
ング支援方式の処理のフローチャートである。
【図2】図1に示す実施例に使用する装置のブロック図
である。
【図3】図2に示す文法データファイルの内容の説明図
である。
【図4】図2に示す予約語テーブルの内容の説明図であ
る。
【図5】図2に示す区切り文字テーブルの内容の説明図
である。
【図6】図2に示す変数名テーブルの内容の説明図であ
る。
【図7】図2に示すテキストバッファの内容の説明図で
ある。
【図8】図1に示す実施例におけるコーディング誤りの
修正方法の説明図である。
【図9】図1に示す修正選択処理で使用する表示画面を
示す図である。
【図10】従来のコーディング支援方式のブロック図で
ある。
【図11】従来のコーディング支援方式のフローチャー
トである。
【符号の説明】
1 文法データ読み込み処理 2 コーディング入力処理 3 識別子判定処理 4 予約語判定処理 5 変数名テーブル登録処理 6 コーディング検査処理 7 修正選択処理 8 変数定義追加処理 9 変数名訂正処理 10 コーディング格納処理 11 コーディング出力処理

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コーディング開始時にプログラム言語の
    予約語と区切り文字を文法データファイルから読み込み
    予約語テーブルと区切り文字テーブルに格納する文法デ
    ータ読み込み処理と、コード入力時に入力された文字を
    識別子バッファと文字バッファに格納するコーディング
    入力処理と、前記文字バッファ内の文字で前記区切り文
    字テーブルを検索して、識別子の終端を判定する識別子
    判定処理と、前記識別子バッファ内の識別子が予約語で
    あるかどうかを前記予約語テーブルを検索して判定する
    予約語判定処理と、コーディングした文字を1文字づつ
    テキストバッファに格納するコーディング格納処理と、
    前記予約語が変数の型名である場合、次に入力される識
    別子を変数名として変数名テーブルに登録する変数名テ
    ーブル登録処理と、入力された識別子が予約語ではない
    場合に前記変数名テーブルを検索し定義済み変数名であ
    るかどうかを判定するコーディング検査処理と、未定義
    の変数名が検出された場合に変数定義をコーディングに
    追加するか入力変数名を訂正するかを表示部に表示して
    問い合わせる修正選択処理と、コーディングに前記変数
    定義を追加する変数定義追加処理と、前記変数名を訂正
    する変数名訂正処理と、前記テキストバッファの内容を
    ソースプログラムファイルに書き込むコーディング出力
    処理を有することを特徴とするプログラムのコーディン
    グ支援方式。
JP4141941A 1992-05-08 1992-05-08 プログラムのコーディング支援方式 Pending JPH05313878A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4141941A JPH05313878A (ja) 1992-05-08 1992-05-08 プログラムのコーディング支援方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4141941A JPH05313878A (ja) 1992-05-08 1992-05-08 プログラムのコーディング支援方式

Publications (1)

Publication Number Publication Date
JPH05313878A true JPH05313878A (ja) 1993-11-26

Family

ID=15303703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4141941A Pending JPH05313878A (ja) 1992-05-08 1992-05-08 プログラムのコーディング支援方式

Country Status (1)

Country Link
JP (1) JPH05313878A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142738A (ja) * 1999-09-29 2001-05-25 Lucent Technol Inc スクリプタおよびインタープリタ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142738A (ja) * 1999-09-29 2001-05-25 Lucent Technol Inc スクリプタおよびインタープリタ

Similar Documents

Publication Publication Date Title
JPH05313878A (ja) プログラムのコーディング支援方式
JP3058050B2 (ja) ソースプログラム修正支援装置
JPH1185536A (ja) 原始プログラムのエラー自動修正装置及び方法
JPH05173844A (ja) コーディングミス修正方式
JPH07101383B2 (ja) 図式プログラムエディタエラ−表示方式
JP2806976B2 (ja) プログラム内容検査装置
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JPH01237834A (ja) ロードモジュールの編集表示方式
JPH04101229A (ja) コンパイルエラー表示制御方式
JPH05197561A (ja) コンパイル方式
JPH09114919A (ja) 文字認識装置及び方法及び記憶媒体
JP2959490B2 (ja) 文字列付加方式
JPH0816382A (ja) 誤修正行検索装置
JPH0390934A (ja) 文書に対する妥当性のチェック方式
JPH0317740A (ja) プログラム編集支援方式
JPS63763A (ja) ワ−ドプロセツサの英文スペルチエツク方式
JPH0643913A (ja) ラダー図のインタロック付加装置
JPH0887403A (ja) プログラム開発支援装置
JPH03156641A (ja) コンパイル処理方式
JPH05257738A (ja) プログラム誤り修正システム
JPH07191858A (ja) シミュレーションインタプリタ
JPH02284239A (ja) 言語処理プログラムの実行方式
JPH08249193A (ja) プログラムの言語仕様範囲の検査方式
JPH05341983A (ja) 情報処理システム
JPH0449421A (ja) ファイル編集方式