JP3328056B2 - 構文解析木からの情報抽出装置 - Google Patents
構文解析木からの情報抽出装置Info
- Publication number
- JP3328056B2 JP3328056B2 JP05495294A JP5495294A JP3328056B2 JP 3328056 B2 JP3328056 B2 JP 3328056B2 JP 05495294 A JP05495294 A JP 05495294A JP 5495294 A JP5495294 A JP 5495294A JP 3328056 B2 JP3328056 B2 JP 3328056B2
- Authority
- JP
- Japan
- Prior art keywords
- parse tree
- information
- language
- tool
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
出装置に関し、特に、ソースプログラムの解析を行うソ
フトウェア開発等を行う際に用いて好適なものである。
うアプリケーションソフトウェア等の開発を行う際に
は、現存するソースプログラムを構文解析し、この解析
の結果得られる情報を様々なツール(例えば、コールグ
ラフ生成器やデータフロー解析器)で処理するといった
ことが行われている。このようなソフトウェアは、種々
の手続き型言語のソースプログラムを対象としている。
ムの解析結果から必要な情報を抽出し、この情報を用い
て所定の処理をツールで行うことができるようにするた
めに、従来は主に次の2つの方法が採られている。
ログラム解析システムを作成する方法である。例えば、
対象となるソースプログラムに第1の言語と第2の言語
との2つがある場合には、第1の言語用のプログラム解
析システムと第2の言語用のプログラム解析システムと
をそれぞれ作成するといった具合である。
グラムの解析結果を各言語に共通な中間表現に翻訳し、
この中間表現を用いてツールで解析等の処理を行うとい
った方法である。
は、各言語に対応したツールを各言語ごとに作成するの
で、各言語に依存した細かい情報まで扱うことができ
る。しかし、各言語ごとにツールを作成しなければなら
ないので、そのためのコストが多くかかるという問題が
あった。また、ツールの機能を拡張するときなどは、各
言語ごとに対応させなければならないので、拡張時にも
非常に手間がかかるという問題があった。
グラムの解析結果を各言語に共通する中間表現に翻訳す
るようにしているので、対象とする言語にかかわらず共
通にツールを作成することができる。このため、この第
2の方法では、上述のような問題は起こらない。
プログラムの解析結果の全てについて中間表現への翻訳
が一括して行われるようになされている。このため、元
のソースプログラムと翻訳後の中間表現との対応が取り
にくくなるので、例えば、中間表現の中のある部分が元
のソースプログラムのどの部分に対応するのかを求めた
り、各ツールにおける処理の結果に応じて元のソースプ
ログラムを変換したりするということは困難であった。
また、各言語に特有な部分の情報が中間表現への翻訳の
際に失われてしまうという問題もあった。
に成されたものであり、どのような言語のソースプログ
ラムからも情報を容易に取り出せるようにするととも
に、元のソースプログラムとその中間表現との対応関係
を明確にすることができるようにすることを目的として
いる。
の情報抽出装置は、ソースプログラムの構文解析木から
情報を抽出し、所定の処理を施すようにしたツールに、
上記抽出した情報を提供する構文解析木からの情報抽出
装置であって、種々のプログラミング言語で記述されて
いるソースプログラムからソースプログラムの構造を木
構造で表現する構文解析木を作成するために上記各プロ
グラミング言語ごとに設けられた複数の構文解析手段
と、上記複数の構文解析手段からそれぞれ出力される構
文解析木を上記ツールからの要求に応じて調べ、上記ツ
ールが対象としているプログラミング言語の構文解析木
から情報を抽出するとともに、上記抽出した情報を上記
各プログラミング言語に共通する形式に変換して上記ツ
ールに供給する情報抽出手段とを具備するものである。
報抽出手段は、上記複数の構文解析手段よりそれぞれ出
力される構文解析木から情報を抽出するために上記各プ
ログラミング言語ごとに設けられた複数の構文解析木ア
クセス手段と、上記複数の構文解析木アクセス手段の中
から上記ツールが対象としているプログラミング言語に
対応する構文解析木アクセス手段を上記ツールからの要
求に応じて選択することにより、対象とする構文解析木
アクセス手段を切り替える言語切替手段と、上記言語切
替手段で選択された構文解析木アクセス手段により抽出
された情報を各プログラミング言語に共通する形式に変
換する共通形式への変換手段とを有するものである。更
には、上記複数の構文解析木アクセス手段は、構文解析
木のノードを順番に辿っていくとともに、その構文解析
木が元のソースプログラムのどの部分に対応するのかを
検出する構文解析木の移動・検出手段と、上記ツールか
ら与えられる要求に応じて構文解析木から必要な情報を
取り出す情報の抽出手段と、上記ツールからの要求に応
じて対象とする構文解析木を変更する構文解析木の変更
手段とを有するものである。
記言語切替手段で選択された構文解析木アクセス手段に
より抽出された情報を上記各プログラミング言語に共通
する形式に変換するか否かを選択する選択手段を具備す
るものである。
ログラミング言語のソースプログラムを対象とするかに
かかわらず、プログラミング言語に依存しない共通形式
の情報がツールに与えられるようになり、複数のプログ
ラミング言語のソースプログラムを1つのツールで処理
することが可能となる。また、ツールからの要求に応じ
て対応する構文解析木から取り出される情報のみが中間
形式に変換されるようになるので、取り出された情報と
構文解析木との対応関係が明確になる。
ラミング言語を1つのツールで処理することが可能とな
り、しかも、処理しようとするプログラミング言語を動
的に選択することが可能となるので、種々の言語のソー
スプログラムから必要な情報を抽出する際の労力が軽減
される。
木から抽出される情報のうち、プログラミング言語に特
有な情報については中間形式に変換しないこともできる
ので、中間形式への変換の際にプログラミング言語に特
有な部分の情報が失われてしまうという不都合がなくな
る。
明する。図1は、本実施例による構文解析木からの情報
抽出装置を適用したプログラム解析システムの要部構成
を示すブロック図である。
析木からの情報抽出装置であり、第1の言語の構文解析
手段2,第2の言語の構文解析手段3,…と、上記構文
解析手段2,3,…のそれぞれから与えられる構文解析
木を記憶しておくための第1の言語の構文解析木記憶手
段4,第2の言語の構文解析木記憶手段5,…と、情報
抽出手段6とにより構成されている。
れ第1の言語のソースプログラム7,第2の言語のソー
スプログラム8,…ごとに対応して設けられており、上
記各言語のソースプログラム7,8,…を解析して各言
語の構文解析木を作成するものである。ここで、構文解
析木とは、ソースプログラムの構造を木構造で表現した
ものである。また、ソースプログラムの言語としては、
例えば、FORTRAN,C,COBOL,PASCA
L,BASICなどがある。
ラフ生成器9,データフロー解析器10,…などの各ツ
ールから与えられる要求に応じて、上記各構文解析木記
憶手段4,5,…に格納されている構文解析木から必要
な情報を抽出し、これを言語に依存しない各言語に共通
する形式に変換して上記コールグラフ生成器9,データ
フロー解析器10,…に供給するものである。なお、構
文解析木から抽出される情報は、上記各ツール9,1
0,…からの要求によって様々である。
ドを順番に辿る機能や、値が参照された変数あるいは代
入された変数を求める機能や、構文解析木のノードがソ
ースプログラムのどの部分に当たるのかを求める機能な
どを有している。そして、コールグラフ生成器9,デー
タフロー解析器10,…などの各ツールから与えられる
要求に応じてこれらの機能が実行され、これによって必
要な情報が構文解析木から抽出されるようになされてい
る。
ースプログラムから抽出した情報を用いてプログラムの
解析や加工を行ってコールグラフの生成を行うためのも
のである。例えば、コールグラフ生成器9は、ソースプ
ログラム中の関数や手続きがどこで定義され、どこで呼
び出されているかという情報を情報抽出手段6から受け
取り、上記関数や手続き間の呼び出し関係を求める。
ラム中のデータの流れを解析するためのものである。例
えば、データフロー解析器10は、ソースプログラム中
の変数の定義がどこで行われ、どこで使用されているか
という情報を情報抽出手段6から受け取り、データフロ
ーの解析を行う。
構成を、図2に示す。図2において、11は第1の言語
の構文解析木アクセス手段であり、各ツール9,10,
…から与えられる要求に応じて、第1の言語の構文解析
木記憶手段4をアクセスし、そこから必要な情報を取り
出すためのものである。
11は、構文解析木の移動・検出部11aと、情報の抽
出部11bと、構文解析木の変更部11cとを有してい
る。上記構文解析木の移動・検出部11aは、第1の言
語の構文解析木のノードを順番に辿っていくとともに、
その構文解析木が元のソースプログラム中のどの部分に
対応するのかを検出するものである。この構文解析木移
動・検出部11aは、構文解析木をどのように辿ってき
たかとか、今どの部分をアクセスしているかといった状
態を表す情報を保持している。
ル9,10,…から与えられる要求に応じて第1の言語
の構文解析木から必要な情報を取り出す。例えば、情報
の抽出部11bは、関数や変数がソースプログラム中の
どこで定義され、また、どこで呼び出されているかとい
った情報を第1の言語の構文解析木から取り出す。さら
に、上記構文解析木の変更部11cは、各ツール9,1
0,…からの要求に応じて対象とする構文解析木を変更
するためのものである。
の言語の構文解析木アクセス手段11により抽出された
情報を各言語に共通する形式に変換するか否かを選択す
るものである。ここでは、各言語に特有な部分の情報は
共通形式に変換されず、その他の情報が変換されるよう
に選択が行われる。また、13は共通形式への変換手段
であり、上記選択手段12より与えられる情報をプログ
ラミング言語に依存しない共通形式に変換するものであ
る。
解析木アクセス手段11、選択手段12および共通形式
への変換手段13により、第1の言語の構文解析木から
必要な情報を抽出してこれを共通形式に変換するための
構成がなされている。第2の言語に関しても上述の構成
と同様にして構成されている。つまり、構文解析木アク
セス手段14、選択手段15および共通形式への変換手
段16により、第2の言語の構文解析木から必要な情報
を抽出してこれを共通形式に変換するための構成がなさ
れている。図示しない他の言語についても同様である。
としているプログラミング言語に応じて、その言語用の
構文解析木アクセス手段を、各言語の構文解析木アクセ
ス手段11,14,…の中から選択する。そして、言語
切替手段17は、何れかの構文解析木アクセス手段を選
択した後は、その構文解析木アクセス手段とそのとき使
用中のツールとの間におけるインタフェースとして機能
する。
る構文解析木からの情報抽出装置の動作を具体例を挙げ
て説明する。ここでは、C言語およびFORTRANの
2つの言語のソースプログラムからコールグラフを生成
する場合を例にとって説明する。つまり、図1に示した
第1の言語のソースプログラム7はC言語のプログラム
であり、第2の言語のソースプログラム8はFORTR
ANのプログラムであるとする。
FORTRANのソースプログラム8として、それぞれ
図3および図4に示したものがあるとする。これらのソ
ースプログラム7,8は、それぞれの言語の構文解析手
段2,3によりそれぞれの言語の構文解析木に変換され
る。そして、これらの構文解析木が各言語の構文解析木
記憶手段4,5に記憶される。
は、第1の言語の構文解析手段2で構文解析木に変換さ
れ、その構文解析木が第1の言語の構文解析木記憶手段
4に記憶される。また、FORTRANのソースプログ
ラム8は、第2の言語の構文解析手段3で構文解析木に
変換され、その構文解析木が第2の言語の構文解析木記
憶手段5に記憶される。こうして記憶される構文解析木
は、各プログラミング言語に依存しており、その構造は
プログラミング言語によって異なっている。
は、C言語においては、どの関数定義の中でどの関数呼
び出しがあるかを求めることが必要である。また、FO
RTRANにおいては、どのプログラム定義,サブルー
チン定義,関数定義の中でどのサブルーチン呼び出し,
関数呼び出しがあるかを求める必要がある。
の差異に起因して、コールグラフを生成する際に必要と
なる情報は、プログラミング言語ごとに異なっている。
そこで、各言語の構文解析木から抽出される情報に対し
て情報抽出手段6で所定の処理を施すことにより、上記
サブルーチンや関数などを言語に依存しない共通形式の
手続きとして表現するようにしている。
グラム中における関数aの定義,関数bの定義,関数c
の定義を、それぞれ手続きaの定義,手続きbの定義,
手続きcの定義というように表現する。また、図4に示
したFORTRANのソースプログラム中におけるプロ
グラムcの定義,サブルーチンaの定義,関数bの定義
を、それぞれ手続きcの定義,手続きaの定義,手続き
bの定義というように表現する。
フ生成器9は、C言語のソースプログラム7からもFO
RTRANのソースプログラム8からも必要な情報を取
り出してコールグラフを生成することができる。これに
より、各言語に対応するコールグラフ生成器を各言語ご
とに作る必要がなくなるので、コストを削減することが
できる。
に依存しない形でコールグラフ生成器を作ることができ
るので、対象とするプログラミング言語を追加する場合
に、その言語の構文解析木アクセス手段を作るだけで、
コールグラフ生成器には変更を加えることなく追加する
ことができ、その労力を軽減することができる。
必要な情報を抽出し、抽出した情報を共通形式に変換す
る際の動作について、図1,図2を参照して説明する。
まず、コールグラフ生成器9は、情報抽出手段6に対し
てC言語を対象とする旨の要求を送る。情報抽出手段6
の中の言語切替手段17は、この要求を受け取って、各
言語の構文解析木アクセス手段11,14,…の中か
ら、第1の言語の構文解析木アクセス手段11を選択す
る。
欲しいという要求がコールグラフ生成器9から情報抽出
手段6に対して出されると、その要求は上記言語切替手
段17を介して第1の言語の構文解析木アクセス手段1
1に与えられる。そして、この第1の言語の構文解析木
アクセス手段11により、第1の言語の構文解析木記憶
手段4に記憶されているC言語の構文解析木が解析さ
れ、必要な情報が抽出される。
に与えられる。そして、与えられた情報がC言語に特有
のものか否かがこの選択手段12により判別され、C言
語に特有でない情報のみが共通形式への変換手段13に
与えられて、言語に依存しない共通形式に変換される。
グラムの構文解析木からは、次のような情報が抽出され
る。 ・関数aの定義がある。 ・関数bの定義がある。 ・関数cの定義があり、その中で、 −関数aの呼び出しがある。 −関数bの呼び出しがある。
の変換手段13に与えられ、次のようなプログラミング
言語に依存しない共通形式の情報に変換される。 ・手続きaの定義がある。 ・手続きbの定義がある。 ・手続きcの定義があり、その中で、 −手続きaの呼び出しがある。 −手続きbの呼び出しがある。
された情報は、言語切替手段17を介してコールグラフ
生成器9に送られる。そして、こうして送られてきた情
報に基づいてコールグラフ生成器9で所定の処理が施さ
れることにより、図5に示すようなコールグラフが生成
される。
らの情報抽出装置においては、従来のように構文解析木
から抽出される情報の全てを中間形式に変換するのでは
なく、ツールからの要求に応じて対応する構文解析木か
ら取り出された情報のみを中間形式に変換するようにし
ている。このため、取り出された情報が構文解析木のど
の部分に対応しているのかを容易に判断することができ
るようになる。
結果に行番号やソースコードの一部を付けて出力した
り、構文解析木を変更する場合にその構文解析木がどこ
にあるのかを求めたりすることが容易になる。
グラミング言語に特有な部分については変換を行わない
ようにしているので、変換の際に言語特有な部分の情報
が失われてしまうという不都合をなくすことができる。
これにより、対象としているソースプログラムから必要
な情報を確実に取り出すことができる。
有な部分の情報についても処理を施すためには、その言
語専用のツール(例えば、第1の言語に特有な部分の情
報を処理するためのツール,第2の言語に特有な部分の
情報を処理するためのツールなど)を設けて、これらの
ツールによって処理する必要がある。しかし、これらの
ツールを設けたとしても、各言語に対応するツールを各
言語ごとに設けるといった従来技術に比べて、全体とし
てのツール数は格段に少なくなる。
情報抽出装置によれば、複数のプログラミング言語の構
文解析木を1つのツールで処理することができ、しか
も、どの言語の構文解析木を処理するのかを動的に選択
することができるので、構文解析木からの情報抽出を容
易に行うことができるようになり、これによってプログ
ラム解析ツールの開発作業の効率を向上させることがで
きる。また、各言語ごとに使用するツールを変える必要
がないので、オペレータにとっても非常に便利である。
要求に応じて対象としているプログラミング言語の構文
解析木から必要な情報を取り出し、これを言語に依存し
ない共通形式に変換してから上記ツールに供給するよう
にしたので、どのようなプログラミング言語を扱う場合
にも、言語に依存しない共通形式の情報がツールに与え
られるようになり、複数のプログラミング言語のソース
プログラムを1つのツールで処理することができるよう
になる。したがって、プログラミング言語に依存しない
形でツールを作ることができる。
構文解析木から取り出される情報のみを中間形式に変換
するようにしたので、取り出された情報が構文解析木の
どの部分に対応しているのかを判断することが容易にな
り、ツールにおける処理の結果を元のソースプログラム
に容易に反映させることができるようになる。
ラミング言語を1つのツールで処理することができ、か
つ、処理しようとするプログラミング言語を動的に選択
することができるようになるので、種々のプログラミン
グ言語から情報を抽出する際の労力を軽減してその情報
抽出を容易にすることができ、例えば、プログラム解析
ツールの開発の作業効率を向上させることができる。
でツールを作ることができるので、ツールには何の変更
も加えなくても済むようになる。これにより、対象とす
るプログラミング言語を追加する場合に、その言語用の
構文解析木アクセス手段を作るだけで対象とするプログ
ラミング言語を追加することができるようになり、プロ
グラミング言語を追加する際の労力を軽減することがで
きる。
木から抽出される情報のうち、プログラミング言語に特
有な情報については中間形式に変換しないようにしたの
で、中間形式への変換の際にプログラミング言語に特有
な部分の情報が失われてしまうという不都合をなくすこ
とができ、元のソースプログラムから必要な情報を確実
に取り出すことができる。
たプログラム解析システムの要部構成を示すブロック図
である。
である。
示す図である。
の一例を示す図である。
Claims (4)
- 【請求項1】 ソースプログラムの構文解析木から情報
を抽出し、所定の処理を施すようにしたツールに、上記
抽出した情報を提供する構文解析木からの情報抽出装置
であって、 種々のプログラミング言語で記述されているソースプロ
グラムからソースプログラムの構造を木構造で表現する
構文解析木を作成するために上記各プログラミング言語
ごとに設けられた複数の構文解析手段と、 上記複数の構文解析手段からそれぞれ出力される構文解
析木を上記ツールからの要求に応じて調べ、上記ツール
が対象としているプログラミング言語の構文解析木から
情報を抽出するとともに、上記抽出した情報を上記各プ
ログラミング言語に共通する形式に変換して上記ツール
に供給する情報抽出手段とを具備することを特徴とする
構文解析木からの情報抽出装置。 - 【請求項2】 上記情報抽出手段は、 上記複数の構文解析手段よりそれぞれ出力される構文解
析木から情報を抽出するために上記各プログラミング言
語ごとに設けられた複数の構文解析木アクセス手段と、 上記複数の構文解析木アクセス手段の中から上記ツール
が対象としているプログラミング言語に対応する構文解
析木アクセス手段を上記ツールからの要求に応じて選択
することにより、対象とする構文解析木アクセス手段を
切り替える言語切替手段と、 上記言語切替手段で選択された構文解析木アクセス手段
により抽出された情報を各プログラミング言語に共通す
る形式に変換する共通形式への変換手段とを有すること
を特徴とする請求項1に記載の構文解析木の情報抽出装
置。 - 【請求項3】 上記複数の構文解析木アクセス手段は、 構文解析木のノードを順番に辿っていくとともに、その
構文解析木が元のソースプログラムのどの部分に対応す
るのかを検出する構文解析木の移動・検出手段と、 上記ツールから与えられる要求に応じて構文解析木から
必要な情報を取り出す情報の抽出手段と、 上記ツールからの要求に応じて対象とする構文解析木を
変更する構文解析木の変更手段とを有することを特徴と
する請求項2記載の構文解析木からの情報抽出装置。 - 【請求項4】 上記言語切替手段で選択された構文解析
木アクセス手段により抽出された情報を上記各プログラ
ミング言語に共通する形式に変換するか否かを選択する
選択手段を具備することを特徴とする請求項2又は3記
載の構文解析木からの情報抽出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05495294A JP3328056B2 (ja) | 1994-03-01 | 1994-03-01 | 構文解析木からの情報抽出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05495294A JP3328056B2 (ja) | 1994-03-01 | 1994-03-01 | 構文解析木からの情報抽出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07239787A JPH07239787A (ja) | 1995-09-12 |
JP3328056B2 true JP3328056B2 (ja) | 2002-09-24 |
Family
ID=12985013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05495294A Expired - Lifetime JP3328056B2 (ja) | 1994-03-01 | 1994-03-01 | 構文解析木からの情報抽出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3328056B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009009362A (ja) * | 2007-06-28 | 2009-01-15 | Hitachi Information Systems Ltd | プログラムの変数管理システム |
KR101691600B1 (ko) * | 2016-04-28 | 2017-01-02 | 지티원 주식회사 | 공통 구조 변환 기반 프로그램 분석 방법 및 장치 |
US10379825B2 (en) * | 2017-05-22 | 2019-08-13 | Ab Initio Technology Llc | Automated dependency analyzer for heterogeneously programmed data processing system |
-
1994
- 1994-03-01 JP JP05495294A patent/JP3328056B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
情報処理学会第32回(昭和61年前期)全国大会講演論文集,p.357−358 |
Also Published As
Publication number | Publication date |
---|---|
JPH07239787A (ja) | 1995-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0406602B1 (en) | Method and apparatus for debugging parallel programs by serialization | |
CN103077064B (zh) | 一种解析并执行程序语言方法及解释装置 | |
JPH08202545A (ja) | ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法 | |
CN111427784A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
JP3328056B2 (ja) | 構文解析木からの情報抽出装置 | |
CN115221047A (zh) | 测试用例自动生成方法及电子设备 | |
KR0119286B1 (ko) | 실행 모듈들간의 시그널 정보 획득을 위한 장치 | |
JP2581381B2 (ja) | 自然言語インタフェース方式 | |
JPH06231181A (ja) | 分散データベース制御方式 | |
JPH10207738A (ja) | 言語処理システム | |
JP2501394B2 (ja) | 手続き呼び出し翻訳装置 | |
JP3014409B2 (ja) | 自然言語自動翻訳装置 | |
JPH05158673A (ja) | 異機種プログラム生成装置 | |
JPH0954704A (ja) | 言語プロセッサのテストプログラム自動作成システム | |
JP3141945B2 (ja) | コンパイル装置 | |
JPH05204705A (ja) | 未定義変数検出処理方法 | |
JPH04312130A (ja) | 言語処理プログラム | |
KR20020053972A (ko) | 에스디엘을 씨로 번역하기 위한 장치 및 그 방법 | |
JPH05181652A (ja) | プログラムリバース装置 | |
JPH06274351A (ja) | コンパイラの最適化方式 | |
KR920009141A (ko) | 전전자 교환기의 하드웨어 시험 명령어 처리방법 | |
JPH0795275B2 (ja) | コンパイル処理装置 | |
JPH0250730A (ja) | 共通機械語による言語変換方式 | |
JPH0695780A (ja) | 操作自動実行装置 | |
JPH0816371A (ja) | シミュレーションプログラム生成方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020604 |
|
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: 20080712 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080712 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090712 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090712 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100712 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110712 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110712 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120712 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120712 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130712 Year of fee payment: 11 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |