JPH0363820A - ファイル編集方式 - Google Patents

ファイル編集方式

Info

Publication number
JPH0363820A
JPH0363820A JP20165289A JP20165289A JPH0363820A JP H0363820 A JPH0363820 A JP H0363820A JP 20165289 A JP20165289 A JP 20165289A JP 20165289 A JP20165289 A JP 20165289A JP H0363820 A JPH0363820 A JP H0363820A
Authority
JP
Japan
Prior art keywords
file
read
input
update
console
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.)
Granted
Application number
JP20165289A
Other languages
English (en)
Other versions
JP2990701B2 (ja
Inventor
Kenji Matsui
松井 研司
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP20165289A priority Critical patent/JP2990701B2/ja
Publication of JPH0363820A publication Critical patent/JPH0363820A/ja
Application granted granted Critical
Publication of JP2990701B2 publication Critical patent/JP2990701B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はファイル編集方式に関する。
〔従来の技術〕
ここでは、入力されたファイルを編集するプログラムを
エディタと呼ぶ。
一般的なエディタ2は、第6図に示すようにファイル1
をファイル入力部3で入力し、ファイルの内容を画面出
力部6によってコンソール9に出力する4、このコンソ
ール9からの操作指示入力を操作指示入力部4から入力
し、編集部5で編集処理なfrう、また、編集部50編
集結果に従って、ファイル出力部7で更新結果を更新結
果ファイル8に出力する。このエディタの走行するホス
トマシン21は、第7図に示すようjこ、ユーザの入力
する2デイタの操作指示コマンドを受付け、編集結果を
表示するコンソール22、エディタの処理を行う演算装
置23、およびファイルを格納する外部記憶装置24を
もつ。
エディタは、ファイルを論理的に管理する。言語処理プ
ログラム用のソース・ファイルを編集するエディタでは
、ファイルを行単位に管理している。行の区切りとして
は、特定の終了文字(例えばラインフィード文字)まで
を行とする方式や、ファイル中で各行の長さを管理する
方式などがある。また、言語処理プログラム用のソース
・ファイルでは文法により、言語処理プログラムの指示
情報が表される。
従来のエディタでは、入力ファイルのもつ指示情報に関
係なく、起動されると入力ファイルを読込み、操作指示
入力に応じ全内容をコンソールに表示する。
〔発明が解決しようとする課題〕
課題の説明にあたり、ファイルとして言語処理プルグラ
ム用のソース・ファイルを例にして説明する。言語処理
プログラム用のソース・ファイルを編集するエディタで
は、ファイルを行単位に管理するものとし、また指示情
報は言語処理プログラムの文法により表されることとす
る。
言語処理プログラムでは、プログラム開発時にデイバグ
情報を埋込んだり、複数用途のプログラムの管理の一本
化のために、条件コンパイルという機能をもつものが多
い。これは、あらかじめ言語処理プログラムで規定され
た文法を表す指示子に従ってファイルの特定の行のみを
入力する機能である。例えばC言語処理プログラムでは
、#1−fdef、#endifなどの指示により、フ
ァイル中の特定の行を判別し、特定の行のみを入力する
従来のエディタでは、ファイル中にこうした指示子があ
った場合にもこの指示子を認識しないため、エディタは
言語処理プログラムが読込みを行わない行に対してもホ
ストマシンのコンソールに対しファイルの内容を表示す
る。このため、指示子が使われている場合、言語処理プ
ログラムが読込む箇所を判別した上でファイル中の編集
したい箇所を見つけるのに時間がかかったり、言語処理
プログラムが読込まない箇所を誤って編集したりして、
開発効率が低下するという問題点があった。
本発明の目的は、入力ファイルのもつ指示情報に従って
、入力ファイルの特定部分のみをコンソールに表示でき
るようにしたファイル編集方式を提供することにある。
〔課題を解決するための手段〕
本発明の機能は、ファイルを外部記憶装置から入力する
入力手段、コンソールからの操作指示情報を入力するキ
ー入力手段、前記操作指示情報をもとにファイルを編集
する手段、この編集結果をコンソールに出力する出力手
段および前記編集結果によって更新されたファイルを外
部記憶装置に出力するファイル出力手段を有するファイ
ル編集方式において、入力ファイルのもつ指示情報に従
ってファイルの特定部分を読込む処理部と、前記特定部
分の読込み内容を前記コンソールに表示する処理部と、
前記特定部分の読込み部の更新結果と読込みを行ってい
ない部分とを結合して更新ファイルを前記外部記憶装置
に出力する処理部とを設けることにより、入力ファイル
がもつ指示情報に従ってこの入力ファイルの特定部分の
みを前記コンソールに表示することを特徴とする。
〔実施例〕
次に、図面を参照して本発明を説明する。本実施例は、
入力ファイルとしてC言語処理プログラム用のソース・
ファイルを用い、そのファイル編集を行うプログラムと
してファイルを行単位に管理するエディタを用い、また
指示情報はC言語処理プログラムの文法により表される
こととする。
C言語では、:tFdefine指示子のオペランドに
名標な記述することにより名標な定義する。
この$define指示子とオペランドは空白で区切ら
れ、また特定の行群の範囲付けを# i f d e 
f指示子と$endif指示子で指定する。これら第 
 1 表 # i f d e f指示子のオペランドとして名標
を記述し、この名標が定義されていない場合または値O
が定義されている場合、これ以降の行を#e−ndif
指示子を読込むまで無視する。C言語処理プログラム用
のファイルの例を第2表に、このファイルのうちC言語
プログラムが処理対象とする部分を第3表に示す。以下
の説明では本発明の要点を鮮明にするため、# i f
 d e f指示子はネスティングしないものと仮定す
る。
第   2   表 :tFdefine DEBUG O b = a: #i f d e f  DEBUG printf (82%d\n”、a);#endif c=b; 第   3   表 #’define DEBUG 0 b=a; c  =  b ; 第1図は本発明の一実施例の構成を示すブロック図であ
る。編集部には、入力ファイルの持つ文法に従って入力
ファイル内の特定行を読み込む特定部分読み込み部11
0と、前記特定行を表示する特定部分表示処理部111
と、非読み込み部と更新部分の結合する更新結果ファイ
ル作成部112をもっている。本実施例ではエディタの
使用時$”dsfine演算子を追加したり、#def
−ins演算子のオペランドをエディタ使用者が変更し
ないものとする。これはエディタ使用上の制限事項とす
る。前記追加や変更をエディタ使用者が行いたい場合、
エディタ使用者は、#define演算子を追加したり
、#define演算子のオペランドを変更後エディタ
の使用を一旦終了させ、エディタを再起動させれば前記
追加や変更は可能である。
次に、本実施例で従来例に対し追加した特定部分読込み
部の処理を、第2図のフローチャートにより説明する。
ここでは、入力ファイルを順方向にのみ読込むものとす
る。入力ファイルをランダムに読込む場合には、入力フ
ァイルの読込んだ位置に対応するようにワーク・ファイ
ルを作成する処理を編集部5が行えばよい。このランダ
ムに読込んで入力ファイルの読込んだ位置に対応するよ
うにワーク・ファイルを作成する処理は、従来のエディ
タで一般的である。
本実施例の特定部分読込み部の処理として、まずステッ
プ101で入ファイル、更新ワーク・ファイルおよび非
更新ワーク・ファイルをオーブンする。次に、ステップ
102で1行読み込み、ステップ103で入力ファイル
から行がなくなるまで以下の処理を繰り返す。読込んだ
行の先頭が#’define指示子であるかステップ1
04で比較し、:#:define指示子と一致した場
合は、次にステップ105で名標の値が0かの判定をす
る。その値がOでない場合#define指示子のオペ
ランドに記述された名標なエディタ内部の名標テーブル
に登録しくステップ106)、次に1行読み込む(ステ
ップ102)。
入力ファイルの最後まで読込み、名標テーブルへの登録
が終わったら、ステップ114で入力ファイルの先頭か
ら再び読込む準備をする。次に、115で1行読込み、
入力ファイルから行がなくなるまで以下の処理を繰り返
す(116)。
読込んだ行の先頭が# i f d e f指示子であ
るか否かの判定をステップ108で行い、# if d
 e f指示子と一致した場合、これらの指示子のオペ
ランドに記述された名標に関し、前記名標テーブルを検
索し、一致する名標があるか否かを調べる(ステップ1
09)。名標がある場合その行以降を$endif指示
子があるまで更新ワーク・ファイルに行の内容を1行l
レコードとして出力する(ステップ110)。一致する
名標がない場合、更新ワーク・ファイルに非更新部管理
ブロック番号を示す(この場合1)レコードをステ、ブ
111で出力する。
一方、非更新ワーク・ファイルにまず、非更新部管理開
始ブロック番号を示す(この場合1)レコードをステッ
プ112で出力する。次に名標があった行以降を$en
dif演算子があるまで非更新ワーク・ファイルに行の
内容を1行1レコードとして出力し、非更新部管理終了
レコードを出力する(113)。ステップ108にて読
込んだ行の先頭が# i f d e f指示子でない
場合、更新ファイルに行の内容を1レコードをステップ
107として出力し、次にステップ115で1行を読込
む。
こうして、第1表の入力ファイルに対して生成される更
新ワーク・ファイル/非更新ワーク・ファイルの内容を
第4表(a)、 (b)に示す。
第4表(a)更新ワークファイル #define   DEBUG  Ob  =a: 非更新部管理レコード(1) c = b; 第4表(b)非更新ワークファイル 非更新部管理開始レコード(1) #’i f d e f    DEBUGprint
f (”a=%d\n”、a);$endif 非更新部管理終了レコード(1) 次に、特定部分表示処理部では更新ワーク・ファイルを
読込む。ここで、非更新部管理レコードを読込んだ場合
、ここから画面上表示されていない部分があることを示
す表示をコンソールに表示する。この処理を第3図のフ
ローチャートで示す。
まず、ステップ201で更新ワーク・ファイルを1レコ
ード読込み、ステップ202で更新ワーク・ファイルか
らレコードがなくなるまで以下の処理を繰返す。次に、
ステップ203でまず読込んだレコードが非更新部管理
レコードであるかを確認する。非更新部管理レコードで
ある場合、# i f d e f部分を読み飛ばした
ことを示す記号、例えば“****  5KIP  #
1fdef  ****”をコンソールに表示する(2
04)。また、非更新部管理レコードでない場合、読込
んだレコードの内容をコンソールに表示する(205)
こうして第4表の更新ワーク・ファイルに対してコンソ
ールに表示される例を第5表に示す。
第   5   表 :tFdefine DEBUG O b ” a: **** 5KIP #1fdef ****c  =
  b : 最後に、更新結果ファイル作成部には、更新ワーク・フ
ァイルと非更新ワーク・ファイルの結合部をもっている
。ここでは、更新ファイルの内容を更新結果ファイルに
複写する。ここで更新ワーク・ファイル中の非更新部管
理レコードを読み込んだ場合、非更新ワーク・ファイル
の対応するレコード番号の非更新埋管理開始レコードの
直後以降、非更新部管理終了レコードの直前までの内容
を更新ファイルに追加する。次に再び、更新ファイルの
内容を更新結果ファイルに複写する。
この処理を第4図のフローチャートに示す。
まず、ステップ301で更新結果ファイルをオープンし
、ステ、ブ302で更新ワーク・ファイルを1レコード
読込む。次に、303で更新ワーク・ファイルからレコ
ードがなくなるまで以下の処理を繰り返す。まず、読込
んだレコードが非更新部管理レコードであるかをステッ
プ304で確認する。これが非更新部管理レコードであ
る場合、ステップ305で更新番号に対応する非更断部
管理開始レコードを非更新ワーク・ファイルからサーチ
し、ステップ306で非更新部管理終了レコードの直前
まで非更新ワーク・ファイルノ内容を更新結果ファイル
に出力する。ステップ304において非更新部管理レコ
ードでない場合、ステップ307で更新ワーク・ファイ
ルの内容を更新結果ファイルに出力する。更新ワーク・
ファイルがなくなったら、ステップ308で入力ファイ
ル、更新ワーク・ファイル、非更新ワーク・ファイルお
よび更新結果ファイルをクローズする。
こうして、コンソールには入力ファイルの特定部分のみ
表示させながら入力ファイルを更新することができる。
第5図は本発明の第2の実施例の特定部分表示処理部の
処理を示すフローチャートである。本実施例2も第1の
実施例と処理の概要は同じであるが、編集部5の特定部
分表示処理部11において、入力ファイルから読み込ん
だ行に行番号をつけて表示する機能をもっていることが
第1の実施例と相違している。
まず、ステップ401で行番号を記憶するカウンタを1
に初期化し、次にステップ402で更新ワーク・ファイ
ルをlレコード読込む。さらにステップ403で、更新
ワーク・ファイルからレコードがなくなるまで以下の処
理を繰返す。まず、読込んだレコードが非更新部管理レ
コードであるかをステップ404で確認する。非更新部
管理レコードである場合、ステップ405で更新番号に
対応する非更新部管理開始レコードを非更新ワーク・フ
ァイルからサーチし、ステップ406で非更新部管理終
了レコードの直前の行数をカウントし、その分隔番号カ
ウンタを加算する。ステップ404において非更新部管
理レコードでない場合、ステ、ブ407で行番号カウン
タの番号とレコードの内容をコンソールに表示し、ステ
ップ408で行番号カウンタな1加算する。こうして第
2表の入力プログラムがコンソールに表示される例を、
第1表に示す。
第  l  表 00001:#define DEBUG 00000
2:b = a; 00006:c = b; 〔発明の効果〕 以上説明したように、本発明を用いたエディタでは、入
力ファイルのもつ指示情報に従って、入力ファイルの特
定部分のみをコンソールに表示させるので、入力ファイ
ル中で着目したくない部分をコンソールに表示しなくな
り、次の効果がある。
(1)着目したくない部分を誤って編集することがなく
なる。
(2)  ii集したい箇所を探し易くなる。
(3)着目したい部分のみ表示されるため、入力ファイ
ルの内容を理解しやすくなる。
こうして、入力ファイルの編集効率を上げることができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例を説明するシステムのブロッ
ク図、第2図、第3図、第4図はそれぞれ第1図の特定
部分読込み部、特定部分表示処理部および更新結果ファ
イル作成部の各処理を説明するフローチャート、第5図
は本発明の第2の実施例の特定部分読込み部の処理を説
明するフローチャート、第6図は従来のファイル編集シ
ステムの一例のブロック図、第7図は第6図のシステム
の走行するホストマシンのブロック図である。 1・・・・・・入力ファイル、2,2a・・・・・・フ
ァイル編集プログラム、3・・・・・・ファイル入力部
、4・・・・・・操作指示入力部、5・・・・・・編集
部、6・・・・・・画面出力部、7・・・・・・ファイ
ル出力部、8・・・・・・更新結果ファイル、9・・・
・・・コンソール、10・・・・・・特定部分読み込み
部、11・・・・・・特定部分表示処理部、12・・・
・・・更新結果ファイル作成部、21・・・・・・ホス
トマシン、22・・・・・・コンソール、23・・・・
・・演算装置、24・・・・・・外部記憶装置、101
〜113,201〜205,301〜308.401〜
408・・・・・・処理ステ、ブ。

Claims (1)

    【特許請求の範囲】
  1. ファイルを外部記憶装置から入力する入力手段、コンソ
    ールからの操作指示情報を入力するキー入力手段、前記
    操作指示情報をもとにファイルを編集する手段、この編
    集結果をコンソールに出力する出力手段および前記編集
    結果によって更新されたファイルを外部記憶装置に出力
    するファイル出力手段を有するファイル編集方式におい
    て、入力ファイルのもつ指示情報に従ってファイルの特
    定部分を読込む処理部と、前記特定部分の読込み内容を
    前記コンソールに表示する処理部と、前記特定部分の読
    込み部の更新結果と読込みを行っていない部分とを結合
    して更新ファイルを前記外部記憶装置に出力する処理部
    とを設けることにより、入力ファイルがもつ指示情報に
    従ってこの入力ファイルの特定部分のみを前記コンソー
    ルに表示することを特徴とするファイル編集方式。
JP20165289A 1989-08-02 1989-08-02 ファイル編集方式 Expired - Fee Related JP2990701B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20165289A JP2990701B2 (ja) 1989-08-02 1989-08-02 ファイル編集方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20165289A JP2990701B2 (ja) 1989-08-02 1989-08-02 ファイル編集方式

Publications (2)

Publication Number Publication Date
JPH0363820A true JPH0363820A (ja) 1991-03-19
JP2990701B2 JP2990701B2 (ja) 1999-12-13

Family

ID=16444644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20165289A Expired - Fee Related JP2990701B2 (ja) 1989-08-02 1989-08-02 ファイル編集方式

Country Status (1)

Country Link
JP (1) JP2990701B2 (ja)

Also Published As

Publication number Publication date
JP2990701B2 (ja) 1999-12-13

Similar Documents

Publication Publication Date Title
EP0785510A1 (en) Program debugging system for debugging a program having a graphical user interface
US6951010B2 (en) Program specification generating system
KR100633496B1 (ko) 2 계층 페이스트 버퍼 및 디스플레이
JP3205406B2 (ja) 参照対象変数決定処理方法および翻訳処理システム
US6151699A (en) Computer apparatus and method for editing programs, and readable medium
JPH0363820A (ja) ファイル編集方式
JPS61226834A (ja) 表示画面編集方式
JPH0358225A (ja) ファイル編集方式
JP2000207246A (ja) デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体
JP2998674B2 (ja) 設計作業における文書作成支援装置
JPH05307472A (ja) プログラム部品情報再利用装置
JPS62186339A (ja) テキストエデイタにおけるコンパイルエラ−表示方式
JP3886726B2 (ja) プログラム仕様書作成装置及びプログラム仕様書作成方法並びにプログラム仕様書作成プログラムを記録した記録媒体
JP3224386B2 (ja) プログラム作成装置
JPH1021132A (ja) 実行ファイルのファイル属性管理方式
JPH08297569A (ja) ソースプログラム修正支援装置
JP2946509B2 (ja) 対話型マニュアルの制御方法
JPS62217320A (ja) リスト編集処理方法
JP2002318712A (ja) プログラム実行履歴解析方法
JP3105546B2 (ja) アセンブラのシンボル・デバッグ情報処理方式
JPH01152535A (ja) プログラム管理方法および装置
JPH03154124A (ja) コンピュータソースプログラムに対するテキストエディタ処理方式
JPH04229343A (ja) 対話型デバッガにおけるメモリ内容表示方式
JPH06324853A (ja) オブジェクト指向プログラミング言語を対象とした原始プログラム編集装置
JPS638837A (ja) スキヤンデ−タ表示方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees