JP4656960B2 - プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム - Google Patents
プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム Download PDFInfo
- Publication number
- JP4656960B2 JP4656960B2 JP2005028123A JP2005028123A JP4656960B2 JP 4656960 B2 JP4656960 B2 JP 4656960B2 JP 2005028123 A JP2005028123 A JP 2005028123A JP 2005028123 A JP2005028123 A JP 2005028123A JP 4656960 B2 JP4656960 B2 JP 4656960B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- execution
- command
- program
- 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.)
- 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 (10)
- 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードを圧縮したデータを記憶する第1の記憶手段と、
前記処理データを一時的に記憶するための第2の記憶手段と、
前記プログラムコードを圧縮したデータを、前記第1の記憶手段から所定のデータ量毎に読み込み、前記コマンドを含むデータであるかどうかを判定し、前記コマンドを含まないデータと判定すると、そのデータ内の前記処理データを前記第2の記憶手段に記憶させる種別判定手段と、
前記種別判定手段が前記コマンドを含むデータと判定すると、前記第2の記憶手段に記憶されている前記処理データとコマンドとに基づいて前記実行コードを生成するコード伸張手段と、
該コード伸張手段が生成した実行コードに基づいて、前記プログラムコードの実行処理を逐次行う実行手段と
を備えることを特徴とするプログラム実行装置。 - 前記処理データがスタックに積まれ、前記コマンドが前記スタックに対して作用して実行処理するためのスタック型言語で記述された前記プログラムコードに基づいて前記実行手段が実行処理を行うことを特徴とする請求項1記載のプログラム実行装置。
- 逆ポーランド記法に基づく言語で記述された前記プログラムコードに基づく実行処理を前記実行手段が行うことを特徴とする請求項1記載のプログラム実行装置。
- 前記所定のデータ量を1バイトとすることを特徴とする請求項1〜3のいずれかに記載のプログラム実行装置。
- 前記所定のデータ量のうち、1ビット分が、前記判定手段が前記コマンドを含むコードデータであるかどうかを判定するためのフラグのデータであることを特徴とする請求項1〜4のいずれかに記載のプログラム実行装置。
- 前記コマンドを含まないデータの数を表すデータを、最初に読み込まれる所定のデータ量のデータに含めておき、前記種別判定手段は、前記コマンドを含まないデータの数の分だけ読み込んだ前記所定のデータ量のデータを、前記コマンドを含まないデータと判定して、それらのデータ内の前記処理データを前記第2の記憶手段に記憶させ、その次に読み込んだ所定のデータ量のデータを前記コマンドを含むデータとすることを特徴とする請求項1〜4のいずれかに記載のプログラム実行装置。
- 前記プログラムコードにおける各コマンドの使用頻度に基づいて、前記コマンドを含むデータのデータ量を、各コマンドに設定することを特徴とする請求項1〜6のいずれかに記載のプログラム実行装置。
- 通信回線を介して送信される信号に含まれる前記プログラムコードを圧縮したデータを、前記第1の記憶手段に記憶することを特徴とする請求項1〜7のいずれかに記載のプログラム実行装置。
- 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードを圧縮したデータを、第1の記憶手段から所定のデータ量毎に読み込む工程と、
読み込んだデータに前記コマンドが含まれているか否かを種別判定手段が判定する工程と、
前記コマンドを含まないデータと判定すると、読み込んだデータに前記処理データが含まれていれば前記処理データを第2の記憶手段に記憶させ、前記コマンドを含むデータと判定すると、コード伸張手段が前記第2の記憶手段に記憶されている前記処理データとコマンドとに基づいて前記実行コードを生成する工程と、
前記コード伸張手段が生成した実行コードに基づいて、実行手段が前記プログラムコードの実行処理を逐次行う工程と
を有することを特徴とするプログラム実行方法。 - 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードを圧縮したデータを、第1の記憶手段から所定のデータ量毎に読み込む工程と、
前記コマンドを含むデータであるかどうかを判定し、前記コマンドを含まないデータと判定すると、そのデータ内の前記処理データを第2の記憶手段に記憶させる工程と、
前記コマンドを含むデータと判定すると、前記第2の記憶手段に記憶されている前記処理データとコマンドとに基づいて前記実行コードを生成する工程と、
生成した実行コードに基づいて前記プログラムコードの実行処理を逐次行う工程と
をコンピュータに実行させるプログラム実行方法のプログラム。
Priority Applications (16)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005028123A JP4656960B2 (ja) | 2005-02-03 | 2005-02-03 | プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
CN 200810184954 CN101458620B (zh) | 2005-02-03 | 2006-02-02 | 程序执行装置及方法、程序码压缩处理装置及方法及设备 |
EP06712888.4A EP1881401B1 (en) | 2005-02-03 | 2006-02-02 | Program code generation support device and method, program execution device and method, program code compression device and method, program for the same |
EP10014002.9A EP2330502B1 (en) | 2005-02-03 | 2006-02-02 | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof |
US11/883,627 US8448158B2 (en) | 2005-02-03 | 2006-02-02 | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof |
CN2006800040337A CN101116054B (zh) | 2005-02-03 | 2006-02-02 | 程序码生成支持装置及方法、程序执行装置及方法、程序码压缩装置及方法及其程序 |
ES10014002T ES2708499T3 (es) | 2005-02-03 | 2006-02-02 | Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo |
PCT/JP2006/301745 WO2006082878A1 (ja) | 2005-02-03 | 2006-02-02 | プログラムコード生成支援装置及び方法、プログラム実行装置及び方法並びにプログラムコード圧縮処理装置及び方法並びにそれらのプログラム |
ES06712888.4T ES2687433T3 (es) | 2005-02-03 | 2006-02-02 | Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo |
KR1020077016934A KR100902461B1 (ko) | 2005-02-03 | 2006-02-02 | 프로그램 코드 생성 지원 장치 및 방법, 프로그램실행장치와 방법, 프로그램 코드 압축 처리 장치 및 방법과그들의 프로그램 |
EP09014774.5A EP2161659B1 (en) | 2005-02-03 | 2006-02-02 | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof |
ES09014774T ES2728318T3 (es) | 2005-02-03 | 2006-02-02 | Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo |
TW095103700A TWI312482B (en) | 2005-02-03 | 2006-02-03 | Program codes generation supporting device and method, program execution device and method, program codes compressing processing device and method, and computer readable recording medium with its recorded program thereof |
HK09108809.5A HK1130916A1 (en) | 2005-02-03 | 2009-09-25 | Program execution device and method, and program code compression processing device and method and apparatus |
US13/195,073 US8572557B2 (en) | 2005-02-03 | 2011-08-01 | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof |
US13/195,107 US8527967B2 (en) | 2005-02-03 | 2011-08-01 | Program code compression processing device and method and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005028123A JP4656960B2 (ja) | 2005-02-03 | 2005-02-03 | プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010258969A Division JP5247791B2 (ja) | 2010-11-19 | 2010-11-19 | プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006215827A JP2006215827A (ja) | 2006-08-17 |
JP4656960B2 true JP4656960B2 (ja) | 2011-03-23 |
Family
ID=36979017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005028123A Expired - Fee Related JP4656960B2 (ja) | 2005-02-03 | 2005-02-03 | プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4656960B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101408388B1 (ko) | 2013-01-29 | 2014-06-17 | 서울대학교산학협력단 | 소프트웨어 저작권 보호를 위한 워터마킹 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320172A (ja) * | 1997-05-15 | 1998-12-04 | Seiko Epson Corp | プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置 |
-
2005
- 2005-02-03 JP JP2005028123A patent/JP4656960B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320172A (ja) * | 1997-05-15 | 1998-12-04 | Seiko Epson Corp | プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2006215827A (ja) | 2006-08-17 |
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) | データ処理リソースを供給された内蔵システムにおいて実行可能な中間オブジェクトコードプログラムのためのデータ圧縮方法、および、この方法に対応しかつマルチアプリケーションを備えた内蔵システム | |
EP1652069B1 (en) | Method and system for updating versions of content stored in a storage device | |
KR950001485A (ko) | 연산처리방법 및 마이크로 컴퓨터 | |
JP4638250B2 (ja) | プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム | |
KR20120134916A (ko) | 저장 장치 및 저장 장치를 위한 데이터 처리 장치 | |
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 | |
JP4656960B2 (ja) | プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム | |
JPH09231071A (ja) | コンピュータ装置 | |
JP5247791B2 (ja) | プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム | |
US7065751B2 (en) | Program execution device operating based on compressed code | |
JPH09223023A (ja) | コンパイル装置およびコンパイラ | |
CN100445951C (zh) | 韧体执行装置与执行方法、韧体配置器与配置方法 | |
JP6245028B2 (ja) | 実行制御方法、実行制御プログラムおよび実行制御装置 | |
JPH113105A (ja) | プログラマブルコントローラのプログラミング装置 | |
JP2009277062A (ja) | データ書き換えシステム及び新版データ作成装置及び差分データ作成装置及び新版データ作成プログラム及び差分データ作成プログラム | |
JP2010020416A (ja) | データ転送方法およびデータ転送装置 | |
JP2007004475A (ja) | プロセッサ及びプログラム実行方法 | |
US7079054B2 (en) | V.42bis standalone hardware accelerator and architecture of construction | |
JPS60134340A (ja) | 端末制御装置 | |
JP6615843B2 (ja) | 命令処理装置、命令処理システム | |
CN115543472A (zh) | 定长指令集程序的运行方法及中央处理器 | |
JP2570977B2 (ja) | 日本語コード変換装置 | |
JP2004258711A (ja) | 情報処理装置および関連するアセンブラ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101119 |
|
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: 20101214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101221 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4656960 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |