JPH05257668A - 文字列情報表示エディタ - Google Patents

文字列情報表示エディタ

Info

Publication number
JPH05257668A
JPH05257668A JP4055937A JP5593792A JPH05257668A JP H05257668 A JPH05257668 A JP H05257668A JP 4055937 A JP4055937 A JP 4055937A JP 5593792 A JP5593792 A JP 5593792A JP H05257668 A JPH05257668 A JP H05257668A
Authority
JP
Japan
Prior art keywords
character string
character
information
string
input
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
Application number
JP4055937A
Other languages
English (en)
Inventor
Masayuki Takubo
昌之 田久保
Toshio Ogawa
俊雄 小川
Katsuhiro Egawa
克弘 江川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4055937A priority Critical patent/JPH05257668A/ja
Publication of JPH05257668A publication Critical patent/JPH05257668A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【目的】 文字列情報表示エディタに関し、文字列を入
力しているときに、その文字列に関する情報を表示して
プログラム入力時に参照する手段を提供することを目的
とする。 【構成】 ソースプログラムファイル13から文字列とそ
の情報を抽出して文字列情報テーブル32に蓄積する文字
列情報収集部31と、該ソースプログラムファイル13から
抽出された文字列と該文字列に関する情報を蓄積する文
字列情報テーブル32と、文字が入力されると一文字毎に
先に入力した文字列と結合して文字列として認識して該
文字列を文字列情報検索部33に渡して起動する入力検査
部35と、該入力検査部35に起動され該文字列情報テーブ
ル32を検索して渡された文字列と同一の文字列に関する
情報を取り出す文字列情報検索部33と、取り出した該文
字列に関する情報を表示する文字列情報表示部34と、を
設けて、現在入力中の文字列に関する情報を表示するよ
うに構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は文字列情報表示エディタ
に関する。本発明は、コンピュータ上での高級言語等の
ソースプログラム入力用エディタにおいて画面上でのプ
ログラム作成時における(机上で作成して入力するので
はない)効率を上げるための改良に関する。
【0002】
【従来の技術】従来、画面上でのエディタを使用したプ
ログラム作成時には、思いつくままにソースプログラム
を入力し、入力がすべて終了した時点でエディタをいっ
たん終了させコンパイラ等を起動することによって文法
チェックを行ってからまたエディタを起動して入力ミス
・宣言忘れ・変数名のミス・二重宣言や変数の二重使用
等の記述ミスを修正していた。
【0003】図9は従来のエディタとコンパイラの動作
関係の説明図である。図において、21はエディタであ
って、プログラムを入力するものであり、13はソース
プログラムファイルであって、プログラム言語で記述さ
れて入力されたプログラムである。
【0004】22はコンパイラであって、文法チェック
機能23と機械語翻訳機能24とから構成される。23は文
法チェック機能であって、ソースプログラムファイル13
の記述がその言語の文法に合っているかをチェックする
ものであり、24は機械語翻訳機能であって、文法チェ
ック機能23をパスしたソースプログラムファイル13のプ
ログラムを実行可能な機械語プログラムであるオブジェ
クトプログラムファイル26に翻訳するものである。26
はオブジェクトプログラムファイルであって、機械語翻
訳機能24によってソースプログラムファイル13のプログ
ラムを実行可能な機械語プログラムにしたものである。
【0005】従来のプログラムの作成にあたっては、プ
ログラマはエディタ21を起動して、自由な発想に基いて
プログラムの内容を作成してソースプログラムファイル
13を作成し、入力がすべて終了した時点でエディタ21を
いったん終了させる。
【0006】プログラムは文字や符号をプログラム言語
に規定された文法に従い配列して作成される。文字は複
数の文字の連続である文字列を構成し、文字列は各々特
定の意味を持つ。文字列はプログラム言語で定められた
予約語( 命令や宣言) とプログラマが定義する関数や変
数がある。文字列は分離子( 以下セパレータという)に
よって他の文字列と分離される。セパレータはプログラ
ム言語で定められた記号又は空白である。
【0007】次にコンパイラ22を起動して、ソースプロ
グラムファイル13をコンパイラ22の文法チェック機能23
により、ソースプログラムファイル13の記述がその言語
の文法に合っているかをチェックする。宣言( 変数や関
数の定義を行うこと) のない変数や関数・変数や関数の
二重宣言・文法に従ってない記述等の記述ミスがコンパ
イラ22の文法チェック機能23により発見されるとエラー
リスト25を印刷出力する。このエラーリスト25を参照し
て、再度エディタ21を起動して元のソースプログラムフ
ァイル13に対して修正入力を行う。また、このとき更に
プログラムに追加も行う。そして、修正が終了したら再
度コンパイラ22を起動して、文法チェック機能23によ
り、誤りがあるかチェックする。誤りがあれば、再度エ
ディタ21によりソースプログラムファイル13に対して修
正入力を行い誤りがなくなるまで繰り返す。誤りがなく
なるとコンパイラ22の機械語翻訳機能24がソースプログ
ラムファイル13のプログラムを実行可能な機械語プログ
ラムであるオブジェクトプログラムファイル26に翻訳す
る。これでそのプログラムの作成が終了する。
【0008】
【発明が解決しようとする課題】しかし、従来の方法で
は以下の問題点があった。 プログラムがある程度出来上がってからしかコンパ
イラ等の文法チェックを行ってミスを修正出来ないため
内容を忘れたりしてまた別のミスを起こす原因にもなっ
ていた。 ソースプログラム入力時に考えながら作成している
ので、途中でいろいろな変数を宣言する必要が出てくる
が、エディタ上でスクロールを行って関数やサブルーチ
ンの始めで宣言をして、また元の作成している部分へス
クロールを行って続きを入力していくといった無駄な労
力を必要としていた。さもなければ、ある程度終了した
時点でまとめて関数やサブルーチンの始めで宣言をする
といったことも行っていたが、これだと宣言忘れといっ
たことが発生する。 「プログラム中で使用する変数が初期化されてから
利用しようとしているのか?」「変数がどういった型宣
言がされているのか?」「関数やサブルーチン等の引数
はどういった型でいくつあるのか?」とかいった疑問が
生じたときは、プログラム作成の思考を一度中断させ
て、ソースプログラムを前に戻ってプログラムの記述内
容を参照して、重複しないよう、また矛盾のないよう使
っていかなければならなかった。
【0009】本発明はこのような点にかんがみて、文字
列を入力しているときに、その文字列に関する情報を表
示してプログラム入力時に参照する手段を提供すること
を目的とする。
【0010】
【課題を解決するための手段】上記の課題は下記の如く
に構成された文字列情報表示エディタによって解決され
る。図1は、本発明の原理図である。
【0011】プログラムの入力をソースプログラムファ
イル13に入力する入力部11と入力されたソースプログラ
ムファイル13を表示する入力表示部12とを有するエディ
タであって、該ソースプログラムファイル13から文字列
とその情報を抽出して文字列情報テーブル32に蓄積する
文字列情報収集部31と、該ソースプログラムファイル13
から抽出された文字列と該文字列に関する情報を蓄積す
る文字列情報テーブル32と、文字が入力されると一文字
毎に先に入力した文字列と結合して文字列として認識し
て該文字列を文字列情報検索部33に渡して起動する入力
検査部35と、該入力検査部35に起動され該文字列情報テ
ーブル32を検索して渡された文字列と同一の文字列に関
する情報を取り出す文字列情報検索部33と、取り出した
該文字列に関する情報を表示する文字列情報表示部34
と、を設けて、現在入力中の文字列に関する情報を表示
するように構成する。
【0012】
【作用】まず、本発明の文字列情報表示エディタが更新
対象のファイル及び最後に結合する予定である他のソー
スプログラムファイル13を指定して起動されるとそれら
のソースプログラムファイル13(及びもし起動時に指定
された更新対象のファイルが存在していた場合は、その
ファイルも)から文字列情報収集部31を用いてそれらの
ファイル中から文字列情報テーブル32を作成する。図2
は文字列情報テーブルを説明する図である。
【0013】文字列情報テーブルには文字列の内予約語
を省いた変数、関数を収集する。変数の場合は型、格納
場所(ソースプログラムファイルの名称、出現行数)、
初期値、有効範囲等が収集記録され、関数の場合は型、
その関数で使用する引数の型及び引数の数、格納場所
(ソースプログラムファイルの名称、出現行数)、初期
値、有効範囲等が収集記録される。文字列情報テーブル
32は文字列とその文字列に関する情報を対応させて記録
される。次に従来のエディタ同様更新対象のファイルを
ソースプログラム格納のためのワーク領域に格納し、プ
ログラマはソースプログラムの入力や変更を行うことが
出来る。
【0014】この状態でプログラマが文字を入力してい
く訳であるが、文字を1文字入力される毎に入力検査部
35によって文字列として認識していき、その文字列を文
字列情報検索部33が文字列情報テーブル32内に格納され
た情報により有効範囲等をチェックし、有効範囲内であ
るなら文字列情報表示部34によりその文字列の情報をエ
ディタ外(別ウインドウ等)の画面に表示する。(ここ
で別ウインドウを設けるのは修正入力をこの別ウインド
ウを使用して行うためで、そのために制御の異なる別ウ
インドウを設ける。)これを1文字入力される毎に表示
を行う。セパレータの記号が入力されて文字列が完全に
決定された時点で表示をそのままにしておく。もし、セ
パレータ等の記号が入力されて文字列が完全に決定され
た時点で文字列情報テーブル32内に無いものであった場
合(つまり,未定義のもの)は文字列情報表示部34によ
って、エディタ外(別ウインドウ等)に表示された変数
の宣言を行うための情報を入力する画面を表示し、プロ
グラマにその内容(型や初期値、有効範囲等)を入力さ
せる。これをもとに編集更新部36によってソースプログ
ラム格納領域にある更新対象のソースプログラムの適当
な位置に作成した宣言文を埋め込み( 有効範囲の先頭で
宣言を行うように編集する) 、その後、文字列情報テー
ブル32にそれらの内容を追加する。
【0015】
【実施例】第3図は本発明の実施例のエディタの構成図
である。図において、21aは文字列情報表示エディタ
であって、本発明の入力文字列に関する情報を表示する
エディタである。
【0016】15はエディタ機能であって、従来の入力
を受け取り表示するエディタの機能である。27は入出
力装置であって、プログラマがプログラムを入力するも
のである。28は大容量記憶装置であって、ソースプロ
グラムファイルが格納されるものである。
【0017】13はソースプログラムファイルであっ
て、エディタがプログラマの入力したプログラムを蓄積
したものである。16はソースプログラム格納領域であ
って、エディタがソースプログラムを操作するための領
域である。31は文字列情報収集部であって、ソースプ
ログラム格納領域16に複写されたソースプログラムファ
イル13から文字列とそれに関する情報を収集するもので
ある。
【0018】32は文字列情報テーブルであって、文字
列情報収集部31がソースプログラムファイル13から収集
した文字列とそれに関する情報を蓄積するテーブルであ
る。33は文字列情報検索部であって、文字が入力され
ると入力検査部35に起動され該文字列情報テーブル32を
検索して同一の文字列に関する情報を取り出すものであ
る。
【0019】34は文字列情報表示部であって、取り出
した該文字列に関する情報を表示するものである。35
は入力検査部であって、文字が入力されると一文字毎に
文字列として認識してそれまでの文字列を渡して文字列
情報検索部33を起動するものである。36は編集更新部
であって、表示した文字列に関する情報の追加情報の入
力によりソースプログラムファイルを更新するものであ
る。
【0020】この情報表示エディタ内の処理の動作を図
4〜7に基いて説明する。図4は文字列情報テーブルの
例であり、図5〜7は画面表示の例である。 −ソースプログラムを新規に作成する例− プログラマが更新対象のファイル及び最後に結合す
る予定である他のソースプログラムファイル13を指定し
てエディタ21a を起動する。処理対象のソースプログラ
ムファイル13がソースプログラム格納領域16に転送さ
れ、文字列情報収集部31が起動されて、ソースプログラ
ムファイル13から文字列情報テーブル32へ文字列とそれ
に関する情報を蓄積する。ここでプログラマはプログラ
ムを入力していく。 〜セパレータで一度切れたあとの例〜 プログラマが1文字”x”を入力する。エディタ機能15
は、入力検査部35に文字”x”を送る。入力検査部35は
文字列情報テーブル32内に文字”x”に対する情報があ
るかを文字列情報検索部33に依頼してチェックする。チ
ェックが終了した文字列はソースプログラム格納領域16
にソースプログラムとして蓄積される。蓄積されたソー
スプログラムはエディタ21a が終了するとソースプログ
ラムファイル13として大容量記憶装置28内に戻される。 〜文字”x”に対する情報があった場合〜 文字列情報検索部33はその情報を文字列情報表示部
34に通知して別ウインドウに表示する。プログラマは、
その情報を見ることによって文字”x”が変数や関数と
して定義されているのかといったことを認識する。
【0021】図5は画面表示の例(その1)であって、
このときの画面表示を示し、左側はエディタの入力プロ
グラムが表示され、右側は別ウインドウで文字列情報表
示部34の表示がされる。左側はC言語によるプログラム
の入力の例であり、一行目の『int g;』はgとい
う変数は整数型であることを宣言し、二行目の『cha
r h;』はhという変数は文字型であることを宣言
し、三行目の『main() { 』はmainという
関数の始まることを示す。
【0022】四行目の『int x;』はmainとい
う関数の中でxという整数型の変数を定義して、五行目
で『x』を入力したところである。文字列情報検索部33
は”x”を入力検査部35から渡されて文字列情報テーブ
ル32を検索する。図4は文字列情報テーブル32の内容を
示す。変数”x”と関数”xy”が記録されている。文
字列情報検索部33は変数”x”に関する情報を取り出し
て文字列情報表示部34に渡し、文字列情報表示部34は右
側の別ウインドウにこの情報を表示する。 〜文字”x”に対する情報がなかった場合〜 文字列情報検索部33はその文字列情報が文字列情報
テーブル32内に無い旨の情報を文字列情報表示部34によ
って別ウインドウに表示する。図6は画面表示の例(そ
の2)であって、このときの画面表示を示す。右側の別
ウインドウに『xは未定義です.』という表示がされ
る。プログラマは、その情報を見ることによって文字”
x”が変数や関数として定義されていないといったこと
を認識する。 〜文字列”xy”を変数として使いたいとき〜 プログラマは『xは未定義です.』の表示は無視し
て次の1文字”y”を入力する。エディタ機能15は,入
力検査部35に文字”y”を送る。入力検査部35は先程の
文字”x”とこの文字”y”とを一緒にして文字列”x
y”が文字列情報テーブル32内に情報があるかを文字列
情報検索部33に依頼してチェックする。〜文字列”x
y”に対する情報が無かった場合〜 文字列”xy”が文字列情報テーブル32内に無い旨
の情報を文字列情報表示部34によって別ウインドウに表
示する。プログラマはこの文字列”xy”が宣言されて
いない(つまり、使われていない)と判断できる。
【0023】従って、利用者はその次の入力を行う(=
や;や+といったプログラムのセパレータの入力)。そ
のときに,入力検査部35によってセパレータだと認識し
文字列情報表示部34によってその文字列”xy”につい
ての宣言を行うための表示を画面に出力する。図7は画
面表示の例(その3)であって、このときの画面表示を
示す。右側の別ウインドウに『xyは未定義です.』と
いう表示がされると共に宣言を行う領域が表示される。
【0024】プログラマは、その画面より宣言に必要な
情報を入力する。その情報をもとに編集更新部36によっ
てソースプログラム格納領域16にあるソースプログラム
に変数の宣言を割り込ませる。 〜文字列”xy”に対する情報があった場合〜 文字列”xy”が文字列情報テーブル32内にあった
場合、その情報を文字列情報表示部34によって別ウイン
ドウに表示する。プログラマは、その情報によって”x
y”が新しく利用できないことを知り別の変数名を使用
する。図8は画面表示の例(その4)であり、文字列”
xy”が文字列情報テーブル32内にあった場合を示す。
【0025】上記のように変数として使用するのではな
く、文字列”xy”を関数として使いたいときは、次の
ようになる。 プログラマは先の表示は無視して次の1文字”y”
を入力する。エディタ機能15は、入力検査部35に文字”
y”を送る。入力検査部35は先程の文字”x”とこの文
字”y”とを一緒にして文字列”xy”が文字列情報テ
ーブル32内に情報があるかを文字列情報検索部33に依頼
してチェックする。 〜文字列”xy”に対する情報が無かった場合〜 文字列情報検索部33は文字列情報テーブル32内に情
報が無い旨の情報を文字列情報表示部34によってエディ
タ外(別ウインドウ等)に表示し、プログラマはこの文
字列”xy”が宣言されていない(つまり、使われてい
ない)と判断できる。従って、プログラマはその次の入
力を行う(=や;や+といったプログラムのセパレータ
の入力を行う)。そのときに、入力検査部35によってセ
パレータだと認識し文字列情報表示部34によってその文
字列”xy”を使用できる旨の表示を画面に出力する。 〜文字列”xy”に対する情報があった場合〜 その情報を文字列情報表示部34によって別ウインド
ウに表示する。
【0026】プログラマは、その情報によって”xy”
が関数として既に定義されていて引数としてどの様なも
のが必要か・個数はいくつかといった内容を知ることが
出来る。
【0027】入力を終了したソースプログラムは従来の
エディタで作成したソースプログラムファイルと同様に
コンパイラによって機械語に翻訳される。しかし、関
数、変数の二重宣言や宣言忘れによる文法ミスはなくな
る。
【0028】本エディタはプログラム言語の予約語やセ
パレータを認識するため特定の言語に専用のエディタと
なる。
【0029】
【発明の効果】以上の説明から明らかなように本発明に
よれば思考しながらプログラムの文字列を入力している
ときに、その文字列に関する情報を表示してプログラム
入力時に参照する手段を提供するという著しい工業的効
果がある。
【図面の簡単な説明】
【図1】 本発明の原理図
【図2】 文字列情報テーブルの概念図
【図3】 本発明の実施例のエディタの構成図
【図4】 本発明の実施例の文字列情報テーブルの例
【図5】 画面表示の例(その1)
【図6】 画面表示の例(その2)
【図7】 画面表示の例(その3)
【図8】 画面表示の例(その4)
【図9】 従来のエディタとコンパイラの動作関係の説
明図
【符号の説明】
11 入力部 12 入力表示部 13 ソースプログラムファイル 15 エディタ機
能 16 ソースプログラム格納領域 21 エディタ 21a エディタ
プログラム 22 コンパイラ 23 文法チェック機能 24 機械語翻訳
機能 25 エラーリスト 26 オブジェクトプログラムファイル 27 入出力装置 28 大容量記憶
装置 31 文字列情報収集部 32 文字列情報
テーブル 33 文字列情報検索部 34 文字列情報
表示部 35 入力検査部 36 編集更新部 X 10、11 X

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラムの入力をソースプログラムフ
    ァイル(13)に入力する入力部(11)と入力されたソースプ
    ログラムファイル(13)を表示する入力表示部(12)とを有
    するエディタであって、 該ソースプログラムファイル(13)から文字列とその情報
    を抽出して文字列情報テーブル(32)に蓄積する文字列情
    報収集部(31)と、 該ソースプログラムファイル(13)から抽出された文字列
    と該文字列に関する情報を蓄積する文字列情報テーブル
    (32)と、 文字が入力されると一文字毎に先に入力した文字列と結
    合して文字列として認識して該文字列を文字列情報検索
    部33に渡して起動する入力検査部(35)と、 該入力検査部(35)に起動され該文字列情報テーブル(32)
    を検索して渡された文字列と同一の文字列に関する情報
    を取り出す文字列情報検索部(33)と、 取り出した該文字列に関する情報を表示する文字列情報
    表示部(34)と、を設けて、 現在入力中の文字列に関する情報を表示することを特徴
    とする文字列情報表示エディタ。
  2. 【請求項2】 表示した文字列に関する情報の追加情報
    の入力によりソースプログラムファイルを更新する編集
    更新部(36)を有することを特徴とする請求項1記載の文
    字列情報表示エディタ。
JP4055937A 1992-03-16 1992-03-16 文字列情報表示エディタ Withdrawn JPH05257668A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4055937A JPH05257668A (ja) 1992-03-16 1992-03-16 文字列情報表示エディタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4055937A JPH05257668A (ja) 1992-03-16 1992-03-16 文字列情報表示エディタ

Publications (1)

Publication Number Publication Date
JPH05257668A true JPH05257668A (ja) 1993-10-08

Family

ID=13012991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4055937A Withdrawn JPH05257668A (ja) 1992-03-16 1992-03-16 文字列情報表示エディタ

Country Status (1)

Country Link
JP (1) JPH05257668A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018185915A1 (ja) * 2017-04-06 2019-04-11 三菱電機株式会社 プログラム作成装置およびプログラム作成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018185915A1 (ja) * 2017-04-06 2019-04-11 三菱電機株式会社 プログラム作成装置およびプログラム作成方法

Similar Documents

Publication Publication Date Title
US8214822B2 (en) Editor for program files
Bahlke et al. The PSG system: From formal language definitions to interactive programming environments
US5790863A (en) Method and system for generating and displaying a computer program
US6477641B2 (en) Method for translating between source and target code with heterogenous register sets
JP2534360B2 (ja) 接続方法、ノ―ド接続方法、デ―タ処理方法、及び木内にノ―ドを挿入する方法
US20050005239A1 (en) System and method for automatic insertion of cross references in a document
EP0643851A1 (en) Debugger program which includes correlation of computer program source code with optimized objet code
JP5147240B2 (ja) リバーシブルなデザイン・ツリーの変換のための方法とシステム
US20040225964A1 (en) Method and system for storing pending changes to data
JP4826120B2 (ja) 業務仕様作成支援システム及び方法
KR20090011974A (ko) 컴파일 대상 파일 추출 방법
Koskimies et al. The design of a language processor generator
JPH05257668A (ja) 文字列情報表示エディタ
Lohmann et al. Towards automatical migration of transformation rules after grammar extension
US20220222065A1 (en) System and method of computer-assisted computer programming
US5649201A (en) Program analyzer to specify a start position of a function in a source program
JP2000322295A (ja) データベースストアドサブプログラム用プログラミング支援方法ならびに装置
JP2908184B2 (ja) テキストファイル編集方法及び装置
Petrone et al. DUAL: An interactive tool for developing documented programs by step-wise refinements.
JP2607975B2 (ja) デバック方式
JP2607976B2 (ja) デバック方式
Ranjadakatte Extension of identification of style errors in sample files
JPH0887403A (ja) プログラム開発支援装置
Stone et al. Token‐by‐token Syntax‐directed Editing (Using an LR Parser)
JPH08314724A (ja) オブジェクト指向プログラム編集装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518