JP2005122452A - プログラミング容量を低減化するアセンブラ、コンパイラ、リンカ、及びプログラム開発支援システム - Google Patents
プログラミング容量を低減化するアセンブラ、コンパイラ、リンカ、及びプログラム開発支援システム Download PDFInfo
- Publication number
- JP2005122452A JP2005122452A JP2003356447A JP2003356447A JP2005122452A JP 2005122452 A JP2005122452 A JP 2005122452A JP 2003356447 A JP2003356447 A JP 2003356447A JP 2003356447 A JP2003356447 A JP 2003356447A JP 2005122452 A JP2005122452 A JP 2005122452A
- Authority
- JP
- Japan
- Prior art keywords
- macro
- file
- assembler
- linker
- compiler
- 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.)
- Pending
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】 本発明のアセンブラは、マクロによる一連の処理内容をひとつのブロック内に定義し、そのマクロを呼び出すことによりプログラムを構築するとき、同一の引数をもってマクロ呼び出しを複数回行う場合、その引数によるマクロ処理を、同ファイルまたは別ファイル内に、サブルーチン化、関数化、またはライブラリ化して、プログラム容量を低減化する。
【選択図】図1
Description
アセンブリ言語で書かれたソースファイルを機械語に翻訳してオブジェクトファイルを生成するアセンブラである。そのアセンブラにおいて、
マクロによる一連の処理内容をひとつのブロック内に定義し、そのマクロを呼び出すことによりプログラムを構築するとき、同一の引数をもってマクロ呼び出しを複数回行う場合、その引数によるマクロ処理を、同ファイルまたは別ファイル内に、サブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化する。
高級プログラミング言語で書かれたソースファイルを翻訳してアセンブリ言語ソースを生成する、または機械語に翻訳してオブジェクトファイルを生成するコンパイラである。そのコンパイラにおいて、
マクロによる一連の処理内容をひとつのブロック内に定義し、そのマクロを呼び出すことによりプログラムを構築するとき、同一の引数をもってマクロ呼び出しを複数回行う場合、その引数によるマクロ処理を、同ファイルまたは別ファイル内に、サブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化するコンパイラ。
複数のオブジェクトファイルを結合して、実行形式プログラムを生成するリンカである。そのリンカにおいて、
請求項1に記載のアセンブラ、又は請求項2に記載のコンパイラによるオブジェクトファイルを結合するとき、同ファイル内または別ファイル内に、自動的に生成されたサブルーチン若しくは関数、またはライブラリを含めて結合処理を行う。
請求項3に記載のリンカにおいて、
請求項1に記載のアセンブラによる一つのアセンブル単位、または請求項2に記載のコンパイラによる一つのコンパイル単位では、同じ引数を持つマクロ呼び出しが複数回行われていなくとも、
複数のアセンブル単位に渡って又は複数のコンパイル単位に渡っては、複数回行われている場合、それらのマクロの引数を含めたマクロ頻度情報を生成するリンカである。
請求項1記載のアセンブラにおいて、
請求項4記載のリンカにて生成されたマクロ頻度情報を基に、そのマクロ処理をサブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化するアセンブラである。
請求項2記載のコンパイラにおいて、
請求項4記載のリンカにて生成されたマクロ頻度情報を基に、そのマクロ処理をサブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化するコンパイラである。
請求項1に記載のアセンブラ、請求項2に記載のコンパイラ、請求項3に記載のリンカ、請求項4に記載のリンカ、請求項5に記載のアセンブラ、若しくは、請求項6に記載のコンパイラのうち、少なくとも一つを含む、プログラム領域の占有量を低減化するプログラム開発支援システムである。
まず、第1の実施の形態に係るアセンブラ10を説明する。このアセンブラは、例えば、画像処理用プロセッサのようなレジスタ数が非常に多いプロセッサ向けアセンブラである。
続いて、第2の実施の形態に係るコンパイラ6を説明する。このコンパイラ6は、高級言語ソースファイル向けのコンパイラであり、特に、画像処理用プロセッサのようにレジスタ数が非常に多いプロセッサ向けCコンパイラであるとする。
第1の実施の形態、及び第2の実施の形態に示されるような同一処理のサブルーチン化若しくは関数化は、例えば上流設計ツールにおいて、予め用意されている共通の処理、ライブラリ等を組み合わせて、自動的にソースコードを生成するようなシステムに用いることができる。
Claims (7)
- アセンブリ言語で書かれたソースファイルを機械語に翻訳してオブジェクトファイルを生成するアセンブラにおいて、
マクロによる一連の処理内容をひとつのブロック内に定義し、そのマクロを呼び出すことによりプログラムを構築するとき、同一の引数をもってマクロ呼び出しを複数回行う場合、その引数によるマクロ処理を、同ファイルまたは別ファイル内に、サブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化するアセンブラ。 - 高級プログラミング言語で書かれたソースファイルを翻訳してアセンブリ言語ソースを生成する、または機械語に翻訳してオブジェクトファイルを生成するコンパイラにおいて、
マクロによる一連の処理内容をひとつのブロック内に定義し、そのマクロを呼び出すことによりプログラムを構築するとき、同一の引数をもってマクロ呼び出しを複数回行う場合、その引数によるマクロ処理を、同ファイルまたは別ファイル内に、サブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化するコンパイラ。 - 複数のオブジェクトファイルを結合して、実行形式プログラムを生成するリンカにおいて、
請求項1に記載のアセンブラ、又は請求項2に記載のコンパイラによるオブジェクトファイルを結合するとき、同ファイル内または別ファイル内に、自動的に生成されたサブルーチン若しくは関数、またはライブラリを含めて結合処理を行うリンカ。 - 請求項3に記載のリンカにおいて、
請求項1に記載のアセンブラによる一つのアセンブル単位、または請求項2に記載のコンパイラによる一つのコンパイル単位では、同じ引数を持つマクロ呼び出しが複数回行われていなくとも、
複数のアセンブル単位に渡って又は複数のコンパイル単位に渡っては、複数回行われている場合、それらのマクロの引数を含めたマクロ頻度情報を生成するリンカ。 - 請求項1記載のアセンブラにおいて、
請求項4記載のリンカにて生成されたマクロ頻度情報を基に、そのマクロ処理をサブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化するアセンブラ。 - 請求項2記載のコンパイラにおいて、
請求項4記載のリンカにて生成されたマクロ頻度情報を基に、そのマクロ処理をサブルーチン化若しくは関数化、またはライブラリ化して、プログラム容量を低減化するコンパイラ。 - 請求項1に記載のアセンブラ、請求項2に記載のコンパイラ、請求項3に記載のリンカ、請求項4に記載のリンカ、請求項5に記載のアセンブラ、若しくは、請求項6に記載のコンパイラのうち、少なくとも一つを含む、プログラム領域の占有量を低減化するプログラム開発支援システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003356447A JP2005122452A (ja) | 2003-10-16 | 2003-10-16 | プログラミング容量を低減化するアセンブラ、コンパイラ、リンカ、及びプログラム開発支援システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003356447A JP2005122452A (ja) | 2003-10-16 | 2003-10-16 | プログラミング容量を低減化するアセンブラ、コンパイラ、リンカ、及びプログラム開発支援システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005122452A true JP2005122452A (ja) | 2005-05-12 |
Family
ID=34613691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003356447A Pending JP2005122452A (ja) | 2003-10-16 | 2003-10-16 | プログラミング容量を低減化するアセンブラ、コンパイラ、リンカ、及びプログラム開発支援システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005122452A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011060109A (ja) * | 2009-09-11 | 2011-03-24 | Ricoh Co Ltd | 組み込み用プログラム開発装置及び組み込み用プログラム開発方法 |
JP2013513868A (ja) * | 2009-12-09 | 2013-04-22 | ザ マスワークス, インク | グラフィカル状態遷移図モデルにおける再利用候補の正規化バージョン |
US8566813B2 (en) | 2009-03-03 | 2013-10-22 | Samsung Electronics Co., Ltd. | Method and system generating execution file system device |
CN103440155A (zh) * | 2013-07-05 | 2013-12-11 | 万高(杭州)科技有限公司 | 一种数字信号处理器的编译器 |
US9244850B2 (en) | 2011-11-21 | 2016-01-26 | International Business Machines Corporation | Device for executing program instructions and system for caching instructions |
US9424005B1 (en) | 2009-12-09 | 2016-08-23 | The Mathworks, Inc. | Templatized component |
US10365897B1 (en) | 2012-05-23 | 2019-07-30 | The Mathworks, Inc. | Model ring component |
-
2003
- 2003-10-16 JP JP2003356447A patent/JP2005122452A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566813B2 (en) | 2009-03-03 | 2013-10-22 | Samsung Electronics Co., Ltd. | Method and system generating execution file system device |
JP2011060109A (ja) * | 2009-09-11 | 2011-03-24 | Ricoh Co Ltd | 組み込み用プログラム開発装置及び組み込み用プログラム開発方法 |
JP2013513868A (ja) * | 2009-12-09 | 2013-04-22 | ザ マスワークス, インク | グラフィカル状態遷移図モデルにおける再利用候補の正規化バージョン |
US9424005B1 (en) | 2009-12-09 | 2016-08-23 | The Mathworks, Inc. | Templatized component |
US9864588B2 (en) | 2009-12-09 | 2018-01-09 | The Mathworks, Inc. | Canonicalized versions of reuse candidates in graphical state diagrams |
US9244850B2 (en) | 2011-11-21 | 2016-01-26 | International Business Machines Corporation | Device for executing program instructions and system for caching instructions |
US10365897B1 (en) | 2012-05-23 | 2019-07-30 | The Mathworks, Inc. | Model ring component |
CN103440155A (zh) * | 2013-07-05 | 2013-12-11 | 万高(杭州)科技有限公司 | 一种数字信号处理器的编译器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08339304A (ja) | 機械独立コードを含むプラットフォーム標準オブジェクト・ファイルを生成する方法および装置 | |
JP2006092544A (ja) | プリオペレーティングシステム環境におけるモジュールの動的リンク | |
JP2002024029A (ja) | コンパイラ、コンパイル方法及びコンパイルプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US8191054B2 (en) | Process for handling shared references to private data | |
JP2001022591A (ja) | コンパイラ装置、コンパイルプログラムが記録されたコンピュータ読み取り可能な記録媒体及びコンパイル方法 | |
JP3802058B2 (ja) | ソフトウェア・コンパイル・ユニットを条件付きでコンパイルするシステム、方法およびコンパイラ・プリプロセッサ | |
JP2005122452A (ja) | プログラミング容量を低減化するアセンブラ、コンパイラ、リンカ、及びプログラム開発支援システム | |
US7458071B2 (en) | Compilation method, compiler apparatus and compiler | |
JP5048949B2 (ja) | 非同期プログラムフローのモデリングを含むソフトウェアツール | |
US8966463B2 (en) | Eliminating redundant function calls | |
US20080307177A1 (en) | Program conversion device | |
US20010039653A1 (en) | Program conversion method, program conversion apparatus, storage medium for storing program conversion program and program conversion program | |
JP2005129001A (ja) | プログラム実行装置、マイクロプロセッサ及びプログラム実行方法 | |
US20050125783A1 (en) | Program optimization with intermediate code | |
JP5360506B2 (ja) | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム | |
US20020073133A1 (en) | Register allocation method and software development method for various execution environments and LSI for executing developed software | |
US11762640B2 (en) | Program, information conversion device, and information conversion method | |
Lobry et al. | Controlling the performance overhead of component-based systems | |
Leupers | Register allocation for common subexpressions in DSP data paths | |
US6934892B2 (en) | Computing system construction method under execution environment to be dependent on OS | |
JP2011180814A (ja) | コンパイラ装置、コンパイル方法及びプログラム | |
JP3634712B2 (ja) | コンパイラ装置 | |
JP2002259121A (ja) | ソースラインデバッグ装置 | |
US7478372B2 (en) | Method for operating a computer system | |
Cilio et al. | Efficient code generation for ASIPs with different word sizes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20060125 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080801 |
|
A131 | Notification of reasons for refusal |
Effective date: 20090224 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Effective date: 20090424 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100223 |