JP3034582B2 - Compile processing method - Google Patents
Compile processing methodInfo
- Publication number
- JP3034582B2 JP3034582B2 JP2273084A JP27308490A JP3034582B2 JP 3034582 B2 JP3034582 B2 JP 3034582B2 JP 2273084 A JP2273084 A JP 2273084A JP 27308490 A JP27308490 A JP 27308490A JP 3034582 B2 JP3034582 B2 JP 3034582B2
- Authority
- JP
- Japan
- Prior art keywords
- control line
- conditional expression
- source program
- processing
- optimization
- 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 - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、最適化のコンパイル処理を実行して、ソー
スプログラムに対応するオブジェクトを生成して出力す
るコンパイル処理方式に関し、特に、ソースプログラム
に最適化制御行を記述しなくても、最適化のコンパイル
処理を実行できるようにするコンパイル処理方式に関す
るものである。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a compile processing method for executing compile processing for optimization to generate and output an object corresponding to a source program. The present invention relates to a compile processing method that enables execution of compile processing for optimization without describing an optimization control line.
ソースプログラムの演算記述の最適化を実行していく
ためには、その演算記述の持つ配列のデータ依存関係を
求めていく必要がある。この配列のデータ依存関係によ
り、演算記述をベクトル演算していくことが可能である
か否かが判断できるようになり、また、複数のCPUでも
って並列実行していくことが可能であるか否かが判断で
きるようになるからである。これから、FORTRAN77で
は、ソースプログラムに、引用される配列の持つ添字の
データ関係を表示する最適化制御行(OCL)を記述させ
るように構成することで、演算記述の持つ配列のデータ
依存関係の解析処理を支援していくという方法を採って
いる。In order to optimize the operation description of the source program, it is necessary to obtain the data dependency of the array of the operation description. Based on the data dependency of this array, it is possible to determine whether or not it is possible to perform a vector operation on the operation description, and whether or not it is possible to execute the operation description in parallel with a plurality of CPUs. It is because it becomes possible to judge. From now on, FORTRAN77 will analyze the data dependency of the array which has the operation description by configuring the source program to describe the optimization control line (OCL) which displays the data relation of the subscript of the referenced array. The method of supporting processing is adopted.
従来のコンパイラでは、ソースプログラムに記述され
る最適化制御行の記述内容を用いて、最適化対象の演算
記述の持つ配列のデータ依存関係を特定して、その特定
したデータ依存関係に従って、ベクトル演算が可能であ
るとか、並列化実行が可能であるとかいうことを判断す
るように処理していた。Conventional compilers use the description contents of the optimization control line described in the source program to identify the data dependency of the array of the operation description to be optimized, and perform vector operation according to the specified data dependency. The processing is performed so as to determine whether the execution is possible or the parallel execution is possible.
例えば、第5図(a)に示すソースプログラムは、
「N>0」という条件が成立するときに、ベクトル演算
が可能になり、「N<0」という条件が成立するとき
に、ベクトル演算が不可能になるものであることから、
ソースプログラムを作成するプログラマは、データ処理
条件等から、「N>0」という条件が成立するというこ
とが判明しているときには、第5図(b)に示すよう
に、「N>0」であることを表示する最適化制御行 *VOCL LOOP,N.GT.0 をソースプログラムに記述していくことで、コンパイラ
が対応のベクトル命令を生成していくように処理してい
たのである。For example, the source program shown in FIG.
When the condition of “N> 0” is satisfied, the vector operation becomes possible, and when the condition of “N <0” is satisfied, the vector operation becomes impossible.
When it is known from the data processing conditions and the like that the condition of “N> 0” is satisfied, the programmer who creates the source program determines that “N> 0” as shown in FIG. By writing the optimization control line * VOCL LOOP, N.GT.0 in the source program to indicate that there was something, the compiler was processing to generate the corresponding vector instructions.
このようにして記述される最適化制御行は、最適化対
象の演算記述の持つ配列のデータ依存関係を特定するの
に用いられることになる。The optimization control line described in this manner is used to specify the data dependency of the array of the operation description to be optimized.
しかしながら、このような従来技術では、第5図の例
からも分かるように、条件式によって実行が制御される
部分にループがある場合には、条件式と同じことを最適
化制御行として記述していかなくてはならないという問
題点があった。これから、プログラマの負荷が増大して
しまうという問題点があったのである。そして、最適化
制御行の記述を忘れるようなことがあると、ベクトル演
算できるにもかかわらずスカラ命令が生成されてしま
い、プログラムの実行性能を劣化させてしまうことにな
るという問題点もあったのである。However, in such a conventional technique, as can be seen from the example of FIG. 5, when there is a loop in a portion whose execution is controlled by the conditional expression, the same as the conditional expression is described as an optimization control line. There was a problem that it had to go. Thus, there is a problem that the load on the programmer increases. If the description of the optimization control line is forgotten, a scalar instruction is generated despite the fact that the vector operation can be performed, and the execution performance of the program is degraded. It is.
本発明はかかる事情に鑑みてなされたものであって、
条件式によって実行が制御される部分にループがあるよ
うな場合には、ソースプログラムに最適化制御行を記述
しなくても、最適化のコンパイル処理を実行できるよう
にする新たなコンパイル処理方式の提供を目的とするも
のである。The present invention has been made in view of such circumstances,
If there is a loop in a part whose execution is controlled by a conditional expression, a new compile processing method that enables execution of compile processing for optimization without writing an optimization control line in the source program It is intended to be provided.
第1図は本発明の原理構成図である。 FIG. 1 is a diagram illustrating the principle of the present invention.
図中、1は本発明を具備するデータ処理装置であっ
て、ソースプログラムを対応のオブジェクトプログラム
にコンパイルするもの、2はデータ処理装置1によりコ
ンパイルされるソースプログラム、3はデータ処理装置
1により生成されるオブジェクトプログラムである。In the figure, reference numeral 1 denotes a data processing device equipped with the present invention, which compiles a source program into a corresponding object program; 2 denotes a source program compiled by the data processing device 1; Object program to be executed.
データ処理装置1は、ソースプログラム2の入力を受
け付けるプログラム入力部10と、プログラム入力部10に
より受け付けられたソースプログラム2の構文解析を行
って対応の中間言語を生成するログラム解析部11と、プ
ログラム解析部11の出力する中間言語に対して、並列化
処理やベクトル化処理等の各種の最適化処理を実行する
最適化部12と、最適化部12により最適化された中間言語
列に対応するオブジェクトプログラム3を生成して出力
するコード生成部13とを備える。The data processing device 1 includes a program input unit 10 that receives an input of the source program 2, a program analysis unit 11 that performs syntax analysis of the source program 2 received by the program input unit 10 and generates a corresponding intermediate language, The optimizer 12 performs various optimization processes such as parallelization and vectorization on the intermediate language output from the analyzer 11, and the intermediate language sequence optimized by the optimizer 12 is supported. A code generation unit 13 for generating and outputting the object program 3;
この最適化部12は、その最適化処理の実行のために、
ソースプログラム2に記述される条件判定文を検出する
とともに、検出した条件判定文の持つ条件式記述に対応
する中間言語を、ソースプログラム2に記述される最適
化制御行の中間言語表現に整合した形式で生成する条件
式認識部14と、ソースプログラム2に記述される最適化
制御行情報に従って、ソースプログラム2の演算記述の
持つ配列のデータ依存関係を認識するデータ依存関係認
識部15と、データ依存関係認識部15の認識結果により特
定される命令形態に応じた最適化命令を生成する命令生
成部16とを備える。The optimization unit 12 performs the optimization process by:
In addition to detecting the condition determination statement described in the source program 2, the intermediate language corresponding to the conditional expression description of the detected condition determination statement is matched with the intermediate language expression of the optimization control line described in the source program 2. A conditional expression recognizing unit 14 generated in a format, a data dependency recognizing unit 15 for recognizing a data dependency of an array of an operation description of the source program 2 according to the optimization control line information described in the source program 2, An instruction generating unit 16 that generates an optimized instruction according to the instruction form specified by the recognition result of the dependency relationship recognizing unit 15.
本発明では、条件式認識部14は、ソースプログラム2
に記述される条件判定文を検出すると、検出した条件判
定文の持つ条件式記述に対応する中間言語を最適化制御
行の中間言語表現に整合した形式で生成する。In the present invention, the conditional expression recognition unit 14
When the condition determination statement described in (1) is detected, an intermediate language corresponding to the conditional expression description of the detected condition determination statement is generated in a format consistent with the intermediate language expression of the optimization control line.
すなわち、条件式認識部14は、ソースプログラム2に
記述される条件判定文を検出して、その条件判定文の持
つ条件式記述を取り出すと、その取り出した条件式記述
について記述する最適化制御行の中間言語を生成するの
である。That is, the conditional expression recognizing unit 14 detects a conditional judgment statement described in the source program 2 and fetches the conditional expression description of the conditional judgment statement, and the optimization control line describing the fetched conditional expression description. To generate an intermediate language.
この生成される中間言語を受けて、データ依存関係認
識部15は、ソースプログラム2に記述される条件判定文
を持つ演算記述の配列のデータ依存関係を認識すること
で、その演算記述がベクトル演算できるものであると
か、並列実行できるものであるとか等の判断を行うこと
で、最適化処理の命令形態を決定する。そして、この決
定処理を受けて、命令生成部16は、生成可能な最適化命
令を生成していく。In response to the generated intermediate language, the data dependency recognition unit 15 recognizes the data dependency of the array of the operation description having the condition determination statement described in the source program 2 so that the operation description becomes a vector operation. The instruction form of the optimization process is determined by determining whether the instruction can be executed or can be executed in parallel. Then, in response to this determination processing, the instruction generation unit 16 generates an optimizable instruction that can be generated.
このように、本発明によれば、ソースプログラム2に
記述される条件判定文の条件式については、最適化制御
行を書かなくても、条件式認識部14の処理に従って、デ
ータ依存関係認識部15にそのデータ情報が通知されるこ
とになる。これから、条件式によって実行が制御される
部分にループがあるような場合に、ソースプログラム2
に最適化制御行を記述しなくても、最適化のコンパイル
処理を実行できるようになるので、プログラマの負荷が
大きく低減されることになるとともに、最適化制御行の
書き忘れによるプログラムの実行性能の劣化の発生を防
げるようになるのである。As described above, according to the present invention, the conditional expression of the condition determination statement described in the source program 2 can be processed according to the processing of the conditional expression recognition unit 14 without writing the optimization control line. 15 is notified of the data information. From now on, if there is a loop in the part whose execution is controlled by the conditional expression, the source program 2
Since the optimization compilation process can be executed without writing the optimization control line, the load on the programmer is greatly reduced, and the execution performance of the program due to forgetting to write the optimization control line is reduced. Therefore, it is possible to prevent the occurrence of deterioration.
以下、実施例に従って本発明を詳細に説明する。 Hereinafter, the present invention will be described in detail with reference to examples.
第2図に、第1図で説明した条件式認識部14の実行す
る処理のフローチャートの一実施例、第3図に、第1図
で説明したデータ依存関係認識部15の実行する処理のフ
ローチャートの一実施例を図示する。FIG. 2 shows an embodiment of a flowchart of a process executed by the conditional expression recognition unit 14 described in FIG. 1, and FIG. 3 shows a flowchart of a process executed by the data dependency recognition unit 15 described in FIG. 1 is illustrated.
次に、この第2図及び第3図のフローチャートに従っ
て、本発明の動作処理について詳細に説明する。Next, the operation processing of the present invention will be described in detail with reference to the flowcharts of FIGS.
条件式認識部14は、第2図のフローチャートに示すよ
うに、先ず最初に、ステップ1で、ソースプログラム2
中に記述される条件判定文の検出処理を実行する。次
に、ステップ2で、検出した条件判定文の持つ条件式を
取り出す処理を実行する。続いて、ステップ3で、条件
式の最適化制御行への変換処理を実行する。すなわち、
その条件式の持つデータ情報を最適化制御行の指定する
中間言語の表現に変換するのである。そして、最後に、
ステップ4で、その変換された条件式のデータ情報を最
適化制御行の中間言語表現に組み込んで処理を終了す
る。すなわち、条件式の持つデータ情報が、あたかも最
適化制御行で記述されてきたように組み込んで処理を終
了するのである。As shown in the flowchart of FIG. 2, the conditional expression recognizing unit 14 firstly executes the source program 2 in step 1.
Executes the detection processing of the condition judgment statement described therein. Next, in step 2, a process of extracting a conditional expression of the detected condition determination statement is executed. Subsequently, in step 3, a process of converting the conditional expression into an optimization control line is executed. That is,
The data information of the conditional expression is converted into an intermediate language expression specified by the optimization control line. And finally,
In step 4, the data information of the converted conditional expression is incorporated into the intermediate language expression of the optimization control line, and the process ends. That is, the data information of the conditional expression is incorporated as if it were described in the optimization control line, and the processing is terminated.
データ依存関係認識部15は、この条件式認識部14の処
理を受けて、第3図のフローチャートに示すように、先
ず最初に、ステップ10で、コンパイル対象の演算記述の
持つ配列引用を取り出す処理を実行する。次に、ステッ
プ11で、取り出した引用の添字からデータ依存関係が分
かるかどうかを判断する。この判断により、データ依存
関係が分からないと判断するときには、ステップ12に進
んで、最適化制御行を参照してデータ依存関係を求める
処理を実行する。このとき、条件式については、条件式
認識部14の処理に従って、最適化制御行が記述されたの
と同様に扱われることになる。続いて、ステップ13に進
んで、配列引用のすべての対について処理を実行したの
かの判断を行う。一方、ステップ11の判断により、デー
タ依存関係が分かるときには、最適化制御行を参照する
までもないので、直ちにステップ13に進んで、配列引用
のすべての対について処理を実行したのかの判断を行
う。In response to the processing of the conditional expression recognizing unit 14, the data dependency recognizing unit 15 first retrieves an array reference included in the operation description to be compiled in step 10, as shown in the flowchart of FIG. Execute Next, in step 11, it is determined whether or not the data dependency can be determined from the subscript of the extracted citation. If it is determined that the data dependency is not determined, the process proceeds to step 12, and a process of obtaining the data dependency by referring to the optimization control row is executed. At this time, the conditional expression is handled in the same manner as the description of the optimization control line according to the processing of the conditional expression recognition unit 14. Subsequently, the process proceeds to step 13, where it is determined whether or not the processing has been performed for all pairs of sequence references. On the other hand, if the data dependency is found by the determination in step 11, it is not necessary to refer to the optimization control line, so the process immediately proceeds to step 13 to determine whether or not the processing has been performed for all pairs of array references. .
このステップ13の判断で、すべての対について処理を
実行したと判断するときには、ステップ14に進んで、そ
のコンパイル対象の演算記述に対して、最適化の適用が
可能であるのか否かの判定処理を行って処理を終了す
る。すなわち、ベクトル化処理の適用の可否の判定処理
で説明するならば、その演算記述をスカラ演算で実行す
る場合に、「定義」して「参照」していく順序関係にあ
るときに、ベクトル演算で実行すると、「定義」して
「参照」していくという同じ順序関係になるならば、ベ
クトル演算が可能であると判断し、一方、「参照」して
「定義」するという逆の順序関係になるならば、ベクト
ル演算が不可能であると判断し、また、その演算記述を
スカラ演算で実行する場合に、「参照」して「定義」し
ていく順序関係にあるときに、ベクトル演算で実行する
と、「参照」して「定義」していくという同じ順序関係
になるならば、ベクトル演算が可能であると判断し、一
方、「定義」して「参照」するという逆の順序関係にな
るならば、ベクトル演算が不可能であると判断していく
ことで、ベクトル化処理の適用が可能であるのか否かを
判断するのである。If it is determined in step 13 that the processing has been executed for all pairs, the process proceeds to step 14 in which it is determined whether optimization can be applied to the operation description to be compiled. And terminate the processing. In other words, if it is described in the determination processing of the applicability of the vectorization processing, when the operation description is executed by the scalar operation, the vector operation is performed in the order of “definition” and “reference”. If it is executed, if it is the same order relationship of "define" and "reference", it is determined that vector operation is possible, while the opposite order relationship of "reference" and "define" If it is determined that vector operation is not possible, and if the operation description is executed by scalar operation, the vector operation If it is executed, it is determined that the vector operation is possible if the same order relationship of "reference" and "definition" is obtained, while the opposite order relationship of "define" and "reference" is performed. , The vector operation By going judged to be impossible, it is to determine whether it is possible to apply the vectorization processing.
このようにして、データ依存関係認識部15の処理に従
って、最適化の適用の可否が決定されると、第1図で説
明した命令生成部16は、その決定に従って、生成可能な
最適化命令を生成していく処理を実行する。In this way, when the applicability of the optimization is determined according to the processing of the data dependency relationship recognizing unit 15, the instruction generating unit 16 described with reference to FIG. Execute the generation process.
このようにして、本発明を用いることで、条件式によ
って実行が制御される部分にループがある場合には、条
件式と同じことを最適化制御行として記述しなくても、
第4図に示すように、どちら向きかのデータの依存関係
が分かることで、ベクトル命令を生成できるか否か等の
情報(第4図に示す例は、どちらもベクトル化が可能で
ある)が得られるようになるのである。In this way, by using the present invention, when there is a loop in a part whose execution is controlled by a conditional expression, the same thing as the conditional expression can be described as an optimization control line,
As shown in FIG. 4, by knowing the dependency of the data in either direction, information such as whether or not a vector instruction can be generated (in the example shown in FIG. 4, both can be vectorized) Can be obtained.
以上説明したように、本発明によれば、ソースプログ
ラムに記述される条件判定文の条件式については、最適
化制御行を書かなくてもデータ依存関係が求められるよ
うになる。これから、条件式によって実行が制御される
部分にループがあるような場合に、ソースプログラムに
最適化制御行を記述しなくても、最適化のコンパイル処
理を実行できるようになるので、プログラマの負荷が大
きく低減されることになるとともに、最適化制御行の書
き忘れによるプログラムの実行性能の劣化の発生を防げ
るようになるのである。As described above, according to the present invention, a data dependency can be obtained for a conditional expression of a condition determination statement described in a source program without writing an optimization control line. From now on, when there is a loop in the part whose execution is controlled by the conditional expression, it is possible to execute the optimization compilation process without writing the optimization control line in the source program, so that the load on the programmer can be increased. Is greatly reduced, and deterioration of the execution performance of the program due to forgetting to write the optimization control line can be prevented.
第1図は本発明の原理構成図、 第2図は条件式認識部の実行する処理のフローチャー
ト、 第3図はデータ依存関係認識部の実行する処理のフロー
チャート、 第4図は本発明の処理の説明図、 第5図は従来技術の説明図である。 図中、1はデータ処理装置、2はソースプログラム、3
はオブジェクトプログラム、10はプログラム入力部、11
はプログラム解析部、12は最適化部、13はコード生成
部、14は条件式認識部、15はデータ依存関係認識部、16
は命令生成部である。FIG. 1 is a block diagram showing the principle of the present invention, FIG. 2 is a flowchart of a process executed by a conditional expression recognition unit, FIG. 3 is a flowchart of a process executed by a data dependency recognition unit, and FIG. FIG. 5 is an explanatory diagram of the prior art. In the figure, 1 is a data processing device, 2 is a source program, 3
Is an object program, 10 is a program input section, 11
Is a program analyzer, 12 is an optimizer, 13 is a code generator, 14 is a conditional expression recognizer, 15 is a data dependency recognizer, 16
Is an instruction generation unit.
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/45 G06F 17/16 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 9/45 G06F 17/16
Claims (1)
イル処理方式において、 ソースプログラムに記述される条件判定文を検出して、
その条件判定文の持つ条件式記述を取り出す検出手段
と、 上記検出手段の取り出した条件式記述に従って、上記検
出手段により検出された条件判定文の制御を受ける演算
記述の持つ配列のデータ依存関係の認識に必要となる情
報について記述する最適化制御行の中間言語を生成する
最適化制御行生成手段と、 上記最適化制御行生成手段の生成した最適化制御行の中
間言語に従って、上記検出手段により検出された条件判
定文の制御を受ける演算記述の持つ配列のデータ依存関
係を認識する認識手段と、 上記認識手段の認識結果により特定される命令形態に応
じた最適化命令を生成する命令生成手段とを備えること
を、 特徴とするコンパイル処理方式。In a compile processing method for compiling a source program, a condition judgment statement described in the source program is detected,
Detecting means for retrieving the conditional expression description of the condition determination statement; and, in accordance with the conditional expression description retrieved by the detecting means, the data dependency of the array of the operation description controlled by the condition determination statement detected by the detecting means. Optimizing control line generating means for generating an intermediate language of an optimizing control line describing information necessary for recognition; and the detecting means according to the intermediate language of the optimizing control line generated by the optimizing control line generating means. Recognition means for recognizing data dependence of an array of an operation description under control of the detected condition determination statement, and instruction generation means for generating an optimization instruction corresponding to an instruction form specified by a recognition result of the recognition means And a compiling method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2273084A JP3034582B2 (en) | 1990-10-11 | 1990-10-11 | Compile processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2273084A JP3034582B2 (en) | 1990-10-11 | 1990-10-11 | Compile processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04148337A JPH04148337A (en) | 1992-05-21 |
JP3034582B2 true JP3034582B2 (en) | 2000-04-17 |
Family
ID=17522922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2273084A Expired - Fee Related JP3034582B2 (en) | 1990-10-11 | 1990-10-11 | Compile processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3034582B2 (en) |
-
1990
- 1990-10-11 JP JP2273084A patent/JP3034582B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04148337A (en) | 1992-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6292939B1 (en) | Method of reducing unnecessary barrier instructions | |
US5598561A (en) | Optimizing compiler which generates multiple instruction streams to be executed in parallel | |
JPH05257709A (en) | Parallelism discriminating method and parallelism supporting method using the same | |
JPH06314203A (en) | Method and device for optimizing compiler | |
US5522074A (en) | Vectorization system for vectorizing loop containing condition induction variables | |
US8762974B1 (en) | Context-sensitive compiler directives | |
JPH07110800A (en) | Optimized parallel compiling device and optimized parallel compiling method | |
JP3034582B2 (en) | Compile processing method | |
JP2001125792A (en) | Optimization promoting device | |
KR20080045545A (en) | Method of pre-processing conditional region | |
US20160110174A1 (en) | Assisting parallelization of a computer program | |
JPH0379741B2 (en) | ||
JP2956591B2 (en) | Method and apparatus for parallelizing a loop having a conditional jump out of the loop | |
JP3956113B2 (en) | Data processing apparatus and program | |
JPH0440742B2 (en) | ||
JPH11195011A (en) | Language translation processor, language translation processing method and record medium recording language translation processing program | |
JPH1139155A (en) | Static analysis method of execution performance via collection of information in compiling mode | |
JP2864589B2 (en) | Function value difference output system | |
JP2682215B2 (en) | Procedure call method during parallel processing | |
JPH0535494A (en) | Interactive optimization compile system for high-level program language | |
JPS61285544A (en) | Program executing method | |
JPH04343140A (en) | Parallelized processing system | |
JPH04332044A (en) | Vectorization processing system for compiler | |
JPH0512033A (en) | Parallel compiling system | |
JP2007233805A (en) | Program conversion system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080218 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |