JPH04237365A - テキスト処理装置における差分検出方式および自動編集方式 - Google Patents

テキスト処理装置における差分検出方式および自動編集方式

Info

Publication number
JPH04237365A
JPH04237365A JP3019212A JP1921291A JPH04237365A JP H04237365 A JPH04237365 A JP H04237365A JP 3019212 A JP3019212 A JP 3019212A JP 1921291 A JP1921291 A JP 1921291A JP H04237365 A JPH04237365 A JP H04237365A
Authority
JP
Japan
Prior art keywords
text
texts
difference
display
line
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
JP3019212A
Other languages
English (en)
Inventor
Kazuko Kaneda
金田 和子
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 JP3019212A priority Critical patent/JPH04237365A/ja
Publication of JPH04237365A publication Critical patent/JPH04237365A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】2つのテキストを比較してその差
分を検出し、また、このようにして検出された差分を用
いて自動編集を行なうようにしたテキスト処理装置にお
ける差分検出方式および自動編集方式に関する。
【0002】
【従来の技術】図13は従来の差分検出方式によって処
理を行なった場合の表示例を示したものであって、(b
) 図に示すテキストTbでは、(a) 図に示したテ
キストTaの10行目に“if(x!=0){”、14
行目に“{”という文がそれぞれ追加されているもので
あり、従来の差分検出方式によってこれらのテキストT
a,Tb は1行ごとに比較されて、その差分検出結果
を例えば(c) 図に示すように表示する。
【0003】すなわち、この表示では両テキストの相違
として、テキストTaの10〜14行とテキストTbの
9〜15行が一致していないことが示されていて、テキ
ストTaの10〜14行をテキストTbの9〜15行に
変更することによって両テキストが一致することを表し
ている。
【0004】しかしながら、テキストTaの10〜14
行とテキストTbの10〜14行とは言語上の意味を有
しないタブあるいは空白の違いがあるだけで、プログラ
ムとしての実質はまったく同一である。
【0005】
【発明が解決しようとする課題】上記のテキストTa,
Tb の10〜14行のような同一部分を表示すること
は無意味であるばかりでなく、実質上の相違点を把握す
る上からはかえって好ましくなく、しかも差分を表示す
るための情報量も大きくなるという問題がある。
【0006】一方、2つのテキストの対応する部分を同
一なものに編集しようとする場合には、編集を行なった
テキストともう一方のテキストとの差分検出結果の表示
を参照しながらエディタ上にテキストを表示させて編集
を行なうが、このように同一の編集を繰返すのは作業量
が著しく大きいばかりでなく、編集作業を再開する場合
には既に編集が終了している部分についても差分の検索
と表示が行なわれるために無用な手間と時間を要すると
いう問題がある。
【0007】したがって、本発明は、文の構造上意味の
ある差分だけを選択・検出し得るようにするとともに理
解し易い表示を行なわせることを可能にすることを目的
とするものであり、さらに、2つのテキストの一方を修
正することによって他方のテキストを自動的に編集し得
るようにしたテキスト処理装置を得ることを目的とする
【0008】
【課題を解決するための手段】テキスト処理装置におい
て、比較すべき2つのファイルのそれぞれについて構文
解析を行い、得られた構文木によってこれらファイル間
の差分を検出するように構成した。
【0009】さらに、2つのテキストの一方についての
編集結果を構文木を用いて他方のテキストとの差分とし
て検出し、この2つのテキスト間の対応関係に基づいて
他方のテキストの対応部分についても上記一方のテキス
トの編集結果に合わせて自動編集するように構成した。
【0010】
【作用】図2は文法規則に基づいた構文構造をプログラ
ム言語の場合を例にとって示したもので、例えば1つの
プログラムは、それぞれがデータ宣言と所要数の関数か
らなるブロックの組合わせによって構成されている。
【0011】従来例として先に引用した図12(a),
(b) のテキストをこのように構文解析するとそれぞ
れ図1(a),(b) に示すような構文木として示さ
れるものであり、テキストTbでは点線で囲って示した
部分がテキストTaと一致しており、したがって、テキ
ストTbはテキストTaに“if(x!=0)”という
条件式が付加されている点のみが相違していることが直
ちに把握できる。
【0012】この構文解析に基づいた差分表示を行なっ
た例を図3に示してあり、上記の付加された条件式に相
当する行の先頭にそれぞれ“★”印が付されていて、差
分が明確に表示されている。
【0013】本発明ではこのように構文木を用いること
によって差分を明確に把握・表示することができるので
、これを利用して、2つのテキストの一方を修正するこ
とによって他方のテキストの対応する部分をこれと一致
するように自動的に編集を行なうことができる。
【0014】図4は本発明を実施するためのテキスト処
理装置の例を示すもので、同図(a) は差分を検出す
るための構成、同図(b) は自動編集を行なうための
構成をそれぞれ示している。
【0015】差分検出を行なうための (a)図の構成
においては、処理装置P はその解析部Paに入力され
た2つのテキストTa,Tb を表示制御部Pgを介し
て表示装置D に表示するとともにその差分検出手段P
dによってこれらテキストTa,Tb の差分を順次検
出してメモリPmに格納する。 そして、この差分検出が終了すると、このメモリPmの
内容に基づいて上記表示制御部Pgは検出結果を表示装
置D の画面上に例えば前記図3に示した“★”として
表示させる。
【0016】自動編集を行なうための同図 (b)図の
構成においては、入力されたテキストTaをエディタE
 によって編集したデータと自動編集すべきテキストT
bとの差分を上記(a) 図におけると同様な処理によ
って検出し、得られた差分データをメモリPmに格納す
る。
【0017】これによって新たに検出された差分がテキ
ストTaの編集によって変更された部分であるから、検
索部Psでは自動編集の対象となっている上記テキスト
Tb中の上記テキストTaの変更部分に対応する部分を
検索し、実行部Peはこの部分について上記解析部Pd
で得られたテキストTaについての編集結果と同一の追
加・削除などの編集を自動的に行う。
【0018】本発明による自動編集においては、構文木
を用いた解析の結果として得られた差分によって編集が
行なわれるため、従来の差分検出によっては2つのテキ
スト間の対応関係を把握することが不可能なことから実
行できなかった、自動編集が可能になる。
【0019】
【実施例】図5は本発明による処理を行なうためのテキ
スト処理装置の実施例の構成を示すもので、2つのファ
イルFa,Fb にそれぞれ格納されているテキストT
a,Tb を処理装置P に読込み、前記のように、解
析部PaでテキストTaおよびTbをそれぞれ構文木と
して解析する。
【0020】この解析結果は実行部PeのメモリPmに
書込まれ、表示制御部Pdの制御によって表示部D の
画面上に表示される。
【0021】図6は図5図示の実施例を機能的に示した
図、図7はそのフローチャートであって、図6にそれぞ
れ内容の一部を示したテキストTaとテキストTbとの
差分を検出する場合を例にとって説明する。
【0022】解析部Paでは、比較対象となるテキスト
ファイルの構造、形式などが一致しているか否かを確認
し、もし不一致であれば処理を終了させるが、一致して
いれば図7のステップ[1]に示すように、テキストT
a,Tb について既存の構文解析技術を適用して構文
解析を行なって構文木に展開する。
【0023】この際、構文木のノード、例えば“=”を
含む文Na,Nb1,Nb2についてはそれぞれテキス
トの何行目にあるかという情報を記憶しておく。図示の
例では、構文木Aaの点線で囲ったノードNaがテキス
トTaの6行目に、また、構文木Abの点線で囲ったノ
ードNb1 がテキストTbの5行目にあることを記憶
する。
【0024】実行部Eでは得られた構文木を基にして図
7のステップ[2]に示したようにノードを比較し、両
テキストに相違があることが発見されるとステップ[3
]に示すようにその比較結果としてノードの内容とテキ
スト内の位置としての行番号をメモリに格納し、これを
ステップ[4]→[2]で比較対象がなくなったことが
判断されるまで繰返えす。
【0025】この例では、図6に示したように、両テキ
ストの3行目の文が“char c;”と“char 
c,c1”で相違するほか、テキストTbの6行目の“
c1=funcB(n)”という文がテキストTaには
存在していないので、これらの文の内容を示す情報とテ
キストの6行目という位置情報とがメモリに格納される
【0026】両テキストの比較が終了すると表示部Dは
、両テキストの比較結果としてこれらの相違点を図6の
表示部D 内に示したように表示する。
【0027】図8は他の実施例を機能的に示したもので
、ユーザからの差分検出要求があると処理部Pは表示制
御部Pgを介して表示部にDaで示すように両ファイル
Fa,Fb を併列に表示するとともに差分検出手段P
dに両ファイルのデータを渡して差分検出を実行させ、
検出結果をメモリPmに格納する。
【0028】上記表示制御部PgではこのメモリPmに
格納されている差分データに基づいて表示部にDbで示
すような差分の表示を行なう。この表示は、差分検出手
段によって構文上の対応ができているので、“char
 c;”と“char c,c1;” のように対応す
る文が異なっている場合には“☆”が、また、“c1=
funcB(n)”のように一方のテキストのみに存在
する文には“★”がそれぞれの行の先頭に付加される。
【0029】図9は上記表示Da,Db の他の実施例
における表示例を示すもので、差分検出が指示されると
一方のテキストTaのみが表示され、差分の検出が終了
すると他方のテキストTbについての差分だけが表示さ
れるようにしたものである。
【0030】対応する文に“char c;”と“ch
ar c,c1;” のように差異があるものについて
は■の行のように両テキストを並べて表示し、予め表示
されている上記テキストTaのみに存在する“prin
t(n) ;” のような文については■で示したよう
に括弧をつけて他方のテキストTbの表示領域に表示し
、さらに、差分のみを表示すべきテキストTbのみに存
在する文については■で示すように予め表示されている
テキストTbに空白行を挿入して表示する。
【0031】図10は一方のファイルFaに追加された
文を他方のファイルFbにも自動的に追加するようにし
た自動編集処理を機能的に説明した図、図11はこの自
動編集処理のフローチャートであって、ユーザは自動編
集の指示の後、一方のテキストTaに画面Db上に網点
をかけて示した”funcC()”という文をエディタ
で挿入すると、解析部Paはその差分検出機能によって
ステップ[11]で前述したように編集された部分を検
出する。
【0032】検索部Psは、ステップ[12]でこの文
が挿入されたテキストTaの部分に対応するテキストT
bの部分を検索し、ステップ[13]で示すように対応
部分の有無を検索し、対応部分があれば実行部Peは画
面Dcに示すようにテキストTaでの挿入文の位置に対
応するテキストTbの位置に網点をかけて示したように
この”funcC()”という文を挿入する自動編集を
ステップ[14]として行なう。
【0033】なお、ステップ[13]において対応部分
が見つからない場合には、ステップ[14]の自動編集
を行なわずに終了する。
【0034】図12はこの追加された文のテキストTb
への挿入位置を決定する方法の例を説明するためのもの
で、両テキストの対応する文についての行番号は2つの
テキストについて対応させておき、テキストTaの1行
目の次に文を追加する場合には、図示のようにこのテキ
ストTaの2行目以下を繰り下げて空白行を設ける。
【0035】このとき、テキストTaの1行目と2行目
との間に、テキストTbでは1’行および1”行が存在
していると、上記のテキストTaの1行目の次に挿入さ
れた文はテキストTbの1行目の直下か1”行と2行目
との間のいずれかに挿入されることになるが、このよう
な場合には*印で示したように1行目の直下に挿入され
るようにしておくことが望ましい。
【0036】
【発明の効果】本発明においては、2つのテキストの差
分を検出する際に構文木として比較を行なうようにした
ので、部分的な差分も検出が可能となり無駄がなく分か
りやすい表示を行なうことができるので、テキストの編
集作業の効率を著しく向上し得るという格別の効果が達
成される。
【0037】また、上述した自動編集機能を利用するこ
とによって、2つのテキストの一方について編集を行な
えば他方のテキストも自動的に修正されるのでさらに編
集効率を上げることができる。
【図面の簡単な説明】
【図1】本発明の原理を示す図である。
【図2】プログラム言語の構文構造を示す図である。
【図3】本発明による差分表示の例を示す図である。
【図4】本発明を実施するためのテキスト処理装置の例
を示す図である。
【図5】本発明の実施例の構成図である。
【図6】本発明の実施例の機能的説明図である。
【図7】実施例における差分検出処理を示すフローチャ
ートである。
【図8】差分検出を行なう他の実施例の説明図である。
【図9】差分表示の他の例を示す図である。
【図10】自動編集を行なう実施例を機能的に示す図で
ある。
【図11】本発明による自動編集のフローチャートであ
る。
【図12】自動編集における位置決定の例を説明するた
めの図である。
【図13】従来例の説明図である。
【符号の説明】
Ta,Tb   テキスト P       処理装置 Pa      解析部 Pg      表示制御部 Pd      差分検出手段 Pm      メモリ Ps      検索部 Pe      実行部 D       表示部 E       エディタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】比較すべき2つのテキストのそれぞれにつ
    いて構文解析を行い、得られた構文木によってこれらテ
    キスト間の差分を検出するようにしたことを特徴とする
    テキスト処理装置における差分検出方式。
  2. 【請求項2】2つのテキストの一方についての編集結果
    を構文木を用いて他方のテキストとの差分として検出し
    、この2つのテキスト間の対応関係に基づいて他方のテ
    キストの対応部分についても上記一方のテキストの編集
    結果に合わせて編集するようにしたことを特徴とするテ
    キスト処理装置における自動編集方式。
JP3019212A 1991-01-21 1991-01-21 テキスト処理装置における差分検出方式および自動編集方式 Withdrawn JPH04237365A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3019212A JPH04237365A (ja) 1991-01-21 1991-01-21 テキスト処理装置における差分検出方式および自動編集方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3019212A JPH04237365A (ja) 1991-01-21 1991-01-21 テキスト処理装置における差分検出方式および自動編集方式

Publications (1)

Publication Number Publication Date
JPH04237365A true JPH04237365A (ja) 1992-08-25

Family

ID=11993065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3019212A Withdrawn JPH04237365A (ja) 1991-01-21 1991-01-21 テキスト処理装置における差分検出方式および自動編集方式

Country Status (1)

Country Link
JP (1) JPH04237365A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06318202A (ja) * 1993-05-06 1994-11-15 Sharp Corp 文書記憶方式及び文書管理方式並びに文書表示方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06318202A (ja) * 1993-05-06 1994-11-15 Sharp Corp 文書記憶方式及び文書管理方式並びに文書表示方式

Similar Documents

Publication Publication Date Title
US5111398A (en) Processing natural language text using autonomous punctuational structure
US6016467A (en) Method and apparatus for program development using a grammar-sensitive editor
US5752058A (en) System and method for inter-token whitespace representation and textual editing behavior in a program editor
EP0752649A2 (en) System and method for textual editing of structurally-represented computer programs with on-the-fly typographical display
Welsh et al. A design rationale for a language‐based editor
JPH04229364A (ja) 強調特性変更方法及びシステム
Wuu How to merge program texts
JPH04237365A (ja) テキスト処理装置における差分検出方式および自動編集方式
JPH1115830A (ja) 文短縮装置及び文短縮プログラムを記録した媒体
JPH0877196A (ja) 文書情報抽出装置
JP2000207246A (ja) デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体
JP3419483B2 (ja) 自然言語処理装置及びその方法
JP2908184B2 (ja) テキストファイル編集方法及び装置
JP2626174B2 (ja) 翻訳支援装置
GOLOVESHKIN et al. Program Systems: Theory and Applications
JPH05324289A (ja) プログラム設計書自動作成装置
JPH1011438A (ja) 単語チェッカ
JPH04101229A (ja) コンパイルエラー表示制御方式
JPH02115968A (ja) エデイタにおける入力誘導方式
JPH07160714A (ja) 日本語文校正装置
JPH05341973A (ja) プログラム解析装置
JPH07282058A (ja) 文書校正支援方法
JPH04372060A (ja) 日本語解析装置
JPH0241558A (ja) 対話型エディタのテキスト解析編集処理方式
JPH0540638A (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: 19980514