JPH0863346A - プログラム編集方法とその装置 - Google Patents

プログラム編集方法とその装置

Info

Publication number
JPH0863346A
JPH0863346A JP6200810A JP20081094A JPH0863346A JP H0863346 A JPH0863346 A JP H0863346A JP 6200810 A JP6200810 A JP 6200810A JP 20081094 A JP20081094 A JP 20081094A JP H0863346 A JPH0863346 A JP H0863346A
Authority
JP
Japan
Prior art keywords
program
variable name
line
variable
designating
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
JP6200810A
Other languages
English (en)
Inventor
Yasuyuki Ogawa
康行 小川
Tsuneaki Kadosawa
常明 角沢
Taku Nakamura
卓 中村
Hitoshi Watanabe
等 渡邊
Satoshi Asada
聡 浅田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP6200810A priority Critical patent/JPH0863346A/ja
Priority to US08/516,561 priority patent/US5887173A/en
Publication of JPH0863346A publication Critical patent/JPH0863346A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Abstract

(57)【要約】 (修正有) 【目的】 プログラムの作成/編集処理を効率よく行う
プログラム編集方法とその装置を提供する。 【構成】 所定のプログラムラインの参照変数名が指定
されると、ステップS41ではライン変数iを0に設定す
る。ステップS42では、ライン変数iをインクリメント
する。ステップS43では、ライン変数iとライン情報nの
比較を行い、i<nならばステップS44へ進む。また、i≧n
ならばこの処理を終了する。ステップS44では、ライン
iが変数定義部であるか判定し、変数定義部でなければ
ステップS42に戻る。変数定義部である場合は、ステッ
プS45へ進み、ラインiにおいて参照変数名の検索を行
なう。なければステップS42に戻る。検索されると、ス
テップS46へ進み、ライン情報とテキスト情報を、イン
サートバッファに格納する。尚、変数定義テーブルへの
格納は、先に届いた情報から順に格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータプログラ
ムを作成/編集するためのプログラム編集処理方法とそ
の装置に関する。
【0002】
【従来の技術】例えば、C言語等の変数定義と変数参照
の記述が分離しているプログラム言語で記述するプログ
ラムテキストでは、物理的に離れた場所に変数定義の記
述が存在することが多く、その内容を確認するためには
編集装置のスクロール機能等を用いなければならなかっ
た。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来技術では、変数定義領域への迅速な移動が困難である
ことから、プログラム作成及びデバック時のバグ検出作
業効率に支障をきたす。
【0004】本発明は上記従来例に鑑みてなされたもの
で、プログラムの作成/編集処理を効率よく行うプログ
ラム編集方法とその装置を提供することを目的とする。
【課題を解決するための手段】上記目的を達成するた
め、本発明のプログラム編集方法とその装置は以下の構
成を備える。即ち、プログラミング言語により記述され
るプログラムを編集するプログラム編集方法であって、
変数名参照を行うプログラム行を指定するプログラム行
指定工程と、前記指定工程で指定されたプログラム行内
に記述された変数名を指定する変数名指定工程と、前記
変数名指定工程で指定された変数名の型が定義されてい
る変数名定義行を検索して、前記指定された変数名に対
応する型を表示手段に表示する表示工程とを備える。
【0005】また、別の発明は、プログラミング言語に
より記述されるプログラムを編集するプログラム編集装
置であって、変数名参照を行うプログラム行を指定する
プログラム行指定手段と、前記指定手段で指定されたプ
ログラム行内に記述された変数名を指定する変数名指定
手段と、前記変数名指定手段で指定された変数名の型が
定義されている変数名定義行を検索して、前記指定され
た変数名に対応する型を表示する表示手段とを備える。
【0006】
【作用】以上の構成において、プログラム行指定工程
で、変数名参照を行うプログラム行を指定し、変数名指
定工程で、前記指定工程で指定されたプログラム行内に
記述された変数名を指定し、表示工程が、前記変数名指
定工程で指定された変数名の型が定義されている変数名
定義行を検索して、前記指定された変数名に対応する型
を表示手段に表示する。
【0007】また、別の発明は、プログラム行指定手段
が、変数名参照を行うプログラム行を指定し、変数名指
定手段が、前記指定手段で指定されたプログラム行内に
記述された変数名を指定し、表示手段が、前記変数名指
定手段で指定された変数名の型が定義されている変数名
定義行を検索して、前記指定された変数名に対応する型
を表示する。
【実施例】本発明のプログラム編集方法とその装置のポ
イントは、変数参照の位置にその定義内容を容易に表示
させることにより、プログラム作成及びデバッグ時の処
理効率を上げることにある。これは、ユーザが、変数の
使用位置において、簡単なコマンドを入力することよ
り、その変数の定義内容を即座にその場に表示すること
ができる様にすることで達成される。
【0008】以下に図を用いて本発明に係る第1の実施
例を詳細に説明する。
【0009】図2は、本実施例のプログラム編集装置の
構成例を示すものであり、キーボード等の入力装置2
9、編集処理結果等を表示する表示装置27、入出力を
制御するI/Oコントローラ28、編集処理プログラム
や各種データを格納する主記憶装置(Memory)2
3、2次記憶としての外部記憶装置25、本編集処理装
置全体を制御する中央処理装置(CPU)22、これら
の各装置間のデータを転送するシステムバス21を備え
る。
【0010】図1は、表示装置27を用いた編集例を示
すものであり、変数定義部11、編集領域12及び1
2’、変数指定行13、変数定義参照行14、コマンド
入力領域15をそれぞれ表してる。プログラム編集は、
表示装置27に作成したプログラムステップを表示させ
た状態で、その画面上の編集位置を入力装置29から指
定しながら、編集コマンドや編集データを入力装置29
から入力して、対応する編集処理を行い、その結果を表
示装置27の画面に表示する処理を繰り返すことで実行
される。
【0011】本実施例のプログラム編集装置は、編集モ
ードとコマンド入力モードの2つのモードを有する。そ
して、それぞれのモードに対応して、カーソルは編集領
域12、コマンド入力領域15を移動する(16、1
6’)。編集領域12に対して入力された情報(入力装
置29から)は、I/Oコントローラ28を介して、主
記憶メモリ23内のテキストバッファ23−1に格納さ
れる。テキストバッファ23−1では、図3の編集テー
ブル31の形で、ラインテーブル32とテキストテーブ
ル33とが対応して格納される。ラインテーブル32
は、プログラムテキスト行番号を格納し、テキストテー
ブル33には、プログラムテキストを格納する。
【0012】いま、’a’なる変数が、編集領域12内
において使用されているとした時、この定義内容を参照
する場合の手順を以下に示す。現在編集中のファイル内
容は、テキストテーブル33と対応するラインテーブル
32の形式で、テキストバッファ23ー1に保持されて
いる。
【0013】ここで、ユーザは、入力装置29を用い
て、編集領域12内でカーソル位置を参照したい変数の
位置13に移動させ、モードをコマンド入力モードに切
換える命令を入力する。
【0014】尚、本実施例のプログラム編集処理を行う
プログラム編集プログラムは、主記憶装置23に予め格
納されている。
【0015】CPU22は、入力されたそのコマンドに
従い、モードをコマンド入力モードに切換える。
【0016】尚、この時点におけるテキストバッファ2
3−1の内容は、UNDOバッファ23−2に保持さ
れ、変数指定行13はラインテーブルのn行目として記
憶されている。
【0017】ユーザが、コマンド入力領域15におい
て、例えば、 show typedef of ’a’ の命令を入力装置29から入力させると、CPU22は
この命令を入力して解釈し、参照する変数として”a”
を設定する。そして、ライン情報nと文字列変数”a”
に基づいて、図3の編集テーブルに関して、図5に示す
変数”a”を含む変数定義テーブルをインサートバッフ
ァ23−3に作成する。これらの処理を、以下図4のフ
ローチャートを参照して説明する。
【0018】ステップS41では、ライン変数iに、初
期値として0を与える。
【0019】ステップS42では、ライン変数iの値を
インクリメントする。
【0020】ステップS43では、ライン変数iとライ
ン情報nの比較を行い、i<nならば、ステップS44
へ進む。また、i≧nならばこの処理を終了する。
【0021】ステップS44では、ラインiが変数定義
部であるか判定する。そして、変数定義部でなければス
テップS42に戻る。変数定義部である場合は、ステッ
プS45へ進む。
【0022】ステップS45では、ラインiにおいて参
照変数”aの”検索を行なう。そして、”a”がなけれ
ばステップS42に戻り、逆に”a”が検索されると、
ステップS46へ進む。
【0023】ステップS46では、ライン情報とテキス
ト情報を、図5に示す変数定義テーブル51の形式で、
インサートバッファ23−3に格納する。尚、変数定義
テーブル51への格納は、先に届いた情報から順に、即
ち変数定義テーブル51への参照アドレスを順にインク
リメントさせながら格納する。そして、ステップS42
に戻り、次のラインに関して同様の処理を繰り返す。
【0024】以上の処理終了後、インサートバッファ2
3−3の変数定義テーブル51の内容を、テキストバッ
ファ31のn行目の直後に挿入し、変更されたテキスト
バッファの内容を表示装置27に表示する。また同時
に、カーソルをテキスト編集モードに戻す。この時の表
示装置の表示画面の状態を図1に表す。
【0025】尚、テキストバッファ31の変更に関して
は、変更前の内容がメモリ23中のUNDOバッファ2
3−2に格納されているため、図1の状態から変数定義
内容を挿入する前の状態(図5参照)に戻すには、UN
DO機能により戻すことが可能である。 (第2の実施例)第1の実施例における、変数定義表の
検索処理に関して、さらに変数のスコープを考慮した処
理方法を以下に示す。本実施例で用いるプログラム言語
L0 の変数の有効範囲はブロックにより決定する。また
プログラム言語L0 のブロック構造に関して、「任意の
2つのブロックに注目した時、2つのブロックは互いに
独立或いは一方を含む」という法則が成り立つ。
【0026】ここで、ブロックが「入れ子構造」となっ
ている状態を図6に示す。ブロックB4中で変数aが使
用されているライン61において、モードをコマンド入
力モードに切換える。ここで第1の実施例と同様に、 show typedef of ’a’ の命令を入力したとする。CPU22は、この命令ライ
ンに従い、参照する変数として”a”を設定する。そし
て、CPU22は、指定ライン61が含まれる内側ブロ
ックB4からその外側のブロックに向って(即ち、B4
→B3→B1)、各ブロック毎に変数”a”を含む変数
定義表を図4に示すフローに従って検索を行なう。この
検索は、各ブロックの先頭行から開始され、終了時に変
数テーブル51が空であった場合、外側のブロックにつ
いて同様に検索を行なう。最外側ブロックの検索を終了
した場合に、すべての検索を終了する。このとき、プロ
グラミング言語L0 のブロック構造について、「任意の
2つのブロックに注目した時、2つのブロックは互いに
独立か或いは一方を含む」法則が成り立っているため、
図6に示すプログラム構造の場合、検索順序は、B4→
B3→B4→B1→B3で行なわれる。つまり、一度検
索したブロックを外して検索が行なわれる。この検索に
より作成された変数定義テーブル51の内容をテキスト
バッファ23−1のn行目の直後に挿入し、変更された
テキストバッファの内容を表示装置27に表示し、同時
にカーソルをテキスト編集モードに戻す。この時の状態
を図1に示す。
【0027】尚、上記実施例では、変数定義部と変数参
照部が同一ファイルに存在している場合を想定している
が、変数定義部が変数参照部と別ファイルに存在してい
ても上記実施例と同様に行なえる。変数定義が、例え
ば、xyz.hなる別ファイルに記述されている場合、
変数参照を行うファイルにおいて、xyz.hで変数宣
言が行なわれていると宣言する。例えば、 #include ”xyz.h” のようなラインステートを変数参照を行うファイルに記
述し、xyz.hは、変数参照を行うファイルに含まれ
ていることを明示する。この様な場合においても、xy
z.hファイルの検索も上記実施例と同様に処理を行
い、図1の状態を得ることができる。
【発明の効果】以上説明したように本発明によれば、プ
ログラムの作成/編集処理を効率よく行うことができ
る。
【0028】
【図面の簡単な説明】
【図1】本実施例のプログラム編集装置の表示装置にお
ける一表示内容を示す図である。
【図2】本実施例のプログラム編集装置の構成例を示す
図である。
【図3】本実施例の編集処理に用いる編集テーブルを示
す図である。
【図4】本実施例の編集処理のフローチャートである。
【図5】本実施例の編集処理に用いる変数定義テーブル
を示す図である。
【図6】あるプログラムのブロックの入れ子構造を概念
的に示した図である。
【符号の説明】
11 表示装置で表示されていない変数定義部 12 テキスト編集領域 13 変数指定行 14 変数参照行 15 コマンド入力領域 16 カーソル 21 システムバス 22 CPU 23 メモリ 23−1 テキストバッファ 23−2 UNDOバッファ 23−3 インサートバッファ 25 外部記憶装置 27 表示装置 28 I/Oコントローラ 29 入力装置 31 編集テーブル 32 ラインテーブル 33 テキストテーブル 41 入力変数 42 カウンターiのインクリメント 43 テキスト領域の判定 44 変数定義部の判定 45 指定変数の有無 46 変数定義テーブルに保存 47 終了 51 編集定義テーブル 52 ラインテーブル 53 テキストテーブル 61 ブロックB4の変数のスコープ範囲 62 ブロックB3の変数のスコープ範囲 63 ブロックB1の変数のスコープ範囲
───────────────────────────────────────────────────── フロントページの続き (72)発明者 渡邊 等 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 浅田 聡 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 プログラミング言語により記述されるプ
    ログラムを編集するプログラム編集方法であって、 変数名参照を行うプログラム行を指定するプログラム行
    指定工程と、 前記指定工程で指定されたプログラム行内に記述された
    変数名を指定する変数名指定工程と、 前記変数名指定工程で指定された変数名の型が定義され
    ている変数名定義行を検索して、前記指定された変数名
    に対応する型を表示手段に表示する表示工程とを備える
    ことを特徴とするプログラム編集方法。
  2. 【請求項2】 前記プログラミング言語は、前記変数名
    定義行と前記プログラム行を、離して記述することを特
    徴とする請求項1に記載のプログラム編集方法。
  3. 【請求項3】 前記プログラムを表示手段に表示する工
    程をさらに備えることを特徴とする請求項1に記載のプ
    ログラム編集方法。
  4. 【請求項4】 前記表示工程は、前記指定された変数名
    に対応する変数名定義行を、前記プログラム行指定工程
    で指定されたプログラム行が含まれる下位のプログラム
    ブロックスコープから、上位のプログラムブロックスコ
    ープに順に検索して、初めに検索された前記変数名に対
    応する変数名定義行に記述された型を表示手段に表示す
    ることを特徴とする請求項1に記載のプログラム編集方
    法。
  5. 【請求項5】 プログラミング言語により記述されるプ
    ログラムを編集するプログラム編集装置であって、 変数名参照を行うプログラム行を指定するプログラム行
    指定手段と、 前記指定手段で指定されたプログラム行内に記述された
    変数名を指定する変数名指定手段と、 前記変数名指定手段で指定された変数名の型が定義され
    ている変数名定義行を検索して、前記指定された変数名
    に対応する型を表示する表示手段とを備えることを特徴
    とするプログラム編集装置。
  6. 【請求項6】 前記プログラミング言語は、前記変数名
    定義行と前記プログラム行を、離して記述することを特
    徴とする請求項5に記載のプログラム編集装置。
  7. 【請求項7】 前記プログラムを表示する手段をさらに
    備えることを特徴とする請求項5に記載のプログラム編
    集装置。
  8. 【請求項8】 前記表示手段は、前記指定された変数名
    に対応する変数名定義行を、前記プログラム行指定手段
    で指定されたプログラム行が含まれる下位のプログラム
    ブロックスコープから、上位のプログラムブロックスコ
    ープに順に検索して、初めに検索された前記変数名に対
    応する変数名定義行に記述された型を表示手段に表示す
    ることを特徴とする請求項5に記載のプログラム編集装
    置。
JP6200810A 1994-08-25 1994-08-25 プログラム編集方法とその装置 Pending JPH0863346A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6200810A JPH0863346A (ja) 1994-08-25 1994-08-25 プログラム編集方法とその装置
US08/516,561 US5887173A (en) 1994-08-25 1995-08-18 Program processing to facilitate program editing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6200810A JPH0863346A (ja) 1994-08-25 1994-08-25 プログラム編集方法とその装置

Publications (1)

Publication Number Publication Date
JPH0863346A true JPH0863346A (ja) 1996-03-08

Family

ID=16430580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6200810A Pending JPH0863346A (ja) 1994-08-25 1994-08-25 プログラム編集方法とその装置

Country Status (2)

Country Link
US (1) US5887173A (ja)
JP (1) JPH0863346A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10214203A (ja) * 1997-01-29 1998-08-11 Nec Corp 情報処理装置
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6651241B1 (en) * 1999-09-29 2003-11-18 Lucent Technologies Inc. Scriptor and interpreter
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
CN1527978A (zh) * 2001-03-30 2004-09-08 ������������ʽ���� 文件管理方法
JP2004072350A (ja) * 2002-08-05 2004-03-04 Canon Inc デジタルカメラおよびプリンタ
US7404179B2 (en) * 2004-09-16 2008-07-22 International Business Machines Corporation Fast source file to line number table association
US7953733B2 (en) * 2005-04-18 2011-05-31 Canon Kabushiki Kaisha Recording/playback apparatus, recording/playback method, program, and storage medium
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
EP1868082A1 (de) * 2006-06-12 2007-12-19 Siemens Aktiengesellschaft Navigation zwischen Verwendungsstellen von Ressourcen in Automatisierungssystemen
WO2008021433A2 (en) * 2006-08-14 2008-02-21 Payman Khodabandehloo Design tool and methodology for enterprise software applications
US8694953B2 (en) * 2006-08-14 2014-04-08 Payman Khodabandehloo Tool and methodology for enterprise software applications

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418919A (en) * 1989-01-10 1995-05-23 Canon Kabushiki Kaisha Apparatus and method for concurrently executing plural tasks in which identifiers specify steps in tasks
JPH02272645A (ja) * 1989-04-14 1990-11-07 Hitachi Ltd プログラム・デバツグ支援方法
US5048018A (en) * 1989-06-29 1991-09-10 International Business Machines Corporation Debugging parallel programs by serialization
JPH04149658A (ja) * 1990-10-08 1992-05-22 Canon Inc 情報処理装置
US5446900A (en) * 1992-07-24 1995-08-29 Microtec Research, Inc. Method and apparatus for statement level debugging of a computer program
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
US5481717A (en) * 1993-04-12 1996-01-02 Kabushiki Kaisha Toshiba Logic program comparison method for verifying a computer program in relation to a system specification
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications

Also Published As

Publication number Publication date
US5887173A (en) 1999-03-23

Similar Documents

Publication Publication Date Title
JPH0863346A (ja) プログラム編集方法とその装置
JP2003084813A (ja) ラダー回路の編集装置、および、その編集方法
JPH06110884A (ja) 編集装置
JPS63288357A (ja) デ−タ編集方式
JPH01205273A (ja) 図面管理方法及び装置
JP2958927B2 (ja) 文書処理装置
JPS58163036A (ja) 文書作成装置
JP3083552B2 (ja) 階層編集処理装置
JPH08286897A (ja) 階層構造表示機能を有するプログラム編集装置
JPH05113818A (ja) 多重プログラム機能を有する数値制御装置
JPH086962A (ja) データ検索装置及び検索データの表示方法
JPH03116285A (ja) 図形作成装置
JP2618982B2 (ja) 情報処理装置及び情報処理方法
JPH04291449A (ja) 文書編集装置におけるスクロール処理方式
JPS62203226A (ja) 文書処理装置
JPH09330313A (ja) 文書処理装置
JPH01124056A (ja) 文書処理装置
JPH08123982A (ja) 解析データ入出力装置
JPH0836569A (ja) ファイル編集処理装置
JPH0744446A (ja) グループ化情報の関連付け方法
JPH1021040A (ja) 画面分割による文書表示方法及び装置
JPH1097532A (ja) 情報処理装置及び方法
JPH04259058A (ja) スペース削除機能付文書処理装置
JPH06222914A (ja) 電子機器
JPH07121285A (ja) 文字列入力方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020311