JP2975622B2 - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JP2975622B2
JP2975622B2 JP1506594A JP50659489A JP2975622B2 JP 2975622 B2 JP2975622 B2 JP 2975622B2 JP 1506594 A JP1506594 A JP 1506594A JP 50659489 A JP50659489 A JP 50659489A JP 2975622 B2 JP2975622 B2 JP 2975622B2
Authority
JP
Japan
Prior art keywords
descriptor
document
cell
segment
processing system
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
JP1506594A
Other languages
English (en)
Other versions
JPH04501622A (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.)
ERU JII SEMIKON CO Ltd
Original Assignee
ERU JII SEMIKON 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 ERU JII SEMIKON CO Ltd filed Critical ERU JII SEMIKON CO Ltd
Publication of JPH04501622A publication Critical patent/JPH04501622A/ja
Application granted granted Critical
Publication of JP2975622B2 publication Critical patent/JP2975622B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)
  • Devices For Executing Special Programs (AREA)
  • Treatments For Attaching Organic Compounds To Fibrous Goods (AREA)

Description

【発明の詳細な説明】 関連出願の相互参照 本願は1984年12月10日に出願され、1988年6月14日に
米国特許第4,751,740号として発行された米国出願番号
第679,675号の一部継続出願である。
発明の背景 1.発明の分野 本発明は、書式設定された情報をデータ処理装置間で
転送するのに使用する構造に関し、さらに詳しくは、1
つのスプレッドシート処理装置から他のスプレッドシー
ト処理装置へスプレッドシートを転送するのに使用する
構造に関する。
2.先行技術の記述 スプレッドシートは数多くの異なる種類のスプレッド
シートプログラムを使用して作成操作することが可能で
ある。各プログラムはそれ自身に特定の書式のスプレッ
ドシートを作成する。従って、一人がある一つのスプレ
ッドシートを作成し、別の異なるスプレッドシートプロ
グラムを有する他の一人が前者のスプレッドシートを使
用する場合には、当該スプレッドシートを前者のスプレ
ッドシートプログラムの必要とする構造(ソース構造)
から後者のスプレッドシートプログラムが必要とする構
造(目標構造)に翻訳しなければならない。勿論、翻訳
を実行するプログラムを書き込むことは可能であるが、
係るプログラムは各ソース構造に合ったプログラム即ち
目標構造対でなければならない。翻訳処理を単純化する
為にスプレッドシートプログラムメーカーはスプレッド
シートプログラム間での情報交換に特に適した中間スプ
レッドシート構造を開発した、係る構造では、所定のス
プレッドシート構造を中間スプレッドシート構造に及び
中間スプレッドシート構造から所定のスプレッドシート
構造へ翻訳するプログラムを提供しさえすればすんだ。
係る中間構造の例がマルチプランスプレッドシート用に
記述されたSYLK(SYmbolic LinK)ファイルフォーマッ
トである。このSYLKファイルフォーマットはマサチュー
セッツ州ローウェルのワング研究所(Wang Laboratorie
s,Inc.)より1982年12月に発刊されたマニュアル番号70
0−8016号のワングピーシーマルチプランレファランス
ガイド(Wang PC Multiplan Reference Guide)に詳細
に開示されている。
SYLKファイルフォーマットが所定の目的を達成する一
方で、スプレッドシートプログラムは更に発展したが、
係る発展によりスプレッドシートプログラムに関する幾
つかの限界が明らかとなった。例えばSYLKファイルフォ
ーマットでは、2次元スプレッドシートのみしか処理出
来ない、マルチンランスプレッドシート中の式及び表記
法に限定される、データタイプセットが比較的小さい、
及びスプレッドシートの書式制御が限定されていると言
ったことである。更に、SYLKファイルフォーマットでは
スプレッドシートプログラムを新に発展させるための拡
張が容易に行えない。如何なる次元のスプレッドシート
も表現出来、スプレッドシート用に規定された如何なる
式又は書式をも表現出来、且つ、容易に拡張出来て新た
な発展に対処出来る中間スプレッドシート構造を提供す
ることが本発明の目的である。
発明の概要 本発明の中間スプレッドシート構造は、最高nの次元
のエレメントを有するスプレッドシートを表現するのに
使用出来る。中間スプレッドシート構造は、各非空セル
を表すセルセグメントと、スプレッドシートの1次元エ
レメントを表し且つ該エレメントに属するいづれの非空
セルに対するセルセグメントを含む少なくとも一つの1
次元ベクトルセグメントと、及び各追加次元m(但し、
mは最高次元数n以下である)に対して、非空セルを表
し且つスプレッドシートの(m−1)番目の次元に対す
るベクトルセグメントを含む該次元の各非空セルに対す
るベクトルセグメントとから成る。
従って、本発明の目的はスプレッドシートプログラム
間での改良されたスプレッドシート交換を提供すること
ができる。
本発明の別の目的は改良された中間スプレッドシート
構造を提供することである。
本発明の更に別の目的はn次元の最高次元数のエレメ
ントを有するスプレッドシートを表現することの出来る
中間スプレッドシート構造を提供することである。
本発明の別の目的は改良された融通性及び拡張性を有
する中間スプレッドシート構造を提供することである。
本発明のその他の目的及び効果は好適実施例の詳細な
説明及び図面を参照すれば当業者には自明のことであ
り、特に、詳細な説明の第10項移行及び第15図乃至第19
図に留意されたい。
図面の簡単な説明 第1図は従来の文書構造翻訳のブロック図であり、 第2図は本発明に係わる文書構造翻訳のブロック図で
あり、 第3図はソース構造から中間構造への翻訳を実施中の
文書翻訳装置のブロック図であり、 第4図は中間構造から目標構造への翻訳を実施中の文
書翻訳装置のブロック図であり、 第5図は1ネットワーク中の文書翻訳装置のブロック
図であり、 第6図は本発明の中間文書構造の概要であり、 第7図は本発明の中間文書構造のテキストセグメント
の詳細であり、 第8図は本発明の中間文書構造の音声バイナリセグメ
トの詳細であり、 第9図は本発明の中間文書構造の名前付テキストシェ
ルフの詳細であり、 第10図は従来構造の文書のブロック図であり、 第11図は本発明の中間構造を有する第10図の文書であ
り、 第12図は第10図の文書の構造を有する文書を本発明の
中間構造に翻訳する主翻訳ループのフローチャートであ
り、 第13図は第12図のフローチャート中の文字処理段階の
詳細なフローチャートであり、 第14図は第13図のフローチャート中の属性処理ステッ
プの詳細なフローチャートであり、 第15図は2次元スプレッドシートの表示の図であり、 第16図は本発明の中間スプレッドシート構造を使用し
た2次元スプレッドシート構造を表現した図であり、 第17図はセルアドレス記述子を表す図であり、 第18図はセルの内容の詳細図であり、及び 第19図はスプレッドシートの単純例である。
好適な実施例の説明 以下の好適な実施例の説明に於いては、先ず始めに、
独立型文書処理装置及び文書処理装置ネットワークに於
ける本発明の実施例に就いて説明し、その後で中間文書
構造の好適な実施例を説明して、最後に中間文書構造の
好適な実施例と従来の文書構造間での翻訳例を提供す
る。
1.本発明の独立型翻訳装置:第3図及び第4図 第3図に本発明に係わる独立型文書翻訳装置のブロッ
ク図を示す。同図に示す文書翻訳装置は、ワング研究所
製の「ALLIANCE」(TM)システムの如き標準マルチユー
ザー文書処理装置に於いて使用される。かかる文書処理
装置は、文書及び文書処理プログラムを記憶するディス
ク駆動機構の如き少なくとも一つの大容量記憶装置と、
文書処理をする処理装置と、及び文書処理中にデータ及
びプログラムを記憶するための文書処理装置が使用する
ローカル記憶装置とを含む、第3図に於いて、これらの
構成装置は、それぞれ文書/プログラム記憶装置303、
処理装置301及びプロセッサローカルメモリ313として表
されている。プログラムの制御の下に処理装置301が文
書/プログラム記憶装置303からローカルメモリ装置313
にデータ及びプログラムを取り出し、プログラムを実行
して、ローカルメモリ装置中のデータをプログラムによ
り特定されたように処理し、且つ、記憶装置303に処理
データを記憶する。本発明に関してはそれ程重要ではな
く、従って第3図に図示されていないその他の構成装置
には使用者用の端末装置やフロッピーディスクを読み書
きする装置とが含まれる。
第3図に示すタイプの文書処理装置では、使用者が該
文書処理装置で使用されるものとは異なる文書構造を有
する文書を処理しようとする場合翻訳が必要となる。使
用者が異なる文書処理装置で作成されたフロッピーディ
スク上の文書コピーを有するような場合に上記の状況が
生じる。この場合、フロッピーから文書を記憶装置303
に読出し、適切な書式に翻訳した後に以後の処理が可能
となる。中間構造を使用した翻訳は次の2段階で実施さ
れる。即ち、第1の文書構造から中間構造への翻訳及び
中間構造から第2の文書構造への翻訳である。第1ステ
ップを実行中の分署処理装置を第3図に示す。記憶装置
303は構造A305の文書と、中間構造I307と、及びA−1
抽出プログラム309とI−B合成プログラム311との2つ
のプログラムを含む。プログラム309は構造Aを有する
文書から情報を抽出して同一の情報を含み中間構造Iを
有する文書を生成することから抽出プログラムと呼ばれ
る。プログラム311は構造Iを有する文書中の情報から
構造Bを有する文書を合成することから合成プログラム
と呼ばれる。
第1ステップ中、プロセッサローカルメモリ装置313
は4つのバッファ、即ち翻訳動作中に翻訳動作に関係の
あるデータとプログラムを記憶する記憶領域を含む。A
バッファ315は文書305の現在中間構造に翻訳されつつあ
るドキュメント305の部分を含み、Iバッファ317はAバ
ッファ315の内容の中間構造に翻訳された部分を含み、
状態バッファ319は翻訳動作の現在の状態を示すデータ
を含み、最後にコードバッファ321は処理装置301が現在
実行しているプログラム309かわのコードを含む。
構造Aから構造Iへの翻訳中、当該装置の動作は以下
の如くである。翻訳されつつある文書A305の各部分に対
して処理装置301が当該部分を含む文書Aの構造の構成
要素を記憶装置303からAバッファ315へと移動する。処
理装置301は次いでプログラム309からのコードの制御の
基にAバッファ315の内容の翻訳を開始する。翻訳を実
行するのに現在コードバッファ321中にある以外のコー
ドを必要とする場合には、係るコードがプログラム309
からコードバッファ321にコピーされる。処理装置301は
翻訳を実行しつつその結果をIバッファ317に格納す
る。Iバッファ317が一杯になると、文書I307にコピー
される。同様に、現在Aバッファ315に含まれていない
文書305の一部が必要になると、文書A305の必要部分が
記憶装置303からAバッファ315にコピーされる。
上記本発明の実施態様に対する変形は当業者には即座
に明らかとなる。例えば、「ALLIANCE」に代表される種
類の文書処理装置は一般的に比較的小さな記憶装置313
を有しており、従って、バッファ315、317及び321も大
型のものではなく、記憶装置303と上記バッファ間の転
送が度々行われる。大型のローカルメモリを有する汎用
型データ処理装置の如き装置に於いて実行される場合に
は、バッファを全文書及びコード309の一切を受容する
程に充分に大きくすることが可能であり、記憶装置303
とローカルメモリ313間での転送は翻訳動作の開始時と
終結時のみに行われる。又、大型装置には記憶装置303
とメモリ313間での直接データ転送を可能とする装置を
含めることが可能となる。即ち、かかる装置において
は、データは処理装置301の介入なしに文書305と文書30
7との間、及びバッファ315と317との間で転送出来、ま
た、コードはプログラム309からバッファ321へ転送され
る。更に、マルチプログラミング装置に於いては、状態
バッファ319に介入を許容する状態と処理動作の再開を
含めることが可能である。
第2ステップは第1段階に類似している。このステッ
プを実行中の文書処理装置を第4図に示す。関係する文
書は第1ステップより生じた構造I307を有する文書と第
2ステップより生じる構造Bを有する文書である。関係
するプログラムはI−B合成プログラム311である。バ
ッファはIバッファ317、状態バッファ319、コードバッ
ファ321及びBBバッファであり、このバッファには宛先
を文書401とされたデータが含まれる。翻訳動作中、I
−B合成プログラム311の制御の基に処理装置301が文書
307の一部をIバッファ317に読出して、Iバッファ317
の内容を構造Bに翻訳して、その結果をBバッファ403
に記憶する。Bバッファ403が一杯になると、その内容
が文書401に書き込まれる。翻訳動作を実施するのに必
要とされる如くプログラム311の一部がコードバッファ3
21にコピーされる。
文書処理装置が構造A以外の構造を有する文書を処理
しなければならない場合には、文書処理装置が処理しな
ければならないあらゆる構造に対してA−I抽出プログ
ラム309に類似したプログラムがなければならない。勿
論、全ての文書処理装置に於いてフロッピーディスク上
の文書が中間構造にあれば係るプログラムの数を削減す
ることが可能である。係る場合には、プログラムがたっ
た2つでよい。即ち、I−B合成プログラム311とB構
造を有する文書をI構造を有する文書に翻訳するB−I
抽出プログラムの2つである。
2.ネットワークに於ける本発明に係わる文書翻訳:第5
図 ネットワークを介して転送されるすべての文書が中間
構造を有するネットワークシステムにおける状況はフロ
ッピーディスク上のすべての文書が中間構造有する場合
にずる状況と類似している。第5図に示す如く、ネット
ワークの装置の各々は中間構造から各装置で使用される
当該構造に文書を翻訳する合成プログラムと各装置で使
用される当該構造から中間構造へ文書を翻訳する抽出プ
ログラムとを有していなけらばならない。
第5図のネットワーク505は構造Aを使用する装置501
と構造Bを使用する装置503との2つの装置を接続す
る。各装置は記憶装置303と、処理装置301と及びメモリ
313とを有する。装置501は更にA−I抽出プログラム30
9とI−A合成プログラム507とを有し、一方装置503は
I−B合成プログラム311とB−I抽出プログラム509と
を有する。装置501から装置503へ文書を転送するように
設置された装置501と503を第5図に示す。A−I抽出プ
ログラム309の制御の下に装置501が先ず動作して構造A5
の文書を構造I307の文書に上記した方法で翻訳する。翻
訳が完了すると構造I307の文書がネットワーク507を介
して装置501の記憶装置303から装置503の対応する記憶
装置に送られる。次いで、装置503がI−B合成プログ
ラムの制御の下に動作して文書307を構造B401を有する
文書に翻訳する。装置501から装置503へ文書転送におい
ては上記と反対の動作が生ずる。B−I抽出プログラム
509の制御の下に動作する装置503が構造Bを有する文書
を構造Iを有する該文書に対応する文書に翻訳し、該文
書は次いでネットワーク505を介して装置501に送られ、
該装置がI−A合成プログラム507の制御の下に動作し
て構造Iを有する文書を構造Aを有する文書に翻訳する
ネットワーク505を介して転送された文書のすべてが中
間構造Iを有しているので、ネットワークに付随した所
定の装置は装置の文書構造を中間構造に翻訳する抽出プ
ログラムの中間構造を装置の文書構造に翻訳する合成プ
ログラムとを有するだけで良い。従って、ネットワーク
に付随した装置の使用する文書構造の種類数に関係なく
所定の装置は2つの翻訳プログラムを有するだけで良
い。
前記説明では、翻訳工程の各ステップで文書を完全に
翻訳したと解されるが、中間文書構造が順次的である本
発明の実施例に於いては、第1構造から中間構造へ、そ
して第2構造へと連続した工程で翻訳をすることが可能
であり、中間構造を有する文書を中間構造を有する文書
を生成するのと同じ速さで第2構造を有する文書に翻訳
される。第3図及び第4図に示す独立型装置では、翻訳
の2つのステップ、即ち、抽出プログラムを実行するス
テップと合成プログラムを実行するステップとを別個の
工程により実施することが可能である。係る装置では、
中間装置構造を有する別個の文書を必要としない。その
代わりに、第1工程で実行されるA−I抽出プログラム
309がIバッファ317へ出力する際に、第2工程で実行さ
れるI−B合成プログラム311がバッファ317から読出さ
れバッファ403へ出力する。該バッファが一杯になる
と、プログラム311が構造B401を有する文書へ出力す
る。
第5図に示すネットワーク化された装置では、装置50
1で実行するA−1抽出プログラム309がバッファ317か
ら直接にネットワーク505へ出力し、且つ、装置501で実
行するI−B合成プログラム311がネットワーク505より
受信したデータをバッファ317へ転送することが可能で
ある。ここでも装置501及び503の双方の記憶装置303に
中間構造を有する文書が存在する必要はない。所定の装
置に於いて何れを使用するかは装置の特性次第である。
例えば、ネットワーク505を介する転送速度が制限要素
でない装置、即ち、記憶装置303のサイズが制限されて
いない場合に於いては、中間構造を有する文書を直接ネ
ットワーク505へ出力することが可能である。反対に、
転送速度が制限要素である場合、即ち、記憶装置303の
サイズが制限されていない場合には、中間速度を有する
文書を記憶装置303へ、次いで該記憶装置からネットワ
ーク505へと出力することが可能である。
3.好適な実施例に於ける中間文書構造例:第6図 前記した如く、好適な実施例の中間文書構造は順次的
である。即ち、文書の構成要素間の論理関係が文書構造
の構成要素の相互位置より表される。好適な実施例に於
ける中間文書構造は更に文書の他の構成要素に依存する
構成要素がそれらが依存する構成要素当に含まれている
ことを特徴とするこれら2つの特徴は第6図に明らかで
あり、同図には簡単な文書の中間文書構造の一部分が示
されている。第6図はデータの単一順序を表す。このよ
うに、図の第1及び第2ラインのA−Aの示す点は同一
である。波線は文章構造が波線間に図示省略した材料を
含むことを示す。
第6図に示す中間構造の実施例の主構成要素はセグメ
ントである。文書の中間構造は最低単一セグメントを含
む。文書の構成要素を他のセグメントで表すことが可能
であり、これらの他のセグメントは文書全体を表すセグ
メントにネストされる。セグメントにセグメント以外の
構成要素を含むことが可能であり、これらの構成要素に
は一般には文字コードである文書内容を表すデータコー
ドと、文字コード順序により表されるテキスト外観の修
正を特定する属性と文字コード順序により表されるテキ
スト中の単一点になされる修正を示す制御スペシファイ
ヤとセグメント、制御属性もしくはスペシファイヤの開
始のすぐあとに続き且つその続くセグメント、制御属性
もしくはスペシファイヤに関する情報を含む記述子が含
まれる。
好適な実施例では、各セグメントの開始はセグメント
開始コードとセグメントタイプを示すセグメントタイプ
コードにより表され、各セグメントの終結はセグメント
終結コードとセグメントのセグメントタイプコードによ
り表される。第6図に於いて、文書の他の構成要素のす
べてを含むセグメントは「ストリーム」タイプを有して
いる。セグメントの開始は開始(SOS)605によりマーク
され、この開始(SOS)605には開始セグメントコード
(SSC)601と「ストリーム」タイプを示すセグメントタ
イプコード(STC)603とが含まれる。ストリームセグメ
ントの終結は第6図のセグメント(EOS)の終結により
マークされ、ストリームセグメントのEOS641は終結セグ
メントコード(ESC)637とストリームタイプを示すSTC6
03繰り返しを含む。
ストリームセグメントは記述子と「テキスト」タイプ
のセグメントとを含む。記述子は文書に関する管理情報
を含む。かかる情報の例には文書作成者の名前、文書タ
イプ者の名前、文書タイトル、内容の記述及び例えば手
紙とかメモといった文書分類が含まれる。記述子は記述
子開始(SOD)611で始まり、記述子終結(EOD)617で終
結する。SOD611は開始記述子コード(SDC)607と記述子
タイプを識別する記述子タイプコード(DTC)609とを含
み、EOD617は終結記述子コード(EDC)615とDTC609の繰
り返しとを含む。SOD611とEOD617の間のエリアは、記述
子内容(DC)613を含む。好適な実施例では、セグメン
トに属する全ての記述子は該セグメントのSOS605のすぐ
あとに続かねばならない。記述子は重なることが不可能
であり、DC613はセグメントもしくは別の記述子を含む
ことが不可能である。「テキスト」タイプのセグメント
は文字順序もしくは文書を構成する数字コードを含み、
また、同様に制御スペシファイヤ、属性、記述子及びそ
の他のセグメントをも含むことが可能である。第6図の
テキストセグメントのSOS605はSSC601と「テキスト」タ
イプを特定するSTC619とを含み、テキストセグメントの
EOS639はESC637とテキストタイプのSTC619とを含む。テ
キストセグメントに於ける文字もしくは数字コード順序
はテキストコード(TC)621により表される。
第6図のテキストセグメントも、また属性と制御スペ
シファイヤとを含む。属性は文字順序が改定されたこと
を示す改定属性である。属性は属性開始(SOA)627で始
まり属性635(EOA)終結で終結する。好適な実施例で
は、SOA627が開始属性コード(SAC)623と属性タイプコ
ード(ATC)とを含み、後者は属性のタイプを示す。こ
こで、ATC625は「改訂」属性を示す。EOA635は終結属性
コード(EAC)633とATC625とを含む。属性はSOA627とEO
A635間で発生する文字コードにより表される文字のすべ
てに適用される。属性の実際の効果は中間文書構造から
最後に生成される文書の文書構造に依る。例えば、ある
文書では属性が適用される文字コードにより表されるテ
キストの次のマージンにバーが現れ、別の文書では属性
は何の意味も持たず翻訳過程では無視される。以後によ
り詳細に説明するが、属性は重なり合うこともしくはセ
グメント内にネストにすることが可能であるが、セグメ
ント境界を越えて拡張することは出来ない。属性に適用
されるすべての記述子は属性のSOA627のすぐあとに続
く。
第6図のテキストセグメントの制御スペシファイヤ
(CTL)630は文字コード順列のCTL630が発生する点での
ページブレークを特定する。CTL630は打つの部分、即ち
制御スペシファイヤを示す制御コード(CC)629と制御
スペシファイヤの種類を示す制御タイプコード(CTC)6
31とから成る。第6図中のCTC631はページブレークのた
めのものである。その他のCTCコードはラインブレー
ク、タブ、字下げ、及び類似テキストフォーマッティン
グ機能を特定することが可能である。CTL630のすぐあと
にCTL630により特定されるフォーマッティング動作を記
述する一以上の記述子を続けることが可能である。
本実施例では、SSC601、ESC637、SD607、EDC615、SAC
623、EAC633、及びCC629は別個の任意の8ビットコード
であり、STC、DTC、ATC、及びCTCにより示されるタイプ
コードは別個の任意の16ビットコードである。その他の
実施例では、コードは異なる長さを有する。文字コード
はASCII、EBCDIC、またはワング研究所(Wang Laborato
ries,Inc)製のWISCII文字コードセット等の文字コード
セットやPRESTEL端末装置用の文字セット等の文字セッ
トに属することが可能である。数字コードは固定10進値
や浮動小数点値を表すのに使用するコードを含むことが
可能である。その他のタイプのセグメントはそれらに含
まれる情報を表すその他の種類のコードを有することが
可能である。
テキストセグメントの本実施例では、セグメント、記
述子、属性及び制御スペシファイヤを規定するのに使用
するコードとデータを表すのに使用するコードとの混同
は先行8ビットがセグメント、属性、記述子もしくは制
御スペシファイヤの開始もしくは終結をマークするコー
ドの一つとして解釈されるのではなく、データコードと
して解釈されることを特定する単一8ビット識別コード
により回避される。第7図にこの技術が示されるが、同
図に示すセグメントの第3番目の部分のTC621がSSC601
と同一の文字コードを含む。この文字コードのすぐあと
に識別コード(IDC)707が続き、この識別コードにより
文字コードがセグメントの開始として解釈されるのを防
ぐ。上記に説明した技術の変形をその他の実施例に使用
することが可能である。例えば、構成要素を識別するコ
ードと構成要素のタイプを識別するコードの順序を逆に
することも可能であり、識別コードで次のコードがタイ
プコードとして解釈されないように示すことも可能であ
る。
本発明の中間構造の利点はその適用性である。本実施
例では、文書が5種類の構成要素を有する。即ち、セグ
メント、記述子、属性、制御スペシファイヤ、及びデー
タコードである。しかしながら、セグメント、記述子、
属性、及び制御スペシファイヤは8ビットコードにより
識別され、従って、新たな種類の構成要素を文書構造の
基本性質を変更することなく追加することが可能であ
る。新たな種類のセグメント、属性、記述子、及び制御
スペシファイヤに関しても同様のことが言える。これら
の構成要素のタイプは16ビットコードで特定され、従っ
て、2〜16までの異なるタイプのセグメントを有するこ
とが可能であり、同数のタイプの属性、記述子、及び制
御スペシファイヤを有することが可能である。このよう
な中間構造の適用性は文書処理技術の進歩には必要なこ
とである。例えば、元来文書はテキストだけで合成され
ていたが、文書処理技術が拡張されるにつれて文書にイ
メージや音声データが含まれるようになり、本発明で
は、音声データとイメージのセグメントタイプ及び音声
信号またはイメージを表すバイナリデータのセグメント
タイプが含まれる。その他の項目を文書に含める場合に
は対応するセグメントを中間構造に追加することが可能
である。
4.本実施例に於けるセグメントタイプ:第7図及び第8
図 本実施例では、以下の11のセグメントタイプがある。
1.ストリーム:ストリームセグメントタイプは全体文書
を表し文書構成要素を表すセグメントを含む。
2.テキスト:テキストセグメントタイプは文書テキスト
本体を表す。
3.ヘッダ:ヘッダセグメントタイプは文書に使用するペ
ージヘッダを表す。
4.フッタ:フッタセグメントタイプは文書に使用するフ
ッタを表す。
5.ノート:ノートセグメントタイプは文書作成者に対す
るノートであるテキストを表す。ノートは必要な時にの
みプリントされる。
6.フットノート:フットノートセグメントタイプはフッ
トノートセグメントの位置に対応するテキスト中の点を
参照するフットノートのテキストを表す。
7.シェルフ:シェルフセグメントタイプは後に使用する
ために文書中に記憶されたデータを表す。
8.外部参照:外部参照セグメントタイプは文書に必要で
あるが、文書中に含まれない情報を表すデータを表す。
外部参照セグメントの内容は参照する情報の位置決め方
法を特定する。
9.バイナリ:バイナリセグメントタイプは文字コードに
代わってバイナリデータコードで表される情報を含む。
本実施例では、バイナリセグメントタイプはイメージ及
び音声信号を表すのに使用するデータを含む。
10.イメージ:イメージセグメントタイプはイメージを
表すバイナリセグメント中のバイナリデータを解釈する
のに必要な情報を含む。
11.音声:音声セグメントタイプは音声データを表すバ
イナリセグメント中のバイナリデータを解釈するのに必
要な情報を含む。
本実施例では、上記のタイプ中、テキスト、ヘッダ、フ
ッタ、ノート、フットノート、及びシェルフはテキスト
順序を表し、従って、TC621、属性、及び制御スペシフ
ァイヤを含むことが可能である。テキストセグメントを
詳細に表示する第7図は上記セグメントタイプすべての
例である。第7図のテキストセグメントはセンタリング
されアンダーラインを付され且つ改訂されたタイトルで
始まるテキストを表す。セグメントはテキストセグメン
トを特定するSSC601とSTC619で始まり、次のテキストが
センタリングされることを特定するCC629とCTC702と、
テキストの改訂部分の開始を特定するSAC623とATC625
と、アンダーラインを付されたテキストの一部の開始を
特定するSAC623とATC703、アンダーラインがシングルア
ンダーラインであることを特定し、SDC607とシングルア
ンダーラインを示すDTC709とEDC615と及びDTC709とを含
む属性記述子711と、タイトル中の文字順序を表すTC621
と、アンダーラインを付す部分の終結をマークするEAC6
33とATC703と、タイトルの終結とタイトルに続くブラン
クラインをマークするCC629とCTC705「リターン」の2
度の発生と、タイトルに続くテキストを含むTC621と、
テキストの改訂部分の終結をマークするEAC633とATC625
と、追加TC621とセグメントの終結を特定するESC637とS
TC619とを含む。前記した如く、第7図の第3ライン中
のIDC707とSSC601は文書の構成要素の開始または終結を
示すデータコードと他のデータコードとを識別コードに
より如何に識別するかを示している。第7図は、また、
前記した如く、属性が如何に重なり合うかを示してい
る。
本実施例では、テキスト、ヘッダ、フッタ、ノート、
フットノート、及びシェルフセグメントタイプのすべて
が上記した一般的な形態をしているが、本実施例のヘッ
ダ及びフッタセグメントタイプに他のセグメントを含ま
せないことも可能である。テキスト、ノート、フットノ
ート及びシェルフタイプにはかかる制限はない。例え
ば、テキストが絵、及びイメージを表すイメージセグメ
ントとバイナリセグメントとを含む場合には、テキスト
セグメントにノートまたはフットノートセグメントを含
めることも可能である。
外部参照タイプのセグメントはその内容として外部参
照を位置決めするのに必要な情報を有する。例えば、外
部参照が別の文書に対するものである場合には、外部参
照セグメントが文書処理装置が該別の文書を位置決めす
るのに必要な情報を含む。
本実施例では、バイナリセグメントに含まれるデータ
の解釈の仕方を特定するセグメントが常にバイナリセグ
メントに先行する。現在では、かかる解釈セグメントは
音声セグメントかイメージセグメントのいずれかであ
る。勿論、その他の実施例に他の種類の解釈セグメント
を含めることは可能である。第8図はかかる解釈セグメ
ントとバイナリセグメントとの結合を詳細に表示してい
る。第8図では、解釈セグメントは音声セグメントであ
る。音声セグメントは音声タイプのSSC601とSTC801とで
始まり、音声タイプのESC637とSTC801とで終結する。そ
の内容はバイナリセグメントの内容を適切に解釈するの
に必要な情報である。本実施例では、音声セグメントの
内容がオーディオデータタイプ(ADT)803を含み、この
オーディオデータタイプでタイプの版、オーディオデー
タのデジタル化速度(DR)及び次のバイナリデータの表
す時間(T)813の長さを特定するバイナリセグメントV
805に含まれるオーディオデータのタイプを特定する。
バイナリセグメントはバイナリタイプのSSC601とSTC8
11で始まり、バイナリタイプのESC637と、STC811で終結
する。セグメントの内容にはバイト中のデータの長さを
特定するL813とバイナリデータコードを含むBC815が含
まれる。L813とBC815の内容は単にバイナリデータとし
て解釈され、従って、本実施例のバイナリセグメントに
その他のセグメント、属性、または制御スペシファイヤ
を含めることは不可能である。
イメージデータを含むイメージセグメントとバイナリ
セグメント間の関係は音声データを含む音声セグメント
とバイナリセグメント間の関係とほぼ同じである。本実
施例では、イメージデータを解釈するのに使用する情報
にイメージタイプと、水平垂直サイズと、水平垂直解像
度と、符号化スキームと、符号化スキームの版と、符号
化パラメータと、イメージ源であるハードウェアを示す
コードと、表示書式と、表示食とを含める。他の実施例
では、バイナリセグメントにビデオイメージを表すコー
ドを含めることも可能であり、また、イメージデータに
該コードからビデオイメージを生成するのに必要な情報
を含めることも可能である。
5.本実施例の属性タイプ 本発明の本実施例は以下の11の属性タイプを有する。
1.下線:下線属性が属性に特定された文字順序に下線を
付すことを示す。
2.スクリプト:スクリプト属性が特定された文字順序が
添字もしくは肩文字であることを示す。
3.ボールド:ボールド属性が特定された順序がボールド
体タイプであることを示す。
4.オプショナル:オプショナル属性は特定された文字順
序が使用者の特定するように表示されるか、または表示
されないことを示す。
5.ノーブレーク:ノーブレーク属性は特定された文字順
序が、ライン書式設定されてある場合には、中断されな
いことを示す。
6.ストライクスルー:ストライクスルー属性は特定され
た順序の文字が特定文字で重刻印されることを示す。
7.内容表:内容表属性は特定された順序の文字が内容表
中に含まれることを示す。
8.索引:索引属性は特定された順序の文字が文書索引に
含まれることを示す 9.改訂:改訂属性は特定順序で表されるテキストが改訂
されたことを示す。
10.反転ビデオ:反転ビデオ属性は特定された順序の文
字が通常使用されるのとは逆の方法で表示されることを
示す。
11.イタリック体:イタリック体属性は特定された順序
の文字がイタリック体となることを示す。
上記属性の幾つかに幾つかの変形を持たせることは可能
である。例えば、本実施例では、下線で一もしくは二ラ
インの下線を特定することが可能であり、また、スクリ
プトで肩文字もしくは添字を特定することが可能であ
る。第7図のテキストセグメントの所で指摘した如く、
所定の変形を属性中の属性記述子711により特定する。
6.本発明での制御スペシファイヤタイプ 本実施例では、以下の13タイプの制御スペシファイヤ
がある。
1.位置合わせ:制御スペシファイヤの示す点に於けるテ
キストが少数点、コンマまたはアスタリスク等の文字上
に位置合わせされる。
2.タブ位置合わせ:タブ位置合わせー制御スペシファイ
ヤの示す点に於けるテキストが次のタブトップに位置合
わせされる。
3.インデント位置合わせ:インデント位置合わせスペシ
ファイヤの示す点に於ける左マージンが一時的に前に特
定された量にリセットされる。
4.センタリング:制御スペシファイヤに続くラインがセ
ンタリングされる。
5.ハードリターン:ハードリターン制御スペシファイヤ
が文書の作成者が別途指示するまで現在のラインを終結
する点を特定する。
6.ソフトリターン:ソフトリターン制御スペシファイヤ
が現在の文書書式通りに現在のラインが終結する点を特
定する。
7.ハードページ:ハードページ制御スペシファイヤが文
書の作成者が別途指示するまで現在のページを終結する
点を特定する。
8.ソフトページ:ソフトページ制御スペシファイヤが現
在の文書書式通りに現在のページが終結する点を特定す
る。
9.コラム:コラム制御スペシファイヤがコラムの開始す
る点を特定する。コラム制御スペシファイヤに続く記述
子がコラム内の行間、ライン位置調整、インチ当たりの
ライン数及びピッチを特定する。
10.書式設定:書式設定制御スペシファイヤがテキスト
の新たな書式が開始する点を特定する。書式設定制御ス
ペシファイヤに続く記述子が新たな書式を特定する。記
述子で行間、位置合わせ、タブ、及び字下げ設定及び右
位置調整、ライン位置調整、インチ当たりのライン数及
びピッチ設定を特定することが可能である。
11.設定文字セット:設定文字セット制御スペシファイ
ヤが文書文字コードの新たな解釈が開始するテキスト中
の点を特定する。設定文字セット制御スペシファイヤに
続く記述子により解釈が特定される。
12.組合せ:組合せ制御スペシファイヤが別の文書から
のテキスト文字が現在処理中の文書に組み入れられる点
を示す。
13.非組合せ:非組合せ制御スペシファイヤが組合せが
許容されない点を示す。
上記記述子から明確なように、制御スペシファイヤが
文書書式に多くの点で影響を及ぼす可能性がある場合に
は、当該影響が制御スペシファイヤのすぐあとに続く記
述子により正確に特定される。
7.文書構成要素の名付けのための記述子の使用:第7図 従来のある文書構造では、文書構成要素が文字ストリ
ング名を有している場合がある。かかる名前は種々の文
書処理動作に於いて構成要素を参照するのに使用され
る。中間文書構造の本実施例では、構成要素名が「名
前」タイプの記述子により表される。第9図はテキスト
シェルフセグメントの名前を表すための「名前」タイプ
の記述子の使われ方を示す。記述子はシェルフのSTC901
の直ぐ後に続き、「名前」タイプのSDC607とDTC903と名
前を表す文字順序905とEDC615とDTC「名前」903とを含
む。
8.従来構造の文書とそれに対応する中間構造を有する文
書:第10図及び第11図 次に、所定の構造と中間構造間の翻訳例を明確に説明
する。現在ワード処理において使用されているタイプの
文書構造を有する文書と本発明の中間構造を有する前記
文書に対応する文書が先ず提示されている。次いで、翻
訳が成就する方法に就いて述べる。
第10図は現在使用されているタイプの文書構造の説明
図である。該構造はファイルに於ける同サイズの番号を
付したブロックから構成され、ブロックは3種類の異な
る内容を有する。即ち、文書に関する管理情報と、文書
の構成要素が位置決めされる索引と、及び文書の実際の
テキストである。管理ブロックはファイルの所定位置に
あり、その他のタイプのブロックはファイルのいづれに
あっても良い。従って、管理ブロックを除いては、ファ
イルのブロック位置と文書におけるその機能との間には
何の関係もない。ブロックはブロック番号を特定するポ
インターによりファイル中に位置決めされる。ブロック
をチェーン状に結合し且つブロックを位置決めする索引
を形成するのにポインターを使用することが可能であ
る。
第10図に示す文書は2ページのテキストと名付けされ
たテキストシェルフとを含んでいる。各ページはヘッダ
とフッタを有し、一方のページのテキストの一部には下
線が付されている。テキストのページは文書本体チェー
ン1025に含まれ、文書本体チェーン1025はテキストブロ
ック1002から構成される。チェーン中のテキストブロッ
ク1002はポンターによりチェーン中の先行及び後続のブ
ロックに連結される。この二重連結により文書本体の一
部から他の一部への移動が容易となる。
チェーン中のテキストブロックは2つの主要構成要素
を有する。即ち、テキスト部分(T)と属性部分(A)
である。Tは文書テキストの文字コードと、タブ、字下
げ、ページブレーク等をあらわすコードと、及び属性文
字と呼ばれる特別コードとを含む。各テキストブロック
のTに於ける最後の文字はTの終結を示す特別なetx
(テキスト終結)文字である。第10図では、属性文字は
AC1033として現れ、etx文字がetx1031として現れる。
テキストブロック1002のA部分には情報属性と視覚属
性とが含まれる。各情報属性は属性文字に相当し、情報
属性に必要な情報を含むその他のテキストブロック1002
を位置決めする参照を含む。情報属性に相当する属性文
字により特定されるテキスト中の位置に情報が適用され
る。第10図では、3つの書式属性(FA)1035があり、各
々は、テキスト書式を特定し、FA1035を含むテキストブ
ロック1002のTのAC1033に相当する。視覚属性は下線を
付したりボールド体タイプ等の修正が適用されるテキス
トの文字範囲を特定する。第10図では、テキストのどの
部分に下線を付すかを特定する視覚属性VA1023が1つあ
る。
文書本体チェーン1025は2ページのテキストを含む。
第10図の文書構造では、各ページがFA1035を有しなけれ
ばならない。FA1035はページ書式と、ページのヘッダま
たはフッタと及びFA1035に相当するAC1033もまた新しい
ページの開始位置を特定するといった事実とを特定す
る。書式、ヘッダ及びフッターは書式、ヘッダ、及びフ
ッター用の情報を含むテキストブロックチェーンに対す
るFA1035中の参照により特定される。従って、ページ
1、1027の第1ブロック(21)のFA1035は、FOR、HR、
及びFRで表される3つの参照を有する。FORはページ書
式を含むテキストブロック(35)を表し、HRはヘッダを
含むテキストブロック(12)を表し、FRはフッタを含む
テキストブロック(26)を表す。ページ2、1029の第1
テキストブロックはページ1、1027の第1テキストブロ
ックと同じ情報属性を有する。又、同ページのテキスト
ブロック(15)はテキストの下線を付された部分を示す
視覚属性VA1023を含む。
FA1035中で参照されるヘッダ、フッタ、及び書式を含
むタイプブロックのチェーンは、本実施例では、それぞ
れ1つのブロックのみで構成されている。
テキストブロック(26)はフッタ1017を含み、テキス
トブロック(12)はヘッダ1019を含み、テキストブロッ
ク(35)は書式1021を含む。ヘッダ1019とフッタ1017は
双方共書式1021を参照するFOR参照を含むFA1035を有し
ている。このように、ヘッダ、フッタ、及びテキストは
すべて同一の書式を共有する。第10図の文書の最終構成
要素であるテキストシェルフ1015は2つのブロック(2
0)と(30)を含む別のチェーンのテキストブロックで
構成される。
第10図の文書構造の残りの部分は文書情報ブロック10
01を含む4つの管理部ロック1031と、文書表(DT)1003
と、名前索引ブロック(NIB)1005とページ索引ブロッ
ク(PIB)1007と参照索引ブロック(RIB)1009とを含む
3つの索引ブロック1033である文書情報ブロック1001は
文書タイトルや作成者や主題やサイズ等の文書に関する
管理情報を含む。DT1003は文書索引を指すポインターを
含む。P10はNIB1005を、P16はPIB1007を、そしてP40はR
IB1009を指す。DT1003は常に文書構造中固定位置にあ
り、従って、文書の何れの構成要素もDTを使用して適切
な索引を捜し且つ索引を使用して構成要素を位置決めす
ることでその位置決めが可能となる。
前記3つの索引ブロックは3つの索引に対応する。即
ち、文書の名付けされた構成要素を該構成要素の名前を
使用して位置決めする名前索引と、文書の各ページを位
置決めするページ索引と、情報属性中の参照により参照
される情報を含むチェーンを位置決めする参照索引とで
ある。第10図の文書では、上記索引の各々が1つの索引
ブロックに含まれる。即ち、NIB1005の名前索引と、PIB
1007のページ索引と、RIB1009の参照索引とである。よ
り大型の文書では、1つの索引に1以上の索引ブロック
を含めることも可能である。
名前索引は名前索引エントリ(NIEs)1006から構成さ
れる。各名前索引エントリは名前と名付けされた構成要
素を含む第1のテキストブロックのチェーンを指すポイ
ンターを含む。従って、NIB1005中のNIE1006はテキスト
シェルフ1015中の第1のテキストブロックであるテキス
トブロック(20)を指すP20を含む。PIB1007のページ索
引はページ索引エントリ(PIEs)1008から構成される。
各PIEはページ番号と該ページの第1のテキストブロッ
クを指すポインターとを含む。第10図の文書はブロック
(21)上で始まる第1ページとブロック(9)上で始ま
る第2のページを有し、故に、ページ1のPIEはP21を含
み、ページ2のPIEはP9を含む。RIB1009の参照索引は参
照索引エントリ(RIEs)1010から構成される。各RIEは
参照番号(FOR、HR、及びFRにより表される)と参照、
ここでは、FORに対してはブロック(35)、HRに対して
はブロック(12)、及びFRに対してブロック(26)の参
照を含む第1のブロックチェーンを指すポインターを含
む。
文書構造の構成要素と中間文書構造の構成要素は以下
のごとく対応する。
中間構造はDT1003もしくは索引ブロックに相当する構
成要素を有しない。これは中間構造の構成要素相互間の
関係が中間構造中の相対位置により決定されるからであ
る。
第11図は第10図の文書からそれに対応する中間構造を
有する文書への翻訳を示す該文書は「ストリーム」タイ
プ1101のSOSで開始して、「ストリーム」タイプ1151のE
OSで終結する。SOS1101の直ぐ後に第10図の文書の文書
情報ブロック1001からの情報を含む記述子1103が続く。
次いで、文書本体チェーン1025の内容の「テキスト」セ
グメントのSOS1105が続き、この後、ページ1の開始を
マークするページブレーク制御スペシファイヤであるPB
CTL1107、設定書式制御スペシファイヤ1109、そして、
テキストの書式設定の仕方に関する情報を含むテキスト
書式記述子1111と続く。テキスト書式記述子1111に記述
された書式はテキストセグメントにおいて別のSFCTL110
9が発生するまで有効であり続ける。記述子1111の情報
は第10図の文書の書式1021から得られる。ページ1のヘ
ッダのヘッダセグメントが記述子1111に続く。該セグメ
ントはSOS「ヘッダ」1113、ヘッダ書式のSFCTL1109、ヘ
ッダ書式記述子1115、ヘッダテキスト1117及びEOS「ヘ
ッダ」1119を含む。ヘッダ1019のFA1035により特定され
て、ヘッダテキスト1117はヘッダ1019から、そして、ヘ
ッダ書式記述子は書式1021から得られる。
次に、中間構造においては、SOSフッタ1121と、ST CT
L1109と、フッタ書式記述子1123と、フッタテキスト112
5とを含む当該ページのフッタセグメントが続く。書式
と同様に、ヘッダもしくはフッタは一度成立すると新た
なものが成立するまでは有効であり続ける。ページ1の
テキスト1129がフッタセグメントに続き、該テキストが
終結するとページ切りのPB CTL1107が第1ページの最後
に来る。ページ2はページ1と同一の書式、ヘッダ、ま
たはフッタを有するから、書式セグメント、ヘッダセグ
メント、またはフッタセグメントがない。次は、ページ
1029からのページ2テキスト1131である。ページ2 1029
下線を示す視覚属性を含み、従って、ページ2テキスト
1131にはSOA「下線」1131と、下線がシングルかダブル
かを示す属性記述子1135と、テキスト1131の下線を付し
た部分と、及びEOA「下線」1139とを含む下線属性が含
まれる。次いで、下線を付したテキスト1131とテキスト
セグメントの終結をマークするEOS「テキスト」1141が
来る。ストリームセグメントの残りはテキストシェルフ
1015に対応するてテキストシェルフが占める。そのセグ
メントは、SOS「シェルフ」1143と、シェルフ名(NIB10
05から得られた)、テキストシェルフ1015のテキストブ
ロックからのシェルフ内容1147、EOS「シェルフ」を含
んんでいる記述子、1145を有している。EOS「ストリー
ム」1151がテキストシェルフに続き、中間文書構造を終
結する。
9.翻訳方法 第10図と第11図の比較からわかるように、第10図の文
書構造中の属性、索引及びポンターにより表される関係
は第11図の文書構造中のネストセグメント、属性及び記
述子により表される。従って、第10図の文書構造では、
各ページが同一のヘッダを有するという事実が参照HRが
各ページともFA1035に現れるという事実で表される一方
で第11図の文書構造では同一の事実がヘッダセグメント
をそれの適用される第1ページのテキストの前のテキス
トセグメントに配置することで表される。
タームをプログラムする場合には次のことが発生す
る。ブロック(21)のTに於いてAC1033に遭遇すると、
文書本体チェーン1025の処理を中断して、FAを審査しな
ければならず、FA1035がページブレークか、新ヘッダ
か、新フッタかもしくは新書式かを特定すると、PB CTL
1107か、ヘッダセグメントか、フッタセグメントか、も
しくはSF CTL1109か及びその関係する記述子1111を中間
構造に配置しなければならない。これが完了すると、文
書本体チェーン1025の処理を再開しなければならない。
この場合のように、FA1035中で参照されるヘッダもしく
はフッタがそのテキスト中にAC1033を有し、該AC1033が
参照(ここでは、書式1021に対する参照、FOR)を含む
別のFA1035を参照する場合には、ヘッダもしくはフッタ
の処理が中断されて、前記参照により参照されるブロッ
クチェーンを処理しなければならない。中間文書構造の
ネストされた構成要素は、このように、第10図の文書の
所定の構成要素の処理が開始され、別の構成要素からの
情報が必要な場合には前記処理が中断し、もう一方の構
成要素の処理が完了するとかかる処理が再開されるとい
った処理順序に対応する。
本実施例では、必要とされる処理順序が状態バッファ
319の一部であるスタックにより達成される。即ち、第
1構成要素の処理が中断されると、構成要素の種類と該
構成要素中の現在の位置を含む状態がスタック状にセー
ブされる。次いで、新たな構成要素が位置決めされて処
理される。新たな構成要素の処理が完了すると、セーブ
された状態がスタックから復元されて第1の構成要素の
処理が継続する。一般的に言えば、第10図の文書構造で
は、構成要素の処理の中断もしくは再開はテキストブロ
ックの1チェーンから別のチェーンへのシフトを意味す
る。
第12図は第10図の文書構造を中間文書構造に翻訳する
翻訳プログラムの好適な実施例の主翻訳ループを示す。
第3図に示す如き装置に於けるループの動作中は、文書
の現在翻訳されている部分が記憶装置303からAバッフ
ァ315へ読み込まれる。つまり、中間文書が生成される
と、Iバッファ317へ、次いで、そこから記憶装置303へ
と書き込まれる。プログラムの現在実行中の部分がコー
ドバッファ321に含まれ、状態バッファ319がスタック
と、現在処理中の文字の位置を示す位置ブロックと、処
理されている構成要素の種類を示す値と、現在処理中の
文字と、プログラム操作に必要なその他の値とをを含
む。
前記ループは初期設定ブロック1201により開始する。
プログラムの該部分に於ける工程でSOS「ストリーム」1
101が出力されて、文書情報ブロック1001の内容を読出
し、そして、上記ブロックからの情報を含む記述子1103
をSOS1101の直ぐ後に配置する。DT1003を使用して初期
設定を継続して文書本体チェーン1025に第1テキストブ
ロックを位置決めする。一旦ブロックが見つかると、プ
ログラムがSOS「テキスト」1105を出力してTに於ける
文字を一度に1つづつ処理開始する。処理は主翻訳ルー
プで行われる。
2つのブール変数resultとnon$exhaustedとは、主翻
訳ループに入力されるとすぐに、真(ブロック1203)に
セットされる。決定ブロック1205からわかるように、主
翻訳ループはresultもしくはnot$exhaustedの何れかが
偽となるまで動作を継続する。主翻訳ループの何れの処
理段階でも不良が生じた場合には、Resultが偽にセット
され、文書全体が翻訳されると、not$exhaustedが偽に
セットされる。このように、主翻訳ループは翻訳不良の
結果に応じて、もしくは翻訳が完了次第に終結する。
次いで、翻訳がページ1 1027の第1テキストブロック
のTの第1文字から開始され、1度に1文字づつ翻訳を
継続する(ブロック1209)。ブロック1211で示す如く、
処理中の文字がテキスト終結1031文字以外の文字である
場合には、プロセス文字1213により処理される。詳細に
後記するが、文字がテキスト文字である場合には、現在
のチェーンの処理を継続し、文字がAC1033の場合には、
状態がセーブされて、主ループによって処理される次の
文字が対応する情報属性から第1バイトとなる。情報属
性のバイトの1つが別のテキストチェーンに対する参照
である場合には、プログラムが状態をセーブして、処理
中のチェーンのタイプを示すコードを出力し、処理中の
新たな構成要素開始を示すのに必要な文字を出力し、そ
して、参照中で参照されるテキストチェーンからのバイ
トで処理が継続する。
文字がテキスト終結etx1031文字である場合には、処
理中のチェーンのテキストブロックのTの終結に到達し
たことになる。処理が継続する方法はテキストブロック
がページの最後か、チェーンの最後か、もしくは文書の
最後かにより決定される。テキストブロックがチェーン
の最後でない場合には、その後続を指すポインターを含
み、テキストブロックがページの最後の場合には、後続
ブロックの第1文字がページブレークを特定するFA1035
に対応するAC1033となる。テキストブロックがチェーン
の最後でも、ページの最後でもない場合には、処理は後
続ブロックのTの第1文字で継続する。(決定ブロック
1215)テキストブロックがページの最後には(決定ブロ
ック1215)、当該文字がページブレークを特定するFA10
35に対応するAC1033となり、PB CTL1107がAC1033を処理
中に出力される。テキストブロックが文書の最後か否か
をプログラムはスタックを試験して決定する。空の場合
には、処理するチェーンも他になく、且つ処理中のチェ
ーンにも文字がないことを示す。テキストブロックがチ
ェーンの最後にあり、しかし、文書の最後ではない(決
定ブロック1217)場合には、チェーンにより表される構
成要素の処理が完了し、プログラムが中間文書(ブロッ
ク1218)に対する構成要素を終結するのに必要なコード
を書込み、次いで、現在のチェーンの処理が開始された
時にセーブされた状態を復元する(ブロック1219)。こ
の状態には処理する次の文字の位置を含み、上記した如
くの処理を継続する。テキストブロックが文書の最後な
らば、not$exhaustedがF(ブロック1221)にセットさ
れて、主翻訳ループを終結する。終結と同時に、文書を
含むストリームセグメントを終結するのに必要なコード
を中間構造に出力する。
プロセス文字ブロック1213の詳細を示す第13図を引き
続き参照すると、プログラムが先ず、処理中の文字がテ
キストの順序の一部か否かを決定する(決定ブロック13
00)。一部である場合には、プログラムが文字がAC1033
であるか否かを決定する(ブロック1301)。文字がそう
である場合には、プログラムが現状をセーブして(ブロ
ック1303)、AC1033(ブロック1305)に関係する情報属
性の開始を示す位置ブロックをリッセットする。このよ
うに主ループに取り出された次の文字は関係属性の第1
バイトである。文字がAC1033でない場合には、プログラ
ムが次に文字が制御文字か否かを、即ち、文字がタブ
か、インデントか、キャリッジリターンかを決定する
(ブロック1309)。そうであるならば、プログラムが中
間構造を有する文書に対する制御文字に対応する制御ス
ペシファイヤを書き込む(ブロック1315)。そうでない
なら、プログラムが文字に関係する視覚属性を審査して
変更されたか否かを決定する(ブロック1311)。変更さ
れていれば、中間構造の属性を開始もしくは終結するの
に必要な処理を行ない、次いで中間文書へ文字を出力す
る(ブロック1313)。次いで、次の文字が取り出され
る。
文字がテキストの一部でない場合には、情報属性、ま
たは、書式等の他の非テキストエンティティである。そ
の場合には、更に処理を進めるか否かは文字が参照か否
かによる(ブロック1315)。文字が参照である場合に
は、現在の状態が再度セーブされ、位置ブロックが該参
照により参照されるチェーンの開始にセットされる(ブ
ロック1323と1325)。従って、主ループにより処理され
る次の文字は該チェーンの最初の文字となる。また、前
記文字が参照でなはく、現在処理中のアイテムが未完了
の場合には(決定ブロック1317)、文字は該アイテムに
必要とされる如くに処理される(ブロック1321)。例え
ば、処理中のものがページブレークを特定する情報属性
であれば、プログラムがPB CTL1107を出力する(ブロッ
ク1319)。該アイテムが終了するとプログラムは該アイ
テムの開始時にセーブされた状態に戻る。
最後に、第14図はブロック1311で実行される視覚属性
の詳細を表示したものである。本実施例では、文字に関
する属性情報が該文字に関してどの属性がONでどの属性
がOFFかを示すビットアレイの形で第10図の文書から翻
訳プログラムに入力される。翻訳プログラムでは、先
ず、現在の文字に関係する全ビットアレイと該ブロック
から最後に入力された文字が比較される。変更がない場
合には、プログラムは直接ブロック1313に進む(ブロッ
ク1401)。変更がある場合には、プログラムがビット毎
に2つのビットアレイを比較する。現時点の文字のアレ
イのビットが前の文字のアレイの対応するビットと同じ
であれば、プログラムが単純に次のビットを比較し(ブ
ロック1405)、該ビットが同一のものでなければ、プロ
グラムが対応するビットとの比較から該ビットにより表
される視覚属性がONされたかOFFされたかを決定する
(ブロック1409)。前者の場合には、プログラムが中間
文書に対する視覚属性を開始するのに必要なコードを書
込み(ブロック1411)、後者の場合には、プログラムが
該属性を終結するのに必要なコードを書き込む(ブロッ
ク1413)。
プログラムがどのように動作するかの具体例がページ
1 1027の処理を通して提供される。プログラムは、初期
設定中に、DT1003を審査してPIB1007を指すポインター
の有無を決定する。ポインターがある場合に、文書中に
テキストがあり、プログラムがSOS「テキスト」1105を
出力する。PIB1007中の文書のページ1を指すPIE1008を
使用してプログラムがページ1 1027の第1番目のブロッ
クであるテキストブロック(21)を位置決めして、該ブ
ロックの第1番目の文字の処理を開始する。該文字はFA
1035に対応するAC1033であり、プログラムは状態をセー
ブして、FA1035の処理を開始する。FA1035はページブレ
ークを特定し、その結果、PB CTL1107が中間構造を有す
る文書に出力される。FA1035は、また、FORにより参照
される新たな書式を特定する。従って、プロセス文字12
13が再度状態をセーブして、書式1021を含むブロック
(35)を位置決めし、ブロック(35)中の第1番目の文
字と処理中のチェーンが書式チェーンであることを特定
し、そして、SF CTL1109を出力する。主翻訳ループが次
いでブロック(35)のテキストの必要とする書式記述子
を形成する。ブロック(35)のテキスト終結etx1031に
到達すると、第12図に示す如くプログラムがチェーンの
最後であるテキスト終結1031に応答する。この場合には
制御スペシファイヤが処理中であり、従って、終結コー
ドは必要とされない。プログラムは次いで処理書式1021
が開始した時にセーブされた状態を復元して、FA1035の
処理を再開する。次のアイテムはヘッダ1019の参照HRで
あり、プログラムが再度現在の状態をセーブして、SOS
「ヘッダ1113」を出力して、ヘッダ1019のTの処理を開
始する。しかしながら、ヘッダ1019のTの第1番目の文
字はヘッダ1019のAのFA1035を参照するAC1033である。
このFA1035は書式の1021の参照FORのみを含む。故に、
プロセス文字12113は再度現在の状態をセーブして、SOS
「ヘッダ」1113に続いてSF CTL1109を出力して、状態を
再度セーブして、書式1021のテキストからのヘッダ書式
記述子1115を生成して、前述した如く、状態を復元す
る。FA1035には次のアイテムがないので、状態が再度復
元されて、ヘッダ1019の残りの文字が処理されて、ヘッ
ダテキスト1117が生成される。ヘッダ1019のテキスト終
結1031に到達すると、状態が再度復元されて、FA1035の
処理が継続される。
FA1035の次のアイテムはヘッダ1019に就いて述べた如
くに処理されるフッタ1017を参照するFRである。フッタ
1017の処理が完了すると、ブロック(21)のAC1033の処
理が完了し、同ブロックの残りのテキスト文字及びペー
ジ1の残りのブロックが処理されて、ページ1のテキス
ト1129が生成される。ページ2の第1ブロックであるブ
ロック(9)のAC1033に到達すると、同ブロックのFA10
35が処理される。ブロック(9)のFA1035はブロック
(21)のFA1035と同一の書式、ヘッダ及びフッタを特定
するので、新たなSF CTL、ヘッダセグメント、またはフ
ッタセグメントを出力する必要はなく、ページ1の終結
をマークするPB CTL1107のみが出力される。文書の構成
要素のすべての翻訳が完了するまで上記した如く処理が
継続する。
中間構造から第10図の文書への翻訳は第10図の文書か
ら中間構造への翻訳に使用されるのと同一の一般的方法
が使用される。先ず、管理ブロックと第1索引ブロック
を設定し、文書情報ブロック記述子1103からの情報を文
書情報ブロック1001へロードして文書構造の初期設定を
行う。次いで、包含されるセグメントの処理が開始す
る。各セグメントは第10図の文書構造の異なるテキスト
チェーンに対応しており、従って、セグメントの開始に
遭遇する度に現在のチェーンの処理を中断して、新たな
チェーンの処理を開始しなければならない。セグメント
の終結に遭遇する度に終結したセグメントを含むセグメ
ントに対応するチェーンの処理を再開しなければならな
い。ここにおいても、また。処理を中断する度にスタッ
ク上に状態をセーブし、セグメントの処理が終結字する
度に状態を復元する技術がプログラムされて使用され
る。
所定の文書構造から中間文書構造へ翻訳され、次いで
元の文書へ翻訳された文書は、元の文書と同一の情報を
含む一方で最終の文書構造は元の文書構造とは完全に同
一ならなくともよい。例えば、第10図のテキストブロッ
クの多くがシングルヘッダブロック1019を参照する属性
図を含む。中間文書構造では、ヘッダセグメントがヘッ
ダが変更される度に生成される。中間文書構造から第10
図の構造へ翻訳プログラムは所定のヘッダセグメントが
文書中で前に出現したヘッダセグメントと同一か否かを
チェックしなくともよい。かかるチェックがプログラム
に於いてなされない場合には、プログラムが別個のテキ
ストブロックに遭遇する度に各ヘッダセグメントを翻訳
し、その結果生じる文書構造には元の文書構造より多く
のテキストブロックとRIE1010を含むこととなる。
改良中間スプレッドシート 10.序:第15図 本書に於いて開示される中間文書構造及びプログラム
合成抽出をさらに研究していくことで中間文書構造及び
プログラム合成抽出を修正して1タイプのスプレッドシ
ートを別のタイプのスプレッドシートへ翻訳することが
可能であることがわかった。
スプレッドシートはスプレッドシートプログラムによ
り生成される表ディスプレー式コンピュータ装置のメモ
リにおける表示である。かかる表ディスプレーの例を第
15図にしめす。該ディスプレーでは、スプレッドシート
はセル1503のマトリックスとして出現する。各セル1503
は縦横行の番号によりアドレス可能となっている。使用
者はセル1503に式(EXP1511)を入力する。セルが式151
1をふくんでいると、セルの値が式1511の現在値とな
る。式には定数もしくはその他のセル1503のアドレス等
オペランド(演算数)と、演算数に実行される演算を示
すオペレータ(演算子)を含めることが可能である。式
1511がセル1503のディスプレーに入力されると、スプレ
ッドシートプログラムが直ちに式の値を計算し、セル15
03中の値を表示する。式1511が別のセルのアドレスであ
る演算数を含む場合には、スプレッドシートプログラム
がもう一方のセルの値を計算して、その値を使用して該
式の値を計算する。同様に、使用者がその値他のセルの
値を計算するために用いられるセル1503の値を変更する
場合には、スプレッドシートプログラムが直ちにその他
の値のすべてを再計算する。使用者がスプレッドシート
での作業を終了すると、スプレッドシートプログラムが
ディスク駆動装置等の持久記憶装置にスプレッドシート
の表示をセーブする。
上記説明からわかるように、スプレッドシートと文書
は使用者により相互作用的に作成されるという点で類似
している。さらに、スプレッドシートと文書は1つのス
プレッドシートプログラムで作成したスプレッドシート
を別のスプレッドシートプログラムで作成したスプレッ
ドシートに翻訳する必要があるという点で類似してい
る。中間文書構造が1つの文書構造を別の文書構造へ翻
訳する方法に類似した方法で抽出合成プログラムを用い
て1つのスプレッドシートを別のスプレッドシートに翻
訳するのに使用出来る中間スプレッドシート構造を下記
に開示する。
11.スプレッドシートモデル スプレッドシートは通常2次元マトリッスの数式であ
る。かかるスプレッドシートは最大次元数が2である要
素を有している。行は次元数が1のエレメント(要素)
であり、マトリックス全体は次元数が2の要素である。
しかしながら、2次元以上の要素を有するスプレッドシ
ートも考えられ、3次元以上の要素を有するスプレッド
シートや、1次元の要素のみを有するスプレッドシート
(セルの行が1つ)等も考えられる。実際、現在利用可
能なあるスプレッドシートの有効次元数は3である。か
かるスプレッドシートにはグリッドと呼ばれる2次元要
素が含まれ、スプレッドシートを多数のグリッドで構成
することが可能である。つまり、スプレッドシートモデ
ルではセルを何次元にでも定義出来る。n次元のものを
見るには1度に1次元づつ見ていくのが最も簡単な方法
である。スプレッドシートの最低レベルは式の位置保留
をするセル1503である。セルは0次元であり、データの
点である。
行に形成された1組のセルはセルの1次元配列である
ベクトルV1505を構成する。次の次元はセルの行を次々
と並べて構成して、グリッドを形成する。これは各々セ
ルを含むベクトル1507で確実に達成出来、ベクトルをネ
ストして行けばそれ以上の次元を構成出来る。
第16図に中間スプレッドシート構造を示す。セル1503
をセルセグメント1617で表す。セルが属する行を1次元
ベクトルセグメント1619で表し、セルと行が属するマト
リックスを2次元マトリックスセグメント1629で表し、
スプレッドシートセグメント1629でスプレッドシート全
体を表す。スプレッドシートセグメント1629は常にベク
トルセグメント1619を含む。1次元スプレッドシートで
は、このベクトルセグメントに1群のセルセグメント16
17が含まれ、2次元スプレッドシートでは、このベクト
ルセグメントに各々セルセグメントを含む1群のベクト
ルセグメント1619が含まれる。
スプレッドシートセグメント1629は任意のものであ
り、使用される場合には、搭載中のデータが実際にはス
プレッドシートであることを示す。即ち、セグメントが
使用されない場合には、搭載中のデータはスプレッドシ
ートモデルに適切にあてはまる単なるデータであり、所
望の方法で如何様にも使用可能である。好適実施例で
は、中間スプレッドシート構造の最外側ベクトルセグメ
ント(第16図のマトリックスセグメント1627)がスプレ
ッドシートの次元数を特定するベクトル記述子1607を有
しなければならない。この情報を有することで他の記述
子の解釈が可能となる。ネストされたベクトルセグメン
トの次元数が親の次元数以上である場合には、該ベクト
ルセグメントはベクトルの次元数を特定する。記述子を
絶対に有しなければならない。次元は各次元に番号を付
けて順番に配置され、減少順位で参照される。セグメン
トが深くネストされればされる程現在のアドレスにより
多くの値が必要となる。
12.セルアドレス指定 次元数が任意である1つのセルもしくは正方形に縁取
りしたセルグループ(第15図のセルグループ1509)を特
定する方法は2つある。アドレスするグループが最近に
開いたセグメントが規定するセルの組である場合には、
ローカルアドレス指定を使用出来る。異なるアドレス指
定モードには別個の記述子がある。
双方とも任意次元数の1つのセル1503もしくはセルグ
ループ1509のアドレスを特定する方法を提供する。これ
らは長方形のセル領域に名前を付けるのに使用される
が、その中の記述子の順番が意味を持つ点で特異な記述
子グループである。
また、双方共同一の基本パターンに追従する。表現中
の各次元に就いて1対の記述子が使用される(ある場合
においては、該1対の記述子の一方は任意である)。セ
ルグループは該グループの2つの対向する角、即ち2つ
のn−タプルを識別して特定される。例えば、セルグル
ープ1509は、r2c3とr3c4で識別される。これより、第17
図に示すごとく、各次元に就いて2つの記述子が得られ
る。第1記述子1703は当該次元の初期値であり、第2記
述子1705は該次元の最終値である。このように、セルグ
ループ1509に就いては、第1次元の第1記述子が2を特
定し、第2記述子が3を特定し、一方、第2次元の第1
記述子が3を特定し、第2記述子が4を特定する。記述
子は最小から最大次元の順で配置される。
(初期)記述子は表現中の各次元に就いて1つ必要と
されるが、(最終)記述子は任意である。(最終)記述
子がない場合には、関係する(初期)記述子の値と同じ
(最終)記述子が存在することを意味する。このよう
に、(初期11)(初期15)は(初期11)(最終11)(初
期15)(最終15)と同じセルを参照する。即ち、双方共
1つのアドレス(11、15)を参照する。しかしながら、
ある適用では、1つのセルの参照と「グループ」がたま
たま1つのセルであるセルグループの参照とを区別す
る。このため、(最終)記述子が出現しない場合、即
ち、可能な限り最小の表示である場合には、1つのセル
の参照は「1つのセルの参照」であると仮定する。(最
終)記述子が出現する場合には、たとえ「グループ」が
1つのセルしか含まなくとも、参照グループに就いてな
されるものと考える。従って、ある適用では、全く同一
のセルとセル番号が参照されとも、(初期11)(最終1
5)の意味は(初期11)(初期15)(最終15)と微妙に
異なってくる。
グローバルセル参照 グローバルアドレス指定では、スプレッドシートのい
ずれのセルも直接に参照出来る。初期記述子1703または
初期/最終記述子1705は次元の各々に就いて使用出来、
次元0から始まり次元を増加させていく。グローバルア
ドレス指定はいずれの種類の参照にも使用することが出
来る。実際には、ローカルアドレス指定がグローバルア
ドレス指定よりコンパクトなことから可能な場合には使
用される。グローバルアドレス指定はセルセグメント16
17に於いて最も一般的に使用される。これは、グローバ
ルアドレス指定では現在位置に対するアドレス指定が可
能であり、セルセグメント1617では、現在位置が常に完
全にしられており、ローカルアドレス指定ではその他の
いずれのセルもアドレス出来ないためである。
初期及び最終記述子1703、1705は各々絶対書式と相対
書式とを有している。絶対書式ではスプレッドシートの
起点1513に対するセル位置が与えられ、相対書式では現
在位置に対するセル行値が与えられる。勿論、現在位置
の次元を決定して、相対アドレス指定の基本としなけれ
ばならない。セルセグメント1617に変わって、アドレス
のすべてのn値が知られているので、アドレスの一部分
に就いては相対アドレス指定を使用することも出来る。
ローカルセル参照 しばしば、アドレスを構成するn−タプルのすべてが
判明している場合がある。即ち、ベクトルセグメント中
の次元記述子(最外側のものを除いて)がアドレスの高
次元数を特定している場合である。セルセグメントのレ
ベルでは、すべてのn値が判明している。セルの外側で
は、アドレスが時に特定されている傾向にある。即ち、
アドレスの高次元数が判明している(ベクトルセグメン
トを包囲することで特定する)。ローカルアドレス指定
では、既に規定された高次元のアドレスが所定の絶対の
ものとして処理され、引き続きより低次元のアドレスが
特定される。つまり、位置指定モードで特定されたアド
レスは参照が発生するベクトルセグメント内で規定され
るセル参照に使用でき、相対アドレス指定は意味のない
ものであるということである。
ローカルアドレス指定は集合名等の特性をベクトル内
のセルグループに与えるのには非常に適している。
双方のモードに共通のもの アドレスが完全に分解しないことが双方のモードに於
いて重要である。つまり、3次元ベクトルにおいて、セ
ルグループが2次元分の制限しか与えない場合がある。
非特定次元には非特定次元の可能な限りすべてのアドレ
スが含まれると推定される。従って、初期記述子も最終
記述子も出現しない場合に、初期アドレスには負性無限
大が、最終アドレスには正性無限大が使用される。
1つの次元から無限大に離れたアドレスを明確に参照す
る必要がある場合、もしくは、所望する場合には、特別
の規則が使用される。実際のデータを含まない絶対アド
レス(初期または最終のいずれであれ)に対する記述子
は起点から適切な方向に可能な限り離れたアドレスを参
照すると考えられる。初期無限大が使用される場合に
は、可能な限りの最小アドレスを意味し、一方不明瞭明
瞭を問わず最終無限大は可能な限りの最大アドレスを参
照することに留意すべきである。
セルアドレスを指定する場合に、スプレッドシート中
に存在するもの以上の次元を特定するのは違法である。
13.セルセグメント1617の内容:第18図 スプレッドシートセルが空の場合には、該セルを表す
セルセグメント1617の内容がないことである。セルに式
が含まれる場合には、スプレッドシートセルエレメント
1617の内容が該式を特定し、該式が有する値が現在の値
であるなら、内容が現在の値とデータタイプを特定す
る。これらの項目は好適実施例において特定される方法
を第18図に示す。第1項目はセルデータタイプ記述子18
02であり、これによりセルの現在値のデータタイプが特
定される。セルデータタイプ記述子1802は、この記述子
に対するSOD1801とEOD1805と、その値のタイプを特定す
るタイプコード(データTC)1803とを含む。次の項目
は、追従するものが式1831(EXP1831)であることを示
すCTL630である式制御1807である。式1831は、オペラン
ドに対するオペランド記述子1821と、オペランドに適用
する演算子に対するn演算子記述子1822とによって表さ
れる。好適な実施例では、接尾表示法が使用される。即
ち、演算子記述子1822が、そのオペランドのすべてに対
する記述子1821に追従する。各オペランド記述子は、オ
ペランド記述子に対するSOD1809及びEOD1819と、入れ子
にされた(ネストされた)オペランドデータタイプ記述
子1810とを含む。オペランドデータタイプ記述子1810
は、オペランドデータタイプ記述子に対するSOD1811及
びEOD1815と、オペランドのデータタイプを特定するオ
ペランドデータタイプコード1813とを含む。オペランド
記述子にはオペランド(OP EXP)1817の値を規定する式
が追従する。OP EXP1817は、定数か、別のアドレスか、
又はネストされた式1831であってもよく(即ち、式1831
をネストしてもよく)、式1831のネストされる深さは任
意である。オペランド記述子1821(1)の後には、演算
に必要な他のオペランドに対するオペランド記述子1821
(2)が追従する。全てのオペランド記述子1821の後に
は演算子記述子1822が追従する。演算子記述子1822は、
演算子に対するSOD1823及びEOD1827と、演算子タイプコ
ード1825とを含む。中間文書構造が作成された時点で式
結果が判明している場合には、結果1829に結果の値が含
まれる。
下記に詳細を説明する如く、セルセグメント内容1611
は、表されたセル1503のその行におけるアドレス、セル
名、修正から保護がなされているか、その値に必要なデ
ータタイプ及びセル表示の書式に関する情報を特定する
その他の記述子を含めることが可能である。
14.中間スプレッドシート構造の詳細な説明 下記は中間スプレッドシート構造の好適な実施例の詳
細な説明である。本説明に置いては下記の表示法を使用
する。
(SOS 605;) EOS 639 〔SOD 611 〕 EOD 617 !CTL 630 左丸括弧、左角括弧または!の直ぐ後に続く文字スト
リングはセグメント名、記述子名または制御名を示す。
記述子の場合には、記述子名に続く値は記述子に対する
記述子タイプコード(DTC)609であり、これに値の番号
とタイプで表された記述子内容が追従する。「*」は値
の変数を示す。例えば、 (絶対初期 1 1:2バイト 整数) は次元内の絶対初期アドレスを特定する記述子を表す。
1は記述子のDTC609であり、1:2バイト 整数は初期ア
ドレスが1つの2バイト整数値により示されることを表
している。各構成の説明には当該構成に含められるその
他の構成の全てが含められる。どの構成を含めるかは翻
訳中のスプレッドシートにより決定される。構成中の
「グループ」なる語は該構成の記述に述べた種類の情報
を含む記述子グループであることを示している。例え
ば、「セル参照記述子グループ」はセルまたはセルグル
ープを特定する1組の記述子である。
また、かかる詳細な説明では、「兄弟」及び「子」と
してのベクトルセルとセルセグメント及び「親」として
のベクトルセグメントに就いても言及する。この術語は
通常以下の意味を持つ。ベクトルセグメントが他のベク
トルセグメントもしくはセルセグメント直にを含めば、
該ベクトルセグメントは直に含まれるベクトルセグメン
トもしくはセルセグメントの親であり、直に含まれるベ
クトルセグメントもしくはセルセグメントはお互い同士
は兄弟であり、該親ベクトルセグメントの子になる。
15.式制御1807 式制御は任意の算術及び幾つかの非算術関数を表す。
好適な実施例では、式制御は常に唯一の値を表す関数を
示す。つまり、どの式も値のマトリックスをもとに戻す
ことはしない。その他の実施例では式が値のマトリック
スをもとに戻すことが可能である。式がデータのマトリ
ックスを参照することがあるが、データはもとに戻され
る。副式は式中に組み込まれ、表示法は接尾式である。
演算子なる語は一般的意味で使用され、SINまたはLOG演
算子がある。演算子は0とオペランドの無限数間の数値
をとることが可能であるが、たいていの演算子は有限数
をとる。特定が少な過ぎたりまたは多過ぎたりすると未
定義行動となり、式が誤りとして除去される。オペラン
ドは定数(種々の異なるデータタイプ)、セルの参照
(もしくはセルグループ)または式でも良い。
式制御に属する記述子は上記の演算子とオペランドを
含むオペランドの順番は常に重要である。3+7や7+
3のような場合にはその順番も算術的には重要ではない
かもしれないが、式中の語順は(可能な限り)使用者に
より入力された順に記憶しておくことが重要である。
式制御では接尾規則が使用され、これと共にオペラン
ド中に別の式を組み込んで副式を表すといった奇妙な方
法を適用する。これにより、接尾式に対する違いが一切
なくなり、使用者が行ったと同じ方法で括弧付式を表す
方法を提供することが可能となる。勿論、任意の式を
「フラット」接尾式に配置することも可能であるが、演
算子が平均(x,y,z,...)等のオペランドの変数を取る
場合には、上記組み込みが有益となる。このような場合
には、独立変数と演算子が副式に入れられ、演算子すべ
ての能動オペランドを行うと考えられる。「2 3+4 平
均」は5と4(4.5)の平均であって、2、3、と4
(3)の平均ではないことに留意すること。
(オペランド)中で!式を除去するのが勧められる場
合がある。それは以下の場合である。
1) 演算子が関数である場合。特にストリームの
方向が知らされない関数である場合。これは素晴らしい
考えである。何故なら、関数がが判らない場合、高い知
能を持つ合成プログラムが副式をトスするが残りはもと
のままに保持される。ともかく、大抵の関数が括弧付の
式の形態をとる(理由3を参照)。
2) 式の崩れたのが能動的に知らされる場合。式
の崩れた部分を副式中で隔離可能であり、合成プログラ
ムにより優れた対応が可能である。
3) 式がタイプ入力される時に括弧が使用される
場合(式が挿入子としてタイプ入力される場合)。宛先
が挿入しとして式を記憶表示する場合には、括弧は挿入
入力されるごとに再構築可能となる。式はこれがなされ
るなされないに関わらず正しいものであるが、可能な場
合には、使用者が式をタイプするごとにそれを保存する
のが最善の方法である。
16.アドレス記述子1701 グローバルセル参照: (絶対_初期 1 1:2バイト 整数) (絶対_最終 2 1:2バイト 整数) (絶対_初期 3 1:2バイト 整数) (絶対_最終 4 1:2バイト 整数) ローカルセル参照: (絶対_初期 1 1:2バイト 整数) (絶対_最終 2 1:2バイト 整数) 17.データタイプ記述子1802 あるセグメントは「設定可能」データタイプを有して
いる。この場合には、該セグメントが省略字のデータタ
イプを有しており、データタイプを設定する記述子を有
することが可能である。該記述子には実際のタイプコー
ドが含まれる。スプレッドシートが抽出プログラムには
未知であるテータタイプ、即ち、「N/A(利用不可
能)」番号要素を有することが可能であり、これらがエ
ラーコード0のエラーデータとなる。
18.スプレッドシートセグメント1629とスプレッドシー
ト記述子1603 (スプレッドシート データタイプ無し) (グリッドフラッグ 2 1:ブール) セルを表示する時に近傍からセルを区切るのにグリッ
ドラインを使用するか否か。すべての次元に適用する。
(再計算 カウント 3 1:4バイト 整数) 巡回参照時の繰り返し回数。ディフォールトは0であ
り、これは、巡回参照が発生すると再計算を行わないこ
とを示す。
(再計算 式 4 なし) 「真(ゼロなし)」を評価する!式を含む。但し、再
計算は続行される。何も与えられない場合には、「偽」
までデフォールトし、再計算が行われないことを意味す
る。
(再計算 次元 5 *:2バイト 列挙) 巡回参照を再計算時に遵守する優先順位のリストを含
む。各整数が再計算中の「掃引(スイープスルー)」す
る次元に名前を付ける。即ち、 0 東/西 1 北/南 2 上/下(垂直方向) このように、(再計算_次元 0 1)は行を掃引して、
また、行内で列を下方に掃引して再計算が行われること
を示す。かかる掃引は最下部のセルアドレスから最高部
のセルアドレスへ向けて発生する。つまり、ディフォー
ルトは任意の値不在の不明次元数を小さい順番に埋める
ことである。しかしながら、この記述子が出現しない場
合には、次元を掃引しても再計算は実行されない。
(最終編集セル 6 ローカルセル参照グループ) 修正する最終セルのアドレスを記述する。
(境界表示 7 *:ブール) 最終セルの後に次元を沿って境界を表示するか否かを
示す次元当たりのブール。ディフォールトは各不明次元
に対して「偽」となる。
(先行則 8 *:2バイト 整数) 次元衝突時に種々の規則が動作継続を特定した場合の
処理方法。例えば、ストリームが行xに対して1組の規
則を特定し、列yに対して別の1組の規則を特定する。
列と行が交差する場合には、上記の規則同士が衝突す
る。優先順位の大きいものから該規則が適用される順序
が確立される。
19.ベクトルセグメントとベクトル記述子1607 (ベクトル データタイプなし) (次元数 1 1:2バイト 整数) この記述子はスプレッドシートの最外側ベクトル中の
第1記述子でなければならない。整数は本スプレッドシ
ート中で表現する次元の(非負性)数を示す。ディフォ
ールトは0であり、スプレッドシートは空である。
(ベクトルアドレス 1 1:2バイト 整数) 「親」によって示されるような、このベクトルのアド
レス。最外側ベクトルセグメント上では意味なし。ディ
フォールトは前の「兄弟」のアドレスプラス1であり、
前に「兄弟」がない場合には、「親」の第1「子」のア
ドレスの値。これにより空ベクトルのスキップが容易に
出来る。
(第1「子」アドレス 2 1:2バイト 整数) このベクトルの「子」の中で使用されている最小アド
レス。ディフォールトは0である。
(セル名 3 グループ+*;テキス
ト) このベクトル中に包含されたセルグループの名前。セ
ルは中のセル参照記述子グループにより名を付けられ
る。なにも出現しない場合には、本発明ベクトル中のす
べてのセルが名付けられる。多数のセルグループが同一
名を与えられた場合には、セルグループがバラバラであ
っても該名前ですべての当該セルグループが参照され
る。
(ディフォールトセル保護 4 グループ+1;ブール) このベクトルに包含されたセルグループのディフォー
ルト保護では「真」が保護を意味する。セルは中のセル
参照記述子グループにより名を付けられる。なにも出現
しない場合には、本ベクトル中のすべてのセルが冒され
ている。
(セル妨害行動 5 グループ+1:1バイト 列挙) 保護セルが入力された時にとるディフォールト行動。
−1 保護を受け入れる;航行中はこのセルをスキップする。
0 保護を受け入れる。
1 保護を無視し、セルの修正を許可する。
セルは中のセル参照記述子グループにより名を付けら
れる。なにも出現しない場合には、本ベクトル中のすべ
てのセルが冒されている。
(ディフォールトセル書式 6 なし) ここには1組のセルを名付ける記述子と適用される書
式を記述する記述子の2つ の記述子が含まれ、各々グループを保持する。
(セル参照 1 グループ) (セル書式 2 グループ) (ディフォールト表示乗算 7 グループ+1:フロート_8) セル値を表示する時に数値を掛けるディフォールト
値。セル値の変更はなく、単に表示をするのみ。セルは
中のセル参照記述子グループにより名を付けられる。な
にも出現しない場合には、本ベクトル中のすべてのセル
が冒されている。
(ディフォールトセルタイプ 8 グループ+2:1バイト 列挙) 名付けされたセル中で唯一の合法的データタイプ。な
い場合には、ディフォールトはセルが任意のデータタイ
プの例を含んでいる場合があるということである。セル
は中のセル参照記述子グループにより名を付けられる。
なにも出現しない場合には、本ベクトル中のすべてのセ
ルが冒されている。これによりセルセグメントを分析す
るためのデータタイプを実際に表しているのではないこ
とに留意されたい。実際、次のセルセグメントに本記述
子の影響下で異なるデータタイプを含めることが可能で
ある。これにより影響を受けるのは将来セルにどんなで
データを追加したらいいかということだけである。
20.記述子とセルセグメント1617の制御 (セル) (セルアドレス 1 1:2バイト 整数) このセルのアドレスは、その親から「親」からわかる
ように、ベクトルである。この記述子が不明の場合に
は、ディフォールトは前の「兄弟」のアドレスプラス1
であり、前に「兄弟」がない場合には、「親」の第1
「子」のアドレスである。
(セル名 3 *:テキスト) このセルの名前である。
(セル保護 4 1:ブール) このセルに適用する保護では、「真」が保護されてい
ることを表す。
(セル妨害行動 5 1:1バイト 列挙) このセル(保護されている場合には)が入力された時
にとるディフォールト行動。
−1 保護を受け入れる;航行中はこのセルをスキップする。
0 保護を受け入れる。
1 保護を無視すし、セルの修正を許可する。
(セル書式 6 グループ) ここにはセルの表示書式を記述する記述子グループが
含まれる。セル書式グループは以下に記述する。
(表示乗算 7 1:フロート_8) このセルの値を表示する時に数値を掛けるディフォー
ルト値。セル値の変更はされず、単に表示するのみ。デ
ィフォールトは乗数なし(1.0)。
(セルタイプ 8 2:1バイト 列挙) このセルで唯一合法的データタイプ。ない場合には、
ディフォールトはセルが任意のデータタイプの例を含ん
でいる場合があるということである。これによりセルセ
グメントを分析するためのデータタイプを実際に表して
いるのではないことに留意されたい。実際、次のセルセ
グメントに本記述子の影響下で異なるデータタイプを含
めることが可能である。これにより影響されるのは将来
セルにどんなデータを追加したらいいかということだけ
である。
(データタイプ 2 2:1バイト 列挙) セルの現在値のデータタイプ。ディフォールトはフロ
ート_8である。この決宛市は現在のセルセグメント内で
の任意のデータの分析方法を決定するのに使用される。
(!式) (オペランド 1 1:フロート_8 設定可能) オペランド記述子にセル参照グループ、!式制御また
は値を含むその他の記述子を含むことが可能である(セ
ル参照と式制御双方の如き複数源の値を含むオペランド
は順序に無関係であると考えられる:合成工程では任意
の順序のオペランドで式を作れる)。
(オペランドに)含まれる記述子は以下の通りであ
る。
(グローバルセル参照 1 グローバルセル参照) (データタイプ 2 2:1バイト 列挙) (演算子 2 1:2バイト 列挙) ある先行番号の接尾スタック原子に適用する演算子。
詳細は上記の!式制御に関する説明を参照。
書式記述子グループ ここでは、セル書式の定義がなされ、セル値を表示す
るのに必要とされるほぼすべての情報が含まれる。セル
には種々のデータを表示するための命令を含めることが
可能である。番号に対する1つの書式を提示して、日付
等が含まれるような場合には様々の方向を特定出来る。
セル表示書式記述子 (表示_データ 1 2:1バイト 整数) 第1整数がセルに含まれる式が表示されるか否かを示
し、第2整数が式の値が表示されるか否かを示す。双方
とも出現しない場合には、セルが空白で出現する。使用
される値は以下の通りである。
−1 時々表示され、何が当てはまり勝つ良く見える
かという表示ソフトウェアの観点から決定される。
0 表示なし。
1 常時表示。
(表示_繰り返し 2 1:1バイト ブール) セルの内容をセルのウィンドーが満たされるまで繰り
返し表示するか否かを示す。
(拡張_表示 3 1:1バイト ブール) セルの内容を右側まで拡張し、セル境界を越えて、空
白セルをカバーするのに必要な程繰り返しセルにその表
示をして到達(または、境界に遭遇)するまで表示する
か否かを示す。セルが「センタリングされた配列」で表
示されるようにセットされる場合には、セルが自身の表
示(又は境界)に到着する迄右側の代わりに下方に拡張
されて内容が表示される。
(RID 4 1:2バイト 整数) (名前 5 *:テキスト) 書式の名前。
記述子の残りすべてはデータタイプ毎に使用され、且
つ、該タイプデータを表示する記述子に組み込まれる。
タイプ用の記述子には当該タイプのデータの表示方法を
規定する記述子グループを含めることが可能である。グ
ループ内の記述市はタイプ用の記述子に追従する。
数値書式記述子 (数値書式 6 グループ) 数値表示に関する書式情報。
(少数点ストリング 1 *:テキスト) 少数点として使用する文字。
(千の位分離符号 2 *:テキスト) 3桁毎に使用して、千の位を表す。ない場合には、千
の位をマークするのに使用する文字はない。
(少数点位置 3 1:1バイト 整数) 少数点の右側に表示する少数点位置以下の桁数。表示
時には、この桁数を収容出来るように値を丸める。値0x
80(負性1バイト無限大)は数値の丸めが例えば、セル
境界を当てはめるのに必要であるので行れたことを暗示
する。値0x70は数を可能な限り正確に表すのに使用さ
れ、例えば、可能な場合に、少数部として数を表示する
のに特別なステップを取ることを示すのに使用する。
(科学的 4 1:1バイト 整数) 数を表すのに科学的書式(nnE+mm)を使用するか否
か。
−1 表示が読みやすくなるのであれば科学的書式を
使用する。
0 科学的書式は使用しない。
1 常時科学的書式を使用する。
(カレンシイフラッグ 5 1:2バイト 整数) これにより値がカレンシイを表すか否、かつ、そのよ
うに表示されるべきか否かが示される。好適実施例で
は、0がカレンシイでないことを表し、その他任意のも
のがカレンシイであることを表す。特に、−1がカレン
シイタイプが未知であり、特別なカレンシイタイプ(US
ドル、円等)を示すのにその他の値が使用される。
(カレンシイストリング 6 *:テキスト) カレンシイであることを示す数の後に付けるストリン
グを示す。カレンシイストリングが与えられれば、カレ
ンシイフラッグ記述子の内容と矛盾しても、常にそれが
適用される。
(パーセント フラッグ 7 *:テキスト) 所定ストリングを末尾に付けて数を表示することを示
し、値がパーセント(ストリングは一般に「%」であ
る)であることの表示となる。これにより、表示された
値に関する仮定は一切生じない。値.5は、.5%として表
示されて、御50%ととは表示されない(但し、乗数記述
子を参照)。
(乗数 8 1:フロート_8) 表示前に当該値を所定の値で乗算することを示す。セ
ルの実際の値は変更されず、表示のみが変更される。
(パーセント)と連携して有効となる。
(正性接頭ストリング 9 *:テキスト) 表示時に正の数の先に付けるストリング。すべてに対
してディフォールトなし。このストリングの数への先付
けは他の記述子、例えば(カレンシイ)等により修正が
なされた後に発生する。
(負性接頭ストリング 10 *:テキスト) 記述子が全く出現しない場合には、ディフォールトが
「−」であることを除き、(正性接頭ストリング)と同
様。
(正性接尾ストリング 11 *:テキスト) 表示時に正の数に付けるストリング。これは他の記述
子、例えば(カレンシイ)等により修正がなされた後に
発生する。
(負性接尾ストリング 12 *:テキスト) (正性接尾ストリング)と同様。
(位置合わせ 13 1:1バイト 整数) セル内での数の位置合わせ方法。
−1 表示を最良のものとするために如何なる方法に
よってでも位置合わせを行う。
0 特定の規則なし(ディフォールトもしくはより
グローバルの設定を行う。
1 数の左位置調整を行う。
2 セル内での値のセンタリング。
3 数の右位置調整を行う。
日時の書式記述子 (日時 7 グループ) 日時表示のための書式情報。
(順序 1 *:1バイト 整数) これは、日時の欄の順序を与える。欄が述べられてい
ない場合には、表示はなし。
0 年 1 付 2 日 3 曜日 4 時 5 分 6 秒 7 ミリ秒 従って(順序 0 2 1 3 4 5)は日時が年日付時分秒ミ
リ秒で表され、曜日は表示されないことを示す。記述子
が出現しない場合には、ディフォールトが適用に最善と
思われる順序で表示する。即ち、米国では、一般的順序
は312045であると考えられる。記述子が出現しないが空
である場合には、日時情報を表示することが不可能とな
る。
(年書式 2 1:1バイト 整数) 年の表示方法を記述する。
−1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはグローバル規則に従っ
て表示する。
1 省略書式で表示する(最後の2桁のみで)。
2 日付が50年以内なら省略書式で表示する。
3 常に長書式で表示する。
4 テキストストリングとして表示する:1991は
(千九百九十一) (月書式 3 1:1バイト 整数) −1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはよりグローバル規則に
従って表示する。
1 数値で表示する(1)。
2 短縮テキストで表示する(Jan)。
3 長テキストで表示する。(January)。
(曜日書式 4 1:1バイト 整数) −1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはよりグローバル規則に
従って表示する。
1 数値で表示する(1)。月曜日は1であり、日
曜日は0である。
2 短縮テキストで表示する(Mon)。
3 長テキストで表示する。(Monday)。
(曜日書式 5 1:1バイト 整数) −1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはよりグローバル規則に
従って表示する。
1 数値で表示する(23)。
2 接尾テキストと数値で表示する(23rd)。
3 テキスト(「二十三」)で表示する。
(時書式 6 1:1バイト 整数) −1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはよりグローバル規則に
従って表示する。
1 数値で表示する(12)。
2 テキストで表示する(「十二」)。
(分書式 7 1:1バイト 整数) −1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはよりグローバル規則に
従って表示する。
1 数値で表示する(12)。
2 テキストで表示する(「十二」)。
(秒書式 8 1:1バイト 整数) −1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはよりグローバル規則に
従って表示する。
1 数値で表示する(12)。
2 テキストで表示する(「十二」)。
(ミリ秒書式 9 1:1バイト 整数) −1 表示する、しかしながら、見かけは最良であ
る。
0 ディフォールトもしくはよりグローバル規則に
従って表示する。
1 数値で表示する。
2 秒の少数部として表示する(1/10)。
(埋め込み ストリング 10 1:テキスト) 1/23/91から01/23/91へと修正する如く、数値表示を
正規幅に埋め込むのに必要とされるこのストリングから
文字を取る。ディフォールトは埋め込みなし。
(欄分離符号 11 *:テキスト) この欄が繰り返される場合には、第1欄の前、第1蘭
と第2蘭との間、第2卵と第3蘭との間等に文字が発生
することを示す。特定されるものが無い場合には、蘭が
1つのスペースにより分離される。
(位置合わせ 12 1:1バイト 整数) セル内での日付の位置合わせ方法。
−1 表示が最高となるようにいかなる方法によって
でも位置合わせを行う(例えば、数の表示にスプレッド
シートのディフォールト規則を使用する。
0 特定の規則なし(ディフォールトもしくはより
グローバル設定を使用する。
1 日付の左位置調整を行う。
2 セルで値のセンタリングを行う。
3 日付の右位置調整を行う。
ブールの値書式記述子 (ブール 8 グループ) ブール値表示のための書式情報。
(真ストリング 1 *:テキスト) 「間」を示すのに使用されるストリング。ディフォー
ルトは「真」である。
(偽ストリング 2 *:テキスト) 「偽」を示すのに使用するストリング。ディフォール
トは「偽」である。
(位置合わせ 3 1:1バイト 整数) セル内でのブールの位置合わせ方法。
−1 表示が最良となるようにいかなる方法によって
でも位置合わせを行う(例えば、数の表示にスプレッド
シートのディフォールト規則を使用する)。
0 特定の規則なし(ディフォールトもしくはより
グローバル設定を使用する。
1 テキストの左位置調整を行う。
2 セルでテキストのセンタリングを行う。
3 テキストの右位置調整を行う。
テキスト書式記述子 (テキスト 9 グループ) (大文字による書込み 1 1:1バイト 整数) −1 大文字ケースの強制する。
0 ケースのみをのこす。
1 小文字ケースを強制する。
(位置合わせ 2 1:1バイト 整数) −1 表示が最良となるようにいかなる方法によって
でも位置合わせを行う(例えば、数の表示にスプレッド
シートのディフォールト規則を使用する)。
0 特定の規則なし(ディフォールトもしくはより
グローバル設定を使用する。
1 テキストの左位置調整を行う。
2 セルでテキストのセンタリングを行う。
3 テキストの右位置調整を行う。
!式演算子 好適な実施例において用いられる演算子。誤演算子
は、オペランドの変数を有し、(式の最後の演算子であ
る場合を除いて)含副式表現で用いられなければならな
い。
他の実施例では異なる演算子組を有することが可能で
ある。
21.第19図のスプレッドシートの中間書式 第19図は1つの列と3つの行から成る単純なスプレッ
ドシート表示を示す。列の第1セルはそのオペランドが
定数である式を含み、第3セルが式を含み、該オペラン
ドの1つが第1セルののアドレスを含む。第1セル36の
値は第3セル23の値を計算するのに使用する。
第19図のスプレッドシートを表す中間スプレッドシー
ト構造を下記の表示法を使用して以下に記す。コメント
は、勿論、中間スプレッドシート構造の一部ではない。
22.結論 上記の好適な実施例の説明でスプレッドシートプログ
ラム間で交換中のスプレッドシートを表すのに中間文書
構造と同一の原理を利用する中間スプレッドシート構造
を開示した。上記説明から明らかなように、中間スプレ
ッドシート構造では任意の次元のスプレッドシートを表
示、セルアドレスの記述、セルの値及び該値を求めるた
めの公式の記述、及び、スプレッドシート及びセル内容
の表示や方法の記述が可能となる。セグメント内での記
述子や制御コードの使用や第1次元セグメントへのセル
セグメントの組み込み、及び、n次元に対しては第(n
−1)番目の次元のセグメントの組み込みにより処理の
容易さ、融通性及び拡張性といった中間文書構造の特性
の提供が可能となった。
しかしながら、本書に開示した中間スプレッドシート
構造の好適な実施例は可能な一実施例に過ぎない。例え
ば、セグメントや記述子の開始終結を行い且つ制御スペ
シファイヤを特定するコードに関する異なる規則を用い
る一方で中間スプレッドシートの基本構造を維持するこ
とも可能である。更に、本発明の中間スプレッドシート
構造は本来拡張可能であり、故に、新たな記述子や演算
子を追加することも可能である。以上のように、本書に
開示した好適な実施例はすべての点に於いて説明を目的
としたものであり、該実施例に限定されるものではな
く、本発明の範囲は上記説明よりはむしろ添付の特許請
求の範囲により示されるべきものであり、該特許請求の
範囲と意味及び範囲の面で等価となる変更はすべてその
特許請求の範囲に包含されるものとする。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ライシュナー,レイ アメリカ合衆国ペンシルバニア州15217, ピッツバーグ,ラスター・ストリート 4323 (58)調査した分野(Int.Cl.6,DB名) G06F 19/00 G06F 9/45

Claims (23)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理システムであって、 命令及び第1データ構造で構成される第1の書類を記憶
    するメモリと、 前記メモリに記憶された命令に応答する処理装置とを備
    え、 前記処理装置は変換手段を備え、前記変換手段は、第1
    の書類の第1データ構造を、所定のデータ構造に変換可
    能な中間構造に変換し、または、前記変換手段は、所定
    のデータ構造から変換されたものである中間構造を、前
    記第1データ構造に変換し、前記中間構造はスプレッド
    シート型の文書を表すのに適当な複数のセルを有し、前
    記中間構造は最大次元nの要素を有し、前記中間構造
    は、 前記中間構造における非空セルの各々に対して、前記セ
    ルを示すセルセグメントと、 前記中間構造の1次元要素を表し、且つその要素に属す
    る任意の非空セルに対する前記セルセグメントを含む、
    少なくとも1つの1次元ベクトルセグメントと、 1<m≦nである前記中間構造の追加的な次元mの各々
    に対して、その次元の各非空要素に対するベクトルセグ
    メントであって、前記非空要素を有し、且つ前記中間構
    造の第(m−1)次元の非空要素に対するベクトルセグ
    メントを含む、ベクトルセグメントと を有する、 データ処理システム。
  2. 【請求項2】請求項1記載のデータ処理システムにおい
    て、前記セグメントの或るものは、そのセグメントの内
    容を記述する記述子を含む、データ処理システム。
  3. 【請求項3】請求項2記載のデータ処理システムにおい
    て、 前記記述子は別の記述子を含むことが可能であり、 前記記述子は前記中間構造における1つ以上の前記セル
    セグメントの位置を記述するセル参照記述子を含み、該
    セル参照記述子はセグメントアドレスを記述する1つ以
    上のアドレス記述子を含む、 データ処理システム。
  4. 【請求項4】請求項3記載のデータ処理システムにおい
    て、 前記アドレス記述子はグローバルアドレス記述子を含
    み、 前記セル参照記述子の所定のものが、所与のセルセグメ
    ントに対して及び該所与のセルセグメントを含むすべて
    のベクトルセグメントに対して次元により順序付けされ
    たグローバルアドレス記述子を含む、 データ処理システム。
  5. 【請求項5】請求項3記載のデータ処理システムにおい
    て、 前記アドレス記述子はローカルセル記述子を含み、 前記セル参照記述子の所定のものが、直接包含するベク
    トルセグメントにおけるセルセグメントのアドレスのみ
    を指定するローカルアドレス記述子を含む、 データ処理システム。
  6. 【請求項6】請求項2記載のデータ処理システムにおい
    て、 前記記述子はセルのグループを規定するためのグループ
    記述子を含み、 各グループ記述子が、前記中間構造の所定の次元に対し
    て、該所定の次元の各々におけるグループの頂部を記述
    アドレス記述子を含む、 データ処理システム。
  7. 【請求項7】請求項6記載のデータ処理システムにおい
    て、 前記グループ記述子は他の記述子に含まれ、該記述子
    は、包含された前記グループ記述子において記述された
    グループ名を規定する名前記述子と、該グループ内のセ
    ルに対するデフォールト情報を指定するデフォールト記
    述子とを含む、データ処理システム。
  8. 【請求項8】請求項2記載のデータ処理システムにおい
    て、 前記セルセグメントの第1の所定のものが式の表現を含
    み、前記式の表現が、前記表現の開始をマークする式制
    御と、 前記式におけるオペランドを記述する少なくとも1つの
    オペランド記述子とを含む、 データ処理システム。
  9. 【請求項9】請求項8記載のデータ処理システムにおい
    て、 前記式の表現が更に、前記オペランドに行われる演算を
    記述する演算子記述子を含むことができる、 データ処理システム。
  10. 【請求項10】請求項9記載のデータ処理システムにお
    いて、 オペランド記述子は更に別の式の表現をネストして含む
    ことが可能であり、ネストされた式は、更に式をネスト
    することが可能である、 データ処理システム。
  11. 【請求項11】請求項1記載のデータ処理システムにお
    いて、 前記変換手段は、第2データ構造で構成されていた第2
    の書類を表す前記中間構造を、前記第1の書類を表すた
    めの前記第1データ構造に変換し、または、前記変換手
    段は、前記第1の書類の前記第1データ構造を、前記第
    2の書類を表すの前記第2データ構造への変換のために
    中間構造に変換する、 データ処理システム。
  12. 【請求項12】請求項11記載のデータ処理システムにお
    いて、 前記第2の書類は、当該データ処理システムから離れた
    位置にある第2のデータ処理システムで生成又は表示さ
    れる形式の書類からなる、 データ処理システム。
  13. 【請求項13】データ処理システムにおいて第1データ
    構造を有する第1の書類を第2データ構造を有する第2
    の書類に変換する方法であって、 前記第1の書類の前記第1データ構造を、前記第2デー
    タ構造に変換することができる中間構造に変換するステ
    ップであって、前記中間構造は、スプレッドシート型の
    文書を表すのに適当な複数のセルを有し、前記中間構造
    は最大次元nの要素を有し、前記中間構造は、 前記中間構造における非空セルの各々に対して、前記セ
    ルを示すセルセグメントと、 前記中間構造の1次元要素を表し、且つその要素に属す
    る任意の非空セルに対する前記セルセグメントを含む、
    少なくとも1つの1次元ベクトルセグメントと、 1<m≦nである前記中間構造の追加的な次元mの各々
    に対して、その次元の各非空要素に対するベクトルセグ
    メントであって、前記非空要素を表し、且つ前記中間構
    造の第(m−1)次元の非空要素に対するベクトルセグ
    メントを含む、ベクトルセグメントと を有する、 前記第1データ構造を中間構造に変換するステップと、 前記中間構造を前記第2データ構造に変換するステップ
    と を備え、前記第1の書類が、前記第2データ構造を有す
    る前記第2の書類に変換される、 方法。
  14. 【請求項14】請求項13の方法において、前記セグメン
    トの或るものは、そのセグメントの内容を記述する記述
    子を含む、方法。
  15. 【請求項15】請求項14記載の方法において、 前記記述子は別の記述子を含むことが可能であり、 前記記述子は前記中間構造における1つ以上の前記セル
    セグメントの位置を記述するセル参照記述子を含み、該
    セル参照記述子はセグメントアドレスを記述する1つ以
    上のアドレス記述子を含む、 方法。
  16. 【請求項16】請求項15記載の方法において、 前記アドレス記述子はグローバルアドレス記述子を含
    み、 前記セル参照記述子の所定のものが、所与のセルセグメ
    ントに対して及び該所与のセルセグメントを含むすべて
    のベクトルセグメントに対して次元による順序付けされ
    たグローバルアドレス記述子を含む、 方法。
  17. 【請求項17】請求項15記載の方法において、 前記アドレス記述子はローカルセル記述子を含み、 前記セル参照記述子の所定のものが、直接包含するベク
    トルセグメントにおけるセルセグメントのアドレスのみ
    を指定するローカルアドレス記述子を含む、 方法。
  18. 【請求項18】請求項14記載の方法において、 前記記述子はセルのグループを規定するためのグループ
    記述子を含み、 各グループ記述子が、前記中間構造の所定の次元に対し
    て、該所定の次元の各々におけるグループの頂部を記述
    アドレス記述子を含む、 方法。
  19. 【請求項19】請求項18記載の方法において、 前記グループ記述子は他の記述子に含まれ、該記述子
    は、包含された前記グループ記述子において記述された
    グループ名を規定する名前記述子と、前記グループ内の
    セルに対するデフォールト情報を指定するデフォールト
    記述子とを含む、方法。
  20. 【請求項20】請求項14記載の方法において、 前記セルセグメントの第1の所定のものが式の表現を含
    み、前記式の表現が、前記表現の開始をマークする式制
    御と、 前記式におけるオペランドを記述する少なくとも1つの
    オペランド記述子とを含む、 方法。
  21. 【請求項21】請求項20記載の方法において、 前記式の表現が更に、前記オペランドに行われる演算を
    記述する演算子記述子を含むことができる、 方法。
  22. 【請求項22】請求項21記載の方法において、 オペランド記述子は更に別の式の表現をネストして含む
    ことが可能であり、ネストされた式は、更に式をネスト
    することが可能である、 方法。
  23. 【請求項23】請求項13記載の方法において、 前記第2の書類は、当該データ処理システムから離れた
    位置にある第2のデータ処理システムで生成又は表示さ
    れる形式の書類である、 方法。
JP1506594A 1988-06-14 1989-05-31 データ処理システム Expired - Lifetime JP2975622B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/206,638 US5055998A (en) 1984-12-10 1988-06-14 Intermediate spreadsheet structure
US206,638 1988-06-14

Publications (2)

Publication Number Publication Date
JPH04501622A JPH04501622A (ja) 1992-03-19
JP2975622B2 true JP2975622B2 (ja) 1999-11-10

Family

ID=22767285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1506594A Expired - Lifetime JP2975622B2 (ja) 1988-06-14 1989-05-31 データ処理システム

Country Status (7)

Country Link
US (1) US5055998A (ja)
EP (1) EP0424407B1 (ja)
JP (1) JP2975622B2 (ja)
AU (1) AU630360B2 (ja)
CA (1) CA1319437C (ja)
DE (1) DE68926745T2 (ja)
WO (1) WO1989012866A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06101008B2 (ja) * 1988-09-09 1994-12-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 表計算処理装置
JP3105895B2 (ja) * 1989-04-12 2000-11-06 キヤノン株式会社 文書処理装置
US5175810A (en) * 1989-06-19 1992-12-29 Digital Equipment Corporation Tabular data format
US5276607A (en) * 1990-03-28 1994-01-04 Wordperfect Corporation Method for optimal recalculation
US5312478A (en) * 1990-04-11 1994-05-17 Lotus Development Corporation System for managing information in a three dimensional workspace
DE69125674T2 (de) * 1990-09-04 1997-10-23 Motorola Inc Automatische analog digital Convertierung mit auswählbaren Formatresultaten
WO1992004678A1 (en) * 1990-09-10 1992-03-19 Lotus Development Corporation Apparatus and method for reformattable spreadsheet
US5359729A (en) * 1991-05-31 1994-10-25 Timeline, Inc. Method for searching for a given point in regions defined by attribute ranges, then sorted by lower and upper range values and dimension
GB9113390D0 (en) * 1991-06-21 1991-08-07 Ambit Res Ltd Data manipulation
US5434971A (en) * 1991-06-28 1995-07-18 Digital Equipment Corp. System for constructing a table data structure based on an associated configuration data structure and loading it with chemical sample physical data
US5446575A (en) * 1991-06-28 1995-08-29 Digital Equipment Corp. System for constructing and loading a table data structure based on an associated configuration data
US5510980A (en) * 1991-11-27 1996-04-23 Microsoft Corporation Method and system for selecting and executing arithmetic functions and the like
US5359724A (en) * 1992-03-30 1994-10-25 Arbor Software Corporation Method and apparatus for storing and retrieving multi-dimensional data in computer memory
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US6002865A (en) * 1992-05-28 1999-12-14 Thomsen; Erik C. Location structure for a multi-dimensional spreadsheet
US5303146A (en) 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
US5566068A (en) * 1993-09-15 1996-10-15 Microsoft Corporation Method and system for locating field breaks within input data
US5657437A (en) * 1993-12-10 1997-08-12 Lucent Technologies Inc. Data processing apparatus and method including proportional updating of data
US5799295A (en) * 1993-12-29 1998-08-25 Kabushiki Kaisha Toshiba Constraint-based spreadsheet system capable of displaying a process of execution of programs
US5657259A (en) * 1994-01-21 1997-08-12 Object Technology Licensing Corp. Number formatting framework
DE4438120A1 (de) * 1994-10-26 1996-05-02 Ibm Computergestützte Umwandlung von Tabellen
US5592666A (en) * 1994-10-31 1997-01-07 Sinper Corporation Method and system for storing and retrieving data from a multidimensional array using database pointers
JPH08180116A (ja) * 1994-12-27 1996-07-12 Nec Software Ltd スプレッドシートセル構造
US6138130A (en) * 1995-12-08 2000-10-24 Inventure Technologies, Inc. System and method for processing data in an electronic spreadsheet in accordance with a data type
US6292810B1 (en) 1997-03-03 2001-09-18 Richard Steele Richards Polymorphic enhanced modeling
US6185582B1 (en) 1998-06-17 2001-02-06 Xerox Corporation Spreadsheet view enhancement system
US6256649B1 (en) 1998-06-17 2001-07-03 Xerox Corporation Animated spreadsheet for dynamic display of constraint graphs
US6230170B1 (en) 1998-06-17 2001-05-08 Xerox Corporation Spatial morphing of text to accommodate annotations
US6584479B2 (en) 1998-06-17 2003-06-24 Xerox Corporation Overlay presentation of textual and graphical annotations
US20020059233A1 (en) * 2000-07-13 2002-05-16 International Business Machines Corporation Method and system in an electronic spreadsheet for applying user-defined options
US7509571B2 (en) * 2001-01-03 2009-03-24 Sun Microsystems, Inc. Method and apparatus for a file format for storing spreadsheet compactly
US7793210B2 (en) * 2001-01-30 2010-09-07 Oracle America, Inc. Method and apparatus for formula evaluation in spreadsheets on small devices
US20050223051A1 (en) * 2004-04-05 2005-10-06 Arakaki Gary K System for building structured spreadsheets using nested named rectangular blocks of cells to form a hierarchy where cells can be uniquely referenced using non unique names
US8140549B2 (en) 2007-10-31 2012-03-20 Juan Carlos Barinaga Methods and arrangements of processing and presenting information
US20090265624A1 (en) * 2008-04-18 2009-10-22 Reiji Fukuda Electronic forms preparing and managing system, electronic forms preparing and managing program, and program storing memory media
US8185817B2 (en) * 2008-06-18 2012-05-22 Microsoft Corporation Utilizing spreadsheet references with grouped aggregate views
US20110072340A1 (en) * 2009-09-21 2011-03-24 Miller Darren H Modeling system and method
KR101966177B1 (ko) * 2017-09-19 2019-04-05 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721793B2 (ja) * 1983-04-12 1995-03-08 カシオ計算機株式会社 表処理装置
US4633430A (en) * 1983-10-03 1986-12-30 Wang Laboratories, Inc. Control structure for a document processing system
US4713754A (en) * 1984-10-09 1987-12-15 Wang Laboratories, Inc. Data structure for a document processing system
US4751740A (en) * 1984-12-10 1988-06-14 Wang Laboratories, Inc. Apparatus, method, and structure for translating a document having one structure into a document having another structure

Also Published As

Publication number Publication date
AU630360B2 (en) 1992-10-29
EP0424407A1 (en) 1991-05-02
WO1989012866A1 (en) 1989-12-28
EP0424407A4 (en) 1992-10-14
DE68926745T2 (de) 1997-03-06
DE68926745D1 (de) 1996-08-01
US5055998A (en) 1991-10-08
EP0424407B1 (en) 1996-06-26
JPH04501622A (ja) 1992-03-19
AU3768089A (en) 1990-01-12
CA1319437C (en) 1993-06-22

Similar Documents

Publication Publication Date Title
JP2975622B2 (ja) データ処理システム
EP0186007B1 (en) Apparatus, method, and structure for translating a document having one structure into a document having another structure
Marck ‘DNA Strider’: a ‘C’program for the fast analysis of DNA and protein sequences on the Apple Macintosh family of computers
CA2007414C (en) Method for manipulating elements within a structured document using active intent interpretations
US7293006B2 (en) Computer program for storing electronic files and associated attachments in a single searchable database
US20070033046A1 (en) Document Based Character Ambiguity Resolution
JPH0351021B2 (ja)
JPH09505422A (ja) テキストドキュメント及びイメージドキュメントを同期化、ディスプレイ、及び操作するための方法及び装置
CN1702617A (zh) 用于在起始模板和目标模板之间映射内容的方法和系统
US20050187755A1 (en) Method and system for character sequence checking according to a selected language
US20070179932A1 (en) Method for finding data, research engine and microprocessor therefor
US8943431B2 (en) Text operations in a bitmap-based document
Blenkhorn et al. Automated braille production from word-processed documents
Reckdahl Using imported graphics in LATEX 2ε
KR100418349B1 (ko) 데이터 압축 및 복원 방법
JP3327642B2 (ja) 仮名漢字交じり変換装置
EP0330796A2 (en) Method for processing data of a document having multiple distributed formats
Strous LUX Image Processing Package Louis Strous 5 May 2019
JPH03210668A (ja) 階層形式をもつ電子化マニユアルの処理装置
JPH08297659A (ja) 文字列変換処理方式
WO2019243926A1 (en) Digital document management system
JP3047400B2 (ja) データ処理装置
JPH08241306A (ja) 文書処理装置
Blount SYMPLE, an icon-based computer language
Acock Computer Software Review. WordPerfect for the Macintosh

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10