JP3038887B2 - オブジェクト指向プログラミング用エディタ - Google Patents

オブジェクト指向プログラミング用エディタ

Info

Publication number
JP3038887B2
JP3038887B2 JP2297215A JP29721590A JP3038887B2 JP 3038887 B2 JP3038887 B2 JP 3038887B2 JP 2297215 A JP2297215 A JP 2297215A JP 29721590 A JP29721590 A JP 29721590A JP 3038887 B2 JP3038887 B2 JP 3038887B2
Authority
JP
Japan
Prior art keywords
menu
class
editing
displayed
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.)
Expired - Lifetime
Application number
JP2297215A
Other languages
English (en)
Other versions
JPH04170638A (ja
Inventor
佳弘 増田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2297215A priority Critical patent/JP3038887B2/ja
Publication of JPH04170638A publication Critical patent/JPH04170638A/ja
Application granted granted Critical
Publication of JP3038887B2 publication Critical patent/JP3038887B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、Smalltalk−80、Common Lisp等として知
られるオブジェクト指向言語を用いてプログラミングを
行う際に用いるプログラム編集用エディタに関する。
〔従来の技術〕 オブジェクト指向プログラミングでは、プログラムは
すべて“メッセージ式”という形式で行われる。
この“メッセージ式”とは、「オブジェクト」に対す
る「メソッド」の適用であり、他の言語における関数呼
出しと類似したものである。
一方、Smalltalk−80のプログラミング環境には、
「ブラウザ(Browser)」と呼ばれるクラス検索とプロ
グラム編集を行うための機能が提供されている。
この「ブラウザ」は、クラス定義やその階層関係を表
示したり、あるクラスに対して定義されているメソッド
を検索してこれを表示する、という機能を持っている。
なお、この種の技術を開示したものとしては、例え
ば、Adele Goldberg著、「Smalltalk−80 Intaractiv
e Programming Environment−」.Addison Wesley,19
84を挙げることができる。
〔発明が解決しようとする課題〕
従来、この「ブラウザ」のエディタを用いて、“メッ
セージ式”の形式でプログラムを記述する際には、その
オブジェクトに対して適用できるメソッドをユーザが知
らないと記述できなかった。
このため、ユーザは適用できるメソッドがわからない
場合、「ブラウザ」に組み込まれているメソッド検索機
能を用いて、適用可能なメソッドをいちいち検索しなけ
ればならなかった。
また、このメソッド名が長い場合や、1つのクラスに
対して定義されているメソッドの数が多い場合などは、
その全てのメソッドの機能を覚えるのに多くの時間がか
かり、また、メソッドの綴りを間違えることも多く、プ
ログラミングに習熟するまでに多くの時間を必要とする
という問題があった。
本発明の目的は、上記従来技術の問題点を解決するた
めオブジェクト指向プログラミングにおいて“メッセー
ジ式”を記述する際、そのオブジェクトに対して適用で
きるメソッドをユーザがいちいち検索したりすることな
く、かつ、キーボードからタイピングすることなく記述
できるようにすることにある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明は、マルチウイン
ドウシステム上でオブジェクト指向言語のプログラムを
編集するエディタにおいて、編集中のプログラムを記憶
する編集プログラム記憶手段と、クラスとメソッドの定
義を記憶するオブジェクト記憶手段と、マルチウインド
ウ上に表示するウインドウとメニューのイメージを記憶
する編集画面記憶手段と、メッセージ式を記述するため
に入力されたオブジェクトの選択に際して、上記オブジ
ェクト記憶手段に記憶されたクラスの定義から該選択さ
れたオブジェクトのクラス定義を計算して、メソッドの
定義からそのオブジェクトに適用可能なメソッド候補を
抽出するメソッド抽出手段と、上記メソッド抽出手段で
抽出されたメソッド候補に基づき前記編集画面記憶手段
上にメソッド候補のメニューを作成して表示手段に表示
するメニュー表示手段と、上記表示手段に表示されたメ
ニューから所望のメソッドを選択するメソッド選択手段
と、上記メソッド選択手段により選択されたメソッドを
前記編集プログラム記憶手段上に転記するメソッド転記
手段とを備える。
〔作用〕
編集中のプログラムは、「編集プログラム記憶手段」
(第1図の11)に記載されており、この内容は、指示さ
れたオブジェクトに対して適用可能なメソッドの候補を
前記オブジェクト記憶手段から抽出して前記編集画面記
憶手段上にメニューを作成し表示装置に表示するメソッ
ド抽出手段(第1図の21)と、上記表示されたメニュー
から、指示されたオブジェクトに対して適用可能なメソ
ッドを選択するメソッド選択手段(第1図の22)と、上
記選択されたメソッドを前記編集プログラム記憶手段上
に転記するメソッド転記手段(第1図の23)とを備えた
「編集制御装置」(第1図の2)により、「編集画面記
憶手段」(第1図の13)に書き出される。
「編集画面記憶手段」に書き出された編集中のプログ
ラムは、「表示装置」(第1図の3)を通じてユーザに
表示されている。
また、プログラミングする際に用いられる既存のクラ
スとメソッドの定義は、「オブジェクト記憶手段」(第
1図の12)の「クラス定義記憶部」(241)および「メ
ソッド定義記憶部」(第1図の121)に格納されてい
る。
ユーザは、メッセージ式を記述する場合、オブジェク
ト名をキーボード(第1図の4)からタイピングし、
「指示装置」または「キーボード」のカーソルキーを用
いてそのオブジェクトを選択する。
オブジェクトが選択されると「編集制御装置」は「オ
ブジェクト記憶手段」の「クラス定義記憶部」から選択
されたオブジェクトの属するクラスのクラス定義を計算
する。
クラス定義が求められると、「編集制御装置」は「オ
ブジェクト記憶手段」の「メソッド定義記憶部」(第1
図の122)からそのクラスのインスタンス(オブジェク
ト)に適用することのできるメソッドの名前(メソッド
名)を計算する。
計算されたメソッド名は、「編集制御装置」によりメ
ニューの形にされて「編集画面記憶手段」の「メソッド
メニュー表示部」(第1図の131)に書き出される。
その結果、メソッドメニューが「表示装置」を通して
ユーザに表示される。
そして、表示されたメニュー中からユーザが特定のメ
ソッド名を選択すると、そのメソッド名は、当初、ユー
ザが選択したオブジェクトに対するメソッドとして編集
プログラム記憶部(第1図の111)に書き出される。
そして、その書き出された結果は、「編集制御装置」
により「編集画面記憶手段」に書き出され、「表示装
置」を通じてユーザに表示される。
〔実施例〕
以下、本発明の実施例について、図面を参照して詳細
に説明する。
第1図は本発明によるオブジェクト指向プログラミン
グ用エディタの一実施例を説明するブロツクであって、
1は記憶装置、2は編集制御装置、3は表示装置、4は
キーボード、5は指示装置(マウス)である。
また、11は編集プログラム記憶手段、111はプログラ
ム記憶部、112は選択バッファ、12はオブジェクト記憶
手段、121はクラス定義記憶部、122はメソッド定義記憶
部、13は編集画面記憶手段、131はメソッドメニュー表
示部、21は指示されたオブジェクトに対して適用可能な
メソッドの候補を前記オブジェクト記憶手段から抽出し
て前記編集画面記憶手段上にメニューを作成し表示装置
に表示するメソッド抽出手段と、22は表示されたメニュ
ーから指示されたオブジェクトに対して適用可能なメソ
ッドを選択するメソッド選択手段、23は選択されたメソ
ッドを前記編集プログラム記憶手段上に転記するメソッ
ド転記手段である。
同図において、編集中のプログラムは、編集プログラ
ム記憶手段11のプログラム記憶部111に記憶されてお
り、この内容は編集制御装置2のメソッド抽出手段21に
より、編集画面記憶手段13に書き出され、表示装置3を
通してユーザに表示される。
また、プログラミングする際に用いられる既存のクラ
スとメソッドの定義は、オブジェクト記憶手段12のクラ
ス定義記憶部121およびメソッド定義記憶部122に格納さ
れている。
ユーザは、メッセージ式を記述する場合、キーボード
4からオブジェクト名をタイピングにより入力し、指示
装置5またはキーボード4のカーソルキーを用いてその
オブジェクトを選択する。
オブジェクトが選択されると編集制御装置2は、オブ
ジェクト記憶手段12のクラス定義記憶部121から、選択
されたオブジェクトの属するクラスのクラス定義を計算
する。
クラス定義が求められると、編集制御装置2はオブジ
ェクト記憶手段12のメソッド定義記憶部122からそのク
ラスのインスタンス(オブジェクト)に適用することの
できるメソッドの名前(メソッド名)を計算する。
計算されたメソッド名は、編集制御装置2のメソッド
抽出手段21によりメニューの形にされて編集画面記憶手
段13のメソッドメニュー表示部131に書き出される。
その結果、メソッドメニューが表示手段3を通してユ
ーザに表示される。
そして、表示されたメニュー中からユーザが選択手段
22を用いて特定のメソッド名を選択すると、そのメソッ
ド名は転記手段23により、当初、ユーザが選択したオブ
ジェクトに対するメソッドとして編集プログラム記憶部
に書き出される。
そして、その書き出された結果は、編集制御装置2に
より編集画面記憶手段13に書き出され、表示手段4を通
じてユーザに表示される。
以下、本実施例の具体的な動作を、Smalltalk−80
「ブラウザ」のプログラム編集用領域である“TEXTサブ
ビュー”において実装する場合を考える。
第2図はSmalltalk−80「ブラウザ」の説明図であっ
て、201はSmalltalk−80「ブラウザ」、同図の上方の4
つのサブビュー202,203,204,205は、クラスとメソッド
の検索をおこなうための領域であり、その下にある大き
な領域206が“TEXTサブビュー”(プログラム編集領
域)である。
第2図に示した例では、“splineCurve"という名前の
オブジェクトに適用するメソッドを書こうとしていると
ころである。
このとき、 (1)指示装置(以下、マウスという)5によって、こ
のオブジェクトを選択すると、編集プログラム記憶手段
11の選択バッファ112に、選択された部分の文字列が格
納される。
(2)この選択された部分領域207でマウス5のボタン
を押すと、割り込みが発生する。
この割り込みの発生により、第3図に示したようなメ
ニュー(レシーバ・コマンドメニュー)301が表示され
る。
(3)ここで、マウス5により、メニュー“display m
ethods"を選択すると、前記選択バッファ112に格納され
ている文字列と同じ名前をもつオブジェクトがオブジェ
クト記憶手段12から取り出され、そのオブジェクトの属
するクラスが求められる。
(4)前記(3)で求められたクラスに対して適用可能
なメソッドが“クラス・プロトコル”から求められ、そ
れらが第4図に示したようなメソッド一覧のメニュー40
1として表示される。
(5)ユーザはこの中から適用するメソッドをマウス5
により選択する。
すると、そのメソッド名が編集テキスト上に書き出さ
れ、第5図に示したように、“TEXTサブビュー"206に表
示される。
なお、適用すべきメソッドがスーパクラスのメソッド
となる場合については、第4図に示したメソッドメニュ
ー401の最後の項目である“super"を選択すると、第6
図に示したように、そのスーパクラスに定義されている
メソッドを一覧するメニュー601が表示される。
そして、上記と同様にしてメソッドを選択することに
より、メソッド名を編集テキスト上に書き出す。
第7図は上記の処理の流れを示したフローチャートで
ある。
すなわち、前記(1)でオブジェクト「レシーバコマ
ンド・メニュー」の実効要求がマウス5により指示され
ると、編集プログラム記憶手段11の選択バッファ112
に、選択された部分の文字列が格納される(Sー1)、 システムは選択されたレシーバコマンドが“display
methods"であることを判断し(Sー2)、 選択バッファ112中の名前をもつオブジェクトを捜し
出し(Sー3)、 求められたオブジェクトの属するクラスを求める(S
ー4)。
求められたクラスに対して定義されているメソッドの
メソッド名を求め、メニューの形式で表示する(Sー
5)。
ユーザが、表示された上記メニューから、適用するメ
ソッドをマウス5により選択すると(Sー6)、 選択されたメソッド名が編集テキスト上に書き出され
(Sー7)、前記第5図に示したように、“TEXTサブビ
ュー"206に表示される。
なお、(Sー6)において、適用すべきメソッドが上
位のクラスのメソッドとなる場合(Sー6のN)に、第
3図に示したメソッドメニューの最後の項目である“su
per"を選択すると(Sー8)、 第6図に示したように、そのスーパクラスに対して定
義されているメソッドを一覧するメニューが表示され、
このメニューに対して上記と同様にしてメソッドを選択
することにより、カレントのクラスのスーパクラスを求
め(S−9)、(Sー5)に戻ってそれ以下の処理を実
行し、選択されたメソッド名をテキスト上に書き出す。
以上は、Smalltalk−80の場合であるが、Common Lis
pの場合は、複数のオブジェクトに対して起動されるメ
ソッドが定義されているため、 優先順位が一番高いオブジェクトに対して適用可能な
メソッドをメニュー表示する、 あらかじめ、引数となる複数のオブジェクトを選択し
ておき、それらに対して適用可能なメソッドをメニュー
表示する、 という方法によって、所要のオブジェクトに対して適用
できるメソッドの記述を、実現することができる。
以上のように、本発明によれば、 (1)プログラム編集中のオブジェクトを選択する手段
と、 (2)選択されたオブジェクトに対して適用可能なメソ
ッドの名前を求める手段と、 (3)適用可能なメソッド名をメニュー表示し、その中
から適用するメソッド名をユーザに選択させる手段と、 (4)選択されたメソッド名を、選択したオブジェクト
に対して適用するメソッドとしてプログラム編集テキス
ト上に書き出す手段と、 を備えることにより、任意のオブジェクトに対して、共
通可能なメソッドをすぐに知ることができるため、ユー
ザは適用可能なメソッドをいちいち検索しなくても済
む。
[発明の効果] 以上、詳細に説明したように、本発明によれば、編集
中の任意のオブジェクトに対して、適用可能なメソッド
をすぐに知ることができるため、ユーザは適用可能なメ
ソッドをその都度検索しなくて済む。
また、キーボードからタンピングによる入力をしなく
てもメソッド名を記述することができるので、タイピン
グミスによる記述の誤りや、適用不可能なメソッドを記
述することが少なくなる等、上記従来技術の欠点を解消
することができる。
【図面の簡単な説明】
第1図は本発明によるオブジェクト指向プログラミング
用エディタの一実施例を説明するブロツク図、第2図は
Smalltalk−80「ブラウザ」の説明図、第3図はレシー
バ・コマンドメニューの説明図、第4図はメソッド一覧
のメニューの説明図、第5図は“TEXTサブビュー”の説
明図、第6図は上位クラスに定義されているメソッドを
一覧するメニューの説明図、第7図は本発明の処理の流
れを説明するフローチャートである。 1……記憶装置、2……編集制御装置、3……表示装
置、4……キーボード、5……指示装置、11……編集プ
ログラム記憶手段、111……プログラム記憶部、12……
オブジェクト記憶手段、121……クラス定義記憶部、122
……メソッド定義記憶部、13……編集画面記憶手段、13
1……メソッドメニュー表示部、21……メソッド抽出手
段、22……メソッド選択手段、23……メソッド転記手
段。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 G06F 9/44

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】マルチウインドウシステム上でオブジェク
    ト指向言語のプログラムを編集するエディタにおいて、 編集中のプログラムを記憶する編集プログラム記憶手段
    と、 クラスとメソッドの定義を記憶するオブジェクト記憶手
    段と、 マルチウインドウ上に表示するウインドウとメニューの
    イメージを記憶する編集画面記憶手段と、 メッセージ式を記述するために入力されたオブジェクト
    の選択に際して、上記オブジェクト記憶手段に記憶され
    たクラスの定義から該選択されたオブジェクトのクラス
    定義を計算して、メソッドの定義からそのオブジェクト
    に適用可能なメソッド候補を抽出するメソッド抽出手段
    と、 上記メソッド抽出手段で抽出されたメソッド候補に基づ
    き前記編集画面記憶手段上にメソッド候補のメニューを
    作成して表示手段に表示するメニュー表示手段と、 上記表示手段に表示されたメニューから所望のメソッド
    を選択するメソッド選択手段と、 上記メソッド選択手段により選択されたメソッドを前記
    編集プログラム記憶手段上に転記するメソッド転記手段
    と を備えたオブジェクト指向プログラミング用エディタ。
JP2297215A 1990-11-05 1990-11-05 オブジェクト指向プログラミング用エディタ Expired - Lifetime JP3038887B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2297215A JP3038887B2 (ja) 1990-11-05 1990-11-05 オブジェクト指向プログラミング用エディタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2297215A JP3038887B2 (ja) 1990-11-05 1990-11-05 オブジェクト指向プログラミング用エディタ

Publications (2)

Publication Number Publication Date
JPH04170638A JPH04170638A (ja) 1992-06-18
JP3038887B2 true JP3038887B2 (ja) 2000-05-08

Family

ID=17843669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2297215A Expired - Lifetime JP3038887B2 (ja) 1990-11-05 1990-11-05 オブジェクト指向プログラミング用エディタ

Country Status (1)

Country Link
JP (1) JP3038887B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「情報処理」Vol.30,No.4(1989−4)p.322−323,p.334−346

Also Published As

Publication number Publication date
JPH04170638A (ja) 1992-06-18

Similar Documents

Publication Publication Date Title
US5467448A (en) Text formatting by the direct selection of borders in an editing display
Mynatt et al. Nonvisual presentation of graphical user interfaces: contrasting two approaches
US20020130895A1 (en) Method and apparatus for displaying help window simultaneously with web page pertaining thereto
US4905185A (en) Apparatus for transferring block data in original form and editing the block data
US5819302A (en) Method and apparatus for automatic generaton of documents with single-layered backgrounds from documents with multi-layered backgrounds
JPH08137646A (ja) ダイアログ・ボックスの表示方法及びシステム
JPH0352098B2 (ja)
JPH04186425A (ja) メニュー表示方式
JP3038887B2 (ja) オブジェクト指向プログラミング用エディタ
JP3388451B2 (ja) 手書き入力装置
JPH0628136A (ja) 情報処理装置の機能選択方式
JPH05298049A (ja) メニュー表示制御方式
JPH01173263A (ja) 計算処理方法
Jones Milo: A computer-based tool for (co-) authoring structured documents
JPS6315322A (ja) コマンド履歴取得再利用方式
JPH0652278A (ja) データ処理システム及び値選択方法
JP3461872B2 (ja) 画面表示制御方法及び装置
JP2001117918A (ja) 文書編集処理装置
JP7373828B2 (ja) 情報処理装置、及びプログラム
JPH01233617A (ja) 情報処理装置
JPH0470925A (ja) ヘルプメッセージ表示方式
JPH02151972A (ja) 文書検索方式
JP2843077B2 (ja) キーボードと位置入力装置を併用した情報処理装置
Malcolm et al. Experience designing the waterloo port user interface
JPH02214964A (ja) 計算機システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080303

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090303

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 11