[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2000276356A - コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体 - Google Patents

コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体

Info

Publication number
JP2000276356A
JP2000276356A JP11081103A JP8110399A JP2000276356A JP 2000276356 A JP2000276356 A JP 2000276356A JP 11081103 A JP11081103 A JP 11081103A JP 8110399 A JP8110399 A JP 8110399A JP 2000276356 A JP2000276356 A JP 2000276356A
Authority
JP
Japan
Prior art keywords
instruction
intermediate language
instructions
generating
sequence
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
JP11081103A
Other languages
English (en)
Other versions
JP3323147B2 (ja
Inventor
Tetsuya Fujisawa
哲也 藤澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Software Kobe Ltd
Original Assignee
NEC Software Kobe Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Software Kobe Ltd filed Critical NEC Software Kobe Ltd
Priority to JP08110399A priority Critical patent/JP3323147B2/ja
Publication of JP2000276356A publication Critical patent/JP2000276356A/ja
Application granted granted Critical
Publication of JP3323147B2 publication Critical patent/JP3323147B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 短い処理時間で実行速度の速い命令列を生成
することのできるコンパイル装置を提供する。 【解決手段】 中間語生成手段102はソースプログラ
ム106から中間語107を生成する。命令並び替え範
囲決定手段103は中間語107の命令列を調査し、選
ばれなかった命令との間に依存関係がない命令を選んで
命令並び替え範囲を設定して第1の命令列108を生成
する。命令スケジュール手段104は第1の命令列10
8の命令並び替え範囲内の命令を、中間語をより速く実
行できるよう並び替えて、第2の命令列109を生成す
る。オブジェクトプログラム生成手段105は第2の命
令列109からオブジェクトプログラム110を生成す
る。命令並べ替え範囲に含まれる命令の限界数はあらか
じめ設定しておく。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はトレーススケジュー
リング法を用いた最適化コンパイラの、特に命令並び替
え範囲の決定を行うコンパイル装置、コンパイル方法お
よびコンパイラプログラムを記録した記録媒体に関す
る。
【0002】
【従来の技術】従来のトレーススケジューリング法を用
いた最適化コンパイラシステムの一例が、「1990年6
月、情報処理、Vol.31、No.6、764〜767ページ、中谷登
志男、VLIW計算機のためのコンパイラ技術、4.トレ
ース・スケジューリング法」に記載されている。
【0003】従来のトレーススケジューリング法を用い
た最適化コンパイラシステムは、「ソースプログラムを
中間語に翻訳する翻訳手段」と、「中間語の命令列を並
び替える範囲を決定する並び替え範囲決定手段」と、そ
の範囲の中で「中間語をより速く実行できるよう並び替
える命令並び替え手段」と、「並び替えられた中間語を
機械語命令として出力する機械語命令生成手段」から構
成されている。
【0004】このような構成を有する従来の最適化コン
パイラシステムは次のように動作する。 (1)ソースプログラムを中間語に翻訳する。 (2)中間語の命令列から、命令の並び替えを行う範囲
を決定する。
【0005】この命令の並び替え範囲の決定は、以下の
ような手順で行う。 (2−1)中間語の命令列から処理の流れを示す流れ図
を作成する。 (2−2)その流れ図の中で、予想される実行回数が最
も多い命令を探す。 (2−3)実行回数が最も多い命令から流れ図を前後に
たどり、命令の並び替え範囲を決定する。 (3)命令並び替え範囲の中で命令を並び替える。
【0006】この命令の並び替えは、以下のような手順
で行う。 (3−1)命令並び替えの範囲の中で命令間の依存関係
を解析し、ある時点で、その命令の使用するデータがそ
ろっており、実行可能状態にある命令をすべて抽出す
る。 (3−2)実行可能状態にある命令のうち、その命令の
実行に要する資源と、先行する他の命令の実行に要する
資源とが衝突しない命令をひとつ選択し、プロセッサの
資源を割り当てる。 (3−3)すべての命令の処理が終わるまで繰り返すこ
とで、命令を選択された順に並び替える。 (4)並び替えた中間語を機械語命令として出力する。
【0007】
【発明が解決しようとする課題】上述した従来のコンパ
イラシステムの第1の問題点は、並び替えの対象となる
命令の数が多くなると、各命令を並び替えるのに要する
時間が多くなり過ぎるということである。
【0008】その理由は、ある命令の並び替えを行おう
とした場合に、依存関係のない他のすべての命令に対し
て要求する資源が衝突しないかどうかを調べる必要があ
るためである。
【0009】第2の問題点は、上述の問題を回避するた
めに、並び替えの対象とする命令を制限すると、命令の
並び替え範囲に選ばれた命令と選ばれなかった命令との
間でデータの転送が行われ、実行速度が低下するという
ことである。
【0010】その理由は、命令の並び順に並び替え対象
の命令を決定すると、並び替えの対象にならなかった命
令で使用するデータを定義する命令にもプロセッサの資
源(レジスタ)が割り当てられるが、レジスタの個数が
有限であるために、先行する命令の演算結果を常にレジ
スタ上に保持しておくことは出来ず、メモリとレジスタ
の間でデータの転送が行われるためである。
【0011】本発明の目的は、短い処理時間で実行速度
の速い命令列を生成できるように命令並び替えを行うコ
ンパイル装置、コンパイル方法およびコンパイラプログ
ラムを記録した記録媒体を提供することにある。
【0012】
【課題を解決するための手段】本発明のコンパイル装置
は、ソースプログラムから中間語を生成する中間語生成
手段と、前記中間語の命令列を調査して選ばれなかった
命令との間に依存関係がない命令を選んで命令並び替え
範囲を設定した第1の命令列を生成する命令並び替え範
囲決定手段と、前記第1の命令列から前記命令並び替え
範囲内の命令を並び替えて第2の命令列を生成する命令
スケジュール手段と、前記第2の命令列からオブジェク
トプログラムを生成するオブジェクトプログラム生成手
段とを備えたことを特徴とする。
【0013】本発明のコンパイル装置は、前記命令並べ
替え範囲に含まれる命令の限界数をあらかじめ設定した
ことを特徴としてもよい。
【0014】本発明のコンパイル装置は、前記命令スケ
ジュール手段は、前記命令並び替え範囲内の命令を前記
中間語をより速く実行できるよう並び替えて前記第2の
命令列を生成することを特徴としてもよい。
【0015】本発明のコンパイル方法は、ソースプログ
ラムから中間語を生成し、前記中間語の命令列を調査し
て選ばれなかった命令との間に依存関係がない命令を選
んで命令並び替え範囲を設定した第1の命令列を生成
し、前記第1の命令列から前記命令並び替え範囲内の命
令を並び替えて第2の命令列を生成し、前記第2の命令
列からオブジェクトプログラムを生成することを特徴と
する。
【0016】本発明のコンパイル方法は、前記命令並べ
替え範囲に含まれる命令の限界数をあらかじめ設定した
ことを特徴としてもよい。
【0017】本発明のコンパイル方法は、前記命令並び
替え範囲内の命令を前記中間語をより速く実行できるよ
う並び替えて前記第2の命令列を生成することを特徴と
してもよい。
【0018】本発明の記録媒体は、ソースプログラムか
ら中間語を生成する中間語生成処理と、前記中間語の命
令列を調査して選ばれなかった命令との間に依存関係が
ない命令を選んで命令並び替え範囲を設定した第1の命
令列を生成する命令並び替え範囲決定処理と、前記第1
の命令列から前記命令並び替え範囲内の命令を並び替え
て第2の命令列を生成する命令スケジュール処理と、前
記第2の命令列からオブジェクトプログラムを生成する
オブジェクトプログラム生成処理とをコンピュータに実
行させるためのコンパイラプログラムを記録したことを
特徴とする。
【0019】本発明の記録媒体は、前記命令並べ替え範
囲に含まれる命令の限界数をあらかじめ設定したことを
特徴としてもよい。
【0020】本発明の記録媒体は、前記命令スケジュー
ル処理は、前記命令並び替え範囲内の命令を前記中間語
をより速く実行できるよう並び替えて前記第2の命令列
を生成することを特徴としてもよい。
【0021】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0022】図1は本発明の第1の実施の形態の構成を
示すブロック図である。図1を参照すると、コンパイル
装置101は、中間語生成手段102、命令並び替え範
囲決定手段103、命令スケジュール手段104、オブ
ジェクトプログラム生成手段105から構成されてい
る。
【0023】中間語生成手段102は、ソースプログラ
ム106を読み込み、構文解析および意味解析を行い、
中間語107を生成する。
【0024】命令並び替え範囲決定手段103は、中間
語107から処理の流れを表すフローグラフを作成する
フローグラフ作成手段111と、各命令の依存関係を調
査する依存関係判定手段112と、依存関係のある命令
群とそれ以外の命令群とを並び替える命令並び替え手段
113を備える。この命令並び替え範囲決定手段103
は、中間語107から第1の命令列108を生成する。
【0025】命令スケジュール手段104は、第1の命
令列108から中間語107をより速く実行できるよう
並び替えた第2の命令列109を生成する。
【0026】オブジェクトプログラム生成手段105
は、第2の命令列109からオブジェクトプログラム1
10を生成する。
【0027】次に、図1および図2を参照して本実施の
形態の全体の動作について詳細に説明する。図2は命令
並び替え範囲決定手段103の動作を示すフローチャー
トである。ステップ201〜204はフローグラフ作成
手段111の動作である。ステップ205以降は依存関
係判定手段112と命令並べ替え手段113との動作で
ある。
【0028】まず、図2の初期化処理(ステップ20
1)で命令並び替え範囲決定手段103の初期化を行
う。
【0029】ステップ202で中間語がまだあるかどう
かを調べ、もしまだあれば、中間語取り出し処理(ステ
ップ203)に進み、中間語107から中間語をひとつ
取り出す。
【0030】さらに、中間語変換処理(ステップ20
4)に進み、ステップ203で取り出したひとつの中間
語をひとつの命令に変換する。
【0031】次に、依存関係解析処理(ステップ20
5)に進み、ステップ204で変換した命令が使用する
データを定義している命令が命令チェーンに登録されて
いればステップ204で変換した命令が使用するデータ
を定義している命令をチェーンから解除する。
【0032】さらに、命令チェーン登録処理(ステップ
206)に進み、ステップ204で変換した命令を命令
チェーンに登録する。
【0033】ステップ202〜ステップ206を中間語
107の中に中間語がひとつもなくなるまで繰り返す。
【0034】この段階で、命令チェーンには定義したデ
ータをそれ以降のどの命令でも使用されない命令、ある
いはデータを定義しない命令が登録されている。
【0035】次に、ステップ207で命令チェーンが存
在するか、命令並び替え範囲に含まれる命令の限界数を
越えていないかどうかを調べ、もし、命令チェーンが存
在し、命令並び替え範囲に含まれる命令の限界数を越え
ていなければ、命令選択処理1(ステップ208)に進
み、命令チェーンからひとつ命令を取り出す。命令並び
替え範囲に含まれる命令の限界数は、あらかじめ設定し
ておく。
【0036】さらに、命令マーク処理(ステップ20
9)に進み、命令にマークする。
【0037】次に、ステップ210でステップ208で
選択した命令が使用するデータがあるかどうかを調べ、
もし、存在すれば、再帰呼出し処理(ステップ211)
に進み、命令が使用するデータを定義する命令、さらに
その命令が使用するデータを定義する命令・・・といっ
た風に再帰的に、ステップ209〜ステップ211を繰
り返す。
【0038】もし、依存する命令がなければ、再帰的処
理から抜け出し、最終的にステップ207から処理を繰
り返す。
【0039】次に、ステップ212に進み命令列を順に
たどる。まだ、最後でなければ、命令選択処理2(ステ
ップ213)に進み、命令をひとつ選択する。
【0040】さらに、ステップ214に進み、ステップ
213で選択した命令がステップ209でマークされて
いるかどうかを調べる。
【0041】もし、マークされていなければ、命令並び
替え処理(ステップ215)に進み、その命令を命令列
の最後に付け足す。
【0042】ステップ212〜ステップ215を命令列
がなくなるまで繰り返す。
【0043】この段階で、命令列はステップ209でマ
ークされた命令とステップ209でマークされていない
命令がそれぞれ連続している。
【0044】次に命令並び替え範囲決定処理(ステップ
216)に進み、命令列のうちステップ209でマーク
された命令の含まれる範囲を命令並び替え範囲として決
定する。
【0045】最後に、終了処理(ステップ217)に進
み処理を終わる。
【0046】このようにして、命令並び替え範囲決定手
段103で第1の命令列108を生成する。命令スケジ
ュール手段104では、第1の命令列108の内、命令
並び替え範囲として決定された範囲内の命令を、中間語
をより速く実行できるように並べ替えて、第2の命令列
109を生成する。
【0047】次に、本発明の第2の実施の形態について
説明する。図3は本発明の第2の実施の形態の構成を示
すブロック図である。図3を参照すると、第2の実施の
形態は、コンパイル装置101と記録媒体121を含
む。記録媒体121は、コンパイラプログラムを記録し
ている。この記録媒体121は、磁気ディスク、半導体
メモリ、光ディスク、その他の記録媒体であってよい。
【0048】コンパイラプログラムは記録媒体121か
らコンパイル装置101に読み込まれ、第1の実施の形
態における中間語生成手段102、命令並び替え範囲決
定手段103、命令スケジュール手段104、オブジェ
クトプログラム生成手段105の処理と同様の処理を行
う。
【0049】コンパイラプログラムは、ソースプログラ
ム106から中間語107を生成する中間語生成処理
と、中間語107の命令列を調査して選ばれなかった命
令との間に依存関係がない命令を選んで命令並び替え範
囲を設定した第1の命令列108を生成する命令並び替
え範囲決定処理と、第1の命令列108から命令並び替
え範囲内の命令を中間語をより速く実行できるよう並び
替えて第2の命令列109を生成する命令スケジュール
処理と、第2の命令列109からオブジェクトプログラ
ム110を生成するオブジェクトプログラム生成処理と
を行う。命令並べ替え範囲に含まれる命令の限界数はあ
らかじめ設定しておく。
【0050】
【発明の効果】以上説明したように、本発明は、命令の
並び替え範囲に含まれる命令の最大数を越えないため、
さらに、命令の並び替え範囲として選んだ命令は、選ば
れなかった命令との間にデータの依存が存在しないの
で、境界でデータの転送が行われないため、処理時間の
著しい増加を招くことなく、実行速度の速い命令列を生
成することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示すブロッ
ク図である。
【図2】命令並び替え範囲決定手段の動作を示すフロー
チャートである。
【図3】本発明の第2の実施の形態の構成を示すブロッ
ク図である。
【符号の説明】
101 コンパイル装置 102 中間語生成手段 103 命令並び替え範囲決定手段 104 命令スケジュール手段 105 オブジェクトプログラム生成手段 106 ソースプログラム 107 中間語 108 第1の命令列 109 第2の命令列 110 オブジェクトプログラム 111 フローグラフ作成手段 112 依存関係判定手段 113 命令並び替え手段 121 記録媒体

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムから中間語を生成する
    中間語生成手段と、前記中間語の命令列を調査して選ば
    れなかった命令との間に依存関係がない命令を選んで命
    令並び替え範囲を設定した第1の命令列を生成する命令
    並び替え範囲決定手段と、前記第1の命令列から前記命
    令並び替え範囲内の命令を並び替えて第2の命令列を生
    成する命令スケジュール手段と、前記第2の命令列から
    オブジェクトプログラムを生成するオブジェクトプログ
    ラム生成手段とを備えたことを特徴とするコンパイル装
    置。
  2. 【請求項2】 前記命令並べ替え範囲に含まれる命令の
    限界数をあらかじめ設定したことを特徴とする請求項1
    記載のコンパイル装置。
  3. 【請求項3】 前記命令スケジュール手段は、前記命令
    並び替え範囲内の命令を前記中間語をより速く実行でき
    るよう並び替えて前記第2の命令列を生成することを特
    徴とする請求項1または2記載のコンパイル装置。
  4. 【請求項4】 ソースプログラムから中間語を生成し、
    前記中間語の命令列を調査して選ばれなかった命令との
    間に依存関係がない命令を選んで命令並び替え範囲を設
    定した第1の命令列を生成し、前記第1の命令列から前
    記命令並び替え範囲内の命令を並び替えて第2の命令列
    を生成し、前記第2の命令列からオブジェクトプログラ
    ムを生成することを特徴とするコンパイル方法。
  5. 【請求項5】 前記命令並べ替え範囲に含まれる命令の
    限界数をあらかじめ設定したことを特徴とする請求項4
    記載のコンパイル方法。
  6. 【請求項6】 前記命令並び替え範囲内の命令を前記中
    間語をより速く実行できるよう並び替えて前記第2の命
    令列を生成することを特徴とする請求項4または5記載
    のコンパイル方法。
  7. 【請求項7】 ソースプログラムから中間語を生成する
    中間語生成処理と、前記中間語の命令列を調査して選ば
    れなかった命令との間に依存関係がない命令を選んで命
    令並び替え範囲を設定した第1の命令列を生成する命令
    並び替え範囲決定処理と、前記第1の命令列から前記命
    令並び替え範囲内の命令を並び替えて第2の命令列を生
    成する命令スケジュール処理と、前記第2の命令列から
    オブジェクトプログラムを生成するオブジェクトプログ
    ラム生成処理とをコンピュータに実行させるためのコン
    パイラプログラムを記録したことを特徴とする記録媒
    体。
  8. 【請求項8】 前記命令並べ替え範囲に含まれる命令の
    限界数をあらかじめ設定したことを特徴とする請求項7
    記載の記録媒体。
  9. 【請求項9】 前記命令スケジュール処理は、前記命令
    並び替え範囲内の命令を前記中間語をより速く実行でき
    るよう並び替えて前記第2の命令列を生成することを特
    徴とする請求項7または8記載の記録媒体。
JP08110399A 1999-03-25 1999-03-25 コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体 Expired - Fee Related JP3323147B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08110399A JP3323147B2 (ja) 1999-03-25 1999-03-25 コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08110399A JP3323147B2 (ja) 1999-03-25 1999-03-25 コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000276356A true JP2000276356A (ja) 2000-10-06
JP3323147B2 JP3323147B2 (ja) 2002-09-09

Family

ID=13737061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08110399A Expired - Fee Related JP3323147B2 (ja) 1999-03-25 1999-03-25 コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3323147B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020240830A1 (ja) * 2019-05-31 2020-12-03 三菱電機株式会社 検知装置、検知方法、及び、検知プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020240830A1 (ja) * 2019-05-31 2020-12-03 三菱電機株式会社 検知装置、検知方法、及び、検知プログラム
JPWO2020240830A1 (ja) * 2019-05-31 2021-10-21 三菱電機株式会社 検知装置、検知方法、及び、検知プログラム

Also Published As

Publication number Publication date
JP3323147B2 (ja) 2002-09-09

Similar Documents

Publication Publication Date Title
US5606697A (en) Compiler system for language processing program
JP2004302706A (ja) プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム
EP0428560A1 (en) Machine process for translating programs in binary machine language into another binary machine language
JPH04307625A (ja) ループ最適化方法及び装置
JP2002149416A (ja) プログラムの最適化方法及びこれを用いたコンパイラ
JP2000035893A (ja) デ―タ処理システムの配列の静的初期化方法、デ―タ処理方法、並びにデ―タ処理システム及びその制御手順をコンピュ―タに実行させるプログラムを記憶したコンピュ―タ読み取り可能な記憶媒体
US9256437B2 (en) Code generation method, and information processing apparatus
JP3651774B2 (ja) コンパイラ及びそのレジスタ割付方法
JP2006338616A (ja) コンパイラ装置
JP2002527816A (ja) プログラム最適化装置および方法
JP3323147B2 (ja) コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体
JP2001125792A (ja) 最適化促進装置
JPH08305583A (ja) Cpuシミュレーション方法
JPH02176938A (ja) 機械語命令最適化方式
JP3608993B2 (ja) コンパイラ装置及びコンパイラプログラムを記録した記録媒体
JP3473391B2 (ja) プログラム処理方法、プログラム処理装置及び記録媒体
JP7026563B2 (ja) 高位合成方法、高位合成プログラム、高位合成装置
US20080282237A1 (en) Method and Apparatus For Generating Execution Equivalence Information
JP3152194B2 (ja) コンパイル装置、コンパイル方法およびコンパイラを記録した記録媒体
JP3018783B2 (ja) コンパイル方式
JP3551352B2 (ja) ループ分割方法
JPH0561687A (ja) コンパイラの処理方式
JP2004062324A (ja) 最適化コンパイル装置、プログラム最適化方法、プログラム、及び記憶媒体
JPH11195011A (ja) 言語翻訳処理装置、言語翻訳処理方法、言語翻訳処理プログラムを記録した記録媒体
JP2000242504A (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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080628

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090628

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100628

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100628

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110628

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120628

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120628

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130628

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees