(57)【要約】      （修正有）【課題】特に組み込み機器において、プログラムコードに係るデータ量を削減する。【解決手段】プログラムコードのデータを変換するための変換条件とその変換内容で構成される最適化規則をデータとして記憶する記憶手段１０と、プログラムコードを解析するコード解析部４Ａと、解析したプログラムコードに基づいて、記憶手段に記憶された最適化規則との照合を行い、プログラムコードにおいて変換条件と合致する部分を検索する条件検索部４Ｂと、変換内容に基づいて変換条件と合致する部分を変換し、新たなプログラムコードのデータを生成する最適化部４Ｃとを有するコード最適化手段４とを備える。【選択図】図１
2006215826.tif 000002
【特許請求の範囲】
【請求項１】
プログラムコードのデータを変換するための変換条件と変換内容で構成される最適化規則をデータとして記憶する記憶手段と、
前記プログラムコードを解析するコード解析部、解析した前記プログラムコードに基づいて、前記記憶手段に記憶された前記最適化規則との照合を行い、前記プログラムコードにおいて前記変換条件と合致する部分を検索する条件検索部及び前記変換内容に基づいて前記変換条件と合致する部分を変換し、新たなプログラムコードのデータを生成する最適化部を有するコード最適化手段と
を備えることを特徴とするプログラムコード生成支援装置。
【請求項２】
実行処理に用いられる処理データと実行処理内容を表すコマンドからなる実行コードにより構成されるプログラムコードのデータに対し、同じ前記コマンドに基づく実行コードが連続する回数に基づいて定める変換条件と、変換内容で構成される最適化規則をデータとして記憶する記憶手段と、
前記プログラムコードを解析し、前記連続する回数をカウントするコード解析部、解析した前記プログラムコードを前記記憶手段に記憶された前記最適化規則と照合し、前記カウントした数に基づいて前記プログラムコードにおいて前記変換条件と合致する部分を検索する条件検索部及び前記変換内容に基づいて前記変換条件と合致する部分を変換し、新たなプログラムコードのデータを生成する最適化部とを有するコード最適化手段と
を備えることを特徴とするプログラムコード生成支援装置。
【請求項３】
前記コード最適化手段の前段に、前記プログラムコードを生成するための仕様をデータとして入力するための仕様入力手段と、人間が評価を行うための評価用プログラムコードを生成するコード生成手段とをさらに備え、前記評価用プログラムコードに基づいて、前記コード最適化手段は前記新たなプログラムコードのデータを生成することを特徴とする請求項１又は２記載のプログラムコード生成支援装置。
【請求項４】
前記プログラムコードの実行処理環境を設定する組み込み機器条件入力手段をさらに備えることを特徴とする請求項１〜３のいずれかに記載のプログラムコード生成支援装置。
【請求項５】
前記組み込み機器条件入力手段の判断に基づいて、前記プログラムコードを圧縮処理するプログラムコード圧縮処理手段をさらに備えることを特徴とする請求項４記載のプログラムコード生成支援装置。
【請求項６】
前記圧縮処理手段は、実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードについて、各前記実行コードの前記処理データと前記コマンドとを識別し、要素毎の前記処理データをまとめてバイナリ形式に変換し、前記コマンドを対応する数値に変換した上で、それぞれのデータを所定のデータ量毎に分け、前記コマンドが含まれたデータであるか否かを判定するためのフラグのデータを、分けたデータに対してそれぞれ付して圧縮することを特徴とする請求項５記載のプログラムコード生成支援装置。
【請求項７】
前記プログラムコードに基づいて、印刷媒体から電子データとして読み取り可能な形式のデータに変換する出力手段をさらに備えることを特徴とする請求項１〜６のいずれかに記載のプログラムコード生成支援装置。
【請求項８】
生成されたプログラムコードを解析手段において解析する工程と、
記憶手段に記憶された、プログラムコードを変換するための変換条件のデータと、解析した前記プログラムコードとの照合を条件検索手段が行い、前記プログラムコードにおいて前記変換条件と合致する部分を検索する工程と、
変換手段において、前記変換条件と合致する部分を、前記記憶手段に記憶された変換内容のデータに基づいて変換し、新たなプログラムコードのデータを生成する工程と
を有することを特徴とするプログラムコード生成支援方法。
【請求項９】
生成されたプログラムコードを解析する工程と、
記憶手段に記憶された、プログラムコードを変換するための変換条件のデータと、解析した前記プログラムコードとの照合を行い、前記プログラムコードにおいて前記変換条件と合致する部分を検索する工程と、
前記変換条件と合致する部分を、前記記憶手段に記憶された変換内容のデータに基づいて変換し、新たなプログラムコードのデータを生成する工程と
をコンピュータに行わせることを特徴とするプログラムコード生成支援方法のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラムコードを生成するための支援を行うプログラムコード生成支援装置等に関するものである。特にそのプログラムコードを実行処理する装置等に合わせてプログラムコードを最適化するためのものである。
【背景技術】
【０００２】
家電機器（エアコン、冷蔵庫、洗濯機、放電灯点灯装置等）等においては、その動作を制御するため、プログラム実行装置を組み込んでいる（以下、このような家電機器、家電機器アダプタ等を組み込み機器という）。ここで、プログラム実行装置が実行処理を行うためには、あらかじめ定められたプログラムコードと呼ばれるデータを必要とする。このプログラムコードは、例えば組み込み機器内に設けられたＲＯＭ（Read Only Memory）等の記憶手段にあらかじめ記憶されており、プログラム実行装置はＲＯＭに記憶されたプログラムコードを読み込んで（入力して）実行処理を行っている。そして、このようなプログラムコードを生成を支援するための装置も提案されている（例えば特許文献１参照）。
【特許文献１】特開平９−１６３８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここで、プログラムコードが用いられる環境は必ずしも一律ではなく、例えば、組み込み機器（特にプログラム実行装置）によって大きく異なるので、組み込み機器の特性等に合わせたプログラムコードを生成することが望ましい。特にプログラムコードに係るデータ量を少なくできれば、その分だけ、プログラム実行装置において、ＲＯＭや実行処理を行う際に一時的に記憶するためのバッファの記憶容量を減らすことができる。また、今後、組み込み機器がネットワークを介して相互に接続され、例えば、プログラムコードを含む信号を送受信するような場合にも都合がよい。しかしながら、上述のような支援装置では、単にプログラムコードを生成するだけであった。
【０００４】
そこで本発明は、プログラムコードをさらに最適化して新たなプログラムコードを生成でき、特に組み込み機器に応じた生成を行えるプログラムコード生成支援装置、方法等を実現することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係るプログラムコード生成支援装置は、プログラムコードのデータを変換するための変換条件と変換内容で構成される最適化規則をデータとして記憶する記憶手段と、プログラムコードを解析するコード解析部、解析したプログラムコードに基づいて、記憶手段に記憶された最適化規則との照合を行い、プログラムコードにおいて変換条件と合致する部分を検索する条件検索部及び変換内容に基づいて変換条件と合致する部分を変換し、新たなプログラムコードのデータを生成する最適化部を有するコード最適化手段とを備えるものである。
【発明の効果】
【０００６】
本発明によれば、プログラムコードに対し、さらにコード最適化手段が、コード解析部が解析を行い、条件検索部が最適化規則に基づいて、条件に合致している部分があるかどうかを検索し、最適化部が最適化を行うための変換を行って新たな実行コード（プログラムコード）をさらに生成するようにしたので、組み込み機器が有するプログラム実行装置が実行処理等を行いやすいように最適化することができる。特に、同じコマンドに基づく実行コードが連続する部分をまとめて新たな実行コードを生成することにより、プログラムコード全体のデータ量を低減させ、また、実行処理においても、一度にまとめて行えるので処理速度を速くすることができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は本発明の実施の形態１に係るプログラムコード生成支援装置を中心とするシステムを表す図である。プログラム生成支援装置は、仕様入力手段１、コード生成手段２、コード評価手段３、コード最適化手段４、出力手段５、記憶手段１０、表示手段２０及び入力手段３０で構成される。
【０００８】
図２は仕様入力手段１が表示手段２０に表示させた画面の例を表す図である。仕様入力手段１は、例えばオペレータに仕様を入力させるための画面を表示手段２０に表示させ、仕様として、入力手段３０から入力されたデータを処理する。処理したデータは、実行コードを構成する処理データとなる。ここで、ECHONET （Energy Conservation and Homecare Network：ECHONET はECHONET コンソーシアムの商標）とは、図１に示すように、家電機器同士を連携させつつ制御を行なうためのネットワーク（通信回線）の規格である。本実施の形態では、その規格により接続された機器、アダプタ等における実行処理を行うためのプログラムコードを生成するものとする。各仕様の要素（項目）と処理データとの関係は後述する。
【０００９】
図３は実行コードの一例を表す図である。コード生成手段２は、仕様入力手段１が処理したデータに基づいて、プログラムコードを生成する。図３ではテキストデータとして記述されている。プログラムコードは１又は複数の実行コードで構成される。実行コードは、例えば、組み込み機器が有するプログラム実行装置においてインタプリタにより逐次に実行処理を行う際の単位となる。本実施の形態においては、プログラムコードに用いる言語としてForth を用いる。Forth は構文解析が簡単又は不要な逆ポーランド記法に基づく言語である。本実施の形態において、実行コードは、プログラム実行装置が実行すべき処理を表すコマンド（命令）のデータ（以下、コマンドという。Forth ではwordという）とコマンドに基づく処理のためのデータ（以下、処理データという）で構成され、処理データ、コマンドの順に記述される。ここで、各コマンドとその処理内容のデータは、あらかじめ定義づけられて（関連づけられて）登録されている（これを辞書という）。そのため、実行コードに記述された文字列等のデータにおいては、辞書に登録されていればコマンドであり、登録されていなければ処理データとなる。また、コマンドはあらかじめ決められたものだけではなく、さらにコマンドの処理内容を定義して辞書として登録することができるものとする。この辞書については、本実施の形態では記憶手段１０に辞書部１０Ａとして記憶されているものとする。ここでは、Forth を用いてプログラムコードを生成しているが、本発明が適用できるプログラムコードはこれに限定するものではない。
【００１０】
ここで、コード生成手段２は、後段のコード評価支援手段３による処理において、表示手段２０にプログラムコードを表示させた際に、オペレータが評価を行いやすいような評価用のプログラムコードを生成する。例えば、実行コードの文字列が長くなりすぎないように生成したり、独自に定義したものではない、基本的なコマンドを用いて生成したりしてトレースしやすいようにする。
【００１１】
コマンドRGST_EPCは組み込み機器のプロパティ情報を登録を実行処理するために記述される。オブジェクトid（obj_id）は組み込み機器のオブジェクトに対して付されるidである。ECHONET プロパティ（epc ）は、組み込み機器に応じて設定可能なプロパティ（例えば、エアコンにおける風量設定状態等）のコードである。コードの値はECHONET の規格で定められている。また、プロパティのデータ型（type）として７種類が用意されている（組み込み機器とプロパティとが決まれば自動的に決定される）。アクセスルール（rule）は書き込み、読み出し、通知の可否を示すものである。状変時アナウンス有無（anno）はプロパティの状態が変化した際に、ネットワークを介して通知するか否かを表す指標（フラグ）である。データサイズ（size）は、プロパティのデータサイズを規定するためのものであり、ECHONET の規格ではその最大値を８６４０バイトとしている。
【００１２】
コード評価手段３は、コード生成手段２又はその他の手段が生成したプログラムコード（実行コード）をオペレータが評価するための支援を行う。例えば、オペレータが生成されたプログラムコードの確認、デバッグ等、プログラムコードの評価を行うため、プログラムコードを表示手段２０の画面に表示させる。また、プログラム実行装置が実行処理を行う際に用いるインタプリタを有しており、生成された実行コードを実行処理することができる。これにより、オペレータがプログラムコード（実行コード）に基づいて行われる実行処理を確認することができる。
【００１３】
コード最適化手段４は、記憶手段１０の最適化規則記憶部１０Ｂに記憶された最適化規則に基づいて、プログラムコードの最適化を図る。コード最適化手段４は、コード解析部４Ａ、条件検索部４Ｂ及び最適化部４Ｃで構成される。最適化規則とは、例えば複数の実行コードをまとめ、新たな実行コードを生成する等、プログラム実行装置がプログラムコードに基づく実行処理を効率よくできるようにするための変換規則をデータ化したものである。最適化規則についてはさらに後に述べる。
【００１４】
コード解析部４Ａは、入力されたプログラムコードを解析する。ここでコード解析部４Ａはカウンタを有しており、同じコマンドを有し、同じ内容を実行処理する実行コードが連続している部分について、連続する回数をカウントする。条件検索部４Ｂは、変換条件に基づく検索を行う。つまり、解析したプログラムコードと最適化規則を構成する変換条件とを照合し、変換条件に合致している部分があるかどうかの判断を行う。その際、コード解析部４Ａのカウントを参照する。最適化部４Ｃは、条件検索部４Ｂが変換条件に合致していると判断した部分について、最適化を行うための変換を行って新たな実行コード（ひいてはプログラムコード）を生成する。
【００１５】
ここで、コード解析部４Ａ、条件検索部４Ｂ及び最適化部４Ｃについて、それぞれ物理的に独立した手段として構成してもよいが、ここでは、例えばＣＰＵを中心とする制御処理装置がそれぞれの手段の処理を実行することで、各部の処理を実現する。なお、仕様入力手段１、コード生成手段２、コード評価手段３、コード最適化手段４、出力手段５の関係においても同様であり、各手段を独立させてもよいが、本実施の形態では、制御処理装置がそれぞれの手段の処理を実行することで、プログラムコード生成支援装置の処理を実現するものとする。
【００１６】
出力手段５は、対応する出力デバイスに合わせた形式のデータにプログラムコードを変換し、出力デバイスに出力させる処理を行う。例えば、出力デバイスが印刷装置４０である場合には、バーコード、ＱＲコード（２次元バーコード：ＱＲコードは株式会社デンソーウェーブの登録商標）等として印刷装置に印刷させるようなデータにプログラムコードを変換し、印刷媒体に印刷させる処理を行う。そのため、例えば組み込み機器専用に高価な通信装置を設け、直接的に通信回線に接続して信号の送信を行わなくても、携帯電話等が有しているカメラ、赤外線通信技術等を用いて、組み込み機器にデータを含む信号を送信し、プログラムコードを記憶させることができる。これにより、紙媒体等、低価格の媒体を用いても組み込み機器内に記憶されたプログラムコードを最新の状態に保つことができる。また、例えばメモリ読書装置５０を出力デバイスとして用いて、電子記憶媒体によるデータ交換を行ってもよい。また、通信装置を出力デバイスとしてもよい。なお、記憶手段１０には、辞書部１０Ａに記憶された辞書、最適化規則記憶部１０Ｂに記憶された最適化規則の他にも、各手段が表示手段２０に画面表示させるためのデータ等、プログラムコード生成支援を行うためのプログラム等が記憶されている。
【００１７】
図４は最適化規則の一例を表す図である。例えば、図４（ａ）に示すように、「コマンドRGST_EPC（ECHONET プロパティの登録を処理内容とする）を複数回連続して実行処理するようにプログラムコードの記述がなされていれば、複数のECHONET プロパティの登録を一度に実行処理する処理内容のコマンドRGST_EPCS に置き換える」旨の規則が最適化規則として最適化規則記憶部１０Ｂに記憶されている。その内容をスクリプト（記述）形式のデータとして表したものが図４（ｂ）である。矢印の手前が条件検索部４Ｂが検索する際の変換条件を表し、矢印の先が最適化部４Ｃが変換する際の変換内容を表している（ここで、複数回連続するので、ｎは２以上とする。このｎをコード解析部４Ａがカウントする）。コマンドRGST_EPCS に関する実行コードにおいて、処理データは、登録するECHONET プロパティについて、オブジェクトid（obj_id）、ECHONET プロパティ（epc ）、データ型（type）、状変時アナウンス有無（anno）及びデータサイズ（size）の組を、登録を繰り返す分だけ並べて、繰り返す回数を付したものとなる。このコマンドRGST_EPCS についても辞書部１０Ａに登録されている。このように、実行コードをまとめて別の実行コードにして、プログラムコードのデータ量を減らし最適化を図る。複数の実行コードをまとめて実行処理することになるため、処理速度を高めることができる。
【００１８】
図５は最適化規則の別の一例を表す図である。例えば、図５では「同じ配列の異なる要素に対する代入の連続は、まとめて値を代入できるコマンドSET_C_ARRAY に置き換える」旨の規則が最適化規則として最適化規則記憶部１０Ｂに記憶されている。その内容をスクリプト（記述）形式のデータとして表したものが図５（ｂ）である。ここで、charは代入する値、c-addrは代入先のアドレス、offsetは先頭アドレスからのオフセットを表す。条件検索部４Ｂが検索する際の変換条件及び最適化部４Ｃが変換する際の変換内容のc-addrに付した[]は、c-addrの内容（文字列）が同じであることを表している。また、ｎは２以上とし、コード解析部４Ａがカウントする。例えば、「1 BUF 0 + C!」は、アドレスBUF から０バイト目に１を代入する実行処理を行う。コマンドSET_C_ARRAY に関する実行コードにおいて、処理データは、代入する値（char）をｎ（繰り返す回数分）並べ、アドレスを示す「BUF 」、オフセットをｎ並べて、繰り返す回数を付したものとなる。コマンドSET_C_ARRAY についても辞書部１０Ａに登録されている。
【００１９】
以上のように実施の形態１によれば、コード生成手段２が生成したプログラムコードに対し、さらにコード最適化手段４において、コード解析部４Ａが解析を行い、条件検索部４Ｂが最適化規則記憶部１０Ｂに記憶された最適化規則に基づいて、変換条件に合致している部分があるかどうかを検索し、最適化部４Ｃは、条件検索部４Ｂが変換条件に合致していると判断した部分について、最適化を行うための変換を行って新たな実行コード（プログラムコード）をさらに生成するようにしたので、組み込み機器が有するプログラム実行装置が実行処理等を行いやすいように最適化することができる。特に、同じコマンドに基づく実行コードが連続する部分をまとめて新たな実行コードを生成することにより、プログラムコード全体のデータ量を低減させ、また、実行処理においても、一度にまとめて行えるので処理速度を速くすることができる。その際、コード生成手段２の生成に係るプログラムコードは、コード評価支援手段３がプログラムコードを表示手段２０に表示させた際に、オペレータが評価しやすいような形で生成しておくことにより、オペレータが、確認、修正等を行いやすくすることができる。さらに、出力手段５により、出力デバイスに合わせた形式のデータにプログラムコードを変換するようにしたので、様々な出力デバイスの形式に対応してプログラムコードを記録させておくことができる。特にバーコード、ＱＲコード等を印刷するためのデータに変換し、印刷できるようにしておけば、プログラムコードの記録を低価格媒体に行っておくことができる。そして組み込み機器へのプログラムコードを含む信号送信には、例えば携帯電話等の汎用通信手段を用いることができる。
【００２０】
実施の形態２．
図６は本発明の実施の形態２に係るプログラムコード生成支援装置を表す図である。プログラムコードを組み込み機器に格納（記憶）するための環境、組み込み機器が有するプログラム実行装置がプログラムコードに基づく実行処理をする環境は、機器の種類等により異なる。特にプログラムコード生成にあたり、プログラムコードを格納（記憶）するＲＯＭの記憶容量、実行処理時等におけるＲＡＭ（Random Access Memory）の使用可能な記憶容量が重要となる。そこで、本実施の形態では、組み込み機器の条件（プログラムコードに基づく実行処理環境）を設定し、プログラムコード生成の際に反映させる。図６において、図１のプログラムコード生成支援装置と同じ符号を付したものは、実施の形態１で説明した手段と同じような処理動作を行うので説明を省略する。
【００２１】
図７は組み込み機器条件入力手段６が表示手段２０に表示させた画面の例を表す図である。組み込み機器条件入力手段６は、例えばオペレータに組み込み機器の特性、条件等を入力させるための画面を表示手段２０に表示させ、入力手段３０から入力された指示の信号を設定処理し、コード最適化手段４及び出力手段５に送信する。図７においては、プログラムコードを格納するためのＲＯＭの記憶容量（コード記憶容量）、ＲＡＭの使用可能な記憶容量（使用可能ＲＡＭ容量）、プログラムコードの圧縮処理をするか否か（バイナリ圧縮）、プログラムコードを印刷用媒体として出力するか、メモリカード等の電子記憶媒体に出力するか（出力媒体）及び印刷媒体が選択された場合にＱＲコード（ＱＲコードは株式会社デンソーウェーブの登録商標）に変換するか否か（ＱＲコードへの変換）を設定することができる。
【００２２】
本実施の形態のコード最適化手段４−１は、最適化部４Ｃの処理に加え、組み込み機器条件入力手段６において入力された組み込み機器のＲＯＭ及びＲＡＭの記憶容量に基づいた判断を行う最適化部４Ｄを最適化部４Ｃの代わりに備えている点で最適化手段４と異なる。また、プログラムコードを圧縮するための処理データ・コマンド識別部４Ｅ及び変換部４Ｆを有している点でも異なる。本実施の形態では、処理データ・コマンド識別部４Ｅ及び変換部４Ｆをコード最適化手段４−１の機能の一部として構成しているが、独立したプログラムコード圧縮処理手段としてもよい。
【００２３】
最適化部４Ｄは、条件検索部４Ｂが変換条件に合致していると判断した部分について、最適化を行うための変換を行って新たな実行コードを生成するが、その際、まとめる実行コードが多くなると、処理データのデータ量が大きくなり、新たな実行コードのデータ量が大きくなる可能性がある。そのため、組み込み機器によっては、プログラム実行装置が実行処理を行う際、実行コード等を一時的に記憶させるＲＡＭの記憶容量を越えることもある。そこで、最適化部４Ｄは、組み込み機器条件入力手段６を介して入力された使用可能ＲＡＭ容量のデータに基づいて、その容量を越えると判断した場合には、各実行コードのデータ量が容量以下の複数の実行コードに分けて生成する。また、全体のプログラムコードのデータ量が、組み込み機器が有するプログラムコードを格納するためのＲＯＭの記憶容量を越える場合は、設定の有無に関わらず、処理データ・コマンド識別部４Ｅ及び変換部４Ｆに圧縮処理を行わせる。以上の判断等を行い、新たなプログラムコードを生成する。
【００２４】
図８は圧縮した実行データを表す図である。次に圧縮処理について図３に記載した実行コードに基づいて説明する。組み込み機器条件入力手段６でのバイナリ圧縮の入力、最適化部４Ｄでの判断に基づいて、圧縮処理を行う場合、データ・コマンド識別部４Ｅでは、プログラムコードの各実行コードについて、辞書部１０Ａに記憶されている辞書と照合し、辞書と合致しない文字列、数字等を処理データとし、合致した文字列（スクリプト）をコマンドとすることで、処理データとコマンドとを識別処理する。
【００２５】
変換部４Ｆは、処理データとコマンドとをそれぞれバイナリデータで表す。ここで、オブジェクトidを表すために２ビット、ECHONET プロパティ（epc ）に８ビット、プロパティのデータ型に３ビット、アクセスルールは３ビット、状変時アナウンス有無は１ビット、データサイズは１４ビットを割り当てる。バイナリデータとして表した後、所定のデータ量毎に分けたデータを生成する。本実施の形態においては７ビットを所定のデータ量とする。例えば処理データが７で割り切れないデータ量の場合は、例えば残りのビットに“０”を補充する。そして、処理データを表すデータ（以下、このデータについても処理データという）については分けたそれぞれの先頭のビットに“０”を付し、コマンドを判別するためのデータ（以下、このデータについてもコマンドという）については“１”を付す。つまり、これが、処理データであるかコマンドであるかを判定するための判定用ビット（フラグ）となる。これにより、各実行コード（プログラムコード）は１バイト（８ビット）を単位として各バイトコードに分けられる。このように、各項目（要素）の文字列に分かれていた処理データをバイナリデータとしてまとめて処理してデータ量の低減を図る。
【００２６】
一方、コマンドについては、そのコマンドと１対１で対応するバイナリデータで表す。これにより、そのバイナリデータが表すコマンドを判別することができる。このコマンドとバイナリデータとの関係は関連づけられてデータとして記憶手段１０に記憶されており、変換部４Ｆは生成に際してそのデータを参照する。ここで、コマンド数が１２８以下であればコマンドを判別するためには１バイトあれば足りる。例えばコマンド数がそれ以上となる等の場合には２バイト以上になるが、その場合でも、実行処理に使用（出現）する頻度の高いコマンド（例えばプロパティ関連等）は１バイトのコードデータでも判別できるようにすることで、プログラムコード全体のデータ量をさらに減らすことができる。なお、本実施の形態による方法によって生成したバイト単位のコードデータを、さらにランレングス法のような公知のビット列圧縮法によって圧縮するようにしてもよい。
【００２７】
また、組み込み機器条件入力手段６を介して入力された出力媒体のデータに基づいて、出力手段５は、変換を行う形式を決定し、変換を行う。その際、出力媒体として、電子記憶媒体が選択された場合は、ＱＲコードへの変換は自動的に「しない」が選択される。また、出力媒体として、印刷媒体が選択された場合は、ＱＲコードへの変換は「する」が選択される。
【００２８】
組み込み機器が有するプログラム実行装置では、記憶媒体等を介し、例えばＲＯＭプログラムコードが格納される。プログラムコードを１バイト単位で読み込み、コマンドを含むデータであるか処理データを含むデータであるかどうかを、判定用ビットに基づいて判定し、処理データを含むデータの場合は、ＲＡＭに一時的に記憶させていく。コマンドを含むデータであると判断すると、実行コードに伸張して実行処理を行う。
【００２９】
以上のように実施の形態２によれば、組み込み機器（その組み込み機器が有するプログラム実行装置）のプログラムコード実行処理環境（ＲＯＭ、ＲＡＭの記憶容量等）を入力設定するための組み込み機器条件入力手段６を設け、さらにその設定に基づいて、最適化部４Ｄが新たなプログラムコードを生成するようにしたので、組み込み機器の特性、条件等に応じた、きめ細かなプログラムコード生成を行うことができる。そして、処理データ・コマンド識別部４Ｅ及び変換部４Ｆを有し、プログラムコードの圧縮処理を行うことができるので、ＲＯＭの記憶容量削減を図ることができ、低コスト化を図ることができる。そして、圧縮処理において、各実行コードの処理データとコマンドとを識別し、処理データは各要素（項目）をまとめてバイナリデータとし、コマンドは対応する数値をバイナリデータとして、それぞれのデータを７ビットに分け、処理データを含むデータかコマンドを含むデータか判定するための判定用ビットを各データに付すようにして、１バイトのデータに分けるようにしたので、処理データとコマンドをそれぞれ圧縮できる。
【図面の簡単な説明】
【００３０】
【図１】プログラムコード生成支援装置中心のシステムを表す図である。
【図２】仕様入力手段１が表示手段２０に表示させた画面の例を表す図である。
【図３】実行コードの一例を表す図である。
【図４】最適化規則の一例を表す図である。
【図５】最適化規則の別の一例を表す図である。
【図６】実施の形態２に係るプログラムコード生成支援装置を表す図である。
【図７】組み込み機器条件入力手段６が表示させた画面の例を表す図である。
【図８】圧縮した実行データを表す図である。
【符号の説明】
【００３１】
１  仕様入力手段、２  コード生成手段、３  コード評価手段、４、４−１  コード最適化手段、４Ａ  コード解析部、４Ｂ  条件検索部、４Ｃ、４Ｄ  最適化部、４Ｅ  処理データ・コマンド識別部、４Ｆ  変換部、５  出力手段、６  組み込み機器条件入力手段、１０  記憶手段、１０Ａ  辞書部、１０Ｂ  最適化規則記憶部、２０  表示手段、３０  入力手段、４０  印刷装置、５０  メモリ読書装置。
【図１】
2006215826.tif 000003
【図２】
2006215826.tif 000004
【図３】
2006215826.tif 000005
【図４】
2006215826.tif 000006
【図５】
2006215826.tif 000007
【図６】
2006215826.tif 000008
【図７】
2006215826.tif 000009
【図８】
2006215826.tif 000010