JP5247791B2 - プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム - Google Patents
プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム Download PDFInfo
- Publication number
- JP5247791B2 JP5247791B2 JP2010258969A JP2010258969A JP5247791B2 JP 5247791 B2 JP5247791 B2 JP 5247791B2 JP 2010258969 A JP2010258969 A JP 2010258969A JP 2010258969 A JP2010258969 A JP 2010258969A JP 5247791 B2 JP5247791 B2 JP 5247791B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- command
- execution
- code
- processing
- 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
Landscapes
- Stored Programmes (AREA)
Description
図1は本発明の第1の実施の形態に係るプログラムコードの圧縮処理を表す図である。図1の上側には実行コードの一例を示している。ここではテキストデータとして記述されている。プログラムコードは1又は複数の実行コードで構成される。まず、実行コードについて説明する。本実施の形態においては、プログラムコードに用いる言語としてForth を用い、ECHONET (ECHONET はECHONET コンソーシアムの商標)の規格における実行処理を行うためのコードであるとする。ECHONET とは、家電機器同士を連携させつつ制御を行なうためのネットワーク(通信回線)の規格である。また、Forth は構文解析が簡単又は不要な逆ポーランド記法(後置記法)に基づく言語である。本実施の形態において、実行コードは、プログラム実行装置が実行すべき処理を表すコマンド(命令)のデータ(以下、コマンドという。Forth ではwordという)とコマンドに基づく実行処理を行う際に処理されるデータ(以下、処理データという)で構成されている。そして、処理データ、コマンドの順に記述される。ここで各コマンドとその処理内容については、あらかじめ定義づけられて(関連づけられて)データとして登録されている(以下、これを辞書という)。そのため、実行コード内の数字、文字列のデータについて、辞書に登録されていればコマンドであり、登録されていなければ処理データとなる。本実施の形態では、後述する記憶手段2に辞書が記憶されているものとする。
図2は本発明の実施の形態2に係るプログラム実行装置を表す図である。本実施の形態では、プログラム実行装置はコード種別判定手段21、コード伸張手段22、実行手段23、プログラムコード格納手段24及びバッファ記憶手段25で構成されている。そして、実施の形態1で生成した圧縮したプログラムコードに基づく実行処理を行うものとする。
図4は本発明の実施の形態3に係る圧縮された実行コードのデータ構成を表す図である。上述の実施の形態1においては、バイナリデータにした処理データを先頭から7ビット毎に分けていき(表記されたデータ列においていわゆる左詰めにし)、処理データが7で割り切れない場合には余った残りのビットに“0”等を補充した。
上述した実施の形態では、プログラムコードを逆ポーランド記法に基づく言語で記述し、実行手段23は、その記述を解釈して実行処理を行うインタプリタとした。本発明はこれに限定するものではない。例えば、インタプリタをJavaVM(又はJVM (Java, Java Virtual Machine JVMはアメリカ合衆国およびその他の国における Sun Microsystems, Inc. の商標又は登録商標)等、スタック型言語の実行コードに基づく実行処理を行うインタプリタを処理系として構成してもよい。より汎用的な言語に適用できるようにしておくことで、さらに高度なコード生成ができる可能性がある。
Claims (4)
- 実行処理内容を表すコマンドと前記コマンドが実行処理に用いる処理データとが、該処理データ、前記コマンドの順に並んで構成され、テキストデータの文字列形式によって記述される実行コードが1又は複数で構成されるプログラムコードを圧縮するプログラムコード圧縮装置であって、
前記各実行コードをあらかじめすべてのコマンドが記憶されている辞書と照合することにより前記各実行コードを前記処理データと前記コマンドとに識別する識別手段と、
前記処理データと前記コマンドとに対してそれぞれ変換処理を行って実行コードを圧縮する変換手段と、
を備え、
前記変換手段は、前記識別手段が識別した前記処理データに対しては、前記処理データにおいて要素毎に分かれているデータをまとめたデータを作成し、まとめた前記データをバイナリ形式に変換し、所定のデータ量毎に分け、前記処理データであることを判定するためのフラグデータを前記分けたデータ毎に付す処理を行うことを特徴とするプログラムコード圧縮装置。 - 前記各コマンドに対応する数値とを関連付けてデータとして記憶する記憶手段を備え、
前記変換手段は、前記識別手段が識別した前記コマンドに対しては、前記記憶手段に記憶したデータに基づいて前記対応する数値のデータに変換し、前記コマンドのデータであることを判定するためのフラグデータを付す処理を行うことを特徴とする請求項1記載のプログラムコード圧縮装置。 - 実行処理内容を表すコマンドと前記コマンドが実行処理に用いる処理データとが、該処理データ、前記コマンドの順に並んで構成され、テキストデータの文字列形式によって記述される実行コードを読み込み、あらかじめ定めた前記コマンドの文字列と比較し、一致する文字列を前記コマンドとして、各実行コードを前記処理データと前記コマンドとに識別する工程と、
識別した前記コマンドに対し、前記コマンドと各コマンドに対応する数値とを関連付けて記憶する記憶手段に記憶したデータに基づき、前記識別したコマンドを前記対応する数値のデータに変換し、前記コマンドのデータであることを判定するためのフラグデータを前記数値を示すバイナリ形式のデータに付し、また、識別した前記処理データに対し、前記処理データにおいて要素毎に分かれているデータをまとめたデータを作成し、まとめたデータをバイナリ形式に変換し、所定のデータ量毎に分け、前記処理データであることを判定するためのフラグデータを前記分けたデータ毎に付す変換処理を行って実行コードを圧縮する工程と
を1又は複数の前記実行コードで構成されるプログラムコードの前記各実行コードに対して行うことを特徴とするプログラムコード圧縮方法。 - 実行処理内容を表すコマンドと前記コマンドが実行処理に用いる処理データとが、該処理データ、前記コマンドの順に並んで構成され、テキストデータの文字列形式によって記述される実行コードを読み込み、あらかじめ定めた前記コマンドの文字列と比較し、一致する文字列を前記コマンドとして、各実行コードを前記処理データと前記コマンドとに識別する工程と、
識別した前記コマンドに対し、前記コマンドと各コマンドに対応する数値とを関連付けて記憶する記憶手段に記憶したデータに基づき、前記識別したコマンドを前記対応する数値のデータに変換し、前記コマンドのデータであることを判定するためのフラグデータを前記数値を示すバイナリ形式のデータに付し、また、識別した前記処理データに対し、前記処理データにおいて要素毎に分かれているデータをまとめたデータを作成し、まとめたデータをバイナリ形式に変換し、所定のデータ量毎に分け、前記処理データであることを判定するためのフラグデータを前記分けたデータ毎に付す変換処理を行って実行コードを圧縮する工程と
を1又は複数の前記実行コードで構成されるプログラムコードの前記各実行コードについて、コンピュータに実行させることを特徴とするプログラムコード圧縮方法のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010258969A JP5247791B2 (ja) | 2010-11-19 | 2010-11-19 | プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010258969A JP5247791B2 (ja) | 2010-11-19 | 2010-11-19 | プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005028123A Division JP4656960B2 (ja) | 2005-02-03 | 2005-02-03 | プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011076619A JP2011076619A (ja) | 2011-04-14 |
JP5247791B2 true JP5247791B2 (ja) | 2013-07-24 |
Family
ID=44020476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010258969A Expired - Fee Related JP5247791B2 (ja) | 2010-11-19 | 2010-11-19 | プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5247791B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61204741A (ja) * | 1985-03-06 | 1986-09-10 | Nec Corp | ソ−スプログラムの圧縮方法 |
JPH10320172A (ja) * | 1997-05-15 | 1998-12-04 | Seiko Epson Corp | プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置 |
-
2010
- 2010-11-19 JP JP2010258969A patent/JP5247791B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011076619A (ja) | 2011-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8448158B2 (en) | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof | |
JP2002529849A (ja) | データ処理リソースを供給された内蔵システムにおいて実行可能な中間オブジェクトコードプログラムのためのデータ圧縮方法、および、この方法に対応しかつマルチアプリケーションを備えた内蔵システム | |
CN106598581B (zh) | 基于xml的asterix报文解析代码生成方法 | |
EP1652069B1 (en) | Method and system for updating versions of content stored in a storage device | |
JP5226328B2 (ja) | コード変換装置 | |
CN108139896A (zh) | 扩展虚拟机指令集体系架构 | |
JP4638250B2 (ja) | プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム | |
CN101231597A (zh) | 智能卡中java程序指令的执行方法 | |
US8572557B2 (en) | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof | |
JP4978025B2 (ja) | ポインタの圧縮・伸張方法、これを実行するプログラム、及び、これを用いた計算機システム | |
JP4656960B2 (ja) | プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム | |
JP5247791B2 (ja) | プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム | |
US20150248432A1 (en) | Method and system | |
US7065751B2 (en) | Program execution device operating based on compressed code | |
JP2012098893A (ja) | 圧縮命令処理装置及び圧縮命令生成装置 | |
CN100445951C (zh) | 韧体执行装置与执行方法、韧体配置器与配置方法 | |
US8327330B1 (en) | System and method of generating build instructions | |
WO2016031959A1 (ja) | マイグレーション支援装置 | |
JP2017016503A (ja) | コンパイラ、コンパイル装置及びコンパイル方法 | |
JPH113105A (ja) | プログラマブルコントローラのプログラミング装置 | |
JP2001043082A (ja) | 情報処理装置並びに命令コーディング方法及び命令デコーディング方法 | |
JP2007004475A (ja) | プロセッサ及びプログラム実行方法 | |
JP2015197821A (ja) | アセンブリコード変換装置およびその変換方法 | |
JP2015191272A (ja) | 実行制御方法、実行制御プログラムおよび実行制御装置 | |
JP2010282248A (ja) | プログラム言語解析実行プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130207 |
|
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: 20130402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130409 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5247791 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160419 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |