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

データ処理システム

Info

Publication number
JPH04501622A
JPH04501622A JP1506594A JP50659489A JPH04501622A JP H04501622 A JPH04501622 A JP H04501622A JP 1506594 A JP1506594 A JP 1506594A JP 50659489 A JP50659489 A JP 50659489A JP H04501622 A JPH04501622 A JP H04501622A
Authority
JP
Japan
Prior art keywords
descriptor
cell
segment
spreadsheet
document
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
JP1506594A
Other languages
English (en)
Other versions
JP2975622B2 (ja
Inventor
ライト,テレンス
マヨ,スコット
ライシュナー,レイ
Original Assignee
エルジー・セミコン・カンパニー・リミテッド
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 エルジー・セミコン・カンパニー・リミテッド filed Critical エルジー・セミコン・カンパニー・リミテッド
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)
  • Treatments For Attaching Organic Compounds To Fibrous Goods (AREA)

Abstract

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

Description

【発明の詳細な説明】 ネストされたセグメントの一組としてのn次元スプレッドシートを表すための改 良型中間スプレッドシート構造である。スプレッドシートのそれぞれの空でない セルは、セルセグメント(1817)によりて表される。列のようなスプレッド シートの第1次元要素に属するセルは、列セグメント(1619)に含まれる。
マトリックスのような第2次元要素の要素を表すベクトルセグメントは、マトリ ックスセグメント(1627)に含まれる。それぞれのセグメントは更に、セグ メント内容のアスペクトを定義する記述子(1607)を含んでいる。セグメン トは、更に、表現制御及び該制御に属する記述子を含むことが出来る。該制御に 属する記述子は、オペランド及びオペレータを定義する。記述子によって特定さ れる他のアスペクトは、スプレッドシート及びその内容がディスプレイ、該スプ レッドシートの部分に対するアクセス制御、値のデータタイプ、及びスプレッド シートのセルの値が計算される順序ルールに対して書式設定されるべきことを示 す方法を含んでいる。
浄書(内容に変更なし) 明細書 本願は、1984年12月10日に出願され、1988年6月14日に米国特許 第4,751,740号として発行された米国出願番号第679,675号の一 部継続出願である。
発明の背景 1、発明の分野 本発明は、書式設定された情報をデータ処理装置間で転送するのに使用する構造 に関し、さらに詳しくは、一つのスプレッドシート処理装置から他のスプレッド シート処理装置へスプレッドシートを転送するのに使用する構造に関する。
2、先行技術の記述 スプレッドシートは数多くの異なる種類のスプレッドシートプログラムを使用し て作成操作することが可能である。各プログラムはそれ自身に特定の書式のスプ レッドシートを作成する。従って、−人がある一つのスプレッドシートを作成し 、別の異なるスプレッドシートプログラムを有する他の一人が前者のスプレッド シートを使用する場合には、当該スプレッドシートを前者のスプレッドシートプ ログラムの必要とする構造(ソース構造)から後者のスプレッドシートプログラ ムが必要する構造(目標構造)に翻訳しなければならない。勿論、翻訳を実行す るプログラムを書き込むことは可能であるが、係るプログラムは各ソース構造に 合ったプログラム即ち目標構造対でなければならない。翻訳処理を単純化する為 にスプレッドシートプログラムメーカーはスプレッドシートプログラム間での情 報交換に特に適した中間スプレッドシート構造を開発した。係る構造では、所定 のスプレッドシート構造を中間スプレッドシート構造に及び中間スプレッドシー ト構造から所定のスプレッドシート構造へ翻訳するプログラムを提供しさえすれ ばすんだ。係る中間構造の例がマルチプランスプレッドシート用に記述されたS YLK(SYmbolic LinK)ファイルフォーマットである。この5Y LKフアイルフオーマツトはマサチューセッツ州ローウェルのワング研究所(W ang Laboratories、Inc、)より1982年12月に発刊さ れたマニュアル番号700−8016号のワングピーシーマルチブランレファラ ンスガイド(Wang PCMultiplan ReferenceGuid e)に詳細に開示されている。
5YLKフアイルフオーマツトが所定の目的を達成する一方で、スプレッドシー トプログラムは更に発展したが、係る発展によりスプレッドシートプログラムに 関する幾つかの限界が明らかとなった。例えば、5YLKフアイルフオーマツト では、2次元スプレッドシートのみしか処理出来ない、マルチランスプレッドシ ート中の式及び式表記法に限定される、データタイプセットが比較的小さい、及 びスプレッドシートの書式制御が限定されていると言ったことである。更に、5 YLKフアイルフオーマツトではスプレッドシートプログラムを新に発展させる ための拡張が容易に行えない。如何なる次元のスプレッドシートも表現出来、ス プレッドシート用に規定された如何なる式又は書式をも表現出来、且つ、容易に 拡張出来て新たな発展に対処出来る中間スプレッドシート構造を提供することが 本発明の目的である。
発明の概要 本発明の中間スプレッドシート構造は、最高口の次元のエレメントを有するスプ レッドシートを表現するのに使用出来る。中間スプレッドシート構造は、各非空 セルを表すセルセグメントと、スプレッドシートの1次元エレメントを表し且つ 該工1ノメントに属するいづれの非空セルに対するセルセグメントを含む少なく とも一つの1次元ベクトルセグメントと、及び各追加次元m(但し、mは最高次 元数n以下である)に対して、非空セルを表し且つスプレッドシートの(m−1 )番目の次元に対するベクトルセグメントを含む該次元の各非空セルに対するベ クトルセグメントとから成る。
従って、本発明の目的はスプレッドシートプログラム間での改良されたスプレッ ドシート交換を提供することである。
本発明の別の目的は改良された中間スプレッドシート構造を提供することである 。
本発明の更に別の目的はn次元の最高次元数のエレメントを有するスプレッドシ ートを表現することの出来る中間スプレッドシート構造を提供することである本 発明の別の目的は改良された融通性及び拡張性を有する中間スプレッドシート構 造を提供することである。
本発明のその他の目的及び効果は好適実施例の詳細な説明及び図面を参照すれば 当業者には自明のことであり、特に、詳細な説明の第10項以降及び第15図乃 至第19図に留意されたい。
図面の簡単な説明 第1図は従来の文書構造翻訳のブロック図であり、第2図は本発明に係わる文書 構造翻訳のブロック図であり、第3図はソース構造から中間構造への翻訳を実施 中の文書翻訳装置のブロック図であり、 第4図は中間構造から目標構造への翻訳を実施中の文書翻訳装置のブロック図で あり、 第5図は一ネットワーク中の文書翻訳装置のブロック図であり、第6図は本発明 の中間文書構造の概要であり、第7図は本発明の中間文書構造のテキストセグメ ントの詳細であり、第8図は本発明の中間文書構造の音声パイナリセグメトの詳 細であり、第9図は本発明の中間文書構造の名前付テキストシェルフの詳細であ り、第1O図は従来構造の文書のブロック図であり、第11図は本発明の中間構 造を有する第10図の文書であり、第12図は第10図の文書の構造を有する文 書を本発明の中間構造に翻訳する主翻訳ループのフローチャートであり、第13 図は第12図のフローチャート中の文字処理段階の詳細なフローチャートであり 、 第14図は第13図のフローチャート中の属性処理ステップの詳細なフローチャ ートであり、 ゛ 第15図は2次元スプレッドシートの表示の図であり、第16図は本発明の 中間スプレッドシート構造を使用した2次元スプレッドシート構造を表現した図 であり、 第17図はセルアドレス記述子を表す図であり、第18図はセルの内容の詳細図 であり、及び第19図はスプレッドシートの単純例である。
好適な実施例の説明 以下の好適な実施例の説明に於いては、先ず始めに、独立型文書処理装置及び文 書処理装置ネットワークに於ける本発明の実施例に就いて説明し、その後で中間 文書構造の好適な実施例を説明して、最後に中間文書構造の好適な実施例と第3 図に本発明に係わる独立型文書翻訳装置のブロック図を示す。同図に示す文書翻 訳装置は、ワング研究所製のrALLIANCEJ (TM)システムの如ぎ標 準マルチユーザー文書処理装置に於いて使用される。かかる文書処理装置は、文 書及び文章処理プログラムを記憶するディスク駆動機構の如き少なくとも一つの 大容量記憶装置と、文書処理をする処理装置と、及び文書処理中にデータ及びプ ログラムを記憶するために文書処理装置が使用するローカル記憶装置とを含む。
第3図に於いて、これらの構成装置は、それぞれ文書/プログラム記憶装置30 3、処理装置301及びプロセッサローカルメモリ313として表されている。
プログラムの制御の下に処理装置301が文書/プログラム記憶装置303から ローカルメモリ装置313にデータ及びプログラムを取り出し、プログラムを実 行して、ローカルメモリ装置中のデータをプログラムにより特定されたように処 理し、且つ、記憶装置1303に処理データを記憶する。本発明に関してはそれ 程重要ではなく、従って第3図に図示されていないその他の構成装置には使用者 用の端末装置やフロッピーディスクを読み書きする装置とが含まれる。
第3図に示すタイプの文書処理装置では、使用者が該文書処理装置で使用される ものとは異なる文書構造を有する文書を処理しようとする場合翻訳が必要となる 。使用者が異なる文書処理装置で作成されたフロッピーディスク上の文書コピー を有するような場合に上記の状況が生じる。この場合、フロッピーから文書を記 憶装置303に読出し、適切な書式に翻訳した後に以後の処理が可能となる。
中間構造を使用した翻訳は次の2段階で実施される。即ち、第1の文書構造から 中間構造への翻訳及び中間構造から第2の文書構造への翻訳である。第1ステツ プを実行中の文書処理装置を第3図に示す。記憶装置303は構造A305の文 書と、中間構造■307と、及びA−1抽出プログラム309とI−B合成プロ グラム311との2つのプログラムを含む。プログラム309は構造Aを有する 文書から情報を抽出して同一の情報を含み中間構造■を有する文書を生成するこ とから抽出プログラムと呼ばれる。プログラム311は構造Iを有する文書中の 情報から構造Bを有する文書を合成することから合成プログラムと呼ばれる。
第1ステツプ中、プロセッサローカルメモリ装置313は4つのバッファ、即ち 翻訳動作中に翻動作作に関係のあるデータとプログラムを記憶する記憶領域を含 む。Aバッファ315は文書305の現在中間構造に翻訳されつつあるドキュメ ント305の部分を含み、■バッファ317はAバッファ315の内容の中間構 造に翻訳された部分を含み、状態バッファ319は翻訳動作の現在の状態を示す データを含み、最後にコードバッファ321は処理装置301が現在実行してい るプログラム309からのコードを含む。
構造Aから構造Iへの翻訳中、当該装置の動作は以下の如くである。翻訳されつ つある文書A305の各部分に対して処理装置301が当該部分を含む文書Aの 構造の構成要素を記憶装置303からAバッファ315へと移動する。処理装置 301は次いでプログラム309からのコードの制御の基にAバッファ315の 内容の翻訳を開始する。翻訳を実行するのに現在コードバッファ321中にある 以外のコードを必要とする場合には、係るコードがプログラム309からコード バッファ321にコピーされる。処理装置301は翻訳を実行しつつその結果を ■バッファ317に格納する。■バッファ317が一杯になると、文書1307 にコピーされる。同様に、現在Aバッファ315に含まれていない文書305の 一部が必要になると、文書A305の必要部分が記憶装置303からAバッファ 315にコピーされる。
上記本発明の実施態様に対する変形は当業者には即座に明らかとなる。例えば、 rALLIANCEJに代表される種類の文書処理装置は一般的に比較的小さな 記憶装置313を有しており、従って、バッファ315.317及び321も大 型のものではなく、記憶装置303と上記バッファ間の転送が度々行われる。
大型のローカルメモリを有する汎用型データ処理装置の如き装置に於いて実行さ れる場合には、バッファを全文書及びコード309の一切を受容する程に充分に 大きくすることが可能であり、記憶装置303とローカルメモリ313間での転 送は翻訳動作の開始時と終結時のみに行われる。又、大型装置には記憶袋5I3 03とメモリ313間での直接データ転送を可能とする装置を含めることが可能 となる。即ち、かかる装置においては、データは処理装置301の介入なしに文 書305と文書307との間、及びバッファ315と317との間で転送出来、 また、コードはプログラム309からバッファ321へ転送される。更に、マル チプログラミング装置に於いては、状態バッファ319に介入を許容する状態と 処理動作の再開を含めることが可能である。
第2ステツプは第1段階に類似している。このステップを実行中の文書処理装置 を第4図に示す。関係する文書は第1ステツプより生じた構造1307を有する 文書と第2ステツプより生じる構造Bを有する文書である。関係するプログラム はI−B合成プログラム311である。バッファはIバッファ317、状態バッ ファ319、コートバッファ321及びBBバッファであり、このバッファには 宛先を文書401とされたデータが含まれる。翻訳動作中、I−B合成プログラ ム311の制御の基に処理装置301が文書307の一部を夏バッファ317に 読出して、■バッファ317の内容を構造Bに翻訳して、その結果をBバッファ 403に記憶する。Bバッファ403が一杯になると、その内容が文書401に 書き込まれる。翻訳動作を実施するのに必要とされる如くプログラム311の一 部がフードバッファ321にコピーされる。
文書処理装置が構造A以外の構造を有する文書を処理しなければ場合には、文書 処理装置が処理しなければならなあらゆる構造に対してA−1抽出プログラム3 09に類似したプログラムかなければならない。勿論、全ての文書処理装置に於 いてフロッピーディスク上の文書が中間構造にあれば係るプログラムの数を削減 することが可能である。係る場合には、プログラムがたった2つでよい。即ち、 I−B合成プログラム311とB構造を有する文書を■構造を有する文書に翻訳 するB−1抽出プログラムの2つである。
2、ネットワークに於ける本発明に係わる文書翻訳:第5図ネットワークを介し て転送されるすべての文書が中間構造を有するネットワークシステムにおける状 況はフロッピーディスク上のすべての文書が中間構造有する場合に生ずる状況と 類似している。第5図に示す如く、ネットワークの装置の各々は中間構造から各 装置で使用される当該構造に文書を翻訳する合成プログラムと各装置で使用され る当該構造から中間構造へ文書を翻訳する抽出プログラムとを有していなけらば ならない。
第5図のネットワーク505は構造Aを使用する装置501と構造Bを使用する 装置503との2つの装置を接続する。各装置は記憶装置303と、処理装置3 01と及びメモリ313とを有する。装置501は更にA−1抽出プログラム3 09とI−A合成プログラム507とを有し、一方装置503はI−B合成プロ グラム311とB−1抽出プログラム509とを有する。装置501から装置5 03へ文書を転送するように設置された装置501と503を第5図に示す。
A−1抽出プログラム309の制御の下に装置501が先ず動作して構造A30 5の文書を構造!307の文書に上記した方法で翻訳する。翻訳が完了すると構 造l307の文書がネットワーク507を介して装置501の記憶袋ff130 3から装置1503の対応する記憶装置に送られる。次いで、装置503がI− B合成プログラムの制御の下に動作して文書307を構造B4O1を有する文書 に翻訳する。装置501から装置503への文書転送においては上記と反対の動 作が生ずる。B−1抽出プログラム509の制御の下に動作する装置1503が 構造Bを有する文書を構造■を有する該文書に対応する文書に翻訳し、該文書は 次いでネットワーク505を介して装置501に送ら瓢該装置がT−A合成プロ グラム507の制御の下に動作して構造■を有する文書を構造Aを有する文書に 翻訳すネットワーク505を介して転送された文書のすべてが中間構造■を有し ているので、ネットワークに付随した所定の装置は装置の文書構造を中間構造に 翻訳する抽出プログラムと中間構造を装置の文書構造に翻訳する合成プログラム とを有するだけで良い。従って、ネットワークに付随した装置の使用する文書構 造の種類数に関係なく所定の装置は2つの翻訳プログラムを有するだけで良い。
前記説明では、翻訳工程の各ステップで文書を完全に翻訳したと解されるが、中 間文書構造が順次的である本発明の実施例に於いては、第1構造から中間構造へ 、そして第2構造へと連続した工程で翻訳をすることが可能であり、中間構造を 有する文書を中間構造を有する文書を生成するのと同じ速さで第2構造を有する 文書に翻訳される。第3図及び第4図に示す独立型装置では、翻訳の2つのステ ップ、即ち、抽出プログラムを実行するステップと合成プログラムを実行するス テップとを別個の工程により実施することか可能である。係る装置では、中間構 造を有する別個の文書を必要としない。その代わりに、第1工程で実行されるA −1抽出プログラム309が1バツフア317へ出力する際に、第2工程で実行 されるI−B合成プログラム311がバッファ317から読出されバッファ40 3へ出力する。該バッファが一杯になると、プログラム311が構造B4O1を 有する文書へ出力する。
第5図に示すネットワーク化された装置では、装置501で実行するA−1抽出 プログラム309がバッファ317から直接にネットワーク505へ出力し、且 つ、装5i501で実行する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図 に於いて、文書の他の構成要素のすべてを含むセグメントは「ストリーム」タイ プを有している。セグメントの開始は開始(SO8)605によりマークされ、 この開始(SO8)605には開始セグメントコード(SSC)601と「スト リーム」タイプを示すセグメントタイプコード(STC)603とが含まれる。
ストリームセグメントの終結は第6図のセグメント(EO3)の終結によりマー クされ、ストリームセグメントのEO8641は終結セグメントコード(ESC )837とストリームタイプを示ず5TC603繰り返しを含む。
ストリームセグメントは記述子と「テキスト」タイプのセグメントとを含む。
記述子は文書に関する管理情報を含む。かかる情報の例には文書作成者の名前、 連子終結(EOD)617で終結する。5OD811は開始記述子フード(SD C)607と記述子タイプを識別する記述子タイプコード(DTC)609とを 含み、EOD617は終結記述子コード(EDC)615とDTC609の繰り 返しとを含む。5OD611とEOD817の間のエリアは、記述子内容(DC )613を含む。好適な実施例では、セグメントに属する全ての記述子は該セグ メントのSO8605のすぐあとに続かねばならない。記述子は重なることが不 可能であり、DC613はセグメントもしくは別の記述子を含むことが不可能で ある。「テキスト」タイプのセグメントは文字順序もしくは文書を構成する数字 コードを含み、また、同様に制御スベシファイヤ、属性、記述子及びその他のセ グメントをも含むことが可能である。第6図のテキストセグメントの5ose。
5は5SC601と「テキスト」タイプを特定する5TC6I 9とを含み、テ キストセグメントのEO8639はESC637とテキストタイプの5TC61 9とを含む。テキストセグメントに於ける文字もしくは数字コード順序はテキス トコード(TC)621により表される。
第6図のテキストセグメントも、また属性と制御スベシファイヤとを含む。属性 は文字順序が改訂されたことを示す改訂属性である。属性は属性開始(SOA) 627で始まり属性835 (EOA)終結で終結する。好適な実施例では、5 OA827が開始属性コード(SAC)623と属性タイプコード(ATC)と を含み、後者は属性のタイプを示す。ここで、ATC625は「改訂」属性を示 す。EOA635は終結属性コード(EAC)633とATC625とを含む。
属性は5OA627とEOA635間で発生する文字コードにより表される文字 のすべでに適用される。属性の実際の効果は中間文書構造から最後に生成される 文書の文書構造に依る。例えば、ある文書では属性が適用される文字コードによ り表されるテキストの次のマージンにバーが現れ、別の文書では属性は何の意味 も持たず翻訳過程では無視される。以後により詳細に説明するが、属性は重なり 合うこともしくはセグメント内にネストにすることが可能であるが、セグメント 境界を越えて拡張することは出来ない。属性に適用されるすべての記述子は属性 の5OA627のすぐあとに続く。
第6図のテキストセグメントの制御スベシファイヤ(CTL)630は文字フー ド順列のCTL6aoが発生する点でのページブレークを特定する。CTL 6 30は2つの部分、即ち制御スペシファイヤを示す制御コード(CC)629と 制御スペシファイヤの種類を示す制御タイプコード(CTC)631とから成る 。第6図中のCTC631はページブレークのためのものである。その他のCT Cコードはラインブレーク、タブ、字下げ、及び類似テキストフォーマツティン グ機能を特定することが可能である。CTL 630のすぐあとにCTL 63 0により特定されるフォーマツティング動作を記述する一以上の記述子を続ける ことが可能である。
本実施例では、5SC601、ESC637,5DC607、EDC615,5 AC623、EAC633、及びCC629は別個の任意の8ピツ]・コードで あり、STC,DTC,ATC,及びCTCにより示されるタイプコードは別個 の任意の10ビツトコードである。その他の実施例では、コードは異なる長さを 有する。文字コードはASCII、EBCDIC,またはワング研究所(Wan g Laboratortes、Inc)製のWI SCI 1文字コードセッ ト等の文字コードセットやPRES置端末装置用の文字セット等の文字セットに 属することが可能である。数字コードは固定10進値や浮動小数点値を表すのに 使用するコードを含むことが可能である。その他のタイプのセグメントはそれら に含まれる情報を表すその他の種類のコードを有することが可能である。
テキストセグメントの本実施例では、セグメント、記述子、属性及び制御スベシ ファイヤを規定するのに使用するコードとデータを表すのに使用するコードと゛ の混同は先行8ビツトがセグメント、属性、記述子もしくは制御スペシファイヤ の開始もしくは終結をマークするコードの一つとして解釈されるのではなく、デ ータコードとして解釈されることを特定する単一8ビツト識別コードにより回避 される。第7図にこの技術が示されるが、同図に示すセグメントの第3番目の部 分のTC621が5SC801と同一の文字コードを含む。この文字コードのす ぐあとに識別コード(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図のテキストセグメン トはセンタリングされアンダーラインを付され且つ改訂されたタイトルで始まる テキストを表す。セグメントはテキストセグメントを特定する5SC601と5 TC619で始まり、次のテキストがセンタリングされることを特定するCC6 29とCTC702と、テキストの改訂部分の開始を特定するSAC623とA TC625と、アンダーラインを付されたテキストの一部の開始を特定する5A C623とATC703、アンダーラインがシングルアンダーラインであること を特定し、5DC607とシングルアンダーラインを示すDTC709とEDC 615と及びDTC709とを含む属性記述子711と、タイトル中の文字順序 を表すTC621と、アンダーラインを付す部分の終結をマークするEAC63 3とATC703と、夕・イトルの終結とタイトルに続くブランクラインをマー クするCC629とCTC705rリターン」の2度の発生と、タイトルに続く テキストを含むTC621と、テキストの改訂部分の終結をマークするEAC6 33とATCEi 25と、追加TC621とセグメントの終結を特定するES C637と5TC1319とを含む。前記した如く、第7図の第3ライン中の1 Dc707と5sceoiは文書の構成要素の開始または終結を示すデータコー ドと他のデータコードとを識別コードにより如何に識別するかを示している。第 7図は、また、前記した如く、属性が如何に重なり合うかを示している。
本実施例では、テキスト、ヘッダ、フッタ、ノート、フットノート、及びシェル フセグメントタイプのすべてが上記した一般的な形態をしているが、本実施例の ヘッダ及びフッタセグメントタイプに他のセグメントを含ませないことも可能で ある。テキスト、ノート、フットノート及びシェル7タイプにはかかる制限はな い。例えば、テキストが絵、及びイメージを表すイメージセグメントとバイナリ セグメントとを含む場合には、テキストセグメントにノートまたはフットノート セグメントを含めることも可能である。
外部参照タイプのセグメントはその内容として外部参照を位置決めするのに必要 な情報を有する。例えば、外部参照が別の文書に対するものである場合には、外 部参照セグメントが文書処理装置が該別の文書を位置決めするのに必要な情報を 含む。
本実施例では、バイナリセグメントに含まれるデータの解釈の仕方を特定するセ グメントか常にバイナリセグメントに先行する。現在では、かかる解釈セグメン トは音声セグメントかイメージセグメントのいずれかである。勿論、その他の実 施例に他の種類の解釈セグメントを含めることは可能である。第8図はかかる解 釈セグメントとバイナリセグメントとの結合を詳細に表示している。第8図では 、解釈セグメントは音声セグメントである。音声セグメントは音声タイプの5S C601と5TC801とで始まり、音声タイプのESC637と5TC801 とで終結する。その内容はバイナリセグメントの内容を適切に解釈するのに必要 な情報である。本実施例では、音声セグメントの内容がオーディオデータタイプ (ADT)803を含み、このオーディオデータタイプでタイプの版、オーディ オデータのデジタル化速度(D R)及び次のバイナリデータの表す時間(T) 813の長さを特定するバイナリセグメントv805に含まれるオーディオデー タのタイプを特定する。
バイナリセグメントはバイナリタイプの5SC601と5TC811で始まり、 バイナリタイプのESC637と5TC811で終結する。セグメントの内容に はバイト中のデータの長さを特定するLaI3とバイナリデータコードを含むB C815とが含まれる。LaI3と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図従来のある文書構造で は、文書構成要素が文字ストリング名を有している場合がある。かかる名前は種 々の文書処理動作に於いて構成要素を参照するのに使用される。中間文書構造の 本実施例では、構成要素名が「名前Jタイプの記述子により表される。第9図は テキストシェルフセグメントの名前を表すための「名前」タイプの記述子の使わ れ方を示す。記述子はシェルフの5TC901の直ぐ後に続き、「名前」タイプ の5DC607とDTC903と名前を表す文字順序905とEDC615とD TCr名前」903とを含む。
8、従来構造の文書とそれに対応する中間構造を有する文書:第10図及び第1 1図 次に、所定の構造と中間構造間の翻訳例を明確に説明する。現在ワード処理にお いて使用されているタイプの文書構造を有する文書と本発明の中間構造を有する 前記文書に対応する文書が先ず提示される。次いで、翻訳が成就する方法に就い て述べる。
第10図は現在使用されているタイプの文書構造の説明図である。該構造はファ イルに於ける同サイズの番号を付したブロックから構成され、ブロックは3種類 の異なる内容を有する。即ち、文書に関する管理情報と、文書の構成要素が位置 決めされる索引と、及び文書の実際のテキストである。管理ブロックはファイル の所定位置にあり、その他のタイプのブロックはファイルのいづれにあっても良 い。従って、管理ブロックを除いては、ファイルのブロック位置と文書における その機能との間には何の関係もない。ブロックはブロック番号を特定するポイン ターによりファイル中に位置決めされる。ブロックをチェーン状に結合し且つブ ロックを位置決めする索引を形成するのにポインターを使用することが可能であ る。
第10図に示す文書は2ページのテキストと名付けされたテギストシェルフとを 含んでいる。各ページはヘッダとフッタを有し、一方のページのテキストの一部 には下線が付されている。テキストのページは文書本体チ2−ン1025に含ま れ、文書本体チェーン1025はテキストブロック1002から構成される。
チェーン中の各テキストブロック1002はボンターによりチェーン中の先行及 び後続のブロックに連結される。この二重連結により文書本体の一部から他の一 部への移動が容易となる。
チェーン中のテキストブロックは2つの主要構成要素を有する。即ち、テキスト 部分(T)と属性部分(A)である。Tは文書テキストの文字コードと、タブ、 字下げ、ページブレーク等をあられすコードと、及び属性文字と呼ばれる特別コ ードとを含む。各テキストブロックのTに於ける最後の文字はTの終結を示す特 別なetx(テキスト終結)文字である。第10図では、属性文字はACIO3 3として現れ、etx文字がetx1031として現れる。
テキストブロック1002のA部分には情報属性と視覚属性とが含まれる。
各情報属性は属性文字に相当し、情報属性に必要な情報を含むその他のテキスト ブロック1002を位置決めする参照を含む。情報属性に相当する属性文字によ り特定されるテキスト中の位置に情報が適用される。第10図では、3つの書式 属性(FA)1035があり、各々は、テキスト書式を特定し、FA1035を 含むテキストブロック1002のTのAC1033に相当する。視覚属性は下線 を付したりボールド体タイプ等の修正が適用されるテキストの文字範囲を特定す る。第10図では、テキストのどの部分に下線を付すかを特定する視覚属性VA 1023が1つある。
文書本体チェーン1025は2ページのテキストを含む。第10図の文書構造で は、各ページがFA1035を有しなければならない。FA1035はページ書 式と、ページのヘッダまたはフッタと及びFA1035に相当するAC1033 もまた新しいページの開始位置を特定するといった事実とを特定する。書式、入 ツダ、及びフッタ−は書式、ヘッダ、及びフッタ−用の情報を含むテキストブロ ックチェーンに対するFA1035中の参照により特定される。従って、ページ 1.1027の第1ブロツク(21)のFA1035は FOR,HR,及びF Rで表される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を有している。このように、ヘッダ、フッタ、及びテキストは すべて同一の書式を共有する。第1O図の文書の最終構成要素であるテキストシ ェルフ1015は2つのブロック(20)と(30)を含む別のチェーンのテキ ストブロックで構成される。
第10図の文書構造の残りの部分は文書情報ブロック1001を含む4つの管理 ブロック1031と、文書表(DT)1003と、名前索引ブロック(NIB) 1005とページ索引ブロック(PIB)1007と参照索引ブロック(RIB )1009とを含む3つの索引ブロック1033である。文書情報ブロック10 01は文書タイトルや作成者や主題やサイズ等の文書に関する管理情報を含む。
 DT1003は文書索引を指すポインターを含む。PIOはNlB1005を 、PI3はPIB1007を、そしてP2OはRIB1009を指す。DTI0 03は常に文書構造中固定位置にあり、従って、文書の何れの構成要素もDTを 使用して適切な索引を探し且つ索引を使用して構成要素を位置決めすることでそ の位置決めが可能となる。
前記3つの索引ブロックは3つの索引に対応する。即ち、文書の名付けされた構 成要素を該構成要素の名前を使用して位置決めする名前索引と、文書の各ページ を位置決めするページ索引と、情報属性中の参照により参照される情報を含むチ ェーンを位置決めする参照索引とである。第10図の文書では、上記索引の各々 が1つの索引ブロックに含まれる。即ち、NlB1005の名前索引と、PIB 1007のページ索引と、RIB1009の参照索引とである。より大型の文書 では、1つの索引に1以上の索引ブロックを含めることも可能である。
名前索引は名前索引エントリ(NIEs)iooeから構成される。各名前索引 エントリは名前と名付けされた構成要素を含む第1のテキストブロックのチェー ンを指すポインターを含む。従って、NlB1005中のNlB1005はテキ ストシェルフ1015中の第1のテキストブロックであるテキストブロック(2 0)を指すP2Oを含む。PIB1007のページ索引はページ索引エントリ( PIEs)1008から構成される。各PIEはページ番号と該ページの第1の テキストブロックを指すポインターとを含む。第10図の文書はブロック(21 )上で始まる第1ページとブロック(9)上で始まる第2のページを有し、故I Eは参照番号(FOR,HR,及びFRにより表される)と参照、ここでは、F ORに対してはブロック(35) 、HRに対してはブロック(12) 、及び FRに対してはブロック(26)の参照を含む第1のブロックチェーンを指すポ インターを含む。
文書構造の構成要素と中間文書構造の構成要素は以下のごとく対応する。
第10図の構造 中間構造 全体文書 ストリームセグメント 文書本体チェーン1025 テキストセグメントテキストシェルフ1015 テ キストシェルフセグメントフッタ1017 フッタセグメント ヘッダ1019 ヘッダセグメント 書式1021 設定書式制御スペシファイヤタブ、ページブレーク、等 制御ス ペンファイヤVA1023 属性 文書情報ブロック1001 記述子 中間構造はDT1003もしくは索引ブロックに相当する構成要素を有しない。
これは、中間構造の構成要素相互間の関係が中間構造中の相対位置により決定さ れるからである。
第11図は第10図の文書からそれに対応する中間構造を有する文書への翻訳を 示す。 該文書は「ストリーム」タイプ1101のSO8で開始して、「ストリ ーム」タイプ1151のEO8で終結する。5O3IIOIの直ぐ後に第10図 の文書の文書情報ブロック1001からの情報を含む記述子1103が続く。
次いで、文書本体チェーン1025の内容の「テキスト」セグメントのSO31 105か続き、この後、ページlの開始をマークするページブレーク制御スペシ ファイヤであるPBCTLl 107、設定書式制御スベシファイヤ1109、 そして、テキストの書式設定の仕方に関する情報を含むテキスト書式記述子11 11と続く。テキスト書式記述子1111に記述された書式はテキストセグメン トにおいて別の5FCTL1109が発生するまで有効であり続ける。記述子1 111の情報は第10図の文書の書式1021から得られる。ページlのヘッダ のヘッダセグメントが記述子1111に続く。該セグメントはsos rヘッダ 」1113、ヘッダ書式の5FCTL1 tO9、ヘッダ書式記述子1i15、 ヘッダテキスト1117及びEO3rヘッダJ 1119を含む。ヘッダ1o1 9のFA1035により特定されて、ヘッダテキスト117はヘッダ1019か ら、そして、ヘッダ書式記述子は書式1021から得られる。
次に、中間構造においては、SOSフッタ1121と、ST CTL1109と 、フッタ書式記述子1123と、フッタテキスト1125とを含む当該ページの フッタセグメントか続く。書式と同様に、ヘッダもしくはフッタは一度成立する と新たなものが成立するまでは有効であり続ける。ページlのテキスト1129 がフッタセグメントに続き、該テキストが終結するとページ切りのPB CTL l 107が第1ページの最後に来る。ページ2はページ1と同一の書式、ヘッ ダ、またはフッタを有するから、書式セグメント、ヘッダセグメント、またはフ ッタセグメントがない。次は、ページ1029からのページ2テキスト1131 である。 ページ2 1029は下線を示す視覚属性を含み、従って、ページ2 テキスト1131には5OAr下線J 1131と、下線がシングルかダブルか を示す属性記述子1135と、テキスト1131の下線を付した部分と、及びE OA「下線J1139とを含む下線属性が含まれる。次いで、下線を付したテキ ス)1i31とテキストセグメントの終結をマークするEO3rテキスト」 1 141が来る。ストリームセグメントの残りはテキストシェルフ1015に対応 するでテキストシェルフが占める。そのセグメントは、SO8[シェルフJ 1 143と、シJルフ名(NlB1005から得られた)、テキストシェルフ10 15のテキストブロックからのシェルフ内容1147、EO8rシェルフ」を含 んでいる記述子1145を有している。EO8rストリームJ 1151がテキ ストシェルフに続き、中間文書構造を終結する。
9、翻訳方法 第1O図と第11図の比較かられかるように、第10図の文書構造中の属性、索 引及びボンターにより表される関係は第11図の文書構造中のネストセグメント 、属性及び記述子により表される。従って、第1O図の文書構造では、各ページ が同一のヘッダを有するという事実が参照HRが各ページともFA1035に現 れるという事実で表される一方で第11図の文書構造では同一の事実がヘッダセ グメントをそれの適用される第1ページのテキストの前のテキストセグメントに 配置することで表される。
タームをプログラムする場合には次のことが発生する。ブロック(21)のTに 於いてAC1033に遭遇すると、文書本体チェーン1025の処理を中断して 、FA1035を審査しなければならず、FA1035がページブレークか、新 ヘッダか、新フッタかもしくは新書式かを特定すると、PB CTL1107か 、ヘッダセグメントか、フッタセグメントか、もしくはSF CTL1109か 及びその関係する記述子1111を中間構造に配置しなければならない。これが 完了すると、文書本体チェーン1025の処理を再開しなければならない。この 場合のように、FA1035中で参照されるヘッダもしくはフッタがそのテキス ト中i、mAc1033を有し、該AC1033が参照(ココテは、書式102 1に対する参照、FOR)を含む別のFA1035を参照する場合には、ヘッダ もしくはフッタの処理が中断されて、前記参照により参照されるブロックチェー ンを処理しなければならない。中間文書構造のネストされた構成要素は、このよ うに、第10図の文書の所定の構成要素の処理が開始され、別の構成要素からの 情報が必要な場合には前記処理が中断し、もう一方の構成要素の処理が完了する とかかる処理が再開されるといった処理順序に対応する。
本実施例では、必要とされる処理順序が状態バッファ319の一部であるスタッ クにより達成される。即ち、第1構成要素の処理が中断されると、構成要素の種 類と該構成要素中の現在の位置を含む状態がスタック状にセーブされる。次いで 、新たな構成要素が位置決めされて処理される。新たな構成要素の処理が完了す ると、セーブされた状態がスタックから復元されて第1の構成要素の処理が継続 する。一般的に言えば、第1O図の文書構造では、構成要素の処理の中断もしく は再開はテキストブロックの1チエーンから別のチェーンへのシフトを意味する 。
第12図は第10図の文書構造を中間文書構造に翻訳する翻訳プログラムの好適 な実施例の主翻訳ループを示す。第3図に示す如き装置に於けるループの動作中 は、文書の現在翻訳されている部分が記憶装置303からAバッファ315へ読 み込まれる。つまり、中間文書が生成されると、lバッファ317へ、次いで、 そこから記憶装置303へと書き込まれる。プログラムの現在実行中の部分がコ ードバッファ321に含まれ、状態バッファ319がスタックと、現在処理中の 文字の位置を示す位1ブロックと、処理されている構成要素の種類を示す値と、 現在処理中の文字と、プログラム操作に必要なその他の値とをを含む。
前記ループは初期設定ブロック1201により開始する。プログラムの該部分に 於ける工程でsos rストリームJ 1101が出力されて、文書情報ブロッ ク1001の内容を読出し、そして、上記ブロックからの情報を含む記述子11 03をSO31101の直ぐ後に配置する。DT1003を使用して初期設定を 継続して文書本体チェーン1025に第1テキストブロツクを位置決めする。一 旦ブロックが見つかると、プログラムがsos rテキストJ1105を出力し てTに於ける文字を一度に1つづつ処理開始する。処理は主翻訳ループで行われ る。
2つのプール変数resultとnon$exhaus tedとは、主翻訳ル ープに入力されるとすぐに、真(ブロック1.203)にセットされる。決定ブ ロック1205かられかるように、主翻訳ループはrcsultもしくはnot $exhaustedの何れかが偽となるまで動作を継続する。主翻訳ループの 伺うに、主翻訳ループは翻訳不良の結果に応じて、もしくは翻訳が完了次第に終 結する。
次いで、翻訳がページ1 1027の第1テキストブロツクのTの第1文字から 開始され、1度に1文字づつ翻訳を継続する(ブロック1209)。ブロック1 211で示す如く、処理中の文字がテキスト終結1031文字以外の文字である 場合には、プロセス文字1213により処理される。詳細に後記するが、文字が テキスト文字である場合には、現在のチェーンの処理を継続し、文字がAC10 33の場合には、状態がセーブされて、主ループによって処理される次の文字が 対応する情報属性から第1バイトとなる。情報属性のバイトの1つが別のテキス トチェーンに対する参照である場合には、プログラムが状態をセーブして、処理 中のチェーンのタイプを示すコードを出力し、処理中の新たな構成要素開始を示 すのに必要な文字を出力し、そして、参照中で参照されるテキストチェーンから のバイトで処理か継続する。
文字がテキスト終結etx1031文字である場合には、処理中のチェーンのテ キストブロックのTの終結に到達したことになる。処理が継続する方法はテキス トブロックがページの最後か、チェーンの最後か、もしくは文書の最後かにより 決定される。テキストブロックがチェーンの最後でない場合には、その後続を指 ナポインターを含み、テキストブロックがページの最後の場合には、後続ブロッ クの第1文字がページブレークを特定するFA1035に対応するAC1033 となるうテキストブロックがチェーンの最後でも、ページの最後でもない場合に は、処理は後続ブロックのTの第1文字で継続する。(決定ブロック1215)  テキストブロックかページの最後に場合には(決定ブロック1215) 、当 該文字がページブレークを特定するFA1035に対応するAC1033となり 、PB CTL1107がAC1033を処理中に出力される。テキストブロッ クが文書の最後か否かをプログラムはスタックを試験して決定する。空の場合に は、処理するチェーンも他になく、且つ処理中のチェーンにも文字がないことを 示す。テキストブロックがチェーンの最後にあり、しかし、文書の最後ではない (決定ブロック1217)場合には、チェーンにより表される構成要素の処理が 完了し、プログラムが中間文書(ブロック+ 218>に対する構成要素を終結 するのに必要なコードを書込み、次いで、現在のチェーンの処理が開始された時 にセーブされた状態を復元する(ブロック1219)。この状態には処理する次 の文字の位置を含み、上記した如くの処理を継続する。テキストブロックが文書 の最後ならば、not$exhaustedがF(ブロック1221)にセット されて、主翻訳ループを終結する。終結と同時に、文書を含むストリームセグメ ントを終結するのに必要なコードを中間構造に出力する。
プロセス文字ブロック1213の詳細を示す第13図を引き続き参照すると、プ ログラムが先ず、処理中の文字がテキストの順序の一部か否かを決定する(決定 ブロック1300)。一部である場合には、プログラムが文字がAC1033で あるか否かを決定する(ブロック1301)。文字がそうである場合には、プロ グラムが現状をセーブして(ブロック1303)、AC1033(ブロック13 05)に関係する情報属性の開始を示す位置ブロックをリッセットする。このよ うに、主ループに取り出された次の文字は関係属性の第1バイトである。文字が AC1033でない場合には、プログラムが次に文字が制御文字か否かを、即ち 、文字がタブか、インデントか、キャリッジリターンかを決定する(ブロック1 309)、そうであるならば、プログラムが中間構造を有する文書に対する制御 文字に対応する制御スペンファイヤを書き込む(ブロック1315)。そうでな いなら、プログラムが文字に関係する視覚属性を審査して変更されたが否かを決 定する(ブロック1311)。変更されていれば、中間構造の属性を開始も(7 くは終結するのに必要な処理を行ない、次いで中間文書へ文字を出力する(ブロ ック1313)。次いで、次の文字が取り出される。
文字がテキストの一部でない場合には、情報属性、または、書式等の他の非テキ ストエンティティである。その場合には、更に処理を進めるか否かは文字か参照 か否かによる(ブロックl 315)。文字が参照である場合には、現在の状態 が再度セーブされ、位置ブロックが該参照により参照されるチェーンの開始にセ ットされる(ブロック1323と1325)。従って、主ループにより処理され る次の文字は該チェーンの最初の文字となる。また、前記文字が参照でなはく、 現在処理中のアイテムが未完了の場合には(決定ブロック1317) 、文字は 該アイテムに必要とされる如くに処理される(ブロック1321)。例えば、処 理中のものがページブレークを特定する情報属性であれば、プログラムがPB  CTL1107を出力する(ブロック1319)。該アイテムが終了すると、プ ログラムは該アイテムの開始時にセーブされた状態に戻る。
最後に、第14図はブロック1311で実行される視覚属性の詳細を表示したも のである。本実施例では、文字に関する属性情報が該文字に関してどの属性がO Nでどの属性がOFFかを示すビットアレイの形で第10図の文書から翻訳プロ グラムに入力される。翻訳プログラムでは、先ず、現在の文字に関係する全ビッ トアレイと該ブロックから最後に入力された文字が比較される。変更がない場合 には、プログラムは直接ブロック1313に進む(ブロック1401)。変更が ある場合には、プログラムがビット毎に2つのビットアレイを比較する。現時点 の文字のアレイのビットが前の文字のアレイの対応するビットと同じであれば、 プログラムが単純に次のビットを比較しくブロック1405)、該ビットが同一 のものでなければ、プログラムが対応するビットとの比較から該ビットにより表 される視覚属性がONされたかOFFされたかを決定する(ブロック1409) 。前者の場合には、プログラムが中間文書に対する視覚属性を開始するのに必要 なコードを書込み(ブロック1411)、後者の場合には、プログラムが該属性 を終結するのに必要なコードを書き込む(ブロック1413)。
プログラムがどのように動作するかの具体例がページ1 1027の処理を通し て提供される。プログラムは、初期設定中に、DT1003を審査してPIB1 007を指すポインターの有無を決定する。ポインターがある場合に、文書中に テキストがあり、プログラムがsos rテキストJ1105を出力する。PI BIO07中の文書のページ1を指すPIEiO08を使用してプログラムがペ ージ1 1027の第1番目のブロックであるテキストブロック(21)を位置 決めして、該ブロックの第1番目の文字の処理を開始する。該文字はFA103 5に対応するAC1033であり、プログラムは状態をセーブして、FA103 5の処理を開始する。FA1035はイージブ1ノーりを特定し、その結果、P BCTL1107が中間構造を有する文書に出力される。FA1035は、また 、FORにより参照される新たな書式を特定する。従って、プロセス文字121 3が再度状態をセーブして、書式1021を含むブロック(35)を位置決めし 、ブロック(35)中の第1番目の文字と処理中のチェーンが書式チェーンであ ることを特定し、そして、SF CTL1109を出力する。主翻訳ループが次 いでブロック(35)のテキストの必要とする書式記述子を形成する。ブロック (35)のテキスト終結etx1031に到達すると、第12図に示す如くプロ グラムがチェーンの最後であるテキスト終結1031に応答する。この場合には 制御スペシファイヤが処理中であり、従って、終結コードは必要とされない。
プログラムは次いで処理書式1021か開始した時にセーブされた状態を復元し て、FA1035の処理を再開する。次のアイテムはヘッダ1019の参照HR であり、プログラムが再度現在の状態をセーブして、sos rヘッダ1113 Jを出力して、ヘッダ1019のTの処理を開始する。しかしながら、ヘッダ1 019のTの第1番目の文字はヘッダ1019のAのFA1035を参照するA C1033である。このFA1035は書式1021の参照FORのみを含む。
故に、プロセス文字1213は再度現在の状態をセーブして、sos rヘッダ J1113に続いてSF CTL1109を出力して、状態を再度セーブして、 書式1021のテキストからのヘッダ書式記述子1115を生成して、前記した 如く、状態を復元する。FA1035には次のアイテムがないので、状態が再度 復元されて、ヘッダ1019の残りの文字が処理されて、ヘッダテキスト111 7が生成される。ヘッダ1019のテキスト終結1031に到達すると、状態が 再度復元されて、FA1035の処理が継続される。
FA]035の次のアイテムはヘッダ1019に就いて述べた如くに処理される フッタ1017を参照するFRである。フッタ1017の処理が完了すると、ブ ロック(21)のAC1033の処理が完了し、同ブロックの残りのテキスト文 字及びページ1の残りのブロックが処理されて、ページ1のテキスト1129が 生成される。ページ2の第1ブロツクであるブロック(9)のAC]033に到 達すると、同ブロックのF1035が処理される。ブロック(9)のFAI03 5はブロック(21)のFA1035と同一の書式、ヘッダ及びフッタを特定す るので、新たなSF CTL、ヘッダセグメント、またはフッタセグメントを出 力する必要はなく、ページlの終結をマークするPB CTL1107のみが出 力される。文書の構成要素のすべての翻訳が完了するまで上記した如く処理が継 続する。
中間構造から第10図の文書への翻訳は第10図の文書から中間構造への翻訳に 使用されるのと同一の一般的方法が使用される。先ず、管理ブロックと第1索引 ブロツクを 設定し、文書情報ブロック記述子1103からの情報を文書情報ブ ロック1001ヘロードして文書構造の初期設定を行う。次いで、包含されるセ グメントの処理が開始する。各セグメントは第10図の文書構造の異なるテキス トチェーンに対応しており、従って、セグメントの開始に遭遇する度に現在のチ ェーンの処理を中断して、新たなチェーンの処理を開始しなければならない。
セグメントの終結に遭遇する度に終結したセグメントを含むセグメントに対応す るチェーンの処理を再開しなければならない。ここにおいても、また、処理を中 断する度にスタック上に状態をセーブし、セグメントの処理が終結字する度に状 態を復元する技術がプログラムされて使用される。
所定の文書構造から中間文書構造へ翻訳され、次いで元の文書へ翻訳された文書 は、元の文書と同一の情報を含む一方で最終の文書構造は元の文書構造とは完全 に同一ならなくともよい。例えば、第10図のテキストブロックの多くかシング ルヘッダブロック1019を参照する属性図を含む。中間文書構造では、ヘッダ セグメントがヘッダが変更される度に生成される。中間文書構造から第1O図の 構造へ翻訳するプログラムは所定のヘッダセグメントが文書中で前に出現したヘ ッダセグメントと同一か否かをチェックしなくともよい。かかるチェックがプロ グラムに於いてなされない場合には、プログラムが別個のテキストブロックに遭 遇する度に各ヘッダセグメントを翻訳し、その結果生じる文書構造には元の文書 構造より多くのテキストブロックとRIEIOIOを含むこととなる。
改良中間スプレッドシート構造 10、序:第15図 本書に於いて開示される中間文書構造及びプログラム合成抽出をさらに研究して いくことで中間文書構造及びプログラム合成抽出を修正して1タイプのスプレッ ドシートを別のタイプのスプレッドシートへ翻訳することが可能であることがわ かった。
スプレッドシートはスプレッドシートプログラムにより生成される表ディスプレ 一式コンピュータ装置のメモリにおける表示である。かかる表ディスプレーの例 を第15図にしめす。該ディスプレーでは、スプレッドシートはセル1503の マトリックスとして出現する。各セル1503は縦横行の番号によりアドレス可 能となっている。使用者はセル1503に式(EXP 1511)を入力する。
セルが式1511をふくんでいると、セルの値が式1511の現在値となる。式 には定数もしくはその他のセル1503のアドレス等の演算数と演算数で実行さ れる演算を示す演算子を含めることが可能である。式1511がセル1503の ディスプレーに入力されると、スプレッドシートプログラムが直ちに式の値を計 算し、セル1503中の値を表示する。式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は常にベクトルセグメント619を含む。1次 元スプレッドシートでは、このベクトルセグメントに1群のセルセグメント16 17が含まれ、2次元スプレッドシートでは、このベクトルセグメントに各々セ ルセグメントを含む1群のベクトルセグメント1619が含まれる。
スプレッドシートセグメント1629は任意のものであり、使用される場合には 、搭載中のデータが実際にはスプレッドシートであることを示す。即ち、セグメ ントが使用されない場合には、搭載中のデータはスプレッドシートモデルに適切 にあてはまる単なるデータであり、所望の方法で如何様にも使用可能である。
好適実施例では、中間スプレッドシート構造の最外側ベクトルセグメント(第1 6図のマトリックスセグメント1627)がスプレッドシートの次元数を特定す るベクトル記述子1607を有しなければならない。この情報を有することで他 の記述子の解釈が可能となる。ネストされたベクトルセグメントの次元数が親の 次元数以上である場合には、該ベクトルセグメントはベクトルの次元数を特定す る記述子を絶対に有しなければならない。次元は各次元に番号を付けて順番に配 置され、減少順位で参照される。セグメントが深くネストされればされる程現在 のアドレスにより多くの値が必要となる。
12、 セルアドレス指定 次元数が任意である1つのセルもしくは正方形に縁取りしたセルグループ(第1 5図のセルグループ1509)を特定する方法は2つある。アドレスするグルー プが最近に開いたセグメントが規定するセルの組である場合には、ローカルアド レス指定を使用出来る。異なるアドレス指定モードには別個の記述子がある。
双方とも任意次元数の1つのセル1503もしくはセルグループ1509のアド レスを特定する方法を提供する。これらは長方形のセル領域に名前を付けるのに 使用されるが、その中の記述子の順番が意味を持つ点で特異な記述子グループで ある。
また、双方共同−の基本パターンに追従する。表現中の各次元に就いて1対の記 述子が使用される(ある場合においては、該1対の記述子の一方は任意である) 。セルグループは該グループの2つの対向する角、即ち2つのn−タプルを識別 して特定される。例えば、セルグループl509は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)(最終15)の意味は(初期11)(初期15)(最終15)と微 妙に異なってくる。
グローバルセル参照 グローバルアドレス指定では、スプレッドシートのいずれのセルも直接に参照出 来る。初期記述子1703または初期/最終記述子1705は次元の各々に就い て使用出来、次元0から始まり次元を増加させていく。グローバルアドレス指定 はいずれの種類の参照にも使用することが出来る。実際には、ローカルアドレス 指定がグローバルアドレス指定よりコンパクトなことから可能な場合には使用さ れる。グローバルアドレス指定はセルセグメント1617に於いて最も一般的に 使用される。これは、グローバルアドレス指定では現在位置に対するアドレス指 定が可能であり、セルセグメント1617では現在位置が常に完全にしられてお り、ローカルアドレス指定ではその他のいずれのセルもアドレス出来ないためで ある。
初期及び最終記述子1703.1705は各々絶対書式と相対書式を有している 。絶対書式ではスプレッドシートの起点1513に対するセル位置が与えられ、 相対書式では現在位置に対するセル位置が与えられる。勿論、現在位置の次元を 決定して、相対アドレス指定の基本としなければならない。セルセグメント16 17に代わって、アドレスのすべてのn値が知られているので、アドレスの一部 分に就いては相対アドレス指定を使用することも出来る。
ローカルセル参照 しばしば、アドレスを構成するn−タプルのすべてが判明している場合がある。
即ち、ベクトルセグメント中の次元記述子(最外側のものを除いて)がアドレス の高次元数を特定している場合である。セルセグメントのレベルでは、すべての n値が判明している。セルの外側では、アドレスが特に特定される傾向にある。
即ち、アドレスの高次元数が判明している(ベクトルセグメントを包囲すること で特定する)。ローカルアドレス指定では、既に規定された高次元のアドレスが 所定の絶対のものとして処理され、引き続きより低次元のアドレスが特定される 。つまり、位置指定モードで特定されたアドレスは参照が発生するベクトルセグ メント内で規定されるセル参照に使用でき、相対アドレス指定は意味のないもの であるということである。
ローカルアドレス指定は集合名等の特性をベクトル内のセルグループに与えるの には非常に適している。
双方のモードに共通のもの アドレスを完全に分解しないことが双方のモードに於いて重要である。つまり、 3次元ベクトルにおいて、セルグループが2次元分の制限しか与えない場合があ る。非特定次元には非特定次元の可能な限りすべてのアドレスが含まれると推定 される。従って、初期記述子も最終記述子も出現しない場合に、初期アドレスに は負性無限大が、最終アドレスには正性無限大が使用される。
1つの次元から無限大に離れたアドレスを明確に参照する必要がある場合、もし くは、所望する場合には、特別の規則が使用される。実際のデータを含まない絶 対アドレス(初期または最終のいずれであれ)に対する記述子は起点から適切な 方向に可能な限り離れたアドレスを参照すると考えられる。初期無限大が使用さ れる場合には、可能な限りの最小アドレスを意味し、一方不明瞭明瞭を問わず最 終無限大は可能な限りの最大アドレスを参照することに留意すべきである。
セルアドレスを指定する場合に、スプレッドシート中に存在するもの以上の次元 を特定するのは違法である。
13、セルセグメント1617の内容:第18図スプレッドシートセルが空の場 合には、該セルを表すセルセグメント1617の内容がないことである。セルに 式が含まれる場合には、スプレッドシートセルエレメント1617の内容が数式 を特定し、数式が有する値が現在の値であるなら、内容が現在の値とデータタイ プを特定する。これらの項目は好適実施例において特定される方法を第18図に 示す。第1項目はセルデータタイプ記述子1802であり、これによりセルの現 在値のデータタイプが特定される。セルデータタイプ記述子1802はデータタ イプを特定する5OD1801とEOD 1805値のタイプを特定するタイプ コード(データTC)1805から成る。次の項目は追従するものが式1831 であることを示すCTL 630である式制御1807である。式1831はオ ペランドに対するオペランド記述子1821と演算数に適用する演算子に対する n演算子記述子1822により表される。好適な実施例では、接尾表示法が使用 される。即ち、演算子記述子1822が記述子1821に追従してそのオペラン ドのすべてをめる。各オペランド記述子はオペランド記述子に対する5OD18 19とEOD1817と、オペランドデータタイプ記述子に対する5OD180 9とEOD1817とを含む入れ子オベンドデータタイプ記述子181Oとオペ ランドのデータタイプを特定するオペランドデー゛ タイプコード1813とを 含む。オペランド記述子の後にはオペランド(OPEXP)1817の値を規定 する式が追従する。OP EXP1817は定数か、別のセルのアドレスか、も しくは、ネスト式1831であっても良く、式1831のネストされる深さは任 意である。オペランド記述子1821の後には動作に必要なその他のオペランド に対するオペランド記述子1821が追従し、全オペランド記述子1821の後 には演算素子及び演算素子タイプコード1825に対する5OD1823とEO D1827を含む演算素子1822が追従する。
中間文書構造が作成された時点で式の結果が判明している場合には、結果182 9に結果の値が含まれる。
下記に詳細を説明する如く、セルセグメント内容1611に行に於ける再提示さ れたセル1503のアドレス、セル名、修正保護がなされているが、その値に必 要なデータタイプ及びセル表示の書式に関する情報と特定するその他の記述子を 含めることが可能である。
14、中間スプレッドシート構造の詳細な説明下記は中間スプレッドシート構造 の好適な実施例の詳細な説明である。本説明に於いては下記の表示法を使用する 。
(SO8605; ) EO3639 (SOD 611 ) EOD 617! CTL 630 左丸括弧、左角括弧または!の直ぐ後に続く文字ストリングはセグメント名、記 述予兆または制御名を示す。記述子の場合には、記述子8番ご続く値は記述子に 対する記述子タイプコード(DTC)609であり、これに値の番号とタイプで 表された記述子内容か追従する。「*Jは値の変数を示す。例えば、(絶対初期  l 1:2バイト 整数)は次元内の絶対初期アドレスを特定する記述子を表 す。■は記述子のDTC609であり、l:2バイト 整数は初期アドレスが1 つの2バイト整数値により示されることを表している。各構成の説明には当該構 成に含められるその他の構成の全てが含められる。どの構成を含めるかは翻訳中 のスプレッドシートにより決定される。構成中の「グループjなる語は該構成c vMWに述べた種類の情報を含む記述子グループであることを示している。例え ば、「セル参照記述子グループ」はセルまたはセルグループを特定する1組の記 述子である。
また、かかる詳細な説明では「兄弟」及びr子」としてのベクトルセルとセルセ グメント及び「親」としてのベクトルセグメントに就いても言及する。この術語 は通常以下の意味を持つ。ベクトルセグメントが他のベクトルセグメントもしく はセルセグメント直にを含めば、該ベクトルセグメントは直に含まれるベクトル セグメントもしくはセルセグメントの親であり、直に含まれるベクトルセグメン トもしくはセルセグメントはお互い同士は兄弟であり、該親ベクトルセグメント の子になる。
御は常に唯一の値を表す関数を示す。つまり、どの式も値のマトリックスをもと に戻すことはしない。その他の実施例では式が値のマトリックスをもとに戻すこ とが可能である。式がデータのマトリックスを参照することがあるが、データは もとに戻される。副式は式中に組み込まれ、表示法は接尾式である。演算子なる 語は一般的意味で使用され、SINまたはLOG演算子がある。演算子は0とオ ペランドの無階数間の数値をとることが可能であるが、たいていの演算子は有限 数をとる。特定が少な過ぎたりまたは多過ぎたりすると未定義行動となり、式が 誤りとして除去される。オペランドは定数(種々の異なるデータタイプ)、セル の参照(もしくはセルグループ)または式でも良い。
式制御に属する記述子は上記の演算子とオペランドを含む。オペランドの順番は 常に重要である。3+7や7+3のような場合にはその順番も算術的には重要で はないかもしれないが、式中の語順は(可能な限り)使用者により入力された順 に記憶しておくことが重要である。
式制御では接尾規則が使用され、これと共にオペランド中に別の式を組み込んで 副式を表すといった奇妙な方法を適用する。これにより、接尾式に対する違いが 一〜切なくなり、使用者が行ったと同じ方法で括弧付式を表す方法を提供するこ とが可能となる。勿論、任意の式を「フラット」接尾式に配置することも可能で あるが、演算子が平均(x、y、z、、、、)等のオペランドの変数を取る場合 には、上記組み込みが有益となる。このような場合には、独立変数と演算子が副 式に入れられ、演算子すべての能動オペランドを行うと考えられる。「23+4  平均」は5と4 (4,5)の平均であって、2.3、と4(3)の平均では ないことに留意すること。
(オペランド)中で!式を除去するのが勧められる場合がある。それは以下の場 合である。
1) 演算子か関数である場合。特にストリームの方向が知らされない関数であ る場合。これは素晴らしい考えである。何故なら、関数がが判らない場合、高い 知能を持つ合成プログラムが副式をトスするが残りはもとのままに保持される。
ともかく、大抵の関数か括弧付の式の形態をとる(理由3を参照)。
2) 式の崩れたのが能動的に知らされる場合。式の崩れた部分を副式中で隔離 可能であり、合成プログラムにより優れた対応が可能である。
3) 式がタイプ入力される時に括弧が使用される場合(式が挿入子としてタイ プ入力される場合)。宛先が挿入しとして式を記憶表示する場合には、括弧は挿 入入力されるごとに再構築可能となる。式はこれがなされるなされないに関わら ず正しいものであるが、可能な場合には、使用者が式をタイプするごとにそれを 保存するのが最善の方法である。
16 アドレス記述子1701 グローバルセル参照: ローカルセル参照: 17、データタイプ記述子1802 あるセグメントは「設定可能」データタイプを有している。この場合には、該セ グメントが省略時のデータタイプを有しており、データタイプを設定する記述子 を有することが可能である。該記述子には実際のタイプコードが含まれる。スプ レッドシートが抽出プログラムには未知であるデータタイプ、即ち、rN/A( II用不可能)」番号要素を有することが可能であり、これらがエラーコード0 のエラーデータとなる。
18、スプレッドシートセグメント1629とスプレッドシート記述子16o3 (スプレッドシート データタイプ無し)(グリッドフラッグ 2 トプール) セルを表示する時に近傍からセルを区切るのにグリッドラインを使用するか否か 。すべての次元に適用する。
(再計算 カウント 3 1:4バイト 整数)巡回参照時の繰り返し回数。デ ィフォールトは0であり、これは、巡回参照が発生すると再計算を行わないこと を示す。
(再計算 式 4 なし) 「真(ゼロなし)」を評価する!式を含む。但し、再計算は続行される。何も与 えられない場合には、「偽」までデフオールドし、再計算が行われないことを意 味する。
(再計算 次元 5 *:2バイト 列挙)巡回参照を再計算中に遵守する優先 順位のリストを含む。各整数が再計算中の「掃引(スィーブスルー)」する次元 に名前を付ける。即ち、0 東/西 l 北/南 2 上/下 (垂直方向) このように、(再計算 次元 0 ])は行を掃引して、また、行内で列を下方 に掃引して再計算が行われることを示す。かかる掃引は最下部のセルアドレスか ら最高部のセルアドレスへ向けて発生する。つまり、ディフォールトは任意の値 不在の不明次元数を小さい順番に埋めることである。しかしながら、この記述子 が出現しない場合には、次元を掃引しても最計算は実行されない。
(最終編集セル 6 ローカルセル参照グループ)修正する最終セルのアドレス を記述する。
(境界表示 7 *:ブール) 最終セルの後に次元に沿って境界を表示するか否かを示す次元当たりのプール。
ディフォールトは各不明次元に対して「偽」となる。
(先行則 8 *:2バイト 整数) する。列と行力咬差する場合には、上記の規則同士が衝突する。優先順位の大き いものから該規則が適用される順序が確立される。
19、ベクトルセグメントとベクトル記述子1607(ベクトル データタイプ なし) (次元数 1 1.2バイト 整数) この記述子はスプレッドシートの最外側ベクトル中の第1記述子でなければなら ない。整数は本スプレッドシート中で表示する次元の(非負性)数を示す。ディ フォールトは0であり、スプレッドシートは空である。
(ベクトルアドレス 1 1:2バイl−整り「親」によって示されるような、 このベクトルのアドレス。最外側ベクトルセグメント上では意味なし。ディフォ ールトは前の「兄弟」のアドレスプラス1であり、前に「兄弟」がない場合には 、「親」の第1 「子」のアドレスの値。これにより空ベクトルのスキップが容 易に出来る。
(第1 「子」アドレス 2 l:2バイト 整数)このベクトルの「子」の中 で使用されている最小アドレス。ディフォールトは0である。
(セル名 3 グループ十*、テキスト)このベクトル中に包含されたセルグル ープの名前。セルは中のセル参照記述子グループにより名を付けられる。なにも 出現しない場合には、本ベクトル中のすべてのセルが名付けられる。多数のセル グループが同一名を与えられた場合には、セルグループがバラバラであっても該 名前ですべての当該セルグループが参照される。
(ディフォールトセル保護 4 グループ+1:ブール)このベクトルに包含さ れたセルグループのディフォールト保護では「真」が保護を意味する。セルは中 のセル参照記述子グループにより名を付けられる。なにも出現しない場合には、 本ベクトル中のすべ°Cのセルが冒されている。
(セル妨害行動 5 グループ+1=1バイト 列挙)保護セルが入力された時 にとるディフォールト行動。
−1保護を受け入れる;航行中はこのセルをスキップする。
0 保護を受け入れる。
1 保護を無視し、セルの修正を許可する。
セルは中のセル参照記述子グループにより名を付けられる。なにも出現しない場 合には、本ベクトル中のすべてのセルが冒されている。
(ディフォールトセル書式 6 なし)ここには1組のセルを名付ける記述子と 適用される書式を記述する記述子の2つの記述子が含まれ、各々グループを保持 する。
(セル参照 l グループ) (セル書式 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 l:フロート 8) このセルの値を表示する時に数値を掛けるディフォールト値。セル値の変更はさ れず、単に表示するのみ。ディフォールトは乗数なしく1. 0)。
(セルタイプ 8 2:1バイト 列挙)このセルで唯一の合法的データタイプ 。ない場合には、ディフォールトはセルが任意のデータタイプの例を含んでいる 場合があるということである。これによりセルセグメントを分析するためのデー タタイプを実際に表しているのではないことに留意されたい。実際、次のセルセ グメントに本記述子の影響下で異なるデータタイプを含めることが可能である。
これにより影響を受けるのは将来セルにどんなデータを追加したらいいかという ことだけである。
(データタイプ 2 2:1バイト 列挙)セルの現在値のデータタイプ。ディ フォールトはフロート 8である。この記述子は現在のセルセグメント内での任 意のデータの分析方法を決定するのに使用される。
(1式) (オペランド 1 1フロート 8 設定可能)オペラン日己ホ子にセル参照グ ループ、1式制御または値を含むその他の記述子を含むことが可能である(セル 参照と式制御双方の如き複数源の値を含むオペランドは順序に無関係であると考 えられる二合成工程では任意の順序のオペランドで式を作れる)。
(オペランドに)含まれる記述子は以下の通りである。
(グローバルセル参照 1 グローバルセル参照)(データタイプ 2 2:1 バイト 列挙)(演算子 2 l:2バイト 列挙) ある先行番号の接尾スタック原子に適用する演算子。詳細は上記の1式制御に関 する説明を参照。
書式記述子グループ ここでは、セル書式の定義がなされ、セル値を表示するのに必要とされるほぼす べての情報が含まれる。セルには種々のデータを表示するための命令を含めるこ とが可能である。番号に対する1つの書式を提示して、日付等が含まれるような 場合には様々の方向を特定出来る。
セル表示書式記述子 (表示 データ 1 2:1バイト 整数)第1整数がセルに含まれる式が表示 されるか否かを示し、第2整数が式の値が表示されるか否かを示す。双方とも出 現しない場合には、セルが空白で出現する。使用される値は以下の通りである。
−1時々表示され、何が当てはまり且つ良く見えるかという表示ソフトウェアの 観点から決定される。
0 表示なし。
■ 常時表示。
(表示 繰り返し 2 1:1バイト ブール)セルの内容をセルのウィンドー が満たされるまで繰り返し表示するか否かを示す。
(拡張 表示 3 l:1バイト ブール)セルの内容を右側まで拡張し、セル 境界を越えて、空白セルをカバーするのに必要な程繰り返しセルにその表示をし て到達(または、境界に遭遇)するまで表示するか否かを示す。セルが「センタ リングされた配列」で表示されるようにセットされる場合には、セルが自身の表 示(又は境界)に到着する迄右側の代わりに下方に拡張されて内容が表示される 。
(RH) 4 1:2バイト 整数) 書式の識別子。
(名前 5 *:テキスト) 書式の名前。
記述子の残りのすべてはデータタイプ毎に使用され、且つ、該タイプデータを表 示する記述子に組み込まれる。タイプ用の記述子には当該タイプのデータの表示 方法を規定する記述子グループを含めることが可能である。グループ内の記述子 はタイプ用の記述子に追従する。
数値書式記述子 (数値書式 6 グループ) 数値表示に関する書式情報。
(少数点ストリング 1 *:テキスト)少数点として使用する文字。
(千の位分離符号 2 *:テキスト)3桁毎に使用して、千の位を表す。ない 場合には、千の位をマークするのに使用する文字はない。
(少数点位置 3 に1バイト 整数)少数点の右側に表示する少数点位置以下 の桁数。表示時には、この桁数を収容出来るように値を丸める。値0x80 ( 負性1バイト無限大)は数値の丸めが、例えば、セル境界を当てはめるのに必要 であるので行われたことを暗示する。値0X70は数を可能な限り正確に表すの に使用され、例えば、可能な場合に、少数部として数を表示するのに特別なステ ップを取ることを示すのに使用する。
(科学的 4 1:lバイト 整数) 数を表すのに科学的書式(nnE+mm)を使用するか否か。
−1表示が読みやすくなるのであれば科学的書式を使用する。
0 科学的書式は使用しない。
l 常時科学的書式を使用する。
(カレンシイフラッグ 5 l:2バイト 整数)これにより値がカレンシイを 表すか否、カリ、そのように表示されるべきか否かが示される。好適実施例では 、0がカレンシイでないことを表し、その他任意のものがカレンシイであること を表す。特に、=1がカレンシイタイプが未知であり、特別なカレンシイタイプ (USドル、円等)を示すのにその他の値が使用される。
(カレンシイストリング 6 *:テキスト)カレンシイであることを示す数の 後に付けるストリングを示す。カレンシイストリングが与えられれば、カレンシ イフラッグ記述子の内容と矛盾しても、常にそれが適用される。
(パーセント フラッグ 7 *・テキスト)所定ストリングを末尾につけて数 を表示することを示し、値がパーセント(ストリングは一般に「%」である)で あることの表示となる。これにより、表示された値に関する仮定は一切生じない 。値、5は15%として表示されて、50%ととは表示されない(但し、乗数記 述子を参照)。
(乗数 8 l:フロート8) 表示前に当該値を所定の値で乗算することを示す。セルの実際の値は変更されず 、表示のみが変更される。(パーセント)と連携して有効となる。
(正性接頭ストリング 9 *:テキスト)表示時に正の数の先に付けるストリ ング。すべてに対してディフォールトなし。このストリングの数への先付けは他 の記述子、例えば(カレンシイ)等により修正がなされた後に発生する。
(負性接頭ストリング 10 *・テキスト)記述子が全く出現しない場合には 、ディフォールトが「−」であることを除き、(正性接頭ストリング)と同様。
(正性接尾ストリング 11 *:テキスト)表示時に正の数に付けるストリン グ。これは他の記述子、例えば(カレンシイ)等により修正がなされた後に発生 する。
(負性接尾ストリング 12 *:テキスト)(正性接尾ストリング)と同様。
(位置合わせ 13 1:lバイト 整数)セル内での数の位置合わせ方法。
−1表示を最良のものとするために如何なる方法によってでも位置合わせを行う 。
0 特定の規則なしくディフォールトもしくはよりグローバルの設定を行う。
1 数の左位置調整を行う。
2 セル内での値のセンタリング。
3 数の右位置調整を行う。
日時の書式記述子 (日時 7 グループ) 日時表示のための書式情報。
(順序 1 *:1バイト 整数) これは、日時の欄の順序を与える。欄が述べられていない場合には、表示はなし 。
3 曜日 従って、(順序 0 2 1 3 4 5)は日時が年日付時分秒ミリ秒で表さ ね、曜日は表示されないことを示す。記述子が出現しない場合には、ディフォー ルトが適用に最善と思われる順序で表示する。即ち、米国では、一般的順序は3 12045であると考えられる。記述子が出現しないが空である場合には、日時 情報を表示することが不可能となる。
(年書式 2 1:lバイト 整数) 年の表示方法を記述する。
−1表示する、しかしながら、見かけは最良である。
0 ディフォールトもしくはよりグローバル規則に従って表示する。
l 省略書式で表示する(最後の2桁のみで)。
2 日付が50年以内なら省略書式で表示する。
3 常に良書式で表示する。
4 テキストストリングとして表示する:1991は(千九百九十−) (列置式 3 1:1バイト 整数) −1表示する、しかしながら、見かけは最良である。
0 ディフォールトもしくはよりグローバル規則に従って表示する。
1 数値で表示する(1)。
2 短縮テキストで表示するUan)。
(曜日書式 4 1:1バイト 整数)=1 表示する、しかしながら、見かけ は最良である。
0 ディフォールトもしくはよりグローバル規則に従って表示する。
■ 数値で表示する(1)。月曜日は1であり、日曜日は化d民□ 07−ある 。
2 短縮テキストで表示する(Mon)。
3 長テキストで表示する(Monday)。
(曜日書式 5 1:1バイト 整数)=1 表示する、しかしながら、見かけ は最良である。
0 ディフォールトもしくはよりグローバル規則に従って表示する。
1 数値で表示する(23)。
2 接尾テキストと数値で表示する(23rd)。
3 テキスト(「二十三」)で表示する。
(時書式 6 1:1バイト 整数) −1表示する、しかしながら、見かけは最良である。
0 ディフォールトもしくはよりグローバル規則に従って表示する。
l 数値で表示する(12)。
2 テキストで表示する(「−二j)。
(分書式 7 1:lバイト 整数) −1表示する、しかしながら、見かけは最良である。
0 ディフォールトもしくはよりグローバル規則に従って表示する。
1 数値で表示する(12)。
2 テキストで表示する(「−二」)。
(秒置式 8 l:1バイト 整数) =1 表示する、しかしながら、見かけは最良である。
0 ディフォールトもしくはよりグローバル規則に従って表示する。
l 数値で表示する(12)。
2 テキストで表示する(r−二」)。
(ミリ秒 書式 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 *:テキスト) 「真」を示すのに使用するストリング。ディフォールトは「真」である。
(偽ストリング 3 *:テキスト) 「偽」を示すのに使用するストリング。ディフォールトは「偽」である。
(位置合わせ 3 1;1バイト 整数)セル内でのプールの位置合わせ方法。
=1 表示が最良となるようにいかなる方法によってでも位置合わせを行う(例 えば、数の表示にスプレッドシートのディフォールト規則を使用する)。
0 特定の規則なしくディフォールトもしくはよりグローバル設定を使用する) 。
■ テキストの左位置調整を行う。
2 セルでテキストのセンタリングを行う。
3 テキストの右位置調整を行う。
テキスト書式記述子 (テキスト 9 グループ) (大文字による書込み 1 1:1バイト 整数)−1 大文字ケースの強制す る。
Oケースのみをのこす。
l 小文字ケースを強制する。
(位置合わせ 2 1+1バイト 整数)−1表示が最良となるようにいかなる 方法によってでも位置合わせを行う(例えば、数の表示にスプレッドシートのデ ィフォールト規則を使用する)。
0 特定の規則なしくディフォールトもしくはよりグローバル設定を使用する) 。
1 テキストの左位置調整を行う。
2 セルでテキストのセンタリングを行う。
3 テキストの右位置調整を行う。
1式演算子 好適な実施例において用いられる演算子。誤演算子は、オペランドの変数を有し 、(式の最後の演算子である場合を除いて)制式表現で用いられなければならな い。
演算コード オペランドり拝 演算の定義−i 変数 未知。開放プログラムが 関数の定義を発見できないか、または、式が明らかにダメージを受けている場合 に使用される。コンポジションプログラムは、すべての式またはその一部を削除 する事によって確認されない演算コードを処理する。
0 1 アナリイ加算(演算なし、結果はオペランド)1 1 アナリイ減算( 無効) 2 2 バイナリイ加算 3 2 バイナリイ減算 4 2 バイナリイ乗算 、5 2 バイナリイ除篤結果は整数である必要なし。
6 2 べき数上げ(aをb次べき数にする)7 2 除算の確認(modul us)8 l 絶対値 9 1 因数 10 2 シーリング。値aが少数まで拡張され、シーリング動作が少数桁すに なるように実行されて少数点の左側か正となるようにされる。シーリング動作は 、aの値を大きくするか、または、変更しないかによって実行される。
シーリング()、例: 1.39 −1シ一リング桁 j、+ 土=t −3,229−2シ一リング桁 −3,22五ヰ;二=ミ 113.4 2シ一リング桁 )OQ :た出iトー −3,100−1シ一リング桁 −3,1ミ牢;# 11 2 フロア。値aが少数まで拡張され、フロア動作は、シーリングと同じ ようにbによって特定される少数桁になるように実行される。フロア動作は、値 を小さくするかまたは変更しないかによって実行される。
−1,39−1フロア桁 1.3 −3.229 −2フロア桁 −λ23=1ニ==辷 113.4 2フロア桁 1o。
ユj−ト −3,100−1フロア桁 −3,1 ;4千ニド 12 2 トランヶイト。値aが少数まで拡張され、b桁目の右側の数値が切捨 てられ、フロア及びシーリングにおけるように数値が計算される。
−1,39−1トランヶイト桁 1.34千=岬 −3,229−1トランケイト桁 −3,2−吻〒−か 133.4 1ランケイト桁 to。
を参→ −3,100−1トランケイト桁 −3,1ヒ4子=キ 13 2 ラウンド。値aが少数まで拡張され、5桁の数値となるように四捨五 入される。
1.39 −1ラウンド桁 1.十 セ=← 1.34 −]ラウンド桁 I・3 キー各 −3,229−2ラウンド桁 −3,23二テ=寥含 1.33.4 2ラウンド桁 100 tな# −3,100−1ラウンド桁 −3,1:母=4 ある機械では常に切上げがなされ、他の機械ではある状況では切上げかなされ、 他の状況では切下げが成されるため中間点での結果は不確定である。
14 (必要な場合には)外側へのラウンドの予約15 2 aとb(を含む) 間のランダム値で、等確率で非整数を許容する。bはa以上であること。
16 2 不均等。 3<>l)なら真。
17 2 均等。 a=bなら真。
18 2 未満。 a>bなら真。
19 2 超過。 a<bなら真。
20 2 以下。 a≦bなら真。
21 2 以上。 a≧bなら真。
22 2 論理和。
23 2 排他的論理和。
24 2 論理積 25 1 反転論理 26 2 論理等価。
27 2 論理暗示。
28 3 ra b c ifJが与えられると、aが真(非ゼロ)の場合は帰 還値はbeであり、真でなければ、Cである。
29 1 指数で、eからa次の零まで。
30 1 aの対数で底はe0 31 2 aの対数で底はb0 32 1 二乗板。
33 2 aのb次の根。
34 1 サイン(−LOll)。
35 1 度に対するラジアン。
2、サインの*2、双曲線の*2で24個の関数。
62 2 アークタンジェント2゜ 63 2 双曲線アークタンジェント2゜他の実施例では異なる演算子組を有す ることが可能である。
21、第19図のスプレッドシートの中間書式第19図は1つの列と3つの行か ら成る単純なスプレッドシート表示を示す。
列の第1セルはそのオペランドか定数である式を含み、第3セルが式を含み、該 オペランドの1つが第1セルのアドレスを含む。第1セル36の値は第3セル2 3の値を計算するのに使用する。
第19図のスプレッドシートを表す中間スプレッドシー1・構造を下記の表示法 を使用して以下に記す。 コメントは、勿論、中間スブし・ラドシート構造の一 部ではない。
(X セグメントXのSO3605Q ) EO8639で、時に明確を期すために〉Xで表す。
〔Y 記述子YのSOD 611゜ ) EOD 617で、時に明確を期すために〕Yで表す。
! CTL 830゜ a@b 整数値aを、bバイトで表した10進値。
Oa@b 整数値aを、bバイトで表した16進値。
コメント。
中間スプレッドシート構造 (スプレッドシート ;スプレッドシートの開始(ベクトル ;最外側ベクトル がこのベクトルを開始する。
(次元数 2@2 :次元数2を表す。
〕 〔第1子アドレス 、第1内側ベクトルが1の1@2 アドレスを有する (故に、列1)。
〕 (ベクトル :内側ベクトルの開始。
内側ベクトルはアドレスlと 次元数1とを有する。
(なぜなら、親の第1子アドレス がそれを示しており、親の次元数 が2であり、別途言及がな いから) (セル :セルの開始 〔データタイプ 0102@2 、セルが2バイトの整数を含む。
セルのアドレスはrlcoである、 なぜなら、その他のものである旨の 言及がない。
1式 ;セルが式を含む。
0102@2 〕 5@2 ; 2バイト整数:5 〔データタイプ 0102@2 〕 13@2 ; 2バイト整数・13 〕 〔演算子 2@2 ;プラス 〕 1@2 〕 2@2 ; 2バイト整数:2 〕 〔演算子 4@2 ;掛ける 〕 公式は513 36@2 ;セル結果は36 )セル (セル ;新たなセルの開始。
〔セル アドレス 2@2 ;このセルアドレスは lcL 〕 〔データタイプ ;4バイト整数結果を含む。
0104@2 〕 23@4 :セル内容は23である。
1式 :セルが式を含む。
〔オペランド 〔データタイプ :このオペランドは定数を0001@2 含まない。
〕 故に、データタイプは未知。
1@2 :第1アドレスは1、即ち、 列が1である。
〕 「絶対 初期 0@2 ;次は0゜故に、参照は rlcoに就いて成される。
〕 〕セル 参照 、参照は1つのセルに就いて成される。
〕オペランド 〔オペランド ;次のオペランド。
〔データタイプ 01020 .2バイトの整数。
〕 13@2 ;オペランドの値は13゜ 〕 〔演算子 2@2 ;引き算をする。
〕 ;公式はrlcO13−1 または、rlcO−13゜ )セル ;第2セルの終結。
)ベクトル ;終結。
上記の好適な実施例の説明でスプレッドシートプログラム間で交換中のスプレッ ドシートを表すのに中間文書構造と同一の原理を利用する中間スジlノットシー ト構造を開示した。上記説明から明らかなように、中間スプレッドシート構造で は任意の次元のスプレッドシートを表示、セルアドレスの記述、セルの値及び数 値をめるための公式の記述、及び、スプレッドシート及びセル内容の表示の方法 の記述が可能となる。セグメント内での記述子や制御コードの使用や第1次元セ グメントへのセルセグメントの組み込み、及び、n次元に対しては第(n −1 )番目の次元のセグメントの組み込みにより処理の容易さ、融通性及び拡張性と いった中間文書構造の特性の提供が可能となった。
しかしながら、本書に開示した中間スプレッドシート構造の好適な実施例は可能 な一実施例に過ぎない。例えば、セグメントや記述子の開始終結を行い且つ制御 スベシファイヤを特定するコードに関する異なる規則を用いる一方で中間スプレ ッドシートの基本構造を維持することも可能である。更に、本発明の中間スプレ ッドシート構造は本来拡張可能であり、故に、新たな記述子や演算子を追加する ことも可能である。以上のように、本書に開示した好適な実施例はすべての点に 於いて説明を目的としたものであり、該実施例に限定されるものではなく、本発 明の範囲は上記説明よりはむしろ添付の特許請求の範囲により示されるべきもの であり、該特許請求の範囲と意味及び範囲の面で等価となる変更はすべてその特 許請求の範囲に包含されるものとする。
浄書(内容に変更なし) FIG、 1 FIG、 2 FIG、 3 刈デ里べざロー7フルノ王リ 313 FIG、 4 FIG、 10 FIG、 +2 FIG、 13 讃 補正書の翻訳文提出書 浄書(内容に変更なし) 請求の範囲 !、a)情報を保持する複数のセルを含む少なくとも1次元の要素を有する中間 スプレッドシート構造のデータ処理表示を作成するようにプログラムされた処理 装置であって、該データ処理表示が、前記スプレッドシートの各非空セルに対す るセルセグメントと、前記スプレッドシートの第1次元要素を表示し、且つ、該 要素に属する任意の非空セルに対するセルセグメントを含むベクトルセグメント と、前記スプレッドシートの各追加次元mに対して非空要素を表示し且つ前記ス プレッドシートの第(m−1)次元の非空要素に対するベクトルセグメントを含 む該追加次元の各非空要素に対するベクトルセグメントとを有する処理装置、及 び b)前記中間スプレッドシート構造のデータ処理表示を記憶するための記憶装置 とから成ることを特徴とするデータ処理装置。
2、前記データ処理表示のセグメントのあるものは、そのセグメントの内容を記 述する記述子を含む請求項1記載のデータ処理装置。
3、前記データ処理表示の記述子が別の記述子を含むことが可能であり、且つ、 該記述子が中間スプレッドシート構造内の1以上のセルセグメントの位置を記述 するためのセル参照記述子を含み、且つ、該セル参照記述子がセグメントアドレ スを記述するための1以上のアドレ刈市杢テを含む請求項2記載のデータ処理装 置。
4、前記データ処理表示のアドレス記述子がグローバルアドレス記述子を含み、 且つ、前記セル参照記述子の所定のものが所定のセルセグメントと及び該所定の セルセグメント・を含むすべてのベクトルセグメントとに対して次元による順序 で配置されたグローバルアドレス記述子を含む請求項3記載のデータ処理装置。
5、前記データ処理表示のアドレス記述子がローカルセル記述子を含み、且つ、 前記セル参照記述子の所定のものが直接包含ベクトルセグメント内のセルセグメ ントのアドレスのみを特定するローカルアドレス記述子を含む請求項3記載のデ ータ処理装置。
特表千4−501622 (21) 6、前記データ処理表示の記述子がセルグループを規定するためのグループ記述 子を含み、且つ、該グループ記述子がスプレッドシート構造の所定の次元に対し て該所定の次元の各々に於けるグループの頂点を記述するアドレス記述子を含む 請求項2記載のデータ処理装置。
7、前記グループ記述子が包含グループ記述子内で記述されたグループ名を規定 する名前記述子と該グループ内のセルに対するディフォールト情報を特定するデ ィフォールト記述子とを含む他の記述子内に含まれる請求項6記載のデータ処理 装置。
8、前記データ処理表示のセルセグメントの第1の所定のものが式の表示を含み 、且つ、数式の表示が該表示の開始をマークする式制御と式中のオペランドを記 述する少なくとも1つのオペランド記述子とを含む請求項2記載のデータ処理装 置。
9、前記式の表示が更にオペランドで実行される演算を記述する演算子記述子を 含む請求項8記載のデータ処理装置。
10、前記データ処理表示のオペラン日d連子が更に別の式の表示を含むことが 可能であり、以て、式を任意の深さにネストすることが可能である請求項9記載 のデータ処理装置。
11、処理装置が記憶装置から該データ処理表示を読出し、該データ処理表示と 他のデータ処理表示の交換が可能なようにプログラムされる請求項1記載のデー タ処理装置。
手続補正書(方式) %式% 1、事件の表示 PCT/US89102368 平成1年特許願第506594号 名 称 ウォング・ラボラトリーズ・インコーホレーテッド4、代理人 住 所 東京都千代田区大手町二丁目2番1号新大手町ビル 206区 5、補正命令の日付 平成 3年 8月29日 (発送日)6、補正の対象 (1)出願人の代表者名を記載した国内書面(2)委任状及び翻訳文 (3)タイプ印書により浄書した明細書及び請求の範囲の翻訳文(4)図面翻訳 文 7、補正の内容 別紙の通り(尚、(3)(4)の書面の内容には変更なし)手続補正書(方式) 1、事件の表示 PCT/US89102368 平成1年特許願第506594号 2、発明の名称 中間スプレッドシート構造 3、補正をする者 事件との関係 特許出願人 住所 名 称 ウォング・ラボラトリーズ・インコーホレーテッド4、代理人 住 所 東京都千代田区大手町二丁目2番12号新大手町ビル 206区 12月14日付提出の補正書の写しく翻訳文)提出書の差出書(2)タイプ印書 により浄書した平成2年12月14日付提出の国際調査報告

Claims (10)

    【特許請求の範囲】
  1. 1.スプレッドシート処理装置間でスプレッドシートを交換する際に、最高n次 元の要素を有するスプレッドシートを表示するための中間スプレッドシート構造 において、 該スプレッドシートの各非空セルに対して該セルを表示するセルセグメントと、 前記スプレッドシートの第1次元要素を表示し、且つ、該要素に属する任意の非 空セルに対するセルセグメントを含む少なくとも1つの第1次元ベクトルセグメ ントと、及び、 前記スプレッドシートの各追加次元m、mは1<m≦n、に対する非空要素を表 示し、且つ、前記スプレッドシートの第(m−1)次元の非空要素に対するベク トルセグメントを含む前記次元の各非空要素に対するベクトルセグメントとから 成ることを特徴とする中間スプレッドシート構造。
  2. 2.前記セグメントの所定のものが該セグメントの内容を記述する記述子を含む 請求項1記載の中間スプレッドシート構造。
  3. 3.記述子が別の記述子を含み、且つ、該記述子が中間スプレッドシート構造内 の1以上のセルセグメントの位置を記述するためのセル参照記述子を含み、且つ 、該セル参照記述子がセグメントアドレスを記述する1以上のアドレス記述子を 含む請求項2記載の中間スプレッドシート構造。
  4. 4.前記アドレス記述子がグローバルアドレス記述子を含み、且つ、前記セル参 照記述子の所定のものが所定のセルセグメントと及び所定のセルセグメントを含 むすべてのベクトルセグメントとに対して次元による順序で配置されたグローバ ルアドレス記述子を含む請求項3記載の中間スプレッドシート構造。
  5. 5.前記アドレス記述子がローカルセル記述子を含み、且つ、前記セル参照記述 子の所定のものが直接包含ベクトルセグメント内のセルセグメントのアドレスの みを特定するローカルアドレス記述子を含む請求項3記載の中間スプレッドシー ト構造。
  6. 6.前記記述子がセルグループを規定するためのグループ記述子を含み、且つ、 該グループ記述子がスプレッドシート構造の所定の次元に対して該所定の次元の 各々に於けるグループの頂点を記述するアドレス記述子を含む請求項2記載の中 間スプレッドシート構造。
  7. 7.前記グループ記述子が包含グループ記述子内で記述されたグループ名を規定 する名前記述子と該グループ内のセルに対するディフォールト情報を特定するデ ィフォールト記述子とを含む他の記述子内に含まれる請求項6記載の中間スプレ ッドシート構造。
  8. 8.前記セルセグメントの第1の所定のものが式の表示を含み、且つ、該式の表 示が該表示の開始をマークする式制御と式中のオペランドを記述する少なくとも 1つオペランド記述子とを含む請求項2記載の中間スプレッドシート構造。
  9. 9.前記式の表示が更にオペランドで実行される演算を記述する演算子記述子を 含む請求項8記載の中間スプレッドシート構造。
  10. 10.オペランド記述子が更に別の式の表示を含むことが可能であり、以て、式 を任意の深さに組み込むことが可能である請求項9記載の中間スプレッドシート 構造。
JP1506594A 1988-06-14 1989-05-31 データ処理システム Expired - Lifetime JP2975622B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPH04501622A true JPH04501622A (ja) 1992-03-19
JP2975622B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180116A (ja) * 1994-12-27 1996-07-12 Nec Software Ltd スプレッドシートセル構造

Families Citing this family (37)

* 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
EP0548240A1 (en) * 1990-09-10 1993-06-30 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
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
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
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
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
US6230170B1 (en) 1998-06-17 2001-05-08 Xerox Corporation Spatial morphing of text to accommodate annotations
US6256649B1 (en) 1998-06-17 2001-07-03 Xerox Corporation Animated spreadsheet for dynamic display of constraint graphs
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180116A (ja) * 1994-12-27 1996-07-12 Nec Software Ltd スプレッドシートセル構造

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH04501622A (ja) データ処理システム
Wellin et al. An introduction to programming with Mathematica®
EP0186007B1 (en) Apparatus, method, and structure for translating a document having one structure into a document having another structure
Harten et al. The FITS tables extension
Martellos Multi–authored interactive identification keys: The FRIDA (FRiendly IDentificAtion) package
Startz EViews Illustrated
Flynn Understanding SGML and XML Tools: Practical programs for handling structured text
Rota Sequence of a cDNA clone of the nucleoprotein gene of influenza B/Ann Arbor/1/86.
Blenkhorn et al. Automated braille production from word-processed documents
Berman Methods in medical informatics: fundamentals of healthcare programming in Perl, Python, and Ruby
Brooks an Introduction to HTML and JavaScript: for Scientists and Engineers
Gaubatz A Survivor's Guide to R: An Introduction for the Uninitiated and the Unnerved
Thomson et al. APL2 in Depth
Kobayashi et al. CF1ATPase beta-and epsilon-subunit genes are separated in the sweet potato chloroplast genome.
Chandrakar Unicode as a multilingual standard with reference to Indian languages
Teague CSS, DHTML, and Ajax: Visual QuickStart Guide
Paniagua Introduction to python language (presentation)
JP3926906B2 (ja) N単語連鎖を用いたかな漢字変換システム,方法および記録媒体
Travis OmniMark at Work: Getting started
Price et al. Matrix Mapping: A Simple Graphical Representation of Hierarchy Structure in Clinical Vocabularies
Berman Ruby: The Programming Language
Spoons INSTITUTIONAL HOUSEKEEPING.
JPH0239321A (ja) データ処理装置
Craven et al. Introduction to Lists
Joy et al. Perl

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