JP2009211458A - コンパイラ、変数最適化装置、方法、及び、プログラム - Google Patents
コンパイラ、変数最適化装置、方法、及び、プログラム Download PDFInfo
- Publication number
- JP2009211458A JP2009211458A JP2008054361A JP2008054361A JP2009211458A JP 2009211458 A JP2009211458 A JP 2009211458A JP 2008054361 A JP2008054361 A JP 2008054361A JP 2008054361 A JP2008054361 A JP 2008054361A JP 2009211458 A JP2009211458 A JP 2009211458A
- Authority
- JP
- Japan
- Prior art keywords
- array
- expression
- formula
- variable
- intermediate code
- 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
Images
Abstract
【解決手段】宣言情報・配列式検出手段21は、中間コード32を入力し、ソースプログラム31における配列の宣言情報、及び、配列式を検出し、宣言情報テーブル、配列式テーブル33に登録する。参照配列検出手段22は、宣言情報テーブル、配列式テーブル33を参照して配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状とを参照配列テーブルに登録する。変数関係確定手段23は、同一配列式で参照する配列の各次元の寸法が同じであることを利用して、下限/上限を定義する変数を定数化する。または、変数間の関係式を決定する。変数置換手段25は、中間コードに含まれる変数を、定数化した値、又は、決定した関係式を用いて置換する。
【選択図】図1
Description
11:中間コード生成部
12、15:変数最適化部
13:最適化部
14:コード生成部
21:宣言情報・配列式検出手段
22:参照配列検出手段
23:変数関係確定手段
24:変数定義検出手段
25:変数置換手段
26:参照配列・連続出現配列式検出手段
27:寸法比較手段
28:分岐追加手段
31:ソースプログラム
32、36、37:中間コード
33:宣言情報テーブル、配列式テーブル
34、39:参照配列テーブル
35:確定変数テーブル
38:オブジェクトプログラム
40:最適化候補配列式リスト
Claims (18)
- 配列式を含むソースプログラムに基づく中間コードを入力し、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する宣言情報・配列式検出部と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状とを参照配列テーブルに登録する参照配列検出部と、
前記参照配列テーブル及び宣言情報テーブルを参照し、同一配列式で参照する配列の各次元の寸法が同じであることを利用して、前記下限/上限を定義する変数を定数化し、又は、変数間の関係式を決定し、定数化した定数又は決定した関係式を確定変数テーブルに登録する変数関係確定部と、
前記確定変数テーブルに登録された定数又は関係式を用いて、前記中間コードに含まれる変数を、前記定数又は関係式で置換する変数置換部とを備える変数最適化装置。 - 前記配列式で参照する配列が、全配列と部分配列とを含んでおり、前記参照配列検出部は、全配列については、前記宣言情報テーブルに登録されている当該配列の下限/上限を前記参照配列テーブルに登録し、部分配列については、配列式での参照箇所の下限/上限を前記参照配列テーブルに登録する、請求項1に記載の変数最適化装置。
- 前記変数関係確定部は、前記定数化又は関係式の決定に用いた配列式を、決定式として確定変数テーブルに登録する、請求項2に記載の変数最適化装置。
- 前記決定式前後の中間コードを検索して、前記関係式が、部分配列の下限/上限に現れる変数を参照しているか否かを調べ、参照しているときには、前記決定式の前後で、前記関係式に含まれる変数の値を定義する式を検索し、検索された前定義式及び後定義式を前記確定変数テーブルに登録する変数定義決定部を更に備える、請求項3に記載の変数最適化装置。
- 前記変数置換部は、前記前定義式と前記後定義式との間の中間コードを検索し、前記確定変数テーブルに登録された定数又は関係式を用いて、前記中間コードに含まれる変数を、前記定数又は関係式で置換する、請求項4に記載の変数最適化装置。
- 前記変数関係確定部は、前記同一配列式内に部分配列と全配列とが含まれ、かつ、部分配列の参照箇所の下限/上限を定義する変数と、全配列の下限/上限を定義する変数とが異なるときは、上限と下限との差が、両変数間で等しいことを利用して、前記部分配列の参照箇所の下限/上限を定義する変数を左辺又は右辺の何れか一方に配置し、全配列の下限/上限を定義する変数を他方に配置した式を前記関係式として決定する、請求項2乃至5の何れか一に記載の変数最適化装置。
- 配列式を含むソースプログラムに基づいて中間コードを生成する中間コード生成部と、
前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する宣言情報・配列式検出部と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状とを参照配列テーブルに登録する参照配列検出部と、
前記参照配列テーブル及び宣言情報テーブルを参照し、同一配列式で参照する配列の各次元の寸法が同じであることを利用して、前記下限/上限を定義する変数を定数化し、又は、変数間の関係式を決定し、定数化した定数又は決定した関係式を確定変数テーブルに登録する変数関係確定部と、
前記確定変数テーブルに登録された定数又は関係式を用いて、前記中間コードに含まれる変数を、前記定数又は関係式で置換する変数置換部と、
前記変数置換部にて変数置換が行われた中間コードに対して、少なくともループ最適化及び共通式の削除を行い、処理後の中間コードを出力する最適化部と、
前記最適化部が出力する中間コードに基づいて、オブジェクトプログラムを生成するコード生成部とを有するコンパイラ。 - コンピュータを用い、配列式を含むソースプログラムに基づく中間コードにおける変数の最適化処理を行う方法であって、
前記コンピュータが、前記ソースプログラムに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録するステップと、
前記コンピュータが、前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状とを参照配列テーブルに登録するステップと、
前記コンピュータが、前記参照配列テーブル及び宣言情報テーブルを参照し、同一配列式で参照する配列の各次元の寸法が同じであることを利用して、前記下限/上限を定義する変数を定数化し、又は、変数間の関係式を決定し、定数化した定数又は決定した関係式を確定変数テーブルに登録するステップと、
前記コンピュータが、前記確定変数テーブルに登録された定数又は関係式を用いて、前記中間コードに含まれる変数を、前記定数又は関係式で置換するステップとを有する変数最適化方法。 - コンピュータを用い、配列式を含むソースプログラムのコンパイルを行うコンパイル方法であって、
前記コンピュータが、配列式を含むソースプログラムに基づいて中間コードを生成するステップと、
前記コンピュータが、前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録するステップと、
前記コンピュータが、前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状とを参照配列テーブルに登録するステップと、
前記コンピュータが、前記参照配列テーブル及び宣言情報テーブルを参照し、同一配列式で参照する配列の各次元の寸法が同じであることを利用して、前記下限/上限を定義する変数を定数化し、又は、変数間の関係式を決定し、定数化した定数又は決定した関係式を確定変数テーブルに登録するステップと、
前記コンピュータが、前記確定変数テーブルに登録された定数又は関係式を用いて、前記中間コードに含まれる変数を、前記定数又は関係式で置換するステップと、
前記コンピュータが、前記置換が行われた中間コードに対して、少なくともループ最適化及び共通式の削除を行い、処理後の中間コードを出力するステップと、
前記コンピュータが、前記処理後の中間コードに基づいて、オブジェクトプログラムを生成するステップとを有するコンパイル方法。 - コンピュータに、配列式を含むソースプログラムに基づく中間コードにおける変数の最適化処理を実行させるプログラムであって、前記コンピュータに、
前記ソースプログラムに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する処理と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状とを参照配列テーブルに登録する処理と、
前記参照配列テーブル及び宣言情報テーブルを参照し、同一配列式で参照する配列の各次元の寸法が同じであることを利用して、前記下限/上限を定義する変数を定数化し、又は、変数間の関係式を決定し、定数化した定数又は決定した関係式を確定変数テーブルに登録する処理と、
前記確定変数テーブルに登録された定数又は関係式を用いて、前記中間コードに含まれる変数を、前記定数又は関係式で置換する処理とを実行させるプログラム。 - コンピュータに、配列式を含むソースプログラムのコンパイルを実行させるプログラムであって、前記コンピュータに、
配列式を含むソースプログラムに基づいて中間コードを生成する処理と、
前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する処理と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状とを参照配列テーブルに登録する処理と、
前記参照配列テーブル及び宣言情報テーブルを参照し、同一配列式で参照する配列の各次元の寸法が同じであることを利用して、前記下限/上限を定義する変数を定数化し、又は、変数間の関係式を決定し、定数化した定数又は決定した関係式を確定変数テーブルに登録する処理と、
前記確定変数テーブルに登録された定数又は関係式を用いて、前記中間コードに含まれる変数を、前記定数又は関係式で置換する処理と、
前記置換が行われた中間コードに対して、少なくともループ最適化及び共通式の削除を行い、処理後の中間コードを出力する処理と、
前記処理後の中間コードに基づいて、オブジェクトプログラムを生成する処理とを実行させるプログラム。 - 配列式を含むソースプログラムに基づく中間コードを入力し、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する宣言情報・配列式検出部と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状と、当該配列式の直前及び直後に続く配列式とを参照配列テーブルに登録する参照配列検出部と、
前記参照配列テーブルを参照し、連続する配列式について、配列式で参照する配列の寸法が翻訳時に同一であると判断できるか否かを調べ、同一であると判断できないときは、前記連続する配列式を最適化候補配列式リストに登録する寸法比較部と、
前記最適化候補配列式リストに登録された配列式について、連続する配列式の寸法が相互に等しい場合と、それ以外の場合とを選択するコードを、前記中間コードに追加する分岐追加部とを備える変数最適化装置。 - 前記分岐追加部は、前記寸法が相互に等しいときに実行されるコード部分にて、連続する配列式に対応する各ループのループ初期値及び終値を、連続する配列式間で共通の初期値及び終値とする、請求項12に記載の変数最適化装置。
- 配列式を含むソースプログラムに基づいて中間コードを生成する中間コード生成部と、
前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する宣言情報・配列式検出部と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状と、当該配列式の直前及び直後に続く配列式とを参照配列テーブルに登録する参照配列検出部と、
前記参照配列テーブルを参照し、連続する配列式について、配列式で参照する配列の寸法が翻訳時に同一であると判断できるか否かを調べ、同一であると判断できないときは、前記連続する配列式を最適化候補配列式リストに登録する寸法比較部と、
前記最適化候補配列式リストに登録された配列式について、連続する配列式の寸法が相互に等しい場合と、それ以外の場合とを選択するコードを、前記中間コードに追加する分岐追加部と、 前記分岐追加部にてコードが追加された中間コードに対して、少なくともループ最適化及び共通式の削除を行い、処理後の中間コードを出力する最適化部と、
前記最適化部が出力する中間コードに基づいて、オブジェクトプログラムを生成するコード生成部とを有するコンパイラ。 - コンピュータを用い、配列式を含むソースプログラムに基づく中間コードにおける変数の最適化処理を行う方法であって、
前記コンピュータが、前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録するステップと、
前記コンピュータが、前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状と、当該配列式の直前及び直後に続く配列式とを参照配列テーブルに登録するステップと、
前記コンピュータが、前記参照配列テーブルを参照し、連続する配列式について、配列式で参照する配列の寸法が翻訳時に同一であると判断できるか否かを調べ、同一であると判断できないときは、前記連続する配列式を最適化候補配列式リストに登録するステップと、
前記コンピュータが、前記最適化候補配列式リストに登録された配列式について、連続する配列式の寸法が相互に等しい場合と、それ以外の場合とを選択するコードを、前記中間コードに追加するステップとを有する変数最適化方法。 - コンピュータを用い、配列式を含むソースプログラムのコンパイルを行うコンパイル方法であって、
前記コンピュータが、前記ソースプログラムに基づいて中間コードを生成するステップと、
前記コンピュータが、前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録するステップと、
前記コンピュータが、前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状と、当該配列式の直前及び直後に続く配列式とを参照配列テーブルに登録するステップと、
前記コンピュータが、前記参照配列テーブルを参照し、連続する配列式について、配列式で参照する配列の寸法が翻訳時に同一であると判断できるか否かを調べ、同一であると判断できないときは、前記連続する配列式を最適化候補配列式リストに登録するステップと、
前記コンピュータが、前記最適化候補配列式リストに登録された配列式について、連続する配列式の寸法が相互に等しい場合と、それ以外の場合とを選択するコードを、前記中間コードに追加するステップと、
前記コンピュータが、前記コードが追加された中間コードに対して、少なくともループ最適化及び共通式の削除を行い、処理後の中間コードを出力するステップと、
前記コンピュータが、前記処理後の中間コードに基づいて、オブジェクトプログラムを生成するステップとを有するコンパイル方法。 - コンピュータに、配列式を含むソースプログラムに基づく中間コードにおける変数の最適化処理を実行させるプログラムであって、前記コンピュータに、
前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する処理と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状と、当該配列式の直前及び直後に続く配列式とを参照配列テーブルに登録する処理と、
前記参照配列テーブルを参照し、連続する配列式について、配列式で参照する配列の寸法が翻訳時に同一であると判断できるか否かを調べ、同一であると判断できないときは、前記連続する配列式を最適化候補配列式リストに登録する処理と、
前記最適化候補配列式リストに登録された配列式について、連続する配列式の寸法が相互に等しい場合と、それ以外の場合とを選択するコードを、前記中間コードに追加する処理とを実行させるプログラム。 - コンピュータに、配列式を含むソースプログラムのコンパイルを行う処理を実行させるプログラムであって、前記コンピュータに、
前記ソースプログラムに基づいて中間コードを生成する処理と、
前記中間コードに基づいて、前記ソースプログラムにおける配列の宣言情報、及び、前記配列式を検出し、宣言情報テーブル及び配列式テーブルに登録する処理と、
前記宣言情報テーブル及び配列式テーブルを参照して前記配列式で参照する配列を調べ、各配列の種類と、下限/上限で表される形状と、当該配列式の直前及び直後に続く配列式とを参照配列テーブルに登録する処理と、
前記参照配列テーブルを参照し、連続する配列式について、配列式で参照する配列の寸法が翻訳時に同一であると判断できるか否かを調べ、同一であると判断できないときは、前記連続する配列式を最適化候補配列式リストに登録する処理と、
前記最適化候補配列式リストに登録された配列式について、連続する配列式の寸法が相互に等しい場合と、それ以外の場合とを選択するコードを、前記中間コードに追加する処理と、
前記コンピュータが、前記コードが追加された中間コードに対して、少なくともループ最適化及び共通式の削除を行い、処理後の中間コードを出力する処理と、
前記コンピュータが、前記処理後の中間コードに基づいて、オブジェクトプログラムを生成する処理とを有するプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008054361A JP5169322B2 (ja) | 2008-03-05 | 2008-03-05 | 変数最適化装置、変数最適化プログラム、コンパイラ、変数最適化方法、及びコンパイル方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008054361A JP5169322B2 (ja) | 2008-03-05 | 2008-03-05 | 変数最適化装置、変数最適化プログラム、コンパイラ、変数最適化方法、及びコンパイル方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009211458A true JP2009211458A (ja) | 2009-09-17 |
JP5169322B2 JP5169322B2 (ja) | 2013-03-27 |
Family
ID=41184528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008054361A Active JP5169322B2 (ja) | 2008-03-05 | 2008-03-05 | 変数最適化装置、変数最適化プログラム、コンパイラ、変数最適化方法、及びコンパイル方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5169322B2 (ja) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63198130A (ja) * | 1987-02-13 | 1988-08-16 | Nec Corp | ル−プ最適命令列選択方式 |
JPS6418876A (en) * | 1987-07-14 | 1989-01-23 | Nec Corp | Production system for vector instruction column |
JPH02118732A (ja) * | 1988-10-28 | 1990-05-07 | Toshiba Corp | プログラム処理方式 |
JPH0334030A (ja) * | 1989-06-30 | 1991-02-14 | Fujitsu Ltd | コンパイラ装置 |
JPH04332044A (ja) * | 1991-05-07 | 1992-11-19 | Nec Corp | コンパイラのベクトル化処理方式 |
JPH05257707A (ja) * | 1992-03-13 | 1993-10-08 | Hitachi Ltd | コンパイル方式 |
JPH0962514A (ja) * | 1995-08-25 | 1997-03-07 | Fujitsu Ltd | 配列記述の最適化制御装置および制御方法 |
JP2002073579A (ja) * | 2000-08-29 | 2002-03-12 | Hitachi Ltd | 分散共有メモリ向けコンパイル方法 |
JP2003256214A (ja) * | 2002-02-27 | 2003-09-10 | Hitachi Ltd | 配列拡張によるループ変換方法 |
-
2008
- 2008-03-05 JP JP2008054361A patent/JP5169322B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63198130A (ja) * | 1987-02-13 | 1988-08-16 | Nec Corp | ル−プ最適命令列選択方式 |
JPS6418876A (en) * | 1987-07-14 | 1989-01-23 | Nec Corp | Production system for vector instruction column |
JPH02118732A (ja) * | 1988-10-28 | 1990-05-07 | Toshiba Corp | プログラム処理方式 |
JPH0334030A (ja) * | 1989-06-30 | 1991-02-14 | Fujitsu Ltd | コンパイラ装置 |
JPH04332044A (ja) * | 1991-05-07 | 1992-11-19 | Nec Corp | コンパイラのベクトル化処理方式 |
JPH05257707A (ja) * | 1992-03-13 | 1993-10-08 | Hitachi Ltd | コンパイル方式 |
JPH0962514A (ja) * | 1995-08-25 | 1997-03-07 | Fujitsu Ltd | 配列記述の最適化制御装置および制御方法 |
JP2002073579A (ja) * | 2000-08-29 | 2002-03-12 | Hitachi Ltd | 分散共有メモリ向けコンパイル方法 |
JP2003256214A (ja) * | 2002-02-27 | 2003-09-10 | Hitachi Ltd | 配列拡張によるループ変換方法 |
Non-Patent Citations (2)
Title |
---|
CSND199801135003; 堀田耕一郎、辻森誘二、原口正寿、松山 学: '講座 コンパイラ:Fortran90に完全準拠,配列演算をループ融合で最適化' 日経エレクトロニクス 第649号, 19951120, p.142, 日経BP社 * |
JPN6012012778; 堀田耕一郎、辻森誘二、原口正寿、松山 学: '講座 コンパイラ:Fortran90に完全準拠,配列演算をループ融合で最適化' 日経エレクトロニクス 第649号, 19951120, p.142, 日経BP社 * |
Also Published As
Publication number | Publication date |
---|---|
JP5169322B2 (ja) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7172435B2 (ja) | 抽象コードグラフを用いたソフトウェアの表現 | |
JP5775829B2 (ja) | ソフトウェアの構造可視化プログラムおよびシステム | |
US20060195828A1 (en) | Instruction generator, method for generating instructions and computer program product that executes an application for an instruction generator | |
JP4839424B2 (ja) | プログラムの解析を支援するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム | |
CN111104335B (zh) | 一种基于多层次分析的c语言缺陷检测方法及装置 | |
US20160321039A1 (en) | Technology mapping onto code fragments | |
JP6486574B2 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
Blazy et al. | Verified validation of program slicing | |
US20150193617A1 (en) | Signature verification device, signature verification method, and program | |
JP2007041804A (ja) | プログラム生成装置、プログラム検証装置および検証プログラム | |
US9715374B2 (en) | Multi-branch determination syntax optimization apparatus | |
US20010044930A1 (en) | Loop optimization method and a compiler | |
JP4541196B2 (ja) | 故障検出改善装置、故障検出改善プログラム、故障検出改善方法 | |
Sargsyan et al. | Scalable and accurate clones detection based on metrics for dependence graph | |
JP5169322B2 (ja) | 変数最適化装置、変数最適化プログラム、コンパイラ、変数最適化方法、及びコンパイル方法 | |
US20160371066A1 (en) | Computer that performs compiling, compiling method and storage medium that stores compiler program | |
JP6002507B2 (ja) | ソフトウェア検証用プログラムおよびソフトウェア検証システム | |
JP2009265708A (ja) | コンパイラ及びそのコード生成方法 | |
JP2009193488A (ja) | ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法 | |
WO2019142266A1 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
JP2000020318A (ja) | メモリアクセス命令削減装置および記録媒体 | |
JP2008015665A (ja) | プログラム解析方法及びプログラム解析装置 | |
JPH09160784A (ja) | 並列化コンパイル方式 | |
JP2007249262A (ja) | 配列範囲外アクセス検出方式及び方法 | |
JP3584204B2 (ja) | 原始プログラム自動変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5169322 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |