JPH07210344A - 階層構造化ページ記述言語文書のデバッグ方法、出力制御方法、及び処理方法 - Google Patents
階層構造化ページ記述言語文書のデバッグ方法、出力制御方法、及び処理方法Info
- Publication number
- JPH07210344A JPH07210344A JP6290754A JP29075494A JPH07210344A JP H07210344 A JPH07210344 A JP H07210344A JP 6290754 A JP6290754 A JP 6290754A JP 29075494 A JP29075494 A JP 29075494A JP H07210344 A JPH07210344 A JP H07210344A
- Authority
- JP
- Japan
- Prior art keywords
- document
- data structure
- dictionary
- processing
- debugging
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
ンコードされた文書のためのデバッグシステムを提供す
る。 【構成】 ユーザ入力600はデバッグコマンドとSP
DL文書データである。文書の構造部とコンテント部は
構造パーサー606とコンテントパーサー602により
解析された後に処理される。パーサー606または60
2が新たな行制御キャラクタに出会った時に、本発明の
デバッガが呼び出される。ユーザがデバッグコマンドを
入力すると、デバッグコマンド・ラインパーサー604
がデバッグ機能群608を呼び出す。デバッグ機能群6
08は、様々なプロセスを呼び出してシステムパラメー
タを調べ、ユーザに対し、必要な情報(コンテキストス
タック辞書612、オペランドスタック616、マシン
状態618等にある)を表示する。
Description
言語の分野に係り、特に、階層構造化ページ記述言語文
書の処理システムのためのデバッグ技術の分野に関す
る。
24号(1993年11月2日受理、”Method and S
ystem to Handle State Variables in a Document
Processing Langguage”)及び米国特許出願第08/
119,930号(1993年9月10日受理、”Met
hod and System to Process Resources in aDocume
nt Processing Language”)の一部継続出願であり、
上記両特許出願は米国特許出願第08/087,571
号(1993年7月2日受理,”Methodand System t
o Handle Context of Interpretation in aDocumen
t Processing Language”)の一部継続出願であり、
当該米国特許出願第08/087,571号は米国特許
出願第07/931,808号(1992年8月11日
受理,”A Method and System to Handle Diction
aryGeneration and Context Declaration in a Docu
ment ProcessingLanguage”)の一部継続出願であ
り、当該米国特許出願第07/931,808号は米国
特許出願第07/876,601号(1992年4月3
0日受理,”Method and Apparatus to Manage Pic
ture and Pageset for DocumentProcessing”)及び
米国特許出願第07/876,251号(1992年4
月30日受理,”Method and System to Handle Inc
lusion of External Filesinto a Document Proces
sing Language”)の一部継続出願であり、前記各米国
特許出願は引用により本明細書に組み込まれる。
発により、文字テキストのみならず一般的なグラフィク
データをも含む文書を高品質かつ低コストで印刷する機
会が与えられた。コンピュータによりプリンタに対する
コマンドを制御する当初の方法は、DIABLO(登録
商標)コマンドシーケンスに使用される種類のコマンド
に似た、いわゆる”エスケープシーケンス”(escape s
equence)コマンドを採用していた。この種のコマンド
は、その前に特殊なバイト、一般にエスケープキャラク
タ(ASCII 27)、を置くことにより、普通のキャラクタ
データと区別された。この方法は、デイジーホイールプ
リンタやドットマトリクスプリンタには問題がないが、
必要条件が変化する可能性のある文書を印刷する目的に
は、あまり適さない。例えば、ニーズの変化や技術の進
歩に従い、出力装置のアップグレードが必要になる。従
来、この種のアップグレードには、既存の出力装置のプ
ログラムコントローラの交換が必要であった。少なくと
も、プリンタの命令を格納した新しいPROMが必要に
なった。しかし、これは一時的に変更する方法としては
実用的ではない。いくつかの印刷ジョブのために新しい
PROMを取り付け、その後に元のPROMまたは別の
新しいPROMと交換しなければならないからである。
このアップグレード方法は無駄が多く、また出力装置の
コントローラの故障の増加を招く。
ような本質的な制約があるので、レーザプリンタ、その
他のページプリンタを制御するための様々な種類の”ペ
ージ記述言語”(PDL)が開発された。これらのレー
ザプリンタのバックワード互換性は、エスケープシーケ
ンスコマンドを受け付ける機能により提供された。現在
用いられているページ記述言語の二つの例が、Adobe
Systems 社のポストスクリプト(PostScript,登録
商標)と、Xerox社のインタープレス(InterPress,
登録商標)である。これ以外にも権利化されたPDLが
いくつか知られている。 従来のページ記述言語のいく
つかは、オブジェクトの処理のためのツールやシンタッ
クスを提供したり、またオペランドスタック類を利用で
きるようにする等によって、在来の標準的なエスケープ
シーケンスに対し様々な改善をもたらした。さらに、こ
れらページ記述言語はスタック指向のプログラミング言
語である。これらの言語はまた、場合によって、プリン
タの利用可能なリソースにフォントやグラフィクイメー
ジを追加する機能のように、プリンタの状態のダイナミ
ックな変更を考慮している。これらの機能のいくつかに
ついて、AdobeSystems社の”PostScript Language
Reference Manual(1985)”及び”PostScript
Language Program Design(1988)”(いずれも
Addison-Wesley Publishing社発行)等の市販参考文
献に述べられている。他のPDLも同様に様々な技術書
及び参考書、例えば Harrington 他著”Interpress,
The Source Book ”(Simon and Schuster 社,1
988)に述べられている。
が提案され、国際標準化機構(ISO)で国際規格とし
て開発中である。この提案は本願発明者もその一寄与者
であるが、現在、ISOの1セクションに草案として提
出されている。この草案は、ISO/IEC DIS 10180 ”In
formation Processing Text-CommunicationStandard
Page Description Language”として知られて、ニ
ューヨークの米国規格協会(ANSI)を通じ入手でき
る。
で、今現在、SPDLによりエンコードされた階層構造
化文書を処理できる市販のシステムは存在しない。本願
発明者のSPDL文書処理システムの開発を支援するた
めには、開発中のSPDL処理システムをモニターでき
るデバッガーがあると望ましいことが分かった。
のデバッグツールは、Adobe社のレーザトーク(Laser
Talk)である。しかしながら、ポストスクリプトはS
PDLのような構造化言語ではないので、レーザトーク
は本発明により遂行されるような構造部分のデバッグを
扱わない。また、レーザトークは、双方向通信チャネル
によりポストスクリプトプリンタと接続されたワークス
テーションを必要とする。
一般的な目的は、SPDLのような階層構造化ページ記
述言語の文書の効率的な処理システムを実現にすること
にあり、本発明の特に目的とするところは、階層構造化
ページ記述言語文書の処理システムの開発を支援するた
めのデバッグ手段を提供することである。本発明の上記
目的及び他の目的は以下の説明から明らかになろう。
ば、構造部及びコンテント部を持つ階層構造化ページ記
述言語文書のためのデバッグ方法が提供されるが、この
方法は、デバッグコマンド、並びに、構造部及びコンテ
ント部を持つ階層構造化ページ記述言語文書を入力する
ステップ、該文書の構造部を解析するステップ、該文書
のコンテント部を解析するステップ、該入力ステップに
より入力されたデバッグコマンドを解析するステップ、
記憶されているシステムパラメータを用いて、該文書の
解析された構造及び解析されたコンテントを処理するス
テップ、及び、該解析されたデバッグコマンド及び該記
憶されているシステムパラメータを用いて該処理された
文書をデバッグするステップを含む。本発明の他の態様
については、以下の実施例に関連した説明により明らか
になろう。
うな階層構造化ページ記述言語の文書のデバッグを効率
的に行なうことができる。かかるデバッグ方法の実現
は、SPDLのような階層構造化ページ記述言語文書の
処理システムの開発が容易になる等の利益をもたらす。
なお、本発明の上記並びに他の態様による課題を解決す
るための手段及び作用は、以下の詳細な説明によって明
白となろう。
(以下DIS 10180)に定義されたようなページ記述言語
の効率的な処理及びデバッグが可能になる。最近制定さ
れたDIS 10180 によれば、各文書デーストリームは、ペ
ージセットまたはピクチャーのいずれかの構造で与えら
れる。
レメントは、定義及び宣言コマンドを含む1つのオプシ
ョンのプロローグ(prologue)と、1つのオプションの
ボディ(body)とからなる。ページセットボディ(pages
et body)はゼロ個以上のページセットまたはピクチャー
からなり、ピクチャーボディ(picture body)はゼロ個
以上のピクチャーまたはトークンシーケンス(tokenseq
uence)からなる。特定のイメージを必要なオペレータ
とともに定義するための特殊なトークンまたはコマンド
を含むトークンシーケンスは、”コンテント”(conten
t)を含み、一方、文書の他の要素は”構造”(structu
re)と呼ばれる。構造は、コンテントが適切な出力イメ
ージを生成するための環境をセットアップする。ピクチ
ャーまたはページセットの階層レベル内のプロローグの
影響が及ぶのは、そのピクチャーまたはページセットの
終わりまでである。したがって、文書の階層構造中のピ
クチャーのプロローグは、同レベル以上の構造には影響
を及ぼさないが、下の階層レベルの構造には影響を及ぼ
す。本発明は、1つのスタック及び種々のポインタを使
用して、このような階層ツリー構造をプロローグの範囲
とともに効率的に操作する。
chical structure)は、文書の任意の部分の処理を当該
部分を直接的にアドレッシングして行なうことができ、
また、それより高い階層の部分の処理に、階層ツリーの
他の枝の他のアイテムを処理する必要がないという有利
性がある。すなわち、階層ツリー中に出現する、文書の
ある部分より上の構造定義しか処理する必要がない。こ
のことは、文書の処理効率の向上をもたらし、またさら
に、実際に文書の印刷を開始するに先だって、印刷装置
または表示装置で必要となるリソースの種類を容易に決
定できるようにする。後者のことは、様々な装置による
文書の印刷または表示の速度及び効率を向上させる。
は常に、この階層レベルに対応した一つのエントリー
(entry)が、ピクチャー/ページセットスタック(pic
ture/pageset stack)にプッシュされる。ピクチャー
/ページセットスタックの各エントリーは、プロローグ
データ構造(prologue data structure)へのポインタ
と、カレント解釈コンテキスト(current context of i
nterpretation、以下”CCI”)データ構造へのポイ
ンタとを持つ。文書のコンテントの処理中には必ずCC
Iデータ構造が用いられる。CCIデータ構造のエント
リーは、文書もしくはファイルの構造の処理中に修正可
能であり、また、コンテントの処理中にも修正可能であ
る。しかしながら、コンテントは、ピクチャー/ページ
セットプロローグデータ構造(picture/pageset prolo
gue data structure)のエントリーを直接的に修正する
ことはできない。
バッガーが使用されている場合、構造パーサー(struct
ure parser)及びコンテントパーサー(content pars
er)が改行や復帰改行のような新しい行制御キャラクタ
に出会った時に、本発明のデバッグルーチンが呼び出さ
れる。このデバッガーは、ブレークポイント(breakpoi
nt)の設定、ブレークポイントの削除、文書処理中のシ
ングルステップ・トレーシング、ブレークポイントに出
会う迄の処理、予め決めた行数の実行、文書中のブレー
クポイントの表示といったデバッグ機能が可能である。
本発明は、文書処理システムに用いられるパラメータの
表示、例えば、オペランドスタック(operand stac
k)、コンテキストスタック(context stack)、辞
書、状態変数、定義されたリソース、宣言されたリソー
ス、辞書内の値、文書の現在位置のピクチャーレベルと
ページセットレベル等の構造レベルの表示が可能であ
る。
に関して詳細に説明するが、いくつかの図にわたって同
一の参照番号は同一または対応した部分を意味する。
ジ記述言語(”SPDL”)で定義されたピクチャー及
びページセットのような、それらの構造エレメントが示
されている。SPDLでは、文書を単一のピクチャーま
たは単一のページセットとして定義できる。ページセッ
トは別のページセットまたはピクチャーより構成するこ
とができる。1つのピクチャーは、1ページを超えるこ
とはできないし、あるページから他のページへ跨ること
もできない。図1は4個のページ(最高レベルのピクチ
ャー)を持つ1つのページセットからなる文書を示して
いる。図2はテキストと2つのピクチャーを含む単一ペ
ージの文書を示している。図2の文書は、1ページだけ
であるので、1ページのページセットとして表現するこ
ともできるし、1つのピクチャーとして表現することも
できる。
明図である。図3に示された文書は、その最高位の階層
構造エレメントとしてページセット10を含んでいる。
このページセット10はページセット12とピクチャー
14とからできている。さらに、このページセット12
はピクチャー16,18,20からなっている。例を用
いて階層レベルを定義すると、ページセット12は、ペ
ージセット10より低い階層レベルにあるがピクチャー
(ページ)16,18,20より高い階層レベルにあ
る。各階層エレメントは、普通、それより低いレベルの
階層エレメント及び/または1つ以上のトークンシーケ
ンスエレメントから構成される。トークンシーケンス
は、コンテント(content)を含む特種の構造エレメン
トである。コンテントとは、印刷または表示される文書
の実体である。トークンシーケンスは、例えば、図、テ
キストまたはイメージを記述する。トークンシーケンス
により図、テキストまたはイメージ等のコンテントを表
現することは、非常に高速かつ効率的な文書の出力処理
を可能にし、殊に、文書の一部だけ出力しようとする時
には、出力しないページのトークンシーケンスを処理し
なくてもよいので、高速かつ効率的な処理が可能であ
る。ピクチャー14,16,18,20はそれぞれ、多
分、少なくとも1つのトークンシーケンスエレメントを
持っているであろう。
レメントの詳細図である。この文書は、プロローグ(pr
ologue)51及びページセットボディ(pageset body)
60を持つ一つのページセット50からなる。プロロー
グは、ピクチャーまたはページセットのための各種パラ
メータを定義するオプションの構造エレメントである。
プロローグ51は、4個の従属要素、すなわちリソース
定義(resourcedefinition)52、辞書ジェネレータ
(dictionary generator)54,辞書ジェネレータ5
6、セットアッププロシージャ(setup procedure)5
8と、それらに対応したトークンシーケンスを含んでい
る。リソース宣言52は、トークンシーケンス53が出
力のために用いられるリソースを定義するコンテント
(例えば文書に用いられたフォームの定義)を含んでい
ることを指示する構造エレメントである。
ンス55が辞書を定義することを指示する。同様に、辞
書ジェネレータ56は、トークンシーケンス57が辞書
を定義することを指示する。辞書定義は、順序付けられ
た、キー(key)と値(value)のペアを含む。コンテント
中にキーが見つかった時には、辞書から得られた当該キ
ーに対応の値が当該キーの代わりに用いられる。辞書内
の値エントリーは整数、実数、プロシージャまたは他の
任意の型の値にすることができる。辞書ジェネレータに
より生成される辞書は、後述のように読み出し専用辞書
とされ、コンテキスト辞書(context dictionary)とし
て生成される。
ントの処理時に用いられる種々の状態変数を初期化す
る。代表的な状態変数は、current_color、current_fon
t及びcurrent_position等の変数である。セットアップ
プロシージャは、ユーザ辞書のコンテントを必要に応じ
変更するためにも用いられる。ユーザ辞書(userdictio
nary)は、コンテキスト辞書及びコンテント辞書をサー
チして目的のキーが見つからなかった場合に、その後に
サーチされるリード/ライト(read/write)辞書であ
る。
1,75を持つ2つのページを含む。ピクチャー61は
それ自体のプロローグ62を持つが、このプロローグ6
2はピクチャー61だけのためのパラメータを定義しピ
クチャー75には影響を与えない。プロローグ62は、
コンテキスト宣言(context declaration)63とその
辞書識別子(dictionary identifier)64、辞書ジェ
ネレータ65とそのトークンシーケンス66、セットア
ッププロシージャ67とそのトークンシーケンス68を
含む。ピクチャー61のピクチャーボディ69は、トー
クンシーケンス70,74と、ピクチャーボディ72及
びトークンシーケンス73を持つピクチャー71を含
む。この文書の第2ページは、ピクチャー75を持ち、
このピクチャー75のピクチャーボディ76はトークン
シーケンス77を持つ。
階層レベルにおいて定義されるコンテキスト辞書の操作
を指示する。辞書識別子64のような辞書識別子がコン
テキスト宣言の後に続くときは、この辞書識別子がコン
テキスト辞書のサーチ順の変更方法を指示する。コンテ
キスト宣言の後に辞書識別子エレメントが続かないとき
は、定義されている辞書サーチ順は廃棄され、当該階層
レベルに対するコンテキスト辞書のサーチはなされず、
ユーザ辞書及びシステム辞書がコンテキストスタックの
ボトムに入れられる。辞書のサーチ順はコンテキスト辞
書スタックデータ構造を用いて定義されるが、その詳細
は後述する。
な記述だけを示したものであり、実際のSPDL文書は
それとは異なった記述を用いることもあることを理解す
べきである。
に、諸階層レベル用のシステムパラメータがどのように
保存されるかを知る必要がある。新しい階層レベル(例
えばピクチャーまたはページセット構造エレメント)に
出会うたびに、図5に示したピクチャー/ページセット
スタック202に一つのエントリーが格納される。ピク
チャー/ページセットスタック202の各エントリー
は、プロローグデータ構造へのポインタもしくは参照
と、カレント解釈コンテキスト(current context ofin
terpretation;CCI)データ構造へのポインタもしく
は参照を含む。
ク202の2番目のエントリー204は、プロローグデ
ータ構造へのポインタ206と、CCIデータ構造への
ポインタ208を含む。プロローグデータ構造へのポイ
ンタ206は、ピクチャー/ページセットプロローグデ
ータ構造(以下、プロローグデータ構造と呼ぶ)220
を指す。CCIデータ構造へのポインタ208は、CC
Iデータ構造240を指す。スタック202のボトムレ
ベルのエントリー210は、より高い階層レベルのプロ
ローグデータ構造(図示されていない)を指す、プロロ
ーグデータ構造へのポインタ212と、ヌルを指す、C
CIデータ構造へのポインタ214を持っている。
有のシステムパラメータの集合を持つことを可能にす
る。次の階層レベルが処理される時に、その階層レベル
自体のプロローグデータ構造は、初め、直上階層レベル
のプロローグデータ構造の値を持っている。このよう
に、高い階層レベルは、それより低い階層レベルに影響
されない。
(トークンシーケンスエレメント)の処理時に生成され
て使用される。CCIデータ構造のエントリーはプロロ
ーグデータ構造と対応したエントリーを有し、文書の一
つのコンテント部に出会った時に、プロローグデータ構
造の対応部と同じ値を持つ一つのCCIデータ構造が生
成される。例えば、リソース宣言へのポインタ242は
プロローグデータ構造のポインタ226に対応し、コン
テキストスタックへのポインタ244はコンテキスト宣
言へのポインタ227に対応し、オペランド(operan
d)スタックへのポインタ246は、オペランドスタッ
クがコンテント処理時にだけ使用されるので、プロロー
グデータ構造内に対応したエントリーを持たず、状態変
数テーブルへのポインタ248はポインタ229に対応
し、マシン状態へのポインタ250はポインタ230に
対応し、ユーザ辞書リンク(link)へのポインタ252
はポインタ231に対応する。
ージセットレベル(pageset_level)221とピクチャー
レベル(picture_level)222 は、文書中の現在(curr
ent)のページセット及びピクチャーの階層レベルを管理
するために用いられる。
文書への取り込み(inclusion)を考慮している。外部
エンティティとは、例えば、グラフ、イメージ、あるい
は他の文書である。外部宣言へのポインタ223は、図
6に示されている外部宣言データ構造(external decla
ration data structure)300を指す。この外部宣言
データ構造300は、それが生成されたページセットレ
ベル301及びピクチャーレベル302、外部宣言を指
名する識別子303、外部宣言の種類(例えばグラフィ
ックス)を定義する構造種類304、外部宣言を定義す
る実際的情報を含む外部データへのポインタ305、次
の外部宣言データ構造へのポインタ306を含む。
ができる。したがって、複数の外部宣言データ構造が必
要になるかもしれないにもかかわらず、プロローグデー
タ構造は外部宣言へのポインタを一つしか持たない。よ
って、各外部宣言データ構造は次の外部宣言データ構造
へのポインタを持っており、同ポインタは次の外部宣言
データ構造がない場合にはヌルを指す。新たな外部宣言
に出会った時に、新しい外部宣言データ構造が生成され
て外部宣言へのポインタ223により指し示され、ま
た、この新たに生成された外部宣言データ構造の”nex
t”ポインタは既に存在する外部宣言データ構造を指
す。この種の追加の外部宣言のための処理は、外部宣言
データ構造と同様のリンクリストデータ構造(linked l
ist datastructure)を用いたプロローグデータ構造及
びCCIデータ構造内の他のエレメントの処理と類似し
ている。
のリソース定義へのポインタ225は、図7に示された
ようなリソース定義データ構造310を指すことができ
る。リソース定義データ構造310は、pageset_level
312とpicture_level314のエントリーを含む。pag
eset_level312及びpicture_level314は、リソー
スが定義されたページセット階層レベル及びピクチャー
階層レベルを示す。該pageset_levelまたはpicture_lev
elが終わった時に、SPDLの階層構造は該リソース定
義データ構造の削除を許す。
6はSPDL IDを含んでる。このSPDL ID31
6は、リソース定義データ構造310がSPDLリソー
スを定義することを示す。リソースID318は定義さ
れるリソースの名前を含んでいる。リソース種類320
は、定義されるリソースの種類を示す。本明細書作成の
時点において、SPDLに許された代表的なリソース種
類にはフォントオブジェクト(font object)、グリフイ
ンデックスマップ(glyph index map)、フォントインデ
ックスマップ(font index map)、カラースペース(col
or space)、データソース、フィルタ、パターン及びフ
ォームがある。本発明においては、他のリソース種類の
追加を考慮している。
能識別子を含んでいる。この機能識別子は、あるリソー
スが定義されるときには”DEFINED”となり、該リソー
スが削除されるときには”UNDEFINED”となる。
ス仕様(resource specification)328を指す。この
リソース仕様328は、リソースを実際的に定義もしく
は記述する情報を含んでいる。リソース仕様に関する詳
細な説明は、本発明の理解には必要でない。しかし、本
好適実施例におけるリソース仕様は、分かっているSP
DLの必要条件に従っている。
6は、リソース定義データ構造310と同じ構造のリソ
ース定義データ構造を指す。これにより、一つのSPD
L文書内で複数のリソース定義コマンドを使用可能にな
る。最初のリソース定義データ構造が定義された後、新
しいリソース定義データ構造がプロローグデータ構造に
よって直接指示され、この新リソース定義データ構造の
次リソース定義データ構造へのポインタ116が前に生
成されたリソース定義データ構造を指すことになる。
ースが使用可能であることを宣言する必要がある。この
宣言は、図8に示したリソース宣言データ構造によって
為される。宣言することのできるリソースは、リソース
定義データ構造を用いて既に定義されたリソースであ
る。システムにダウンロードされているリソースも宣言
可能である。
0は、宣言されたリソースを管理するために利用され
る。SPDL文書内でリソース定義コマンドによりリソ
ースが定義されされた後、そのリソースを使用できるよ
うにするには、リソース宣言コマンドを発行して該リソ
ースが宣言されなければならない。このリソース宣言デ
ータ構造350を、プロローグデータ構造220のリソ
ース宣言へのポインタ226及び/またはCCIデータ
構造240のリソース宣言へのポインタ242によって
指示することができる。リソース宣言データ構造350
は、該リソースが宣言されたページセットレベル及びピ
クチャーレベルを示すpageset_level352及びpicture
_level354を含む。
文書内のトークンシーケンスのようなコンテントによっ
て、リソースを識別するために用いられる。リソースI
D358及びリソース種類360は、前に生成されたソ
ース定義データ構造により指されたリソース仕様328
を識別するために使用される。リソース仕様へのポイン
タ362はリソース仕様328を指す。次リソース宣言
データ構造へのポインタ364は、次のリソース宣言デ
ータ構造があればそれを指すが、それがなければヌルを
指す。
書に用いられる値及びプロシージャを見つけるため4種
の辞書、すなわち、システム辞書、ユーザ辞書、コンテ
キスト辞書及びトークンシーケンスにより生成されたコ
ンテント辞書が用いられる。辞書は、順序付けられた、
キー及び値に対応したオブジェクトのペアの集合であ
る。文書のSPDLコンテントにおいてキーに出会った
時には、このキーの代えて辞書内の値が用いられる。辞
書の値の部分は任意の種類の値でよく、例えば整数、実
数、プロシージャ、その他種類のオブジェクト等であ
る。
てのオペレータをキーフィールドに記憶し、それに対応
したプロシージャを値フィールドに記憶している。例え
ば、SPDLコンテント中で”add”に出会った時に
は、addに対応した値がシステム辞書において検索さ
れ、そしてadd に対応したプロシージャは、2つの値が
オペランドスタックよりポップされて、その種類がチェ
ックされ、加算され、その結果がオペランドスタックへ
再びプッシュされることを指示する。システム辞書は、
ユーザやSPDL文書によって修正することができない
もので、SPDL文書を処理するシステムの一部分であ
る。
ユーザ辞書は、初めは空であるが、トークンシーケンス
エレメントによってエントリーの追加及び修正が可能で
ある。ユーザ辞書は、情報の書き込みが可能であるだけ
でなく、書き込み後にユーザによって変更可能である。
ユーザ辞書は、エントリーをユーザが修正可能な辞書
(すなわちリード/ライト辞書)であり、かつ、ユーザ
がオペレータ”dict”を使用して生成する必要のない辞
書である。ユーザ辞書内の値は、どのようなタイプの値
でもよく、整数、実数、プロシージャを包含する。概念
的には、ユーザ辞書は1個だけである。しかし、ある階
層レベルが修正した辞書を必要とするのに対し、他の階
層レベルが、その修正した辞書を使用しない場合、シス
テムは、様々な階層レベルのために同一のキーに対し異
なった値を記憶しておかなければならないので、ユーザ
辞書内に様々な階層レベルのための様々なエントリーが
存在することになろう。
る。システム辞書とユーザ辞書が1個しかないのに対
し、各階層レベル毎に及び同一の階層レベル内に多数の
コンテキスト辞書が存在し得る。コンテキスト辞書は読
み出し専用辞書である。すなわち、コンテキスト辞書は
一旦定義されると、ユーザによって修正することはでき
ない。コンテキスト辞書は、辞書ジェネレータ構造エレ
メント下のトークンシーケンスにより生成される。コン
テキスト辞書の生成に関するより詳細な説明は、同一出
願人の継続中の米国特許出願第07/931,808号
(1992年8月11日受理、”Method and System
to Handle Dictionary Generator andContextDecl
aration in Standard Page Description Languag
e”)に見ることができ、同特許出願の開示内容は引用
により本明細書に組み込まれる。
ーザにより定義される辞書であり、またトークンシーケ
ンスエレメントにより定義される。コンテント辞書は、
生成時にはリード/ライト辞書であり、直上位の構造エ
レメントの範囲(scope)内でのみ有効である。
のいずれにおいても見つかる可能性がある。そこで、本
発明によれば、様々な辞書についてキーをサーチするた
めのサーチ順が採用され、これは図13に示すような”
コンテキストスタック”(context stack)とよばれる
ものによって定義される。コンテキストスタックは、ト
ップよりサーチされる。コンテキスト辞書及びコンテン
ト辞書は最初にサーチすべき辞書である。ユーザ辞書は
同スタックのボトムの次のものであり、システム辞書は
ボトムに置かれる。ユーザ辞書及びシステム辞書をトッ
プへプッシュすることによりコンテキスト辞書の構成を
修正する方法がある。
キスト辞書及びコンテント辞書をサーチすべきか判定す
るため、まずCCIデータ構造中のコンテキストスタッ
クへのポインタが調べられる。下に説明するコンテキス
トスタックリンクデータ構造(context stack link dat
a structure)により指し示されたコンテキスト辞書ま
たはコンテント辞書に当該キーが見つからないときは、
CCIデータ構造中のユーザ辞書リンク構造(user dic
tionary link structure)へのポインタを調べることに
よりユーザ辞書がサーチされ、当該キーがユーザ辞書に
存在するか判定する。当該キーがコンテキスト辞書また
はコンテント辞書のいずれにも、またユーザ辞書にも見
つからない場合、次にシステム辞書がサーチされる。シ
ステム辞書は1つだけであって、しかも修正されないの
で、プロローグデータ構造またはCCIデータ構造にシ
ステム辞書へのポインタを備える必要はない。システム
辞書は常に同一ロケーションに見つかるので、文書の各
階層レベル毎にシステム辞書のロケーションを管理する
必要はない。
サーチ順を定義するスタックと見做される。しかし、コ
ンテキストスタックは、スタックなる用語の普通の意味
でのスタックではない。コンテキストスタックなる用語
は、辞書に対するサーチ順要件の説明を簡単にするため
に用いられている。コンテキストスタックにおいて、ボ
トムのエントリーは常に同じであって、システム辞書の
アドレスを指す。コンテキストスタックの次に高いエン
トリーはユーザ辞書リンク構造であり、これはピクチャ
/ページセットプロローグデータ構造内のポインタ23
1またはCCIデータ構造内のポインタ252に対応す
る。ユーザ辞書リンク構造は次のユーザ辞書リンク構造
を指すことができる。コンテキストスタックの最も上の
エントリーは、コンテキストスタックリンクデータ構造
により指示されるコンテキスト辞書及びコンテント辞書
である。コンテキストスタックの中央のエレメントであ
るユーザ辞書リンク構造へのポインタは、それを修正し
て用いることにより、コンテキストスタック内の上側の
コンテキスト辞書及びコンテント辞書のサーチ順に影響
を及ぼさずに、ユーザ辞書のエントリーを変更すること
ができるので、”コンテキストスタック”は必ずしも一
般的なスタックではないが、概念的にはスタック類似の
構造のものである。
データ構造及びピクチャー/ページセットプロローグデ
ータ構造により用いられ様々な辞書について見ると、3
つのレベルの辞書がある。最高の辞書レベルにコンテキ
スト辞書及びコンテント辞書があり、これらはトークン
シーケンスによってユーザに定義される辞書である。コ
ンテキスト辞書は読み出し専用辞書である。したがっ
て、コンテキスト辞書は、生成された後は修正すること
ができない。コンテキスト辞書は、それが生成された階
層レベルでのみ使用される。コンテキスト辞書及びコン
テント辞書は、最高の辞書レベルにあるので、キーに出
会った時に最初にサーチされる。そのキーがコンテキス
ト辞書またはコンテント辞書の1つで見つかれば、それ
以上の辞書サーチは不要である。そのキーがコンテキス
ト辞書でもコンテント辞書でも見つからないときは、次
に、そのキーについてユーザ辞書がサーチされる。その
キーがユーザ辞書で見つからないと、最後にシステム辞
書がサーチされる。
のサーチ順の操作に関し説明する前に、コンテキスト辞
書の生成プロセスについて簡単に説明する。辞書ジェネ
レータ構造エレメント、例えば図4に示した文書の辞書
ジェネレータ54に出会った時に、同辞書ジェネレータ
下のトークンシーケンス55は生成すべき1つの辞書を
定義し、構造プロセッサ(structure processor)が、
その辞書をコンテキスト辞書に分類して、図10に示す
ようなコンテキスト辞書ジェネレータデータ構造(cont
ext dictionary generator data structure)400を
生成する。このコンテキスト辞書ジェネレータデータ構
造は、pageset_level402、picture_level404、当
該辞書の名前に相当する辞書識別子406、辞書サイズ
408、辞書データ構造へのポインタ410、及び次の
辞書ジェネレータへのポインタ412に関する情報を記
憶したリンクリスト(linked list)である。この辞書
ジェネレータデータ構造へのポインタ228は、図5の
ピクチャー/ページセットプロローグデータ構造220
内にある。
構造中のエントリー”next”412は、2個以上のコン
テキスト辞書が生成されるならば、前に生成された一つ
の辞書ジェネレータデータ構造を指し示す。こうするこ
とで、新たに生成された辞書ジェネレータデータ構造
は、それ以前に生成された辞書ジェネレータデータ構造
の前に挿入され、後には挿入されない。
が生成された後、このコンテキスト辞書は、コンテキス
トスタックリンクデータ構造を用いてコンテキストスタ
ックのトップに置かれる。コンテキスト辞書及びコンテ
ント辞書のサーチ順は修正することができる。コンテキ
スト宣言は、コンテキスト辞書のサーチ順を定義しまた
は修正する。また、トークンシーケンス中に、コンテキ
ストスタックを操作可能なオペレータ(operator)があ
る。コンテキスト辞書に対するサーチ順は、コンテキス
トスタックリンクデータ構造(その一例が図9に示され
ている)によって定義される。コンテキストスタックリ
ンクデータ構造680は、図5に示したピクチャー/ペ
ージセットプロローグデータ構造220のコンテキスト
宣言へのポインタ227及び/またはCCIデータ構造
240のコンテキストスタックへのポインタ242によ
って、指示される。このコンテキスト宣言へのポインタ
とコンテキストスタックへのポインタとは、名前が違う
けれども、同様の目的をかなえるもので、CCIデータ
構造の初期生成時には同一であり、また図9に示したも
のと同じ基本構造を有する。
は、pageset_level382及びpicture_level384(例
えば該データ構造が生成されたレベル)、辞書の名前で
ある辞書識別子386、辞書データ構造392のアドレ
スを格納する辞書へのポインタ388、ヌルまたは他の
コンテキストスタックリンクデータ構造を指すエントリ
ー”next”390を含む。コンテキストスタック内に2
つ以上のコンテキスト辞書がある場合、エントリー”ne
xt”390は、次の辞書のためのコンテキストスタック
リンクデータ構造を指す。図9のコンテキストスタック
リンクデータ構造に関するより完全な説明は、同一出願
人による係属中の米国特許出願第07/931,808
号(”Method and System to Handle Dictionary
Generatorand Context Declaration in Standard
Page Description Language”,1992年8月11
日受理)に見ることができ、当該米国特許出願は引用に
より本明細書に組み込まれる。
内の状態変数テーブルへのポインタ229は、図11に
示した状態変数テーブル420のような状態変数テーブ
ルを指す。このテーブル内の状態変数は、コンテントの
処理のためのグラフィック変数等の各種パラメータを定
義するために用いられる。本発明を実際に実施する場合
には、おそらく、図11の状態変数テーブル内に示され
た状態変数よりも多数の状態変数を記憶することになろ
う。
er dictionary link structure)450は、図9のプロ
ローグデータ構造220のユーザ辞書リンクへのポイン
タ231、及び/または、CCIデータ構造のユーザ辞
書リンクへのポインタ252により指し示めされる。こ
のユーザ辞書リンク構造は、pageset_level452、pic
ture_level454、ユーザ辞書へのポインタ456、及
び、別のユーザ辞書リンク構造かヌルを指すエントリ
ー”next”を含む。ユーザ辞書、例えばユーザ辞書46
0は、2つのカラムつまりキー(key)カラム462と
値カラム464を持っている点でコンテキスト辞書及び
システム辞書に似ている。ユーザ辞書は、任意のトーク
ンシーケンスにより修正でき、またセットアッププロシ
ージャ、例えば図4のプロローグ51内のトークンシー
ケンス59を持つセットアッププロシージャ58によ
り、内部にエントリーを設定することができる。
ポインタ230は、SPDL文書を処理するバーチャル
マシンの状態を管理するデータ構造を指す。プロローグ
データ構造220中の初期変換(initial transformati
on)232は、特定の階層レベルの変換を、それがある
ならば管理する。
が処理されている時に、プロローグデータ構造の値(オ
ペランドスタックへのポインタ246を除く)をコピー
された一つのCCIデータ構造が生成される。該コンテ
ント部が処理されている時に、該CCIデータ構造によ
り指し示されたデータ構造を操作及び修正することがで
きる。文書の該コンテント部の処理が終了すると、該C
CIデータ構造240とそれに対応したデータ構造は削
除できるので、プロローグデータ構造220中のポイン
タにより参照された値は修正されない。CCIデータ構
造の働きに関するより詳細な説明は、同一出願人の係属
中の米国特許出願第08/146,724号(1993
年11月2日受理、”Method and System to Handle
StateVariables in a Document Processing Lang
uage”)に見ることができ、当該米国出願は引用するこ
とによって本明細書に組み込まれる。
各種装置を示しており、それら装置のいずれも本発明を
使用できる。ネットワーク514に、プリンタコントロ
ーラ506とプリントエンジン504を有するプリンタ
502が接続されている。ワークステーション508
も、プリンタ512に接続されたプリントサーバー51
0とともに、ネットワーク514に接続されている。
を示す。ワークステーション508はCPU550、R
AM552、ROM554、キーボード558及びマウ
ス560と接続された入力コントローラ556を含む。
プリントエンジンインターフェイス564がプリントエ
ンジン762に直接接続され、同エンジンはプリントエ
ンジンインターフェイス564により送られて来るラス
タライズされたイメージデータのビデオ・制御信号を受
信する。ワークステーション508はさらに、ハードデ
ィスク568及びフロッピードライブ570に接続され
たディスクコントローラ572、ネットワーク514
(例えばEthernet,登録商標)との接続のための通信
コントローラ574、外部ハードディスク580に例え
ばSCSIバスにより接続されかつプリンタ578に例
えばRS−232ケーブルにより接続されたI/Oコン
トローラ576を含む。ワークステーション508は、
CRT584と接続されたディスプレイコントローラ5
82も含む。システムバス566はワークステーション
内部の各エレメントを接続する。本発明を実施するコン
ピュータプログラムは、図15に示された記憶デバイス
のどれに格納してもよい。
ークステーション508によって直接作成することがで
きるし、あるいは、まずワークステーション508によ
り作成してから例えばハードディスク508もしくは5
80、フロッピードライブ570またはRAM552の
いずれかに格納することができる。その後、このSPD
LファイルをCPU550により印刷処理することがで
き、SPDLファイルをラスタライズされたイメージデ
ータへ加工し、このイメージデータはバス566を介し
てプリントエンジンインターフェイス564へ送られ、
最終的にビデオ制御信号の形でプリントエンジン562
へ送られることにより同イメージがプリントエンジン5
62により印刷される。デバッグプロセスもCPU55
0で実行することができる。
ョン508と同様な基本構成にすることができる。な
お、処理されるSPDL文書をポストスクリプトや、そ
の他のプリンタ言語へ変換することも可能である。
の概念的なシステム構成図を示す。システムに対するユ
ーザ入力600は、一つのSPDL文書と対話的なデバ
ッグコマンドの両方を含む。デバッグコマンド・ライン
パーサー(line parser)604は、SPDLプロセス
のデバッグ中にデバッグプロンプトに続く入力を解析を
する。デバッグ機能群608は、デバッグのために必要
とされる各種機能を扱う。
とコンテントエレメントの両方から構成されている。構
造エレメントは、構造プロセッサパーサー(structurep
rocessor parser)606(以下、構造パーサーと呼
ぶ)によって解析された後に処理される。構造パーサー
606がコンテントエレメントに出会った時に、コンテ
ントプロセッサパーサー(content processor parser)
602(以下、コンテントパーサーと呼ぶ)が、そのコ
ンテントを解析する。本発明により遂行される解析機能
は全て、公知の一般的な解析機構を使用して遂行ができ
る。
またはコンテントパーサー602のいずれかが、改行や
復帰改行といった新しい行制御キャラクタに出会った時
に、呼び出される。ユーザがデバッグプロンプトに対し
てデバッグコマンドを入力した時に、デバッグコマンド
・ラインパーサー604がデバッグ機能群608を呼び
出す。システムの出力、すなわち処理後の文書やシステ
ムパラメータを含むデバッグ結果等を、出力610で表
示あるいは印刷することができる。文書が処理される時
に、文書は、プリンタ、ファクシミリ装置、CRTやL
CD等のディスプレイのような出力装置によってユーザ
に出力するための処理がなされる。デバッグ結果及び/
または処理後文書は出力装置により表示することができ
る。
を呼び出してシステムパラメータを調べ、ユーザに対し
必要な情報を表示する。ユーザに必要とされる情報は、
コンテキストスタック辞書612や、オペランドスタッ
ク616、マシン状態618の中に、及びプロローグま
たはCCIデータ構造620に格納されている他のエレ
メントより、見つけることができる。図16に示したデ
ータは、図5に示したデータ構造に対応している。
に関するものである。ユーザは、処理を停止させたいブ
レークポイントの設定あるいはブレークポイントの削除
を要求できる。これらのルーチンは、ブレークポイント
テーブル622を利用するブレークポイントテーブル管
理ルーチン616に格納されている。
る。本発明は新しい行制御キャラクタそれぞれの後でデ
バッガを呼び出すので、line#1の後でデバッグプ
ロンプトが表示される。なお、line#1はスペース
が足りないため2行に表わされていること、DTDの後
に新たな行制御キャラクタはないが、DTDの後の情報
は次行へ及ぶことに注意されたい。
マンド”set to 10”を入力する。そうすると、システ
ムは最初のブレークポイントが行10に設定されたこと
を表示する。システムのユーザは、ひき続き、同様のや
り方で行5と行15にブレークポイントを追加する。行
15に対するブレークポイントを入力した後、デバッグ
プロンプトに対しユーザがコマンド”display break po
int table”を入力すると、それまでに入力された3個
のブレークポイントが表示される。
ザが”go”とタイプすると、これはDPDL文書を行5
の最初のブレークポイントまで処理させる。行5の後
で、デバッグプロンプトが表示され、ユーザはシステム
パラメータのどれかの表示を要求するか、あるいはデバ
ッグシステムの機能コマンドを入力するか、選択するこ
とができる。しかし、ユーザがコマンド”go”を入力す
るので、システムは行6から行10まで処理して行10
の処理後にデバッグプロンプトを表示する。このデバッ
グプロンプトに対し、ユーザが再び”go”を入力し、行
11から行15が実行される。
クポイントを管理するために利用されるブレークポイン
トリンクリストデータ構造(break point linked list
datastructure)630を示している。このブレークポ
イントリンクリストデータ構造は、ポインタ632によ
り指し示される。このデータ構造は3個のエントリーを
持っている。すなわち、ブレークポイントがどの行に設
定されているかを示す行番号634と、何番目のブレー
クポイントであるかを示すエントリー番号636、それ
に、次のブレークポイントリンクリストを指すか、次の
ブレークポイントリンクリストがないときにはヌルを指
すポインタ638とである。
される処理に対応した一続きのブレークポイントリンク
リストデータ構造を示している。ポインタ642はブレ
ークポイント先頭ポインタであり、かならず最も後に入
力されたブレークポイントリンクリストを指す。ブレー
クポイント先頭ポインタ642はブレークポイントリン
クリスト640を指し、このブレークポイントリンクリ
スト640は行番号15にブレークポイントが設定され
ていて、そのブレークポイントがブレークポイント番号
3であることを示している。ブレークポイントリンクリ
スト640はブレークポイントリンクリスト650を指
し、該ブレークポイントリンクリスト650は行5にブ
レークポイントが設定されていて、そのブレークポイン
トが2番目に入力されたブレークポイントであることを
示している。ブレークポイントリンクリスト650はブ
レークポイントリンクリスト660を指し、該ブレーク
ポイントリンクリストは行10にブレークポイントが設
定されていて、そのブレークポイントが最初のブレーク
ポイントであることを示している。
れる処理の詳細を述べる前に、本発明の各種デバッグコ
マンドについて表1と関連して簡単に説明する。
明する。SET AT コマンドは特定の行にブレークポイン
トを設定するために使われる。DELETE コマンドは特定
のブレークポイント番号を削除するために用いられる。
DISPLAY BREAK PONTTABLE コマンドは設定されているブ
レークポイント全部を表示する。GO コマンドはブレー
クポイントに出会うまでSPDL文書を処理させる。ST
EP コマンドはSPDL文書の処理のシングルステップ
トレースを行なわせる。このシングルステップトレース
は本発明ではデフォルトのモードであって、図17に示
すように、デバッガがアクティブの時に文書の最初の行
が処理された後、デバッグプロンプトが表示される。EX
ECUTE 〈N〉コマンドは、SPDL文書のN行を処理さ
せ、その後にデバッグプロンプトを表示させるために用
いられる。QUIT コマンドはデバッガから抜け出すため
に用いられる。
ERAND STACK コマンドはオペランドスタックにプッシュ
されているオブジェクト全部を表示する。DISPLAYCONTE
XT STACK コマンドはコンテキストスタック上の全辞書
の名前を、それが得られるときに表示する。名前が得ら
れないときには、”-dictionary-”が表示される。コン
テキストスタック上に辞書がない場合、コンテキストス
タックが空である旨のメッセージが表示される。DISPLA
Y 〈name〉 コマンドは入力されたキーに対応したコン
テキストスタックの辞書内の値を表示するために用いら
れる。辞書内にキーが見つからないときには、警告メッ
セージが表示される。DISPLAYDICTIONARY コマンドは特
定の辞書内の全ての<キー,値>ペアを表示する。DISP
LAY STATE VARIABLES コマンドはカレント解釈コンテキ
スト内の状態変数を表示する。DISPLAY DEFINED RESOUR
CES コマンドは定義済みのリソースを表示する。DISPLA
Y DECLARED RESOURCES コマンドはリソース定義で定義
済みであり、かつリソース宣言で宣言済みのリソースを
表示する。PRINT VALUE INDICTIONARY コマンドは入力
キーと辞書名を取得し、それに対応した値を表示する。
DISPLAY STRUCTURE LEVEL コマンドはページセット/ピ
クチャースタックのページセットレベルとピクチャーレ
ベルを表示する。
行されるプロセスを示す図20乃至図24のフローチャ
ートについて説明する。図20はシングルステップ処理
のフローチャートを示している。ステップ670はSP
DLファイル中の次の1行を処理し、そしてステップ6
72はデバッグコマンド・ラインパーサーへ制御を戻
す。ステップ672で、デバッグプロンプトが表示さ
れ、ユーザはデバッグコマンドのどれでも入力すること
ができる。
力された時に遂行されるプロセスを示している。ステッ
プ702において、ブレークポイントのための新たな行
番号が入力される。ステップ704は新たなブレークポ
イントリンクリストデータ構造を生成するが、このデー
タ構造はポインタPTTRにより指される。変数BPTENTRY N
O は、何個のブレークポイントが設定済みであるかを示
すグローバル変数である。この変数は、システムの初期
化時あるいは電源投入時に、0に初期化される。ステッ
プ706は、BPT ENTRY NO が0より大きいか判定す
る。0より大きくなければ、他のブレークポイントは設
定されていないので、ステップ708において、新たに
生成されたブレークポイントリンクリストデータ構造内
の”next”エントリーはヌルに設定される。ステップ7
06でBPT ENTRY NO が0より大きいと判定したとき
は、1個以上のブレークポイントが設定済みであるの
で、新たに生成されたブレークポイントリンクリストデ
ータ構造内の”next”エントリーは、前のブレークポイ
ント先頭ポインタを指すよう設定される。そして、ステ
ップ712は、一つの新たなブレークポインタが入力さ
れたので、変数BPT ENTRY NO を1だけインクリメント
する。
ブレークポイントリンクリストデータ構造内の行番号エ
ントリーを、入力された新たな行番号に等しい値に設定
する。ステップ714はまた、新たに生成されたブレー
クポイントリンクリストデータのエントリー番号を、変
数 BPT ENTRY NO と等しい値に設定する。次にステップ
716は、ブレークポイント先頭ポインタを、新たに生
成されたブレークポイントリンクリストデータ構造を指
すポインタと等しい値に設定することにより、新たに生
成されたブレークポイントリンクリストデータ構造を、
ブレークポイント先頭ポインタによって最初に指し示さ
れるデータ構造として挿入する。そしてステップ718
は制御をデバッグコマンド・ラインパーサーへ戻す。
に対して遂行される処理を示している。図22におい
て、ステップ750は削除すべきブレークポイントのエ
ントリー番号を入力する。次にステップ752は一時的
ポインタBPTを、現ブレークポイント先頭ポインタと等
しい値に設定する。つぎに、ブレークポイントリンクリ
ストをトレースして、入力されたブレークポイントエン
トリー番号と一致するエントリー番号を持つ特定のブレ
ークポイントリストを見つけるために、ステップ754
〜764が実行される。ステップ754は、BPPがヌル
であるか判定する。ヌルならば、ブレークポイントリン
クリストデータ構造がないか、あるいは、ブレークポイ
ントリンクリストデータ構造のそれぞれがサーチ済み
で、入力されたエントリー番号と一致するエントリー番
号を持つブレークポイントリンクリストデータ構造が存
在しないか、のいずれかである。ステップ758は一時
的変数ENTRYを、BPPにより指し示されたリンクリストデ
ータ構造内のエントリー番号と等しい値に設定する。次
にステップ760は、ENTRYが入力されたブレークポイ
ント番号と等しいか判定する。等しくないときには、処
理の流れはステップ762に進み、同ステップにおい
て、次のまたは前のリンクリストSPが現リンクリストBP
Pとして設定され、そしてBPPが今BPPにより指されたデ
ータ構造の”next”エントリーと等しい値に設定され、
結果として次のリンクリスト及び現リンクリストを1つ
進める。ステップ760でENTRYが入力されたブレーク
ポイント番号と等しいと判定した場合、入力されたブレ
ークポイントエントリー番号に対応したブレークポイン
トリンクリストが見つかったので、処理の流れはステッ
プ764へ進む。
イント用データ構造を現在指している前のブレークポイ
ントリンクリストの”next”エントリーを、削除すべき
ブレークポイントリンクリストデータ構造の”next”エ
ントリー中のポインタが指すデータ構造を指すように設
定する。ステップ764により為されることの一例につ
いて説明するため、図19に戻り、BPPがリンクリスト
650であって削除すべきブレークポイントが2番のブ
レークポイントであるとしよう。ステップ760はリン
クリスト650のエントリー番号2が入力された削除す
べきブレークポイントエントリー番号であると判定し、
処理の流れはステップ764へ進み、同ステップはブレ
ークポイントリンクリスト650の”next”エントリー
がブレークポイントリンクリスト650を指しているの
で、ブレークポイントリンクリストデータ構造640
の”next”ポインタをブレークポイントリンクリスト6
60を指すように設定する。このようにして、ブレーク
ポイントリンクリスト650がブレークポイントリンク
リスト群から取り除かれる。当然のことながら、ブレー
クポイントリンクリスト650はもう使用されないの
で、リンクリスト650を削除することにより、ブレー
クポイントリンクリスト650に対応したメモリを解放
することができる。
ントリー番号を持つブレークポイントリンクリストが見
つからない時に警告メッセージを表示するステップ75
6から、及びステップ764から、処理の流れはステッ
プ768に進み、同ステップはデバッグコマンド・ライ
ンパーサーへ制御を戻す。
T HEAD により指されたブレークポイントリンクリスト
にある時には、SPに対応する次のブレークポイントリン
クリストデータ構造がないので、ステップ764はBPT
HEAD をBPPのNEXTポインタと同じ値に設定する。
ドに対する処理を示している。本コマンドの目的は、ブ
レークポイントに出会うまでSPDL文書の行を処理す
ることである。GO UNTIL BREAK POINT 処理全体は、動
作をみると非常に単純に思われるかもしれないが、ブレ
ークポイントリンクリストデータ構造内の行番号は何等
決まった順序では記憶されていないので、現在の行番号
の後の次のブレークポイントを見つけるためにはステッ
プ804〜812を実行する必要があるため、ステップ
804〜812によりプロセスがかなり面倒になってい
ることに留意されたい。
プ802は変数STORED BP NOを、CURRENT LINE NO(す
なわちデバッグプロンプトが表示される前に処理が済ん
だ最後の行の行番号)と等しい値に設定する。ステップ
802はまた、一時的ポインタBPP を先頭ブレークポイ
ントポインタと等しい値に設定する。ステップ804は
BPPがヌルであるか判定する。ヌルであるときは、ブレ
ークポイントが全く設定されていないか、あるいは、現
行番号の後の次のブレークポイントを見つけるため全て
のブレークポイントがステップ804〜812で処理さ
れてしまったか、のいずれかである。BPPがヌルではな
いと判定されたときには、ステップ806が、CURRENT
LINE NOがBPPにより指されたブレークポイントリンクリ
スト内の行番号より小さく、かつ、STORED BP NOがBPP
により指されたブレークポイントリンクリスト内の行番
号より大きいか、判定する。該条件が成立するときには
処理の流れはステップ810へ進み、成立しないときに
は処理の流れはステップ808へ進む。ステップ808
は、CURRENT LINE NOがBPPにより指されたブレークポイ
ントリンクリスト内の行番号より小さく、かつ、STORED
BP NOがCURRENTLINE NOと等しいか判定する。ステップ
808の条件が成立するか、またはステップ806の条
件が成立するときに、処理の流れはステップ810に進
み、変数STORED BP NOはBPPにより指されたブレークポ
イントリンクリスト内の行番号と等しい値に設定され
る。ステップ810の次に、またはステップ808で条
件不成立となったときに、ステップ812において、BP
Pは、BPPにより現在指されているブレークポイントリン
クリスト内の次(next)ポインタと等しい値に設定され
ることにより、他のブレークポイントリンクリストのチ
ェックが可能になる。全てのブレークポイントリンクリ
ストのチェックが済むと、処理の流れはステップ804
からステップ814へ進む。
ップ804〜812で判定されたブレークポイント行番
号に出会うまで、SPDL文書を処理する。ステップ8
14はSPDL文書の次の行を処理する。ステップ81
6は該行がファイルの終わり(EOF)であるか判定
し、EOFならば図23の処理から抜ける。EOFでな
ければ、ステップ818はSTORED BP NO(記憶ブレーク
ポイント番号)がCURRENT LINE NO(現行番号)と等し
いか判定し、等しければ、該ブレークポイントに到達し
たので、文書の処理は停止し、ステップ820で制御が
デバッグコマンド・ラインパーサーへ戻る。ステップ8
18の条件が不成立のときには、処理の流れはステップ
814へ戻り、SPDL文書の次行が処理される。
中に実行されるプロセスを示している。ステップ850
は実行されるべき行数Nを入力する。次にステップ85
2は、行カウンタLINE COUNTを0に設定する。次にステ
ップ854は、SPDL文書の次行を処理する。ステッ
プ856はファイルの終わり(EOF)に達したか判定
し、EOFに達したならば該処理を抜ける。EOFに達
していないときには、ステップ858はLINE COUNTを1
だけインクリメントする。次にステップ860は、LINE
COUNTがN以上であるか判定する。N以上でなければ、
さらなる行の処理をすべきであるので処理の流れはステ
ップ854へ戻る。ステップ860がLINE COUNTがN以
上であると判定したときには、N行が実行されたので、
ステップ862で制御がデバッグコマンド・ラインパー
サーへ戻る。
処理は、図5に示したピクチャー/ページセットスタッ
ク202の一番上のエントリーに対応したデータを表示
する。例えば、DISPLAY DEFINED RESOURCES デバッグ
コマンドが入力されると、ピクチャー/ページセットス
タックのエントリー204が調べられ、プロローグデー
タ構造へのポインタ206わ辿ってピクチャー/ページ
セットプロローグデータ構造220を突き止める。ピク
チャー/ページセットプロローグデータ構造220内の
リソース定義へのポインタ225が調べられ、それを辿
って該リソース定義へのポインタ225により指し示さ
れたリンクリストデータ構造を突き止める。次に、リソ
ース定義へのポインタ225により指されたリンクリス
トデータ構造を公知の方法で調べることにより、要求さ
れた必要情報を決定することができる。そして、この情
報が公知の方法で表示される。同じように、本発明の表
示機能デバッグコマンドは全て、図5に示した情報並び
にプロローグデータ構造220及びCCIデータ構造2
40に相当するデータ構造を利用することになろう。
れるものではなく、以上の記述に基づき当業者は容易に
様々に修正または変形した態様をなし得ることは明らか
であり、そのような態様もまた本発明に包含されるもの
である。
及び装置はすべて本発明の範囲に含まれる。
構造化ページ記述言語文書を処理及びデバッグするため
のシステム: システムバス;デバッグコマンド、並びに、構造部及び
コンテント部を持つ階層構造化ページ記述言語文書を入
力する、該システムバスに接続された入力手段;該文書
の構造部を解析する、該システムバスに接続された構造
解析手段;該文書のコンテント部を解析する、該システ
ムバスに接続されたコンテント解析手段;該入力手段に
より入力されたデバッグコマンドを解析する、該システ
ムバスに接続されたデバッグ解析手段;記憶されている
システムパラメータを用いて該文書の出力のための処理
をする、該構造解析手段及び該コンテント解析手段に接
続された文書処理手段;及び該解析されたデバッグコマ
ンド及び該記憶されているシステムパラメータを用いて
該文書をデバッグする、該デバッグ解析手段及び該文書
処理手段に接続されたデバッグ手段。
該デバッグ手段に用いられる該格記憶されているシステ
ムパラメータは少なくとも一つのリソース定義を含むこ
とを特徴とするシステム。
該デバッグ手段に用いられる該記憶されているシステム
パラメータは少なくとも一つのリソース宣言を含むこと
を特徴とするシステム。
該デバッグ手段に用いられる該記憶されているシステム
パラメータは少なくとも一つの構造レベルを含むことを
特徴とするシステム。
造化ページ記述言語文書を処理及びデバッグするための
方法:デバッグコマンド、並びに、構造部及びコンテン
ト部を持つ階層構造化ページ記述言語文書を入力するス
テップ;該文書の構造部を解析するステップ;該文書の
コンテント部を解析するステップ;該(入力手段によ
り)入力されたデバッグコマンドを解析するステップ;
記憶されているシステムパラメータを用いて、該文書の
解析された構造及び解析されたコンテントを処理するス
テップ;及び該解析されたデバッグコマンド及び該記憶
されているシステムパラメータを用いて該処理された文
書をデバッグするステップ。
バッグのステップに用いられる該記憶されているシステ
ムパラメータは少なくとも一つのリソース定義を含むこ
とを特徴とする方法。
バッグのステップに用いられる該記憶されているシステ
ムパラメータは少なくとも一つのリソース宣言を含むこ
とを特徴とする方法。
バッグのステップに用いられる該記憶されているシステ
ムパラメータは少なくとも一つの構造レベルを含むこと
を特徴とする方法。
装置による文書の出力を制御するための装置:該文書を
定義する入力文書データストリームを受け入れる入力手
段、ただし該データストリームは1個以上のピクチャー
及び1個以上のページセットの少なくとも一つからな
り、該データストリームは該ページセット及び該ピクチ
ャーをして該文書の階層レベルを定義する階層的に順序
づけられた構造を有し、該データストリームはコンテン
ト部及び構造部を有し;該ピクチャーのそれぞれは0個
以上のプロローグ及び0個以上のピクチャーボディから
なり、該ページセットのそれぞれは0個以上のプロロー
グ、0個以上のページセット、0個以上のピクチャー、
0個以上のページセットボディ及び0個以上のピクチャ
ーボディからなり;該ピクチャーボディのそれぞれは0
個以上のトークンシーケンス及び0個以上のピクチャー
からなり;該ページセットボディのそれぞれは0個以上
のピクチャー、0個以上のページセット及び0個以上の
トークンシーケンスからなり;該入力手段に接続され
た、以下の手段を含む処理手段;該文書の階層レベルの
始まりと終わりを判定する手段;該文書の階層レベルを
管理する手段;該文書の各階層レベルのために、該文書
を処理するために用いられるパラメータを定義する一つ
のプロローグデータ構造を生成する手段、;該文書の階
層レベルのために、同一階層レベルにあるプロローグデ
ータの初期値を持つ一つの一時的データ構造を生成する
手段、該文書データストリームのコンテント部に応じて
該一時的データ構造を修正する手段;該一時的データ構
造、該構造部及び該コンテント部を用いて該出力装置を
制御するための出力装置データを生成する生成手段;及
び該プロローグデータ構造及び該一時的データ構造の少
なくとも一つにあるシステムパラメータを出力する、該
処理手段に接続されたデバッグ手段。
装置による文書の出力を制御するための方法:該文書を
定義する入力文書データストリームを受け入れるステッ
プ、ただし該データストリームは1個以上のピクチャー
及び1個以上のページセットの少なくとも一つからな
り、該データストリームは該ページセット及び該ピクチ
ャーをして該文書の階層レベルを定義する階層的に順序
づけられた構造を有し、該データストリームはコンテン
ト部及び構造部を有し;該ピクチャーのそれぞれは0個
以上のプロローグ及び0個以上のピクチャーボディから
なり、該ページセットのそれぞれは0個以上のプロロー
グ、0個以上のページセット、0個以上のピクチャー、
0個以上のページセットボディ及び0個以上のピクチャ
ーボディからなり;該ピクチャーボディのそれぞれは該
コンテント部を含む0個以上のトークンシーケンス及び
0個以上のピクチャーからなり;該ページセットボディ
のそれぞれは0個以上のピクチャー、0個以上のページ
セット、及び該コンテント部を含む0個以上のトークン
シーケンスからなり;以下のステップにより該入力デー
タストリームを処理するステップ:該文書データストリ
ームの階層レベルの始まりと終わりを判定するステッ
プ;該文書データストリームの該階層レベルを管理する
ステップ;該階層レベルの少なくとも一つのために一つ
の一時的データ構造を生成するステップ;該構造部及び
該コンテント部の少なくとも一つに応じて該一時的デー
タ構造を修正するステップ;該一時的データ構造、該構
造部及び該コンテント部を用いて該出力装置を制御する
ための出力装置データを生成する生成するステップ;及
び該プロローグデータ構造及び該一時的データ構造の少
なくとも一つに見つかるシステムパラメータを表示する
ことにより該文書をデバッグするステップ。
構造化文書の処理方法:第1のシステムパラメータ集合
を用いて該文書の第1の階層レベルを処理するステッ
プ;該第1のシステムパラメータ集合を第2のシステム
パラメータにコピーするステップ;該第2のシステムパ
ラメータ集合を用いて該文書の第2の階層レベルを処理
し、その間に該第2のシステムパラメータ集合が修正さ
れるステップ;該文書の該第2階層レベルの処理後に、
該第1のシステムパラメータ集合と等しいシステムパラ
メータを用いて、該文書の該第1の階層レベルの処理を
継続するステップ;及び該文書の処理中に該システムパ
ラメータの少なくとも一つを表示することにより該文書
の処理をデバッグするステップ。
層構造化文書を処理する装置:第1のシステムパラメー
タ集合を用いて該文書の第1の階層レベルを処理するた
めの手段;該第1のシステムパラメータ集合を第2のシ
ステムパラメータ集合にコピーするための手段;該第2
のシステムパラメータ集合を用いて該文書の第2の階層
レベルを処理し、その間に該第2のシステムパラメータ
集合が修正される手段;該文書の該第2階層レベルの処
理後に、該第1のシステムパラメータ集合と等しいシス
テムパラメータを用いて、該文書の該第1の階層レベル
の処理を継続するための手段;及び該文書の処理中に該
システムパラメータの少なくとも一つを表示することに
より該文書の処理をデバッグするための手段。
ページ記述言語の文書の処理システムにおける文書の効
率的なデバッグを可能にするため、これまで開発支援ツ
ールの整備が十分でなかってSPDL等の階層構造化ペ
ージ記述言語処理システムの開発環境を大幅に改善し、
システム開発の効率化・容易化、並びに階層構造ページ
記述言語文書の効率的な処理システムの実現に大きく寄
与するものである。
である。
エントリーにより指されるピクチャー/ページセットプ
ロローグデータ構造及びCCIデータ構造の説明図であ
る。
データ構造の説明図である。
図である。
説明図である。
る。
図である。
である。
である。
説明図である。
レークポイントリンクデータ構造を示す図である。
する処理の流れを示すフローチャートである。
ンドに対する処理の流れを示すフローチャートである。
ドに対する処理の流れを示すフローチャートである。
理コマンドに対する処理の流れを示すフローチャートで
ある。
る処理の流れを示すフローチャーである。
ンス 69,72,76 ピクチャーボディ 202 ピクチャー/ページセットスタック 220 ピクチャー/ページセットプロローグデータ構
造 240 CCIデータ構造 300 外部宣言データ構造 310 リソース定義データ構造 328 リソース仕様 350 リソース宣言データ構造 328 リソース仕様 380 コンテキストスタックリンクデータ構造 392 辞書データ構造 400 コンテキスト辞書ジェネレータデータ構造 420 状態変数テーブル 450 ユーザ辞書リンク構造 460 ユーザ辞書 470 コンテキストスタック 502 プリンタ 504 プリントエンジン 506 プリンタコントローラ 508 ワークステーション 510 プリントサーバー 512 プリンタ 514 ネットワーク 550 CPU 552 RAM 554 ROM 556 入力コントローラ 558 キーボード 560 マウス 562 プリントエンジン 564 プリントエンジンインターフェイス 566 システムバス 568 ハードディスク 570 フロッピードライブ 572 ディスクコントローラ 574 通信コントローラ 576 I/Oコントローラ 578 プリンタ 580 ハードディスク 582 ディスプレイコントローラ 584 CRT 600 ユーザ入力 602 コンテント(プロセッサ)パーサー 604 デバッグコマンド・ラインパーサー 606 構造(プロセッサ)パーサー 608 デバッグ機能群 610 出力 612 コンテキストスタック辞書 614 ブレークポイントテーブル管理ルーチン 616 オペランドスタック 618 マシン状態 620 他プロローグエレメント 622 ブレークポイントテーブル 630,640,650,660 ブレークポイントリ
ンクリスト
Claims (6)
- 【請求項1】 デバッグコマンド、並びに、構造部及び
コンテント部を持つ階層構造化ページ記述言語文書を入
力するステップ、 該文書の構造部を解析するステップ、 該文書のコンテント部を解析するステップ、 該入力ステップにより入力されたデバッグコマンドを解
析するステップ、 記憶されているシステムパラメータを用いて、該文書の
解析された構造及び解析されたコンテントを処理するス
テップ、及び該解析されたデバッグコマンド及び該記憶
されているシステムパラメータを用いて該処理された文
書をデバッグするステップ、からなる階層構造化ページ
記述言語文書のデバッグ方法。 - 【請求項2】 請求項1記載の階層構造化ページ記述言
語文書のデバッグ方法において、該デバッグのステップ
に用いられる該記憶されているシステムパラメータは少
なくとも一つのリソース定義を含むことを特徴とする階
層構造化ページ記述言語文書のデバッグ方法。 - 【請求項3】 請求項1記載の階層構造化ページ記述言
語文書のデバッグ方法において、該デバッグのステップ
に用いられる該記憶されているシステムパラメータは少
なくとも一つのリソース宣言を含むことを特徴とする階
層構造化ページ記述言語文書のデバッグ方法。 - 【請求項4】 請求項1記載の階層構造化ページ記述言
語文書のデバッグ方法において、該デバッグのステップ
に用いられる該記憶されているシステムパラメータは少
なくとも一つの構造レベルを含むことを特徴とする階層
構造化ページ記述言語文書のデバッグ方法。 - 【請求項5】 出力装置による階層構造化ページ記述言
語文書の出力を制御する方法であって、 該文書を定義する入力文書データストリームを受け入れ
るステップを有し、 ここにおいて、該データストリームは1個以上のピクチ
ャー及び1個以上のページセットの少なくとも一つから
なり、該データストリームは該ページセット及び該ピク
チャーをして該文書の階層レベルを定義する階層的に順
序づけられた構造を有し、該データストリームはコンテ
ント部及び構造部を持ち、 該ピクチャーのそれぞれは0個以上のプロローグ及び0
個以上のピクチャーボディからなり、該ページセットの
それぞれは0個以上のプロローグ、0個以上のページセ
ット、0個以上のピクチャー、0個以上のページセット
ボディ及び0個以上のピクチャーボディからなり、 該ピクチャーボディのそれぞれは該コンテント部を含む
0個以上のトークンシーケンス及び0個以上のピクチャ
ーからなり、 該ページセットボディのそれぞれは0個以上のピクチャ
ー、0個以上のページセット、及び該コンテント部を含
む0個以上のトークンシーケンスからなり、 かつ、以下のステップ該文書データストリームの階層レ
ベルの始まりと終わりを判定するステップ、 該文書データストリームの該階層レベルを管理するステ
ップ;該階層レベルの少なくとも一つのために一つの一
時的データ構造を生成するステップ、 該構造部及び該コンテント部の少なくとも一つに応じて
該一時的データ構造を修正するステップ、 該一時的データ構造、該構造部及び該コンテント部を用
いて該出力装置を制御するための出力装置データを生成
する生成するステップ、により該入力データストリーム
を処理するステップ、及び該プロローグデータ構造及び
該一時的データ構造の少なくとも一つに見つかるシステ
ムパラメータを表示することにより該文書をデバッグす
るステップ、を有してなる階層構造化ページ記述言語文
書の出力制御方法。 - 【請求項6】 階層構造化ページ記述言語文書の処理方
法であって、 第1のシステムパラメータ集合を用いて該文書の第1の
階層レベルを処理するステップ、 該第1のシステムパラメータ集合を第2のシステムパラ
メータ集合にコピーするステップ、 該第2のシステムパラメータ集合を用いて該文書の第2
の階層レベルを処理し、その間に該第2のシステムパラ
メータ集合が修正されるステップ、 該文書の該第2階層レベルの処理後に、該第1のシステ
ムパラメータ集合と等しいシステムパラメータを用い
て、該文書の該第1の階層レベルの処理を継続するステ
ップ、及び該文書の処理中に該システムパラメータの少
なくとも一つを表示することにより該文書の処理をデバ
ッグするステップ、を有してなる階層構造化ページ記述
言語文書の処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/180,015 US5535318A (en) | 1992-04-30 | 1994-01-11 | Debugging system for a hierarchically structured page description language |
US08/180015 | 1994-01-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07210344A true JPH07210344A (ja) | 1995-08-11 |
JP3338572B2 JP3338572B2 (ja) | 2002-10-28 |
Family
ID=22658909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29075494A Expired - Fee Related JP3338572B2 (ja) | 1994-01-11 | 1994-11-25 | 階層構造化ページ記述言語文書の出力制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3338572B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014172340A (ja) * | 2013-03-12 | 2014-09-22 | Fuji Xerox Co Ltd | 印刷制御装置、印刷装置及びプログラム |
-
1994
- 1994-11-25 JP JP29075494A patent/JP3338572B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014172340A (ja) * | 2013-03-12 | 2014-09-22 | Fuji Xerox Co Ltd | 印刷制御装置、印刷装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3338572B2 (ja) | 2002-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lesk et al. | Lex: A lexical analyzer generator | |
US6498657B1 (en) | Programmable data extractor, data analyzer, and printer report generator | |
US5499329A (en) | Method and system to handle context of interpretation in a document processing language | |
EP0785510B1 (en) | Program debugging system for debugging a program having a graphical user interface | |
Reps et al. | The synthesizer generator reference manual | |
US7046848B1 (en) | Method and system for recognizing machine generated character glyphs and icons in graphic images | |
US6654950B1 (en) | Software rehosting system and method | |
US5416896A (en) | Command definition dictionary handling and context declaration in a document publishing page description language (PDL) | |
US5319748A (en) | Method and apparatus to manage picture and pageset for document processing | |
JP4007562B2 (ja) | プログラミング補助方法および装置 | |
JPH09198237A (ja) | オンザフライ活字印刷ディスプレイを有する構造的表現型コンピュータ・プログラムのテキスト編集用システム及び方法 | |
US5535318A (en) | Debugging system for a hierarchically structured page description language | |
US5483629A (en) | Method and system to handle dictionaries in a document processing language | |
US5325484A (en) | Method and system to handle inclusion of external files into a document processing language | |
US5446837A (en) | Method and system to process resources in a document processing language | |
US6611924B1 (en) | Reducing code size of debug output statements | |
JP3338572B2 (ja) | 階層構造化ページ記述言語文書の出力制御方法 | |
JP2002288004A (ja) | プログラムソース処理装置、プログラムソース処理方法、およびプログラムソース処理プログラム | |
JP3094712B2 (ja) | ページ記述言語処理装置 | |
JP3406706B2 (ja) | 状態変数管理方法 | |
JP3406705B2 (ja) | 辞書操作方法 | |
JP3589255B2 (ja) | 文書処理装置および方法 | |
Waterman | Pas-ii reference manual | |
JPH06187108A (ja) | 文書プレゼンテーション制御装置 | |
Rahtz et al. | The pdfTEX user manual |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100809 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100809 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110809 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |