JP5215813B2 - プログラム変換方法及びプログラム変換装置 - Google Patents
プログラム変換方法及びプログラム変換装置 Download PDFInfo
- Publication number
- JP5215813B2 JP5215813B2 JP2008279137A JP2008279137A JP5215813B2 JP 5215813 B2 JP5215813 B2 JP 5215813B2 JP 2008279137 A JP2008279137 A JP 2008279137A JP 2008279137 A JP2008279137 A JP 2008279137A JP 5215813 B2 JP5215813 B2 JP 5215813B2
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- similar part
- basic block
- program conversion
- generated
- 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
Images
Description
図11に示すプログラム圧縮方法は、ソースプログラムを機械語命令列に変換し、各関数定義の機械語命令列を記録する。そして、ある関数を機械語命令列に変換する際に、既に記録された機械語命令列と同一の場合には、既に記録された関数の呼び出し命令に置換を行う(これらの処理を図12のフローチャート図に示す。)。
以下、図2乃至7を参照して、実施の形態1に係るプログラム変換方法及びプログラム変換装置について説明する。
101、102 Cソースプログラム、
103 中間コード生成部、
104、105 中間コード、
106 サブルーチン化部、
107、108 サブルーチン化された中間コード、
109 コード生成部、
110、111 ターゲットプロセッサ用オブジェクト、
112 リンカ、
113 実行ファイル、
114、115、116、117 サブルーチン
Claims (7)
- プログラム変換装置内の第1の類似部分検出手段が、1つ以上の基本ブロックから構成されているソースプログラムについて、前記基本ブロック内の制御命令を除く命令列に対して類似部分を検出する第1のステップと、
前記プログラム変換装置内の第1のサブルーチン化手段が、前記第1の類似部分検出手段により検出された類似部分をサブルーチン化する第2のステップと、
前記プログラム変換装置内の第2の類似部分検出手段が、前記基本ブロック内の制御命令を除いた全ての命令列が前記第1のサブルーチン化手段によりサブルーチン化された基本ブロックに対して類似部分を検出する第3のステップと、
前記プログラム変換装置内の第2のサブルーチン化手段が、前記第2の類似部分検出手段により検出された類似部分をサブルーチン化する第4のステップと、を有する
ことを特徴とするプログラム変換方法。 - 前記プログラム変換装置内の判定手段が、前記第2のサブルーチン化手段によるサブルーチン化の結果が、以前のサブルーチン化の結果と比較して変化しているか否かを判定する第5のステップを更に有し、
前記判定手段による判定の結果、前記第2のサブルーチン化手段によるサブルーチン化の結果が、以前のサブルーチン化の結果と比較して変化しなくなるまでの間、
前記第2の類似部分検出手段が、前記基本ブロック内の制御命令を除いた全ての命令列が前記第2のサブルーチン化手段によりサブルーチン化された基本ブロックに対して類似部分を検出し、さらに、前記第2のサブルーチン化手段が、前記第2の類似部分検出手段により検出された類似部分をサブルーチン化する
ことを特徴とする請求項1に記載のプログラム変換方法。 - 前記第4のステップにおいて、
前記第2のサブルーチン化手段が、前記第2の類似部分検出手段により検出された類似部分を新たなサブルーチンとして生成することによりサブルーチン化するときに、前記生成する新たなサブルーチンが前記第1のサブルーチン化手段により生成したサブルーチンを呼び出す場合には、前記第2のステップにおいて生成したサブルーチンを前記生成する新たなサブルーチン内に展開して生成する
ことを特徴とする請求項1又は2に記載のプログラム変換方法。 - 1つ以上の基本ブロックから構成されているソースプログラムについて、前記基本ブロック内の制御命令を除く命令列に対して類似部分を検出する第1の類似部分検出手段と、
前記第1の類似部分検出手段により検出された類似部分をサブルーチン化する第1のサブルーチン化手段と、
前記基本ブロック内の制御命令を除いた全ての命令列が前記第1のサブルーチン化手段によりサブルーチン化された基本ブロックに対して類似部分を検出する第2の類似部分検出手段と、
前記第2の類似部分検出手段により検出された類似部分をサブルーチン化する第2のサブルーチン化手段と、を有する
ことを特徴とするプログラム変換装置。 - 前記第2のサブルーチン化手段によるサブルーチン化の結果が、前記第2のサブルーチン化手段による以前のサブルーチン化の結果と比較して変化しているか否かを判定する判定手段を更に有し、
前記判定手段による判定の結果、前記第2のサブルーチン化手段によるサブルーチン化の結果が、前記第2のサブルーチン化手段による以前のサブルーチン化の結果と比較して変化しなくなるまでの間、
前記第2の類似部分検出手段は、前記基本ブロック内の制御命令を除いた全ての命令列が前記第2のサブルーチン化手段によりサブルーチン化された基本ブロックに対して類似部分を検出し、さらに、前記第2のサブルーチン化手段は、前記第2の類似部分検出手段により検出された類似部分をサブルーチン化する
ことを特徴とする請求項4に記載のプログラム変換装置。 - 前記第2のサブルーチン化手段は、
前記第2の類似部分検出手段により検出された類似部分を新たなサブルーチンとして生成することによりサブルーチン化するときに、前記生成する新たなサブルーチンが前記第1のサブルーチン化手段により生成したサブルーチンを呼び出す場合には、前記第1のサブルーチン化手段で生成したサブルーチンを前記生成する新たなサブルーチン内に展開して生成する
ことを特徴とする請求項4又は5に記載のプログラム変換装置。 - 前記制御命令が、他の基本ブロックへの分岐を制御する分岐命令である
ことを特徴とする請求項4乃至6いずれか1項に記載のプログラム変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008279137A JP5215813B2 (ja) | 2008-10-30 | 2008-10-30 | プログラム変換方法及びプログラム変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008279137A JP5215813B2 (ja) | 2008-10-30 | 2008-10-30 | プログラム変換方法及びプログラム変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010108213A JP2010108213A (ja) | 2010-05-13 |
JP5215813B2 true JP5215813B2 (ja) | 2013-06-19 |
Family
ID=42297611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008279137A Expired - Fee Related JP5215813B2 (ja) | 2008-10-30 | 2008-10-30 | プログラム変換方法及びプログラム変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5215813B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013210920A (ja) * | 2012-03-30 | 2013-10-10 | Nec Corp | コンパイル装置、コンパイル方法及びコンパイラ |
JP6321325B2 (ja) | 2013-04-03 | 2018-05-09 | ルネサスエレクトロニクス株式会社 | 情報処理装置および情報処理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62257532A (ja) * | 1986-05-02 | 1987-11-10 | Nec Corp | サブル−チンの最適化生成システム |
JPH07334354A (ja) * | 1994-06-06 | 1995-12-22 | Matsushita Electric Ind Co Ltd | プログラム圧縮装置およびマイクロコントローラ |
JPH08263299A (ja) * | 1995-03-27 | 1996-10-11 | Sanyo Electric Co Ltd | プログラム変換方法 |
JPH11327887A (ja) * | 1998-05-13 | 1999-11-30 | Nec Corp | 自動部品化機能付コンパイラシステムおよび記録媒体 |
JP4345970B2 (ja) * | 2004-04-28 | 2009-10-14 | 富士通株式会社 | プログラム類型化方法 |
-
2008
- 2008-10-30 JP JP2008279137A patent/JP5215813B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010108213A (ja) | 2010-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5226328B2 (ja) | コード変換装置 | |
TWI463404B (zh) | 編譯系統以及編譯方法 | |
CN110569628B (zh) | 一种代码的混淆方法以及装置、计算机设备、存储介质 | |
JP2009048252A (ja) | プログラム変換装置及びコンパイラプログラム | |
US9043766B2 (en) | Language translation using preprocessor macros | |
US20100199269A1 (en) | Program optimization device and program optimization method | |
JP2015194881A (ja) | コンパイル装置、コンパイラプログラム、コンパイル方法 | |
JP5176478B2 (ja) | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム | |
JP5215813B2 (ja) | プログラム変換方法及びプログラム変換装置 | |
JP4905480B2 (ja) | プログラム難読化プログラム及びプログラム難読化装置 | |
JP2008276735A (ja) | プログラムコード変換装置及びプログラムコード変換方法 | |
WO2017204139A1 (ja) | データ処理装置、データ処理方法、およびプログラム記録媒体 | |
JP6264179B2 (ja) | コンパイル方法、コンパイル装置およびコンパイルプログラム | |
US10140538B2 (en) | Computing control device, computing control method, and computer readable medium | |
JP2005284577A (ja) | コンパイラ | |
US20230376290A1 (en) | Domain specific inlining for interpreters | |
JP6555005B2 (ja) | 最適化装置、方法およびプログラム | |
WO2009128465A1 (ja) | サービス変更部品生成システム、方法及び記録媒体 | |
US20170344351A1 (en) | Information processing apparatus, compiling management method, and recording medium | |
JP2012164024A (ja) | データフローグラフ生成装置、データフローグラフ生成方法及びデータフローグラフ生成プログラム | |
JP2009181558A (ja) | プログラム変換装置 | |
JP2019219992A (ja) | 計算機システム、計算機処理方法及び計算機処理プログラム | |
JP2006146731A (ja) | プログラム、記憶媒体、アセンブラ装置、コンパイラ装置、シミュレータ装置及びエミュレータ装置 | |
JP6066031B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
WO2017056427A1 (ja) | プログラム書換装置、方法および記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130122 |
|
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: 20130219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130301 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160308 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |