(57)【要約】【課題】処理プログラムのデータ量を削減する。【解決手段】関数ライブラリファイル１３から置換対象リストＣＬを生成し、置換対象リストＣＬに記載されている各関数名称ＫＳに対し、文字数の制限された識別情報を生成して対応付けることで名称置換リストＭＬを生成し、この名称置換リストＭＬにより、生成元である各プログラムファイルそれぞれの記述内容に含まれる関数名称ＫＳ置き換えるようにしたことにより、処理プログラム１０の作成時、作成者に対して、従来通り、プログラム本体１１を記述させたうえで、かかるプログラム本体１１及びプログラムライブラリ１２の作成後に、プログラム本体１１及びプログラムライブラリ１２のデータ量を削減することができ、かくして、処理プログラム１０のデータ量を削減することができる。【選択図】図１０
2009098732.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて、文字数の制限なく当該関数に従った上記特定処理の内容を示すように生成された関数名称が記述されたプログラム本体と、当該プログラム本体に記述された上記関数名称と、当該関数名称が示す上記関数とが対応付けて格納されたライブラリとから形成される上記機能に応じた種々の処理を実行させるための処理プログラムの上記プログラム本体及び上記ライブラリから上記関数名称を抽出する抽出部と、
上記抽出部により上記プログラム本体及び上記ライブラリから抽出された上記関数名称を、文字数の制限された識別情報に置換する置換部と
を具えることを特徴とする名称置換装置。
【請求項２】
上記抽出部により上記プログラム本体及び上記ライブラリから抽出された上記関数名称の文字数と、上記識別情報の文字数とを比較する比較部
を具え、
上記置換部は、
上記比較部による上記関数名称の文字数と、上記識別情報の文字数と上記比較結果に応じて、上記関数名称の文字数よりも上記識別情報の文字数が多い場合、上記関数名称を上記識別情報に置換しないようにする
ことを特徴とする請求項１に記載の名称置換装置。
【請求項３】
上記プログラム本体及び上記ライブラリにそれぞれ含まれる複数種類の上記関数名称に対応させ、かつ共通の文字列を含むように複数種類の上記識別情報を生成する識別情報生成部
を具え、
上記抽出部は、
上記処理プログラムの上記プログラム本体及び上記ライブラリから複数種類の上記関数名称を抽出し、
上記置換部は、
上記抽出部により上記プログラム本体及び上記ライブラリから抽出された複数種類の上記関数名称を、対応する複数種類の上記識別情報に置換する
ことを特徴とする請求項２に記載の名称置換装置。
【請求項４】
上記プログラム本体には、
上記関数名称が、当該関数名称の先頭及び最後尾を判別させるための判別情報と共に記述され、
上記抽出部は、
上記処理プログラムの上記プログラム本体から上記判別情報に基づき上記関数名称を抽出する
ことを特徴とする請求項１に記載の名称置換装置。
【請求項５】
所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて、文字数の制限なく当該関数に従った上記特定処理の内容を示すように生成された関数名称が記述されたプログラム本体と、当該プログラム本体に記述された上記関数名称と、当該関数名称が示す上記関数とが対応付けて格納されたライブラリとから形成される上記機能に応じた種々の処理を実行させるための処理プログラムの上記プログラム本体及び上記ライブラリから上記関数名称を抽出する抽出ステップと、
上記抽出部により上記プログラム本体及び上記ライブラリから抽出された上記関数名称を、文字数の制限された識別情報に置換する置換ステップと
を具えることを特徴とする名称置換方法。
【請求項６】
コンピュータに対し、
所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて、文字数の制限なく当該関数に従った上記特定処理の内容を示すように生成された関数名称が記述されたプログラム本体と、当該プログラム本体に記述された上記関数名称と、当該関数名称が示す上記関数とが対応付けて格納されたライブラリとから形成される上記機能に応じた種々の処理を実行させるための処理プログラムの上記プログラム本体及び上記ライブラリから上記関数名称を抽出する抽出ステップと、
上記抽出部により上記プログラム本体及び上記ライブラリから抽出された上記関数名称を、文字数の制限された識別情報に置換する置換ステップと
を実行させるための名称置換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は名称置換装置、名称置換方法及び名称置換プログラムに関し、例えば、所定の機能に応じた種々の処理を実行させるための処理プログラムを作成するパーソナルコンピュータに適用して好適なものである。
【背景技術】
【０００２】
従来、所定の機能に応じた種々の処理を実行させるための処理プログラムとして、当該所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて関数名称が記述されたプログラム本体と、当該プログラム本体に記述された関数名称と、当該関数名称が示す関数とが対応付けて格納されたライブラリとから形成されたものがある。
【０００３】
かかる処理プログラムは、例えば電子機器に対し基本的にはプログラム本体の記述内容に従って種々の処理を順番に実行させ、かかる処理の一環として当該プログラム本体に記述された関数名称が読み出されたときには、ライブラリから、その関数名称が示す関数を呼び出させ、当該呼び出させた関数に従い特定処理を実行させるように作成されている。
【０００４】
そして従来のプログラム作成装置は、かかる処理プログラムの作成時、作成者に対し、所定の機能に応じた種々の処理を実行させるための内容を記述させると共に、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて関数名称を記述させてプログラム本体を作成している。
【０００５】
またプログラム作成装置は、かかる処理プログラムの作成時、プログラム本体の作成に加えて、作成者に対し関数名称が示す関数を記述させて作成する。
【０００６】
そしてプログラム作成装置は、プログラム本体に記述された関数名称と、当該関数名称が示し、かつ作成者により記述された関数とを対応付けて格納したライブラリを作成する。
【０００７】
このようにしてプログラム作成装置は、プログラム本体及びライブラリからなる処理プログラムを作成していた（例えば、特許文献１参照）。
【特許文献１】特開２００６−４８４３１公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、かかる構成の処理プログラムでは、プログラム本体に記述される関数名称が、例えば、作成者により、特には文字数の制限なく当該関数名称の示す関数に従って実行させるための特定処理の内容を示すように生成されている。
【０００９】
このため、プログラム作成装置では、処理プログラムの作成時、作成者に対し、プログラム本体に記述する関数名称を、他の特定処理を示す関数名称とは適確に区別させて選定させ得るようになされている。
【００１０】
ところが、かかる処理プログラムのプログラム本体に記述される関数名称については、当該関数名称が示す関数に従って実行させる特定処理の内容をより明確に示すようにすると、他の特定処理を示す関数名称とは、より適確に区別させて選定させ得るものの、文字数が増える傾向にある。
【００１１】
その結果、処理プログラムでは、関数名称の文字数が増加すると、その分、当該関数名称を含むプログラム本体及びライブラリと共に処理プログラム全体としてのデータ量が増加すると言う問題があった。
【００１２】
本発明は以上の点を考慮してなされたもので、処理プログラムのデータ量を削減し得る名称置換装置、名称置換方法及び名称置換プログラムを実現する。
【課題を解決するための手段】
【００１３】
かかる課題を解決するため本発明においては、名称置換装置において、所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて、文字数の制限なく当該関数に従った特定処理の内容を示すように生成された関数名称が記述されたプログラム本体と、当該プログラム本体に記述された関数名称と、当該関数名称が示す関数とが対応付けて格納されたライブラリとから形成される機能に応じた種々の処理を実行させるための処理プログラムのプログラム本体及びライブラリから関数名称を抽出する抽出部と、当該抽出部によりプログラム本体及びライブラリから抽出された関数名称を、文字数の制限された識別情報に置換する置換部とを設けるようにした。
【００１４】
これにより、名称置換装置では、処理プログラムの作成時、作成者に対して、従来通り、プログラム本体に記述すべき関数名称については、他の特定処理を示す関数名称とは適確に区別させて選定させたうえで、当該プログラム本体に記述させ得るものの、かかるプログラム本体及びライブラリの作成後に関数名称を識別情報に置換することで、これらプログラム本体及びライブラリのデータ量を削減することができる。
【発明の効果】
【００１５】
本発明によれば、名称置換装置において、所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて、文字数の制限なく当該関数に従った特定処理の内容を示すように生成された関数名称が記述されたプログラム本体と、当該プログラム本体に記述された関数名称と、当該関数名称が示す関数とが対応付けて格納されたライブラリとから形成される機能に応じた種々の処理を実行させるための処理プログラムのプログラム本体及びライブラリから関数名称を抽出する抽出部と、当該抽出部によりプログラム本体及びライブラリから抽出された関数名称を、文字数の制限された識別情報に置換する置換部とを設けるようにしたことにより、処理プログラムの作成時、作成者に対して、従来通り、プログラム本体に記述すべき関数名称については、他の特定処理を示す関数名称とは適確に区別させて選定させたうえで、当該プログラム本体に記述させ得るものの、かかるプログラム本体及びライブラリの作成後に関数名称を識別情報に置換することで、これらプログラム本体及びライブラリのデータ量を削減することができ、かくして処理プログラムのデータ量を削減し得る名称置換装置、名称置換方法及び名称置換プログラムを実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下図面について、本発明の一実施の形態を詳述する。
【００１７】
（１）プログラム生成装置の回路構成
図１において１は、全体として本実施の形態によるプログラム生成装置の構成を示す。かかるプログラム生成装置１において、キーボード及びマウスなどでなる操作部２は、ユーザ（すなわち、プログラムの作成者）によって操作されると、その操作に応じた操作入力信号を生成して操作コマンドに変換し、バス３を介してＣＰＵ（Central  Processing  Unit）４に送る。
【００１８】
ＣＰＵ４は、ＲＯＭ（Read  Only  Memory）５またはハードディスクドライブ６に予め記憶されている基本プログラム、アプリケーションプログラムなどの各種プログラムをバス３を介してＲＡＭ（Random  Access  Memory）７に読み出す。そしてＣＰＵ４は、ＲＡＭ７上で展開したこれら各種プログラムに従って全体を制御すると共に、所定の演算処理や、操作部２を介して入力される操作コマンドなどに応じて各種処理を実行することができる。
【００１９】
これによりＣＰＵ４は、例えば、作成者により操作部２を介し、デジタルテレビジョン等の電子機器に対して所定の機能に応じた処理を実行させるための処理プログラムを作成する命令（以下、これをプログラム作成命令と呼ぶ）が入力されると、その命令に応じて、例えばＬＣＤ（Liquid  Crystal  Display）でなるモニタ８にプログラム入力画面を表示する。
【００２０】
そしてＣＰＵ４は、作成者に対し、操作部２を介し、Ｃ言語などのプログラム作成言語を用いることで、電子機器に対して所定の機能に応じた種々の処理を実行させるための記述をプログラム作成画面に入力させる。
【００２１】
このようにしてＣＰＵ４は、作成者に対し、操作部２による入力を介して所定の機能に応じた種々の処理を実行させるための記述を入力させることで処理プログラムを生成させるようになされている。またこの場合、ＣＰＵ４は、入力された記述をプログラム入力画面上に表示することで、処理プログラムの記述内容を作成者に確認させつつ、記述を入力させる（すなわち処理プログラムを作成させる）ようになされている。
【００２２】
ところで、図２（Ａ）に示すように、処理プログラム１０は、プログラム本体１１とプログラムライブラリ１２とから構成されている。
【００２３】
そしてＣＰＵ４は、作成者に対し、処理プログラム１０のプログラム本体１１を作成させる場合には、所定の機能に応じた種々の処理を実行させるための内容を記述させるものの、この種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、この関数に換えて関数名称を記述させる。
【００２４】
またＣＰＵ４は、作成者に対し、処理プログラム１０のプログラムライブラリ１２を作成させる場合には、プログラム本体１１に記述された関数名称と、この関数名称が示す関数とを対応付けて格納させる。
【００２５】
ここで、関数名称は、例えば「asc_bsettop_transport_release」（３０文字）や「asc_bstream」（１１文字）のように、関数名称の示す関数に従って実行させるため特定処理の内容を示すように文字数の制限無く記述された名称（すなわち、関数に従って実行させる特定処理の内容を十分に示せるだけの文字数で記述された名称）である。そしてこの関数名称は、関数の代わりにプログラム本体１１に記述されることで、後に、このプログラム本体１１の関数名称が記述された部分からプログラムライブラリ１２の関数を呼び出し得るようにするものである。
【００２６】
これによりＣＰＵ４は、作成者に対し、プログラム本体１１の内容を記述させる際、プログラム本体１１に記述する関数名称を、他の特定処理を示す他の関数名称とは的確に区別させて選定させるようになされており、その結果、所望の関数名称と間違えて他の関数名称をプログラム本体１１に記述させてしまうような事態を回避して、プログラム本体１１の内容を記述させ易くし得るようになされている。
【００２７】
このようにしてＣＰＵ４は、操作部２を介した作成者の入力に応じ、処理プログラム１０のプログラム本体１１とプログラムライブラリ１２とを作成するようになされている。そしてＣＰＵ４は、作成者により操作部２を介し、作成したプログラム本体１１とプログラムライブラリ１２とを記憶する命令（以下、これをプログラム記憶命令と呼ぶ）が入力されると、その命令に応じて、これらプログラム本体１１とプログラムライブラリ１２とをハードディスクドライブ６に送出して記憶させる。
【００２８】
実際上、ＣＰＵ４は、図２（Ｂ）に示すように、例えば、作成者の指示に応じ、プログラム本体１１を種々の機能毎に分割してファイル化することで、全体として複数のファイル（以下、これらをそれぞれプログラム本体ファイルとも呼ぶ）Ｈｓｆに分割してハードディスクドライブ６に記憶するようになされている。
【００２９】
また、これらプログラム本体ファイルＨｓｆのそれぞれには、プログラム本体ファイルＨｓｆに格納された内容がプログラム作成言語を用いて作成者により記述されていることを示すための拡張子（例えば、Ｃ言語であれば「.ｃ」や「.ｈ」）を含むファイル名が付加されている。これによりプログラム本体ファイルＨｓｆは、ファイル名の拡張子により、このプログラム本体ファイルＨｓｆに格納された内容がプログラム作成言語を用いて作成者により記述されたものであることを示せるようになされている。
【００３０】
このようにプログラム生成装置１は、プログラム本体１１を複数のファイルに分けて記憶しており、１つのプログラム本体１１を複数人のユーザ（すなわち作成者）で分担して開発する場合や、プログラム本体１１に記述する内容が増加した場合などに、開発や管理、部分的な修正を容易にし得るようになされている。
【００３１】
以下では、一例として、処理プログラム１０のプログラム本体１１として３つのプログラム本体ファイルＨｓｆ（以下、これらをそれぞれ、第１のプログラム本体ファイルＨｓｆ１、第２のプログラム本体ファイルＨｓｆ２及び第３のプログラム本体ファイルＨｓｆ３とする）がハードディスクドライブ６に対して記憶されているものとする。
【００３２】
ここで第１のプログラム本体ファイルＨｓｆ１には、例えば、第２のプログラム本体ファイルＨｓｆ２のファイル名が含まれており、後に第２のプログラム本体ファイルＨｓｆ２を呼び出して結合できるようになされている（このようにファイルの結合先を示すファイル名を、以下、結合先ファイル名と呼ぶ）。
【００３３】
また第２のプログラム本体ファイルＨｓｆ２には、例えば、第３のプログラム本体ファイルＨｓｆ３のファイル名が結合先ファイル名として含まれており、後に第３のプログラム本体ファイルＨｓｆ３を呼び出して結合できるようになされている。
【００３４】
このようにして、これら第１のプログラム本体ファイルＨｓｆ１、第２のプログラム本体ファイルＨｓｆ２及び第３のプログラム本体ファイルＨｓｆ３は、別のファイルとしてハードディスクドライブ６に記憶されつつも、結合先ファイル名を有することで、後に結合して１つのプログラムを形成し得るようになされている。
【００３５】
一方、ＣＰＵ４は、図２（Ｂ）に示すように、例えば、作成者の指示に応じ、プログラムライブラリ１２を種々の機能毎に分割してファイル化することで、全体として複数のファイル（以下、これらをそれぞれライブラリファイルとも呼ぶ）Ｌｓｆに分割してハードディスクドライブ６に記憶するようになされている。
【００３６】
また、これらライブラリファイルＬｓｆのそれぞれには、ライブラリファイルＬｓｆに格納された内容がプログラム作成言語を用いて作成者により記述されていることを示すための拡張子（例えば、Ｃ言語であれば「.ｃ」や「.ｈ」）を含むファイル名が付加されている。これによりライブラリファイルＬｓｆは、ファイル名の拡張子により、このライブラリファイルＬｓｆに格納された内容がプログラム作成言語を用いて作成者により記述されたものであることを示せるようになされている。
【００３７】
このようにプログラム生成装置１は、プログラムライブラリ１２を複数のファイルに分けて記憶しており、プログラムライブラリ１２に格納する関数が多くなるような場合などに、作成者に対し、処理プログラム１０の開発や管理、部分的な修正を容易にし得るようになされている。
【００３８】
以下では、一例として、処理プログラム１０のプログラムライブラリ１２として２つのライブラリファイルＬｓｆ（以下、これらをそれぞれ、第１のライブラリファイルＬｓｆ１及び第２のライブラリファイルＬｓｆ２とする）がハードディスクドライブ６に対して記憶されているものとする。
【００３９】
実際上、プログラム生成装置１のＣＰＵ４は、例えば、図３に示すように、ハードディスクドライブ６に対して、ｒｏｏｔフォルダＦｏ１の下の階層に第１のプログラムフォルダＦｏ２を生成し、第１のプログラムフォルダＦｏ２の下の階層に第２のプログラムフォルダＦｏ３を生成するようにした階層的なフォルダ構成を構築する。
【００４０】
そしてＣＰＵ４は、例えば、第１のプログラムフォルダＦｏ２内に第１のプログラム本体ファイルＨｓｆ１及び第２のプログラム本体ファイルＨｓｆ２を記憶し、第２のプログラムフォルダＦｏ３内に第３のプログラム本体ファイルＨｓｆ３、第１のライブラリファイルＬｓｆ１及び第２のライブラリファイルＬｓｆ２を記憶することで、これらファイルを記憶管理している。
【００４１】
このようにしてＣＰＵ４は、ハードディスクドライブ６に対し、プログラム本体１１として第１のプログラム本体ファイルＨｓｆ１、第２のプログラム本体ファイルＨｓｆ２及び第３のプログラム本体ファイルＨｓｆ３を記憶すると共に、プログラムライブラリ１２として第１のライブラリファイルＬｓｆ１及び第２のライブラリファイルＬｓｆ２を記憶するようになされている。
【００４２】
ところで、第１のプログラム本体ファイルＨｓｆ１、第２のプログラム本体ファイルＨｓｆ２、第３のプログラム本体ファイルＨｓｆ３、第１のライブラリファイルＬｓｆ１及び第２のライブラリファイルＬｓｆ２（すなわち、各プログラム本体ファイルＨｓｆ及び各ライブラリファイルＬｓｆのことであり、以下、これらそれぞれを単にプログラムファイルとも呼ぶ）の記述内容は、上述したように、プログラム作成言語で作成者により記述されており、そのままでは電子機器に読ませても解釈させることはできない。
【００４３】
従って、各プログラムファイルの記述内容を電子機器で解釈できるようにするためには、プログラム作成言語で記述された記述内容を、電子機器で解釈可能な機械言語（例えば、「０」と「１」の二進数で記述された言語）にコンパイル（すなわち翻訳）する必要がある。
【００４４】
これによりプログラム生成装置１のＣＰＵ４は、作成者により操作部２を介して、例えば、ハードディスクドライブ６に記憶されている第１のプログラム本体ファイルＨｓｆ１が指定され、そこに記述されている記述内容を機械言語に翻訳する命令（以下、これをプログラム翻訳命令と呼ぶ）が入力されると、指定された第１のプログラム本体ファイルＨｓｆ１をハードディスクドライブ６から読み出す。
【００４５】
ＣＰＵ４は、読み出した第１のプログラム本体ファイルＨｓｆ１の記述内容を機械言語に翻訳してハードディスクドライブ６に送出し、翻訳済みのファイル（以下、これを第１の翻訳済プログラム本体ファイルと呼ぶ）としてハードディスクドライブ６に記憶する。
【００４６】
またＣＰＵ４は、作成者により操作部２を介して、ハードディスクドライブ６に記憶されている第２のプログラム本体ファイルＨｓｆ２が指定され、プログラム翻訳命令が入力されると、指定された第２のプログラム本体ファイルＨｓｆ２をハードディスクドライブ６から読み出す。
【００４７】
ＣＰＵ４は、読み出した第２のプログラム本体ファイルＨｓｆ２の記述内容を機械言語に翻訳してハードディスクドライブ６に送出し、翻訳済みのファイル（以下、これを第２の翻訳済プログラム本体ファイルと呼ぶ）としてハードディスクドライブ６に記憶する。
【００４８】
さらにＣＰＵ４は、作成者により操作部２を介して、ハードディスクドライブ６に記憶されている第３のプログラム本体ファイルＨｓｆ３が指定され、プログラム翻訳命令が入力されると、指定された第３のプログラム本体ファイルＨｓｆ３をハードディスクドライブ６から読み出す。
【００４９】
ＣＰＵ４は、読み出した第３のプログラム本体ファイルＨｓｆ３の記述内容を機械言語に翻訳してハードディスクドライブ６に送出し、翻訳済みのファイル（以下、これを第３の翻訳済プログラム本体ファイルと呼ぶ）としてハードディスクドライブ６に記憶する。
【００５０】
一方、プログラム生成装置１のＣＰＵ４は、作成者により操作部２を介して、ハードディスクドライブ６に記憶されている第１のライブラリファイルＬｓｆ１が指定され、プログラム翻訳命令が入力されると、指定された第１のライブラリファイルＬｓｆ１をハードディスクドライブ６から読み出す。
【００５１】
そしてＣＰＵ４は、読み出した第１のライブラリファイルＬｓｆ１の記述内容を機械言語に翻訳してハードディスクドライブ６に送出し、翻訳済みのファイル（以下、これを第１の翻訳済ライブラリファイルと呼ぶ）としてハードディスクドライブ６に記憶する。
【００５２】
またＣＰＵ４は、作成者により操作部２を介して、ハードディスクドライブ６に記憶されている第２のライブラリファイルＬｓｆ２が指定され、プログラム翻訳命令が入力されると、指定された第２のライブラリファイルＬｓｆ２をハードディスクドライブ６から読み出す。
【００５３】
そしてＣＰＵ４は、読み出した第２のライブラリファイルＬｓｆ２の記述内容を機械言語に翻訳してハードディスクドライブ６に送出し、翻訳済みのファイル（以下、これを第２の翻訳済ライブラリファイルと呼ぶ）としてハードディスクドライブ６に記憶する。
【００５４】
実際上、プログラム生成装置１のＣＰＵ４は、各プログラムファイルを記憶させたような階層的なフォルダ構成（図３）を別途構築して（図示せず）、その中に第１の翻訳済プログラム本体ファイル、第２の翻訳済プログラム本体ファイル、第３の翻訳済プログラム本体ファイル、第１の翻訳済ライブラリファイル及び第２の翻訳済ライブラリファイル（以下、これらをそれぞれ翻訳済プログラムファイルとも呼ぶ）を記憶するようになされている。
【００５５】
このようにしてプログラム生成処理装置１は、作成者の操作入力に応じ、プログラムファイルそれぞれの記述内容を機械言語に翻訳することで、翻訳済プログラムファイルをそれぞれ生成してハードディスクドライブ６に記憶するようになされている。
【００５６】
また、これら翻訳済プログラムファイルのそれぞれには、翻訳済プログラムファイルに格納された記述内容が機械言語に翻訳されていることを示すための拡張子（例えば、Ｃ言語であれば「.ｏ」）を含むファイル名が付加されている。これにより翻訳済プログラムファイルは、ファイル名の拡張子により、この翻訳済プログラムファイルに格納された記述内容が機械言語に翻訳されていることを示せるようになされている。
【００５７】
ところで、各翻訳済プログラムファイルは、翻訳済プログラムファイル同士の結合や、そこで用いられている関数名称と関数とのリンク付けがなされておらず、そのままでは、全体として１つのプログラム（すなわち、処理プログラム１０）として機能させることはできない。
【００５８】
従って、各翻訳済プログラムファイルを、電子機器において所定の機能に応じた処理を実行させるための処理プログラムとするためには、翻訳済プログラムファイル同士の結合や、そこで用いられている関数名称と関数とのリンク付けを行う必要がある。
【００５９】
これによりプログラム生成装置１のＣＰＵ４は、作成者により操作部２を介して、ハードディスクドライブ６に記憶されている各翻訳済プログラムファイルがまとめて指定され、翻訳済プログラムファイル同士の結合や、そこで用いられている関数名称と関数とをリンク付ける命令（以下、これをファイル結合及びリンク付け命令と呼ぶ）が入力されると、指定された各翻訳済プログラムファイル（すなわち、第１の翻訳済プログラム本体ファイル、第２の翻訳済プログラム本体ファイル、第３の翻訳済プログラム本体ファイル、第１の翻訳済ライブラリファイル及び第２の翻訳済ライブラリファイル）をハードディスクドライブ６から読み出す。
【００６０】
そしてＣＰＵ４は、ハードディスクドライブ６から読み出した各翻訳済プログラムファイルの記述内容を解釈することで（機械言語に翻訳されているので解釈可能）、各翻訳済プログラムファイル同士の結合と、そこで用いられている関数名称及び関数のリンク付けとを行う。
【００６１】
具体的に言うと、ＣＰＵ４は、第２の翻訳済プログラムファイルを結合先として識別する結合先ファイル名が第１の翻訳済プログラムファイルに含まれていることに応じ、第１の翻訳済プログラム本体ファイルに対して第２の翻訳済プログラムファイルを結合することを認識する。
【００６２】
さらにＣＰＵ４は、第３の翻訳済プログラムファイルを結合先として識別する結合先ファイル名が第２の翻訳済プログラムファイルに含まれていることに応じ、第２の翻訳済プログラム本体ファイルに対して第３の翻訳済プログラム本体ファイルを結合することを認識する。
【００６３】
そしてＣＰＵ４は、第１の翻訳済プログラムファイル、第２の翻訳済プログラムファイル及び第３の翻訳済プログラムファイルを結合して１つにすることで、電子機器において所定の機能に応じた処理を実行させるためのプログラム（すなわち、実行可能プログラム）を生成する。
【００６４】
一方、ＣＰＵ４は、第１の翻訳済ライブラリファイル及び第２の翻訳済ライブラリファイルのそれぞれに含まれる関数、及び関数に対応する関数名称を１つにまとめるようにして、電子機器において実行可能プログラムに応じた処理を実行する際にこの実行可能プログラムから呼び出す関数を格納するライブラリ（以下、これを関数ライブラリと呼ぶ）を生成する。
【００６５】
さらにＣＰＵ４は、電子機器における実行可能プログラムに応じた処理の実行時、実行可能プログラムと関数ライブラリとを電子機器のメモリに展開する際に、実行可能プログラムの記述内容に含まれる関数名称により関数ライブラリの関数を呼び出せるように、実行可能プログラム及び関数ライブラリそれぞれのメモリ内での配置位置を示す情報（以下、これを配置位置情報と呼ぶ）を、実行可能プログラム及び関数ライブラリのそれぞれに対して生成して格納する。
【００６６】
そしてＣＰＵ４は、このようにして生成した実行可能プログラムを、実行可能プログラムファイルとしてハードディスクドライブ６に記憶させる。またＣＰＵ４は、実行可能プログラムファイルに対応付けるようにして、関数ライブラリを関数ライブラリファイルとしてハードディスクドライブ６に記憶させる。これら実行可能プログラムファイル及び関数ライブラリファイルが、最終的に電子機器に実装する処理プログラムである。
【００６７】
このようにしてプログラム生成装置１は、作成者の操作入力に応じて作成した処理プログラム１０（プログラム本体１１及びプログラムライブラリ１２）を元にして、電子機器に実装して処理可能な最終的な処理プログラム（実行可能プログラムファイル及び関数ライブラリファイル）を生成し、これらをそれぞれ実行可能プログラムファイル及び関数ライブラリファイルとしてハードディスクドライブ６に記憶するようになされている。
【００６８】
すなわちプログラム生成装置１は、電子機器に対して所定の機能に応じた処理を実行させるための最終的な処理プログラムとして、この所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、かかる種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、この関数に換えて関数名称が記述された実行可能プログラムファイルと、この実行可能プログラムファイルに記述された関数名称とこの関数名称ＫＳが示す関数とが対応付けて格納された関数ライブラリファイルとをハードディスクドライブ６に記憶するようになされている。
【００６９】
かかる構成に加えて、プログラム生成装置１のＣＰＵ４は、実行可能プログラムファイル及び関数ライブラリファイルに格納されている記述内容に含まれる関数名称を、識別情報に置き換える機能（以下、これを名称置換機能と呼ぶ）を有している。ゆえに、以下では、このＣＰＵ４の名称置換機能について詳述する。
【００７０】
プログラム生成装置１のＣＰＵ４は、作成者により操作部２を介し、関数ライブラリファイルが指定され、この関数ライブラリファイルに含まれる関数の関数名称を抽出する命令（例えば、LinuxなどのOS（Operation  System）におけるnmコマンドに対応する命令であり、以下、これを名称抽出命令と呼ぶ）が入力されると、指定された関数ライブラリファイルをハードディスクドライブ６から読み出す。
【００７１】
ここで図４に示すように、関数ライブラリファイル１３は、ヘッダ格納部２１、関数格納部２２、配置位置格納部２３及びテーブル格納部２４格納部から構成されている。
【００７２】
ヘッダ格納部２１には、関数ライブラリファイル１３のファイル名などを有するヘッダ情報Ｈが格納されている。
【００７３】
関数格納部２２には、関数ライブラリファイル１３内の関数Ｋなどがまとめて格納されている。
【００７４】
配置位置格納部２３には、上述した配置位置情報Ｙが格納されている。
【００７５】
テーブル格納部２４には、図５に示すように、関数名称ＫＳに対して関数位置情報ＦＡ及び関数分類情報ＴＰを対応付けたテーブル（以下、これを関数名称及び関数位置対応テーブルと呼ぶ）Ｔが格納されている。ちなみにこの関数名称及び関数位置対応テーブルＴは、本来であれば機械言語で記述されているが、ここでは説明の便宜上、プログラム作成言語で表記する。
【００７６】
関数位置情報ＦＡは、関数ライブラリファイル１３の中で関数名称ＫＳに対応する関数Ｋが格納されている位置を示している。
【００７７】
また関数分類情報ＴＰは、関数名称ＫＳに対応する関数Ｋなどが関数格納部２２の中でどのように分類されているかを示しており、例えば関数Ｋの種類によって「Ｔ」や「Ｄ」などがある。さらに関数分類情報ＴＰとしては「Ｕ」があり、この場合、関数名称ＫＳに対応する関数が関数ライブラリファイル１３の中に存在しないことを示しており、関数位置情報ＦＡは、未定義となる。ちなみに、関数分類情報ＴＰが「Ｕ」になるのは、例えば、最終的に生成される処理プログラムの関数プログラムファイルが複数ある場合に、他の関数ライブラリファイルに格納されている関数Ｋの関数名称ＫＳが記述された関数Ｋが関数格納部２２に格納されているような場合が想定される。
【００７８】
これによりプログラム生成装置１のＣＰＵ４は、作成者により操作部２を介して指定された関数ライブラリファイル１３を、名称抽出命令に応じてハードディスクドライブ６から読み出すと、関数ライブラリファイル１３のテーブル格納部２４から機械言語で記述された関数名称及び関数位置対応テーブルＴを読み出してプログラム作成言語に翻訳する。
【００７９】
そしてＣＰＵ４は、翻訳した関数名称及び関数位置対応テーブルＴの各行から関数名称ＫＳと、この関数名称ＫＳに対応付けられている関数分類情報ＴＰとを順に取得する。
【００８０】
このときＣＰＵ４は、関数分類情報ＴＰが「Ｕ」（すなわち、関数位置情報ＦＡが「未定義」）の関数名称ＫＳについては、この関数名称ＫＳに対応する関数が関数ライブラリファイル１３に存在しないことに応じて取得しない。またＣＰＵ４は、例えば「＿（アンダーバー）」のように、関数名称ＫＳの先頭の文字として使用しないように規定されている文字が先頭に使われているような特殊な関数名称ＫＳ（すなわち、特殊名称）についても取得しない。
【００８１】
そしてＣＰＵ４は、関数名称及び関数位置対応テーブルＴを１行ずつ読んで関数名称ＫＳを順次取得すると、図６に示すように、この読み出した関数名称ＫＳを順次格納するようにして、置き換える関数名称ＫＳのリスト（以下、これを置換対象リストと呼ぶ）ＣＬを生成する。
【００８２】
実際上、置換対象リストＣＬには、関数名称及び関数位置対応テーブルＴ（図５）の関数名称ＫＳのうち、関数名称ＫＳの先頭の文字として使用しないように規定された「＿（アンダーバー）」が先頭に用いられている特殊名称「_CR_bstream_update」と、関数分類情報ＴＰが「Ｕ」である「atoi」とを除いた関数名称ＫＳが格納されている。
【００８３】
このようにしてプログラム生成装置１は、作成者により操作部２を介して関数ライブラリファイル１３が指定されて名称抽出命令が入力されると、関数ライブラリファイル１３の関数名称及び関数位置対応テーブルＴから、置換対象としての関数名称ＫＳを抽出して置換対象リストＣＬを生成するようになされている。
【００８４】
次いでＣＰＵ４は、置換対象リストＣＬを生成した状態で、作成者により操作部２を介し、置換対象リストＣＬに含まれる関数名称ＫＳを、この関数名称ＫＳに対応付けた識別情報に置き換えるためのリスト（以下、これを名称置換リストと呼ぶ）を生成する命令（名称置換リスト生成命令と呼ぶ）が入力されると、置換対象リストＣＬに記載されている各関数名称ＫＳに対し、この関数名称ＫＳを置き換える識別情報（以下、これを置換用識別情報と呼ぶ）として、例えば「 ZYX_ 」のような所定の接頭語に対して「0〜9999」のような連番を付すことで、「ZYX_0」（５文字）や「ZYX_3332」（８文字）のように文字数が制限された識別情報（この場合、一例として８文字以下の識別情報）を生成する。
【００８５】
そしてＣＰＵ４は、図７に示すように、生成した置換用識別情報ＣＭを関数名称ＫＳに対応付けるようにして格納することで、関数名称ＫＳと置換用識別情報ＣＭとを対応付けた名称置換リストＭＬを生成する。
【００８６】
このときＣＰＵ４は、関数名称ＫＳを構成する文字列の文字数と、この関数名称ＫＳに対して生成した置換用識別情報ＣＭを構成する文字列の文字数とを比較し、関数名称ＫＳを構成する文字列の文字数よりも、この関数名称ＫＳに対応付けて生成した置換用識別情報ＣＭを構成する文字列の文字数の方が少ない場合には、名称置換リストＭＬに対し、関数名称ＫＳに対応付けて置換用識別情報ＣＭを格納する。
【００８７】
これに対し、ＣＰＵ４は、関数名称ＫＳを構成する文字列の文字数と、この関数名称ＫＳに対して生成した置換用識別情報ＣＭを構成する文字列の文字数とを比較した結果、関数名称ＫＳを構成する文字列の文字数よりも、この関数名称ＫＳに対応付けて生成した置換用識別情報ＣＭを構成する文字列の文字数の方が多い場合には、名称置換リストＭＬに対し、関数名称ＫＳに対応付けて、置換用識別情報ＣＭではなく関数名称ＫＳをそのまま格納する。
【００８８】
実際上、ＣＰＵ４は、例えば、関数名称ＫＳとして「asc_bstream_release」という文字列が与えられ、この「asc_bstream_release」に対して「ZYX_4」という文字列でなる置換用識別情報ＣＭを生成した場合には、「asc_bstream_release」の文字数「１９」よりも「ZYX_4」の文字数「５」の方が少ないことにより、名称置換リストＭＬに対し、関数名称ＫＳ（asc_bstream_release）に対応付けて置換用識別情報ＣＭ（ZYX_4）を格納する（図７）。
【００８９】
これに対し、ＣＰＵ４は、例えば、関数名称ＫＳとして「g_ptype」という文字列が与えられ、この「g_ptype」に対して「ZYX_3333」という文字列でなる置換用識別情報ＣＭを生成したには、「g_ptype」の文字数「７」よりも「ZYX_3333」の文字数「８」の方が多いことにより、名称置換リストＭＬに対し、関数名称ＫＳ（g_ptype）に対応付けて、置換用識別情報ＣＭ（ZYX_3333）ではなく関数名称ＫＳ（g_ptype）をそのまま格納する（図７）。
【００９０】
このようにしてプログラム生成装置１のＣＰＵ４は、置換対象リストＣＬを生成した状態で、作成者により操作部２を介して名称置換リスト生成命令が入力されると、置換対象リストＣＬに記載されている各関数名称ＫＳに対し、置換用識別情報ＣＭまたは関数名称ＫＳを対応付けて順次格納することで、名称置換リストＭＬを生成するようになされている。
【００９１】
ちなみに、置換用識別情報ＣＭの接頭語（この場合、ZYX_）は、例えば、処理プログラムの記述に使用しないことが規定されている文字列や、置換用識別情報ＣＭに用いるためにあえて処理プログラムの記述に使用しないように規定した文字列が、作成者によって割り当てられるようになされており、その結果、処理プログラムの中の関数名称ＫＳをこの置換用識別情報ＣＭに置き換えた場合に、処理プログラムの他の部分と表記が似通ってしまうような事態を回避し得るようになされている。
【００９２】
次いでＣＰＵ４は、名称置換リストＭＬを生成した状態で、作成者により操作部２を介し、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である各プログラムファイルを記憶したフォルダが指定され、このフォルダに記憶されている各プログラムファイルに含まれる関数名称ＫＳを置き換える命令（以下、これを名称置換命令と呼ぶ）が入力されると、例えば所定のＡＰＩ（Application  Program  Interface）により、指定されたフォルダに格納されているプログラムファイルのファイル名や、下の階層のフォルダのフォルダ名（さらに、下の階層のフォルダの中に格納されているプログラムファイルのファイル名やその下の階層のフォルダのフォルダ名・・・）を順次取得する。
【００９３】
そしてＣＰＵ４は、プログラムファイルのファイル名を取得した場合には、このファイル名に含まれている拡張子の種類を確認する。そしてＣＰＵ４は、プログラムファイルのファイル名に含まれている拡張子が、例えば「.ｃ」や「.ｈ」であることに応じて、このファイル名に対応するプログラムファイルが関数名称ＫＳの置き換え対象のファイルであることを認識する。
【００９４】
またＣＰＵ４は、関数名称ＫＳの置き換え対象のファイルであると認識したプログラムファイルを読み出して、読み出した各プログラムファイルの記述内容に含まれる関数名称ＫＳを名称置換リストＭＬに応じて置き換える。
【００９５】
そしてＣＰＵ４は、ＡＰＩに応じてファイル名を特定する毎に、そのファイル名に応じたプログラムファイルを読み出して、読み出した各プログラムファイルの記述内容に含まれる関数名称ＫＳを名称置換リストＭＬに応じて置き換える。
【００９６】
一方でＣＰＵ４は、フォルダのフォルダ名を取得した場合には、このフォルダ名に対応するフォルダに移動し、移動したフォルダの中で同様のＡＰＩにより、プログラムファイルのファイル名やその下の階層のフォルダのフォルダ名を取得することを継続する。
【００９７】
実際上、ＣＰＵ４は、作成者により操作部２を介し、最終的な処理プログラム（すなわち、実行可能プログラムファイル及び関数ライブラリファイル１３）の生成元である各プログラムファイルを記憶した第１のプログラムフォルダＦｏ２（図３）が指定されて名称置換命令が入力された結果、ＡＰＩによりこの第１のプログラムフォルダＦｏ２に記憶されている第１のプログラム本体ファイルＨｓｆ１のファイル名を取得すると、このファイル名に「.ｃ」又は「.ｈ」の拡張子が付いていることに応じて、この第１のプログラム本体ファイルＨｓｆ１が関数名称ＫＳの置き換え対象のファイルであることを認識する。またＣＰＵ４は、関数名称ＫＳの置き換え対象のファイルとして特定した第１のプログラム本体ファイルＨｓｆ１を読み出す。
【００９８】
そしてＣＰＵ４は、読み出した第１のプログラム本体ファイルＨｓｆ１の記述内容を構成する文字を先頭から順に検出することで、スペース「  」や括弧「（ ）」、アンド「＆」、スラッシュ「／」などの関数名称ＫＳとして使用しないことが規定された文字に挟まれた文字または文字列を、関数名称ＫＳの候補として順次特定する。
【００９９】
すなわちＣＰＵ４は、スペース「  」や括弧「（ ）」、アンド「＆」、スラッシュ「／」などの、関数名称ＫＳの先頭と後尾とを判別することが可能な文字（以下、これを関数名称判別文字と呼ぶ）に挟まれた、関数名称ＫＳとして使用できるように規定された文字（以下、これを使用可能文字と呼ぶ）または使用可能文字でなる文字列を、関数名称ＫＳの候補として順次特定する（このように特定した使用可能文字および使用可能文字でなる文字列を、以下、置換候補名称と呼ぶ）。
【０１００】
そしてＣＰＵ４は、置換候補名称と名称置換リストＭＬの関数名称ＫＳとを比較し、置換候補名称に一致する関数名称ＫＳが名称置換リストＭＬに含まれていない場合（すなわちこの置換候補名称が関数名称ＫＳではない場合）には置き換えを行わない。
【０１０１】
一方で、ＣＰＵ４は、置換候補名称と名称置換リストＭＬの関数名称ＫＳとの比較の結果、置換候補名称に一致する関数名称ＫＳが名称置換リストＭＬに含まれている場合には、名称置換リストＭＬの中で、この置換候補名称と一致する関数名称ＫＳに対応付けられている置換用識別情報ＣＭにより置換候補名称を置き換える。また、ＣＰＵ４は、名称置換リストＭＬにおいて、関数名称ＫＳに対応付けられているのが置換用識別情報ＣＭではなく関数名称ＫＳである場合にも、この関数名称ＫＳにより記述内容中の置換候補名称（すなわち関数名称ＫＳ）を置き換える。
【０１０２】
実際上、ＣＰＵ４は、例えば、第１のプログラム本体ファイルＨｓｆ１の記述内容を構成する文字を先頭から順に検出した結果、「ut_user」という置換候補名称を取得した場合には、名称置換リストＭＬ（図７）に「ut_user」という関数名称ＫＳが存在しないことにより、この置換候補名称「ut_user」を置き換えない。
【０１０３】
またＣＰＵ４は、例えば、第１のプログラム本体ファイルＨｓｆ１の記述内容を構成する文字を先頭から順に検出した結果、「bValidatePcmOpNDataModes」という置換候補名称を取得した場合には、名称置換リストＭＬ（図７）に「bValidatePcmOpNDataModes」という関数名称ＫＳが存在することにより、置換候補名称「bValidatePcmOpNDataModes」を、名称置換リストＭＬにおいて関数名称ＫＳ「bValidatePcmOpNDataModes」に対応付けられている置換用識別情報ＣＭ「ZYX_3334」に置き換える。
【０１０４】
そしてＣＰＵ４は、第１のプログラム本体ファイルＨｓｆ１の記述内容の後尾まで、この置換候補名称の特定、名称置換リストＭＬの関数名称ＫＳとの比較、及び置換用識別情報ＣＭによる置換候補名称の置き換えを繰り返すことで、第１のプログラム本体ファイルＨｓｆ１に含まれる関数名称ＫＳを置換用識別情報ＣＭ（名称置換リストＭＬにおいて、関数名称ＫＳに対して関数名称ＫＳが対応付けられている場合には、置換用識別情報ＣＭではなく関数名称ＫＳ）に置き換える。
【０１０５】
このようにしてプログラム生成装置１は、名称置換リストＭＬにより、第１のプログラム本体ファイルＨｓｆ１に含まれる関数名称ＫＳを置換用識別情報ＣＭに置き換えるようになされている。その結果、第１のプログラム本体ファイルＨｓｆ１は、関数名称ＫＳを置換用識別情報ＣＭに置き換えたことにより、この関数名称ＫＳを構成する文字列の文字数と置換用識別情報ＣＭを構成する文字列の文字数との差分だけ記述内容の文字数が少なくなり、その結果、データ量が小さくなる。
【０１０６】
またＣＰＵ４は、第１のプログラムフォルダＦｏ２に記憶されている第２のプログラム本体ファイルＨｓｆ２、第２のプログラムフォルダＦｏ３に記憶されている第３のプログラム本体ファイルＨｓｆ３、第１のライブラリファイルＬｓｆ１及び第２のライブラリファイルＬｓｆ２についても、同様にして、関数名称ＫＳを置換用識別情報ＣＭに置き換える。
【０１０７】
その結果、これら第２のプログラム本体ファイルＨｓｆ２、第３のプログラム本体ファイルＨｓｆ３、第１のライブラリファイルＬｓｆ１及び第２のライブラリファイルＬｓｆ２のそれぞれは、関数名称ＫＳを置換用識別情報ＣＭに置き換えたことにより、この関数名称ＫＳを構成する文字列の文字数と置換用識別情報ＣＭを構成する文字列の文字数との差分だけ記述内容の文字数が少なくなり、その結果、データ量が小さくなる。
【０１０８】
このようにしてプログラム生成装置１は、名称置換リストＭＬを生成した状態で、作成者により操作部２を介し、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である各プログラムファイルを記憶したフォルダが指定され、このフォルダに記憶されている各プログラムファイルに含まれる関数名称ＫＳを置き換える名称置換命令が入力されると、各プログラムファイルに含まれる関数名称ＫＳを置換用識別情報ＣＭに置き換える。
【０１０９】
これによりプログラム生成装置１は、処理プログラム１０（すなわちプログラム本体１１及びプログラムライブラリ１２）の作成時、作成者に対して、従来通り、プログラム本体１１に記述すべき関数名称については、他の特定処理を示す関数名称ＫＳとは適確に区別させて選定させたうえで、このプログラム本体１１に記述させ得るものの、かかるプログラム本体１１及びプログラムライブラリ１２の作成後に、これらプログラム本体１１及びプログラムライブラリ１２をファイル化して記憶した各プログラムファイルの記述内容に含まれる関数名称ＫＳを置換用識別情報ＣＭに置換することで、各プログラムファイル（すなわち、プログラム本体１１及びプログラムライブラリ１２）のデータ量を削減することができる。
【０１１０】
またプログラム生成装置１は、関数名称判別文字により挟まれた使用可能文字、または関数名称判別文字により挟まれた連続する使用可能文字で形成された文字列を、関数名称ＫＳを置き換える候補としての置換候補名称としたことにより、例えば名称置換リストＭＬ（図７）の関数名称ＫＳ「asc_bstream」及び関数名称ＫＳ「asc_bstream_init」のように、一方の関数名称ＫＳに他方の関数名称ＫＳの全てが含まれているような場合に、プログラムファイルの記述内容に含まれる関数名称ＫＳの一部を他の関数名称ＫＳと認識して間違った置換用識別情報ＣＭに置き換えてしまうような事態を回避することができる（すなわち、記述内容中の関数名称ＫＳ「asc_bstream_init」の「asc_bstream」の部分を関数名称ＫＳ「asc_bstream」と認識して置換用識別情報ＣＭ「ZXY_2」と置き換えてしまうような事態を回避することができる）。
【０１１１】
その結果、プログラム生成装置１は、プログラムファイルの記述内容に含まれる関数名称ＫＳを的確に置換用識別情報ＣＭ（名称置換リストＭＬにおいて、関数名称ＫＳに対して関数名称ＫＳが対応付けられている場合には、置換用識別情報ＣＭではなく関数名称ＫＳ）に置き換えることができる。
【０１１２】
ちなみに、プログラム生成装置１は、指定されたフォルダ及びそのフォルダの下の階層に記憶されている各プログラムファイルの全ての関数名称ＫＳを置き換えると、名称置換リストＭＬを削除するようになされている。
【０１１３】
次いで、プログラム生成装置１のＣＰＵ４は、各プログラムファイルの関数名称ＫＳを置換用識別情報ＣＭに置き換えた状態で、作成者により操作部２を介して、ハードディスクドライブ６に記憶されているこれら各プログラムファイルが指定され、プログラム翻訳命令が入力されると、上述と同様にして、指定された各プログラムファイルをハードディスクドライブ６から読み出す。
【０１１４】
そしてＣＰＵ４は、読み出した各プログラムファイルの記述内容を機械言語に翻訳してハードディスクドライブ６に送出し、上述と同様にして、翻訳済プログラムファイルとしてハードディスクドライブ６に記憶する。
【０１１５】
またＣＰＵ４は、作成者により操作部２を介して、ハードディスクドライブ６に記憶されている各翻訳済プログラムファイルがまとめて指定され、ファイル結合及びリンク付け命令が入力されると、上述と同様にして、指定された各翻訳済プログラムファイルをハードディスクドライブ６から読み出す。
【０１１６】
そしてＣＰＵ４は、ハードディスクドライブ６から読み出した各翻訳済プログラムファイルの記述内容を解釈することで、各翻訳済プログラムファイル同士の結合と、そこで用いられている関数名称ＫＳ及び関数Ｋのリンク付けとを行い、上述した実行可能プログラムファイルと関数ライブラリファイル１３とを再度生成してハードディスクドライブ６に記憶させる。
【０１１７】
このようにしてプログラム生成装置１は、関数名称ＫＳを置換用識別情報ＣＭに置き換えた各プログラムファイルから、実行可能プログラムファイル及び関数ライブラリファイル１３を再度生成するようになされている。
【０１１８】
これら、再度生成された実行可能プログラムファイル及び関数ライブラリファイル１３は、生成元である各プログラムファイルの関数名称ＫＳが置換用識別情報ＣＭに置き換えられてデータ量が小さくなっていることに応じ、元の実行可能プログラムファイル及び関数ライブラリファイル１３に比べてデータ量が小さくなっている。
【０１１９】
このようにしてプログラム生成装置１は、処理プログラム１０（すなわちプログラム本体１１及びプログラムライブラリ１２）の作成時、作成者に対して、従来通り、プログラム本体１１に記述すべき関数名称ＫＳについては、他の特定処理を示す関数名称ＫＳとは適確に区別させて選定させたうえで、このプログラム本体１１に記述させ得るものの、かかるプログラム本体１１及びプログラムライブラリ１２の作成後に、これらプログラム本体１１及びプログラムライブラリ１２をファイル化して記憶した各プログラムファイルの記述内容に含まれる関数名称ＫＳを置換用識別情報ＣＭに置換することで、各プログラムファイル（すなわち、プログラム本体１１及びプログラムライブラリ１２）のデータ量を削減することができ、その結果、これら各プログラムファイルを用いて再度生成する実行可能プログラムファイル及び関数ライブラリファイル１３のデータ量を、元の実行可能プログラムファイル及び関数ライブラリファイル１３のデータ量よりも削減することができる。
【０１２０】
次いで、プログラム生成装置１のＣＰＵ４は、作成者により操作部２を介して、ハードディスクドライブ６に記憶されている実行可能プログラムファイル及び関数ライブラリファイル１３が指定され、これら実行可能プログラムファイル及び関数ライブラリファイル１３のデータ量を電子機器への実装用に減らすために圧縮符号化する命令（以下、これをファイル圧縮符号化命令と呼ぶ）が入力されると、ハードディスクドライブ６から実行可能プログラムファイル及び関数ライブラリファイル１３を読み出す。
【０１２１】
またＣＰＵ４は、読みだした実行可能プログラムファイル及び関数ライブラリファイル１３を所定の圧縮符号化フォーマットで圧縮符号化することで、圧縮した実行可能プログラムファイル及び関数ライブラリファイル１３（以下、これらを圧縮プログラムファイルと呼ぶ）を生成する。
【０１２２】
ところで、ＣＰＵ４は、上述したように、各関数名称ＫＳのそれぞれに対応付けるようにして、所定の接頭語に対して連番を付した置換用識別情報ＣＭを生成し、各プログラムファイルの記述内容に含まれる関数名称ＫＳをそれぞれに対応付けられた置換用識別情報ＣＭに置き換えている。すなわちＣＰＵ４は、各プログラムファイルの記述内容に含まれる各関数名称ＫＳを、同じ接頭語を有する置換用識別情報ＣＭに置き換えている。
【０１２３】
従って、ＣＰＵ４は、読みだした実行可能プログラムファイル及び関数ライブラリファイル１３を所定の圧縮符号化フォーマットで圧縮符号化するとき、関数名称ＫＳを置換用識別情報ＣＭに置き換える前の元の実行可能プログラムファイル及び関数ライブラリファイル１３を圧縮符号化する場合に比して、置換用識別情報ＣＭに同じ接頭語が含まれている分だけ圧縮率を上げて実行可能プログラムファイル及び関数ライブラリファイル１３を圧縮符号化することができる。
【０１２４】
そしてＣＰＵ４は、このようにして生成した圧縮プログラムファイルをハードディスクドライブ６に送出して記憶する。
【０１２５】
このようにしてプログラム生成装置１のＣＰＵ４は、電子機器に実装するための最終的な処理プログラム（すなわち、実行可能プログラムファイル及び関数ライブラリファイル１３）を圧縮した圧縮プログラムファイルを生成してハードディスクドライブ６に記憶するようになされている。そしてＣＰＵ４は、図示しない通信接続部などを介して電子機器と接続されたときに、この圧縮プログラムファイルを電子機器に送出することで、処理プログラムを電子機器に実装するようになされている。
【０１２６】
（２）名称抽出処理手順
ここで、プログラム生成装置１において、関数ライブラリファイル１３から関数Ｋの関数名称ＫＳを抽出する処理（以下、これを名称抽出処理と呼ぶ）の手順（以下、これを名称抽出処理手順）ＲＴ１について、図８に示すフローチャートに沿って詳しく説明する。
【０１２７】
プログラム生成装置１のＣＰＵ４は、作成者により操作部２を介し、関数ライブラリファイル１３が指定され、この関数ライブラリファイル１３に含まれる関数の関数名称を抽出する名称抽出命令が入力されると、名称抽出処理手順ＲＴ１を開始し、ステップＳＰ１で関数ライブラリファイル１３から関数名称及び関数位置対応テーブルＴを読み出して次のステップＳＰ２に移る。ちなみに、このときＣＰＵ４は、前回の名称抽出処理で生成した置換対象リストＣＬが存在する場合には、このステップＳＰ１において置換対象リストＣＬを削除する。
【０１２８】
ステップＳＰ２においてＣＰＵ４は、関数名称及び関数位置対応テーブルＴの先頭の１行を読み、関数名称ＫＳと、この関数名称ＫＳに対応付けられている関数分類情報ＴＰとを取得して次のステップＳＰ３に移る。
【０１２９】
ステップＳＰ３においてＣＰＵ４は、関数分類情報ＴＰが「Ｕ」以外であるか否かを判別する。このステップＳＰ３において否定結果が得られると、このことは、取得した関数名称ＫＳに対応する関数Ｋが関数ライブラリファイル１３に記述されていないことを示している。従って、このときＣＰＵ４は、ステップＳＰ６に移る。
【０１３０】
これに対し、ステップＳＰ３において肯定結果が得られると、このことは、取得した関数名称ＫＳに対応する関数Ｋが関数ライブラリファイル１３に記述されていることを示している。従って、このときＣＰＵ４は、次のステップＳＰ４に移る。
【０１３１】
ステップＳＰ４においてＣＰＵ４は、関数名称ＫＳの先頭の文字が、関数名称ＫＳの先頭の文字として使用できる文字であるか否かを判別する。このステップＳＰ４において否定結果が得られると、このことは、関数名称ＫＳの先頭の文字が、例えば「＿（アンダーバー）」のように、関数名称ＫＳの先頭の文字として使用しないように規定されている文字であること（すなわち、この関数名称ＫＳは特殊名称であること）を示している。従って、このときＣＰＵ４は、ステップＳＰ６に移る。
【０１３２】
これに対し、ステップＳＰ４において肯定結果が得られると、このことは、関数名称ＫＳの先頭の文字が、例えば「＿（アンダーバー）」のように、関数名称ＫＳの先頭の文字として使用しないように規定されている文字ではないことを示している。従って、このときＣＰＵ４は、次のステップＳＰ５に移る。
【０１３３】
ステップＳＰ５においてＣＰＵ４は、置換対象リストＣＬに関数名称ＫＳを格納し、次のステップＳＰ６に移る。
【０１３４】
ステップＳＰ６においてＣＰＵ４は、関数名称及び関数位置対応テーブルＴの全ての行を読んだか否かを判別する。このステップＳＰ６において肯定結果が得られると、このことは、関数名称及び関数位置対応テーブルＴからの関数名称ＫＳの抽出が完了したことを示している。従って、このときＣＰＵ４は、次のステップＳＰ７に移り、この名称抽出処理手順ＲＴ１を終了する。
【０１３５】
これに対し、ステップＳＰ６において否定結果が得られると、このことは、関数名称及び関数位置対応テーブルＴからの関数名称ＫＳの抽出が未だ完了していないことを示している。従って、このときＣＰＵ４は、ステップＳＰ８に移る。
【０１３６】
ステップＳＰ８においてＣＰＵ４は、関数名称及び関数位置対応テーブルＴの次の１行を読み、関数名称ＫＳと、この関数名称ＫＳに対応付けられている関数分類情報ＴＰとを取得してステップＳＰ３に戻り、ステップＳＰ６において肯定結果がえられるまで、上述したステップＳＰ３乃至ステップＳＰ８の処理を繰り返す。
【０１３７】
このような名称抽出処理手順ＲＴ１により、プログラム生成装置１は、関数ライブラリファイル１３から関数Ｋの関数名称ＫＳを抽出して、置換対象リストＣＬを生成するようになされている。
【０１３８】
（３）名称置換リスト生成処理手順
次に、プログラム生成装置１において、置換対象リストＣＬから名称置換リストＭＬを生成する処理（以下、これを名称置換リスト生成処理と呼ぶ）の手順（以下、これを名称置換リスト生成処理手順と呼ぶ）ＲＴ２について、図９に示すフローチャートに沿って詳しく説明する。
【０１３９】
プログラム生成装置１のＣＰＵ４は、置換対象リストＣＬを生成した状態で、作成者により操作部２を介し、置換対象リストＣＬに含まれる関数名称ＫＳを他の名称に置き換えるための名称置換リストＭＬを生成する名称置換リスト生成命令が入力されると、名称置換リスト生成処理手順ＲＴ２を開始し、ステップＳＰ１１で関数名称ＫＳの置き換え対象として対応付ける予定の置換用識別情報ＣＭに付加する連番を初期化（ｉ←０）して次のステップＳＰ１２に移る。
【０１４０】
ステップＳＰ１２においてＣＰＵ４は、置換対象リストＣＬの先頭の関数名称ＫＳを取得し次のステップＳＰ１３に移る。
【０１４１】
ステップＳＰ１３においてＣＰＵ４は、例えば「 ZYX_ 」のような所定の接頭語に連番（ｉ）を付すことで、文字数の制限された置換用識別情報ＣＭを生成して次のステップＳＰ１４に移る。
【０１４２】
ステップＳＰ１４においてＣＰＵ４は、関数名称ＫＳを構成する文字列の文字数と、この関数名称ＫＳに対して生成した置換用識別情報ＣＭを構成する文字列の文字数とを比較し、関数名称ＫＳを構成する文字列の文字数よりも、この関数名称ＫＳに対応付けて生成した置換用識別情報ＣＭを構成する文字列の文字数の方が少ないか否かを判別する。
【０１４３】
このステップＳＰ１４において肯定結果が得られると、このことは、関数名称ＫＳを置換用識別情報ＣＭに置き換えることで文字数を低減できることを示しており、このときＣＰＵ４は、次のステップＳＰ１５に移る。
【０１４４】
ステップＳＰ１５においてＣＰＵ４は、関数名称ＫＳに対して置換用識別情報ＣＭを対応付けて、これら関数名称ＫＳ及び置換用識別情報ＣＭを名称置換リストＭＬに格納し、次のステップＳＰ１６に移る。
【０１４５】
これに対し、ステップＳＰ１４において否定結果が得られると、このことは、関数名称ＫＳを置換用識別情報ＣＭに置き換えることで文字数が増加してしまうことを示しており、このときＣＰＵ４は、ステップＳＰ１７に移る。
【０１４６】
ステップＳＰ１７においてＣＰＵ４は、関数名称ＫＳに対し、置換用識別情報ＣＭではなく関数名称ＫＳをそのまま対応付けて、これら関数名称ＫＳと関数名称ＫＳとを名称置換リストＭＬに格納し、ステップＳＰ１６に移る。
【０１４７】
ステップＳＰ１６においてＣＰＵ４は、置換対象リストＣＬの全ての関数名称ＫＳを取得したか否かを判別する。このステップＳＰ１６において肯定結果が得られると、このことは、名称置換リストＭＬにおいて、置換対象リストＣＬの全ての関数名称ＫＳに対して置換用識別情報ＣＭまたは関数名称ＫＳを対応付けたことを示している。従って、このときＣＰＵ４は、ステップＳＰ１９に移り、この名称置換リスト生成処理手順ＲＴ２を終了する。
【０１４８】
これに対し、ステップＳＰ１６において否定結果が得られると、このことは、名称置換リストＭＬにおいて、置換対象リストＣＬの全ての関数名称ＫＳに対しては未だ置換用識別情報ＣＭまたは関数名称ＫＳを対応付けていないことを示している。従って、このときＣＰＵ４は、ステップＳＰ１８に移る。
【０１４９】
ステップＳＰ１８においてＣＰＵ４は、関数名称ＫＳに対応付ける予定の置換用識別情報ＣＭの連番に１を足し（ｉ＝ｉ＋１）ステップＳＰ２０に移る。
【０１５０】
ステップＳＰ２０においてＣＰＵ４は、置換対象リストＣＬの次の関数名称ＫＳを取得してステップＳＰ１３に戻り、ステップＳＰ１６において肯定結果がえられるまで、上述したステップＳＰ１３乃至ステップＳＰ２０の処理を繰り返す。
【０１５１】
このような名称置換リスト生成処理手順ＲＴ２により、プログラム生成装置１は、置換対象リストＣＬの全ての関数名称ＫＳを取得してそれぞれに置換用識別情報ＣＭまたは関数名称ＫＳを対応付けることで名称置換リストＭＬを生成するようになされている。
【０１５２】
（４）ファイル抽出処理手順
次に、プログラム生成装置１において、名称置換リストＭＬにより、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である各プログラムファイルの関数名称ＫＳを置き換える処理（以下、これを名称置換処理と呼ぶ）を行う際に、各プログラムファイルを抽出する処理（以下、これをファイル抽出処理と呼ぶ）の手順（以下、これをファイル抽出処理手順と呼ぶ）ＲＴ３について、図１０に示すフローチャートに沿って詳しく説明する。
【０１５３】
プログラム生成装置１のＣＰＵ４は、名称置換リストＭＬを生成した状態で、作成者により操作部２を介し、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である各プログラムファイルを記憶したフォルダが指定され、このフォルダに記憶されている各プログラムファイルに含まれる関数名称ＫＳを置き換える名称置換命令が入力されると、ファイル抽出処理手順ＲＴ３を開始し、ステップＳＰ２１で、例えば所定のＡＰＩにより、指定されたフォルダに格納されているファイルのファイル名や、下の階層のフォルダのフォルダ名のうちの１つを取得し、次のステップＳＰ２２に移る。
【０１５４】
ステップＳＰ２２においてＣＰＵ４は、例えばファイルパスを参照するなどして、取得したのがフォルダ名であるか否かを判別する。このステップＳＰ２２において否定結果が得られると、このことは、取得したのはファイル名であることを示している。従って、このときＣＰＵ４は、次のステップＳＰ２３に移る。
【０１５５】
ステップＳＰ２３においてＣＰＵ４は、取得したファイル名に対して「.ｃ」や「.ｈ」といった拡張子が付されているか否かを判別する。このステップＳＰ２３において肯定結果が得られると、このことは、取得したファイル名に対応するファイルが、関数名称ＫＳの置き換えを行うプログラムファイルであることを示している。従って、このときＣＰＵ４は、ファイル名に対応するプログラムファイルを取得し、次のステップＳＰ２４に移る。
【０１５６】
ステップＳＰ２４においてＣＰＵ４は、名称置換処理を実行し、次のステップＳＰ２５に移る。この名称置換処理については後述する。
【０１５７】
これに対し、ステップＳＰ２３において否定結果が得られると、このことは、取得したファイル名に対応するファイルが、関数名称ＫＳの置き換えを行うプログラムファイルではなく、例えば、機械言語に翻訳された翻訳済プログラムファイルやＯＳが自動に生成する特殊ファイルなどであることを示している。従ってこのときＣＰＵ４は、ステップＳＰ２５に移る。
【０１５８】
ステップＳＰ２５においてＣＰＵ４は、現在のフォルダに記憶されているファイルのファイル名、及びフォルダのフォルダ名を全て取得したか否かを判別する。このステップＳＰ２５において肯定結果が得られると、このことは、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である全てのプログラムファイルの関数名称ＫＳを置き換えたことを示している。従って、このときＣＰＵ４は、次のステップＳＰ２６に移り、かかる名称置換処理手順ＲＴ３を終了する。
【０１５９】
これに対し、ステップＳＰ２５において否定結果が得られると、このことは、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である各プログラムファイルのうちに、関数名称ＫＳを置き換えていないプログラムファイルが存在することを示している。従って、このときＣＰＵ４は、ステップＳＰ２７に移る。
【０１６０】
ステップＳＰ２７においてＣＰＵ４は、現在のフォルダに格納されているファイルのファイル名および下の階層のフォルダのフォルダ名のうち、未だ取得していないファイルのファイル名または下の階層のフォルダのフォルダ名を１つ取得し、ステップＳＰ２２に戻る。
【０１６１】
ところで、ステップＳＰ２２において肯定結果が得られた場合、このことは、取得したのがフォルダ名であることを示している。従って、このときＣＰＵ４は、ステップＳＰ２８に移る。
【０１６２】
ステップＳＰ２８においてＣＰＵ４は、フォルダ名が示すフォルダに移動し、次のステップＳＰ２９に移る。
【０１６３】
ステップＳＰ２９においてＣＰＵ４は、移動したフォルダにおいて、このファイル抽出処理手順ＲＴ３（すなわち、ステップＳＰ２１乃至ステップＳＰ２７を主体とした処理）を再帰的に実行し、次のステップＳＰ３０に移る。
【０１６４】
ステップＳＰ３０においてＣＰＵ４は、移動したフォルダから元のフォルダに戻り、ステップＳＰ２５に移る。そしてＣＰＵ４は、このステップＳＰ２５において肯定結果が得られるまで、上述したステップＳＰ２１乃至ステップＳＰ３０の処理を繰り返す。
【０１６５】
このようなファイル抽出処理手順ＲＴ３によりプログラム生成装置１は、名称置換処理を行う際に、名称置換処理を行う対象である各プログラムファイルの全てを順次抽出するようになされている。
【０１６６】
（５）名称置換処理手順
次に、プログラム生成装置１において、名称置換処理を行う対象である各プログラムファイルを抽出した結果として、上述したファイル抽出処理手順ＲＴ３のステップＳＰ２４で実行されるサブルーチンである名称置換処理の手順（以下、これを名称置換処理手順と呼ぶ）ＳＲＴ１について、図１１及び図１２に示すフローチャートに沿って詳しく説明する。
【０１６７】
プログラム生成装置１のＣＰＵ４は、上述したファイル抽出処理手順ＲＴ３のステップＳＰ２３（図１０）において、取得したファイル名に対して「.ｃ」や「.ｈ」といった拡張子が付されているか否かを判別した結果、このステップＳＰ２３において肯定結果が得られると、ファイル抽出処理手順ＲＴ３のステップＳＰ２４において名称置換処理手順ＳＲＴ１を開始し、ステップＳＰ３１（図１１）で、このファイル名が示すプログラムファイルを取得し、次のステップＳＰ３２に移る。
【０１６８】
ステップＳＰ３２においてＣＰＵ４は、取得したプログラムファイルに対して記述内容が格納されているか否かを判別する。このステップＳＰ３２において否定結果が得られると、このことは、取得したプログラムファイルに対して記述内容（すなわち文字）が格納されておらず、関数名称ＫＳが置き換えられないことを示している。これは例えば、プログラムの作成者がプログラム作成言語を用いてプログラムファイルを生成する過程で、誤って作成してしまった空のプログラムファイルが消去されずに残っていた場合などが想定される。従って、このときＣＰＵ４は、ステップＳＰ３３（図１２）に移ってこの名称置換処理手順ＳＲＴ１を終了する。
【０１６９】
これに対し、ステップＳＰ３２（図１１）において肯定結果が得られると、このことは、取得したプログラムファイルに対して記述内容（すなわち文字）が格納されていることを示している。従って、このときＣＰＵ４は、ステップＳＰ３４に移る。
【０１７０】
ステップＳＰ３４においてＣＰＵ４は、プログラムファイルに格納されている記述内容を構成する文字列の先頭の文字を取得し、次のステップＳＰ３５に移る。
【０１７１】
ステップＳＰ３５においてＣＰＵ４は、取得した文字が、関数名称ＫＳに使用可能な使用可能文字であるか否かを判別する。このステップＳＰ３５において肯定結果が得られると、このことは、取得した使用可能文字が関数名称ＫＳの先頭の文字である可能性があることを示している。従って、このときＣＰＵ４は、次のステップＳＰ３６に移る。
【０１７２】
これに対し、ステップＳＰ３５において否定結果が得られると、このことは、取得した文字が関数名称ＫＳとしては使用できない文字（すなわち、この後に関数名称ＫＳの先頭が続く可能性がある関数名称判別文字）であることを示している。従って、このときＣＰＵ４は、ステップＳＰ３７に移る。
【０１７３】
ステップＳＰ３７においてＣＰＵ４は、記述内容に次の文字が存在するか否かを判別する。このステップＳＰ３７において否定結果が得られると、このことは、関数名称判別文字またはこの関数名称判別文字でなる文字列しか取得できず、その後に取得可能な文字が存在しないことを示している。従って、このときＣＰＵ４は、ステップＳＰ３３（図１２）に移ってこの名称置換処理手順ＳＲＴ１を終了する。
【０１７４】
これに対し、ステップＳＰ３７（図１１）において肯定結果が得られると、このことは、記述内容の次の文字が取得可能であることを示している。従って、このときＣＰＵ４は、次のステップＳＰ３８に移る。
【０１７５】
ステップＳＰ３８においてＣＰＵ４は、記述内容から次の文字を取得し、ステップＳＰ３５に戻る。そしてＣＰＵ４は、ステップＳＰ３５で肯定結果が出るかステップＳＰ３７で否定結果が出るまで、上述したステップＳＰ３５、ステップＳＰ３７及びステップＳＰ３８の処理を繰り返す。
【０１７６】
ステップＳＰ３６においてＣＰＵ４は、取得した文字を置換候補名称の先頭の文字（→ａ）として認識し、ステップＳＰ３９に移る。
【０１７７】
ステップＳＰ３９においてＣＰＵ４は、記述内容に次の文字が存在するか否かを判別する。このステップＳＰ３９において肯定結果が得られると、このことは、その後に取得可能な文字が存在することを示している。従って、このときＣＰＵ４は、ステップＳＰ４０に移る。
【０１７８】
ステップＳＰ４０においてＣＰＵ４は、記述内容から次の文字を取得し、次のステップＳＰ４１に移る。
【０１７９】
ステップＳＰ４１においてＣＰＵ４は、取得した文字が、関数名称ＫＳに使用可能な使用可能文字であるか否かを判別する。このステップＳＰ４１において肯定結果が得られると、このことは、取得した使用可能文字が関数名称ＫＳを構成する文字である可能性があることを示している。従って、このときＣＰＵ４は、取得した使用可能文字を置換候補名称を構成する文字と認識してステップＳＰ３９に戻る。そしてＣＰＵ４は、ステップＳＰ３９及びステップＳＰ４１のいずれかで否定結果が得られるまで、上述したステップＳＰ３９乃至ステップＳＰ４１の処理を繰り返す。その結果ＣＰＵ４は、上述したステップＳＰ３９乃至ステップＳＰ４１の処理を繰り返す分だけ、置換候補名称として認識する文字の文字数が多くなる。
【０１８０】
そしてステップＳＰ３９において否定結果が得られると、このことは、その後に取得可能な文字が存在しないことを示しており、この場合、ＣＰＵ４は、ステップＳＰ４２（図１２）に移る。
【０１８１】
ステップＳＰ４２においてＣＰＵ４は、最後に取得した文字（すなわち、使用可能文字）を置換候補名称の後尾の文字（→ｂ）として認識して「ａ〜ｂ」の文字列からなる置換候補名称を取得し、次のステップＳＰ４３に移る。ちなみにＣＰＵ４は、最後に取得した文字が置換候補名称の先頭の文字である場合（すなわちａ＝ｂの場合）には、置換候補名称は「ａ」の１文字であると認識する。
【０１８２】
これに対し、ステップＳＰ４１（図１１）において否定結果が得られると、このことは、取得した文字が関数名称ＫＳには使用できない関数名称判別文字（すなわち、１つ前の文字が関数名称ＫＳの後尾である可能性を示す関数名称判別文字）であることを示しており、この場合、ＣＰＵ４は、ステップＳＰ４４（図１２）に移る。
【０１８３】
ステップＳＰ４４においてＣＰＵ４は、最後に取得した文字の１つ前の文字（すなわち、最後に取得した使用可能文字）を置換候補名称の後尾の文字（→ｂ）として認識して「ａ〜ｂ」の文字列からなる置換候補名称を取得し、ステップＳＰ４３に移る。ちなみにＣＰＵ４は、最後に取得した文字の１つ前の文字が置換候補名称の先頭の文字である場合（すなわちａ＝ｂの場合）には、置換候補名称は「ａ」の１文字であると認識する。
【０１８４】
ステップＳＰ４３においてＣＰＵ４は、取得した置換候補名称と一致する関数名称ＫＳが名称置換リストＭＬに格納されているか否かを判別する。このステップＳＰ４３において肯定結果が得られると、このことは、取得した置換候補名称は名称置換リストＭＬに記述されている関数名称ＫＳの１つであることを示している。従って、このときＣＰＵ４は、ステップＳＰ４５に移る。
【０１８５】
ステップＳＰ４５においてＣＰＵ４は、名称置換リストＭＬの中で、この置換候補名称と一致する関数名称ＫＳに対応付けられている置換用識別情報ＣＭ（または関数名称ＫＳ）により、記述内容中の置換候補名称（すなわち関数名称ＫＳ）を置き換え、ステップＳＰ３７に戻る。
【０１８６】
これに対し、ステップＳＰ４３において否定結果が得られると、このことは、取得した置換候補名称は名称置換リストＭＬに記述されている関数名称ＫＳの１つではないことを示している。従って、このときＣＰＵ４は、ステップ３７（図１１）に戻る。
【０１８７】
そしてＣＰＵ４は、上述したステップＳＰ３７において否定結果が得られるまでステップＳＰ３５乃至ステップＳＰ４５の処理を繰り返すことで、プログラムファイルの記述内容からの置換候補名称の取得と、取得した置換候補名称と名称置換リストＭＬに記述されている関数名称ＫＳとの比較と、記述内容中の置換候補名称（関数名称ＫＳ）の置換用識別情報ＣＭ（または関数名称ＫＳ）による置換とを繰り返すようになされている。その結果、ＣＰＵ４は、プログラムファイルの記述内容に含まれる置換候補名称（関数名称ＫＳ）の全てを、名称置換リストＭＬの中で、この置換候補名称と一致する関数名称ＫＳに対応付けられている置換用識別情報ＣＭ（または関数名称ＫＳ）により置き換えることができる。
【０１８８】
このような名称置換処理手順ＳＲＴ１によりプログラム生成装置１は、各プログラムファイルの記述内容に記述されている置換候補名称のうち、関数名称ＫＳと特定した置換候補名称の全てを、名称置換リストＭＬの中で、この置換候補名称と一致する関数名称ＫＳに対応付けられている置換用識別情報ＣＭ（または関数名称ＫＳ）により置き換えるようになされている。
【０１８９】
（６）動作及び効果
以上の構成において、プログラム生成装置１は、電子機器に対して所定の機能に応じた処理を実行させるための最終的な処理プログラムとして生成した、この所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、かかる種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数Ｋについては、この関数Ｋに換えて関数名称ＫＳが記述された実行可能プログラムファイルと、この実行可能プログラムファイルに記述された関数名称ＫＳとこの関数名称ＫＳが示す関数Ｋとが対応付けて格納された関数ライブラリファイル１３とをハードディスクドライブ６に記憶した状態で、作成者により操作部２を介し、関数ライブラリファイル１３が指定され、この関数ライブラリファイル１３に含まれる関数Ｋの関数名称ＫＳを抽出する名称抽出命令が入力されると、関数ライブラリファイル１３をハードディスクドライブ６から読み出す。
【０１９０】
そしてプログラム生成装置１は、この関数ライブラリファイル１３に格納されている関数名称及び関数位置対応テーブルＴ（図５）から関数名称ＫＳを抽出することで、関数名称ＫＳを置き換える対象を格納する置換対象リストＣＬ（図６）を生成する。
【０１９１】
またプログラム生成装置１は、置換対象リストＣＬを生成した状態で、ユーザにより操作部２を介し、置換対象リストＣＬに含まれる関数名称ＫＳを置き換えるための名称置換リストＭＬを生成する名称置換リスト生成命令が入力されると、置換対象リストＣＬに記載されている各関数名称ＫＳに対し、この関数名称ＫＳを置き換える置換用識別情報ＣＭとして、例えば「 ZYX_ 」のような所定の接頭語に対して「0〜9999」のような連番を付すことで、文字数の制限された識別情報を生成する。
【０１９２】
そしてＣＰＵ４は、生成した置換用識別情報ＣＭを関数名称ＫＳに対応付けるようにして格納することで、関数名称ＫＳと置換用識別情報ＣＭとを対応付けた名称置換リストＭＬ（図７）を生成する。
【０１９３】
さらにプログラム生成装置１は、名称置換リストＭＬを生成した状態で、作成者により操作部２を介し、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である各プログラムファイルを記憶したフォルダが指定され、このフォルダに記憶されている各プログラムファイルに含まれる関数名称ＫＳを置き換える名称置換命令が入力されると、このフォルダに記憶されている各プログラムファイルを１つずつ取得する。
【０１９４】
そしてプログラム生成装置１は、名称置換リストＭＬにより、取得したプログラムファイルの記述内容に含まれる関数名称ＫＳを、この関数名称ＫＳに対応付けられている置換用識別情報ＣＭで置き換える。
【０１９５】
これによりプログラム生成装置１は、処理プログラム１０（すなわちプログラム本体１１及びプログラムライブラリ１２）の作成時、作成者に対して、従来通り、プログラム本体１１に記述すべき関数名称については、他の特定処理を示す関数名称ＫＳとは適確に区別させて選定させたうえで、このプログラム本体１１に記述させ得るものの、かかるプログラム本体１１及びプログラムライブラリ１２の作成後に、これらプログラム本体１１及びプログラムライブラリ１２をファイル化して記憶した各プログラムファイルの記述内容に含まれる関数名称ＫＳを置換用識別情報ＣＭに置換することで、各プログラムファイル（すなわち、プログラム本体１１及びプログラムライブラリ１２）のデータ量を削減することができ、かくして、処理プログラム１０のデータ量を削減することができる。
【０１９６】
またプログラム生成装置１は、関数名称ＫＳを置換用識別情報ＣＭに置き換えた各プログラムファイルから、実行可能プログラムファイル及び関数ライブラリファイル１３を再度生成する。
【０１９７】
これによりプログラム生成装置１は、処理プログラム１０（すなわちプログラム本体１１及びプログラムライブラリ１２）の作成時、作成者に対して、従来通り、プログラム本体１１に記述すべき関数名称については、他の特定処理を示す関数名称ＫＳとは適確に区別させて選定させたうえで、このプログラム本体１１に記述させ得るものの、かかるプログラム本体１１及びプログラムライブラリ１２の作成後に、これらプログラム本体１１及びプログラムライブラリ１２をファイル化して記憶した各プログラムファイルの記述内容に含まれる関数名称ＫＳを置換用識別情報ＣＭに置換することで、各プログラムファイル（すなわち、プログラム本体１１及びプログラムライブラリ１２）のデータ量を削減することができ、その結果、これら各プログラムファイルを用いて再度生成する実行可能プログラムファイル及び関数ライブラリファイル１３のデータ量を、元の実行可能プログラムファイル及び関数ライブラリファイル１３のデータ量よりも削減することができ、かくして、電子機器に実装する最終的な処理プログラムのデータ量を削減することができる。
【０１９８】
以上の構成によれば、プログラム生成装置１は、電子機器に対して所定の機能に応じた処理を実行させるための最終的な処理プログラムとして生成した、この所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、かかる種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数Ｋについては、この関数Ｋに換えて関数名称ＫＳが記述された実行可能プログラムファイルと、この実行可能プログラムファイルに記述された関数名称ＫＳとこの関数名称ＫＳが示す関数Ｋとが対応付けて格納された関数ライブラリファイル１３とのうちの関数ライブラリファイル１３から関数名称ＫＳを抽出して置換対象リストＣＬを生成し、置換対象リストＣＬに記載されている各関数名称ＫＳに対し、この関数名称ＫＳを置き換える置換用識別情報ＣＭとして、例えば「 ZYX_ 」のような所定の接頭語に対して「0〜9999」のような連番を付したような文字数の制限された識別情報を生成して対応付けることで名称置換リストＭＬを生成し、この名称置換リストＭＬにより、実行可能プログラムファイル及び関数ライブラリファイル１３の生成元である各プログラムファイルそれぞれの記述内容に含まれる関数名称ＫＳを、この関数名称ＫＳに対応付けられている置換用識別情報ＣＭに置き換えるようにしたことにより、処理プログラム１０（すなわちプログラム本体１１及びプログラムライブラリ１２）の作成時、作成者に対して、従来通り、プログラム本体１１に記述すべき関数名称については、他の特定処理を示す関数名称ＫＳとは適確に区別させて選定させたうえで、このプログラム本体１１に記述させ得るものの、かかるプログラム本体１１及びプログラムライブラリ１２の作成後に、これらプログラム本体１１及びプログラムライブラリ１２をファイル化して記憶した各プログラムファイルの記述内容に含まれる関数名称ＫＳを置換用識別情報ＣＭに置換することで、各プログラムファイル（すなわち、プログラム本体１１及びプログラムライブラリ１２）のデータ量を削減することができ、かくして、処理プログラム１０のデータ量を削減することができる。
【０１９９】
またこの場合、プログラム生成装置１は、関数Ｋの機能を機能的に示せる関数名称ＫＳを単なる識別情報である置換用識別情報ＣＭに置き換えた実行可能プログラムファイル及び関数ライブラリファイル１３を最終的に生成するようにしたことにより、これら実行可能プログラムファイル及び関数ライブラリファイル１３を実装した電子機器が第三者に解析されたとしても、実行可能プログラムファイルに含まれる関数名称ＫＳから関数ライブラリファイル１３に含まれる関数Ｋの機能を容易に推定されてしまうような事態を極力回避することができ、かくして、実行可能プログラムファイル及び関数ライブラリファイル１３の記述内容を第三者に解析させ難くし得る。
【０２００】
さらにプログラム生成装置１は、置換対象リストＣＬの関数名称ＫＳを置き換えるための置換用識別情報ＣＭを、例えば「 ZYX_ 」のような所定の接頭語に対して「0〜9999」のような連番を付して生成することで名称置換リストＭＬを生成する際、関数名称ＫＳを構成する文字列の文字数と、この関数名称ＫＳに対して生成した置換用識別情報ＣＭを構成する文字列の文字数とを比較し、関数名称ＫＳを構成する文字列の文字数よりも、この関数名称ＫＳに対応付けて生成した置換用識別情報ＣＭを構成する文字列の文字数の方が多い場合には、名称置換リストＭＬに対し、関数名称ＫＳに対応付けて、置換用識別情報ＣＭではなく関数名称ＫＳをそのまま格納するようにした。
【０２０１】
これによりプログラム生成装置１は、プログラムファイルの関数名称ＫＳを置換用識別情報ＣＭに置き換える際に、関数名称ＫＳの文字数よりも多い文字数でなる置換用識別情報ＣＭに置き換えてしまう事態を確実に回避することができ、その結果、処理プログラム１０のデータ量を確実に削減することができる。
【０２０２】
さらにプログラム生成装置１は、各関数名称ＫＳのそれぞれに対応付けるようにして、所定の接頭語に対して連番を付した置換用識別情報ＣＭを生成し、各プログラムファイルの記述内容中の各関数名称ＫＳを同じ接頭語を有する置換用識別情報ＣＭに置き換えるようにした。
【０２０３】
これによりプログラム生成装置１は、実行可能プログラムファイル及び関数ライブラリファイル１３を所定の圧縮符号化フォーマットで圧縮符号化するとき、関数名称ＫＳを置換用識別情報ＣＭに置き換える前の元の実行可能プログラムファイル及び関数ライブラリファイル１３を圧縮符号化する場合に比して、置換用識別情報ＣＭに同じ接頭語が含まれている分だけ圧縮率を上げて実行可能プログラムファイル及び関数ライブラリファイル１３を圧縮符号化することができる。
【０２０４】
さらにプログラム生成装置１は、複数のプログラムファイルのそれぞれに記述されている関数名称ＫＳを名称置換リストＭＬにより置き換える際、各プログラムファイルに記述されている記述内容から、スペース「  」や括弧「（ ）」、アンド「＆」、スラッシュ「／」などの、関数名称ＫＳの先頭と後尾とを識別することが可能な関数名称判別文字に挟まれた、関数名称ＫＳとして使用できるように規定された使用可能文字または使用可能文字でなる文字列を、関数名称ＫＳを置換する候補である置換候補名称として特定し、置換候補名称と名称置換リストＭＬの関数名称ＫＳとを比較して、この置換候補名称に一致する関数名称ＫＳが名称置換リストＭＬに含まれている場合には、名称置換リストＭＬの中で、この置換候補名称と一致する関数名称ＫＳに対応付けられている置換用識別情報ＣＭにより記述内容中の置換候補名称（すなわち関数名称ＫＳ）を置き換えるようにした。
【０２０５】
これによりプログラム生成装置１は、例えば名称置換リストＭＬ（図７）の関数名称ＫＳ「asc_bstream」及び関数名称ＫＳ「asc_bstream_init」のように、一方の関数名称ＫＳに他方の関数名称ＫＳの全てが含まれているような場合に、プログラムファイルの記述内容に含まれる関数名称ＫＳの一部を他の関数名称ＫＳと認識して間違った置換用識別情報ＣＭに置き換えてしまうような事態を回避することができ（すなわち、記述内容中の関数名称ＫＳ「asc_bstream_init」の「asc_bstream」の部分を関数名称ＫＳ「asc_bstream」と認識して置換用識別情報ＣＭ「ZXY_2」と置き換えてしまうような事態を回避することができ）、その結果、プログラムファイルの記述内容に含まれる関数名称ＫＳを的確に置換用識別情報ＣＭに置き換えることができる。
【０２０６】
（７）他の実施の形態
なお上述した実施の形態においては、プログラム生成装置１は、関数名称ＫＳに対し、「 ZYX_ 」のような文字列でなる接頭語に対して「0〜9999」のような連番を付した置換用識別情報ＣＭを文字数を制限して生成するようにした場合について述べたが、本発明はこれに限らず、接頭語として用いるのは「 ZYX_ 」だけでなく「 ACB 」のような他の文字列でもいいし、接頭語でなく例えば「 _ZYX 」のような接尾語を用いてもいいし、接頭語と接尾語を組み合わせて用いてもよいし、プログラムファイルの記述内容中の他の部分と識別できるのであれば接頭語と接尾語を用いずに連番だけ用いた置換用識別情報ＣＭを生成してもよい。また、置換用識別情報ＣＭの連番として用いるのは、「0〜9」の数字を用いた１０進法に応じた連番だけでなく、例えば「0〜9」の数字に「A〜F」のアルファベットを加えた１６進法に応じた連番や、「0〜9」の数字に「A〜Z」のアルファベットを加えた３６進法に応じた連番であってもよい。さらに、連番でなくハッシュ値などを用いてもよい。
【０２０７】
また上述した実施の形態においては、プログラム生成装置１は、関数名称ＫＳを構成する文字列の文字数と、この関数名称ＫＳに対して生成した置換用識別情報ＣＭを構成する文字列の文字数とを比較した結果、関数名称ＫＳを構成する文字列の文字数よりも、この関数名称ＫＳに対応付けて生成した置換用識別情報ＣＭを構成する文字列の文字数の方が多い場合には、名称置換リストＭＬの関数名称ＫＳに対し、置換用識別情報ＣＭではなく関数名称ＫＳをそのまま対応付けるようにした場合について述べたが、本発明はこれに限らず、関数名称ＫＳを構成する文字列の文字数よりも、この関数名称ＫＳに対応付けて生成した置換用識別情報ＣＭを構成する文字列の文字数の方が多い場合には、この置換用識別情報ＣＭに対応する関数名称ＫＳを名称置換リストＭＬから外すようにしてもよいし、最終的に生成される実行可能プログラムファイル及び関数ライブラリファイル１３のデータ量が元の実行可能プログラムファイル及び関数ライブラリファイル１３のデータ量よりも少なくなるのであれば、関数名称ＫＳを構成する文字列の文字数と、この関数名称ＫＳに対して生成した置換用識別情報ＣＭを構成する文字列の文字数とを比較する処理は行わなくても良い。
【０２０８】
さらに上述した実施の形態においては、プログラム生成装置１は、置換候補名称と名称置換リストＭＬの関数名称ＫＳとの比較の結果、置換候補名称に一致する関数名称ＫＳが名称置換リストＭＬに含まれており、名称置換リストＭＬにおいて関数名称ＫＳに対応付けられているのが置換用識別情報ＣＭではなく関数名称ＫＳである場合に、関数名称ＫＳにより記述内容中の置換候補名称（すなわち関数名称ＫＳ）を置き換えるようにした場合について述べたが、本発明はこれに限らず、そのような場合には置き換えないようにしてもよく、そうすることで、関数名称ＫＳを同じ関数名称ＫＳに置き換えるという無駄な処理を実行しないで済む分だけ、プログラム生成装置１の処理を低減することができる。
【０２０９】
さらに上述した実施の形態においては、プログラム生成装置１は、指定されたフォルダ及びそのフォルダの下の階層に記憶されている各プログラムファイルの全ての関数名称ＫＳを置き換えると、名称置換リストＭＬを削除するようにした場合について述べたが、本発明はこれに限らず、名称置換リストＭＬを記憶して残すようにしておいて、他のプログラムファイルの関数名称ＫＳを置き換えるときに流用するようにしてもよい。
【０２１０】
さらに上述した実施の形態においては、プログラム生成装置１は、プログラム作成言語としてＣ言語を用いるようにした場合について述べたが、本発明はこれに限らず、ＦＯＲＴＲＡＮ（Formula  Translation）や、ＣＯＢＯＬ（Common  Business  Oriented  Language）、Ｐａｓｃａｌ、Ｃ＋＋、ＢＡＳＩＣ（Beginner’s  All-purpose  Symbolic  Instruction  Code）、ＶＢＡ（Visual  Basic）、ＪＡＶＡ（登録商標）などであってもよい。
【０２１１】
さらに上述した実施の形態においては、プログラム本体１１として第１のプログラム本体ファイルＨｓｆ１、第２のプログラム本体ファイルＨｓｆ２及び第３のプログラム本体ファイルＨｓｆ３をハードディスクドライブ６に記憶するようにした場合について述べたが、本発明はこれに限らず、プログラム本体１１を１つのプログラム本体ファイルとしてハードディスクドライブ６に記憶するようにしてもよく、そうすることで、ファイル同士を結合させるための結合先ファイル名を記述しなくてもよい分だけ、１つのファイルで記憶した場合のデータ量を削減することができる。
【０２１２】
さらに上述した実施の形態においては、プログラムライブラリ１２として第１のライブラリファイルＬｓｆ１及び第２のライブラリファイルＬｓｆ２をハードディスクドライブ６に記憶するようにした場合について述べたが、本発明はこれに限らず、プログラムライブラリ１２を１つのライブラリファイルとしてハードディスクドライブ６に記憶するようにしてもよい。
【０２１３】
さらに上述した実施の形態においては、各プログラムファイルの記述内容から、関数名称ＫＳを置き換える置換候補名称を特定する際、関数名称判別文字として、スペース「  」や括弧「（ ）」、アンド「＆」、スラッシュ「／」などの文字を適用するようにした場合について述べたが、本発明はこれに限らず、各プログラムファイルの記述内容において置換候補名称（すなわち関数名称ＫＳ）の前後にしか付されない特殊な文字を規定し、この文字を関数名称判別文字とするようにしてもよい。そうすることで、この関数名称判別文字に挟まれていることに応じて特定される置換候補名称は、名称置換リストＭＬの関数名称ＫＳと比較するまでもなく、関数名称ＫＳであることが確定し、特定した置換候補名称と名称置換リストＭＬの関数名称ＫＳと比較しないで済む分だけ、プログラム生成装置１の処理を減らすことができる。
【０２１４】
さらに上述した実施の形態においては、名称置換装置として、図１乃至図１２において上述したプログラム生成装置１を適用するようにした場合について述べたが、本発明はこれに限らず、他のパーソナルコンピュータなどに記憶されているプログラムファイルの関数名称ＫＳを置き換えるような機能を有するパーソナルコンピュータや、一度生成した実行プログラムファイル及び関数ライブラリファイル１３を管理しておいて、作成者の指示に応じて関数名称ＫＳを置き換えるようなプログラム管理装置などのように、この他種々の名称置換装置に適用することができる。
【０２１５】
さらに上述した実施の形態においては、所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて、文字数の制限なく当該関数に従った特定処理の内容を示すように生成された関数名称が記述されたプログラム本体と、当該プログラム本体に記述された関数名称と、当該関数名称が示す関数とが対応付けて格納されたライブラリとから形成される機能に応じた種々の処理を実行させるための処理プログラムのプログラム本体及びライブラリから関数名称を抽出する抽出部として、図１乃至図１２において上述したＣＰＵ４を適用するようにした場合について述べたが、本発明はこれに限らず、所定の機能に応じた種々の処理を実行させるための記述内容を有するものの、当該種々の処理のうち、少なくとも２回以上実行される特定処理を実行させるための関数については、当該関数に換えて、文字数の制限なく当該関数に従った特定処理の内容を示すように生成された関数名称が記述されたプログラム本体と、当該プログラム本体に記述された関数名称と、当該関数名称が示す関数とが対応付けて格納されたライブラリとから形成される機能に応じた種々の処理を実行させるための処理プログラムのプログラム本体及びライブラリから関数名称を抽出するハードウェア構成の抽出回路等のように、この他種々の抽出部を広く適用することができる。
【０２１６】
さらに上述した実施の形態においては、抽出部によりプログラム本体及びライブラリから抽出された関数名称を、文字数の制限された識別情報に置換する置換部として、図１乃至図１２において上述したＣＰＵ４を適用するようにした場合について述べたが、本発明はこれに限らず、抽出部によりプログラム本体及びライブラリから抽出された関数名称を、文字数の制限された識別情報に置換するハードウェア構成の置換回路等のように、この他種々の置換部を広く適用することができる。
【０２１７】
さらに上述した実施の形態においては、抽出部によりプログラム本体及びライブラリから抽出された関数名称の文字数と、識別情報の文字数とを比較する比較部として、図１乃至図１２において上述したＣＰＵ４を適用するようにした場合について述べたが、本発明はこれに限らず、抽出部によりプログラム本体及びライブラリから抽出された関数名称の文字数と、識別情報の文字数とを比較するハードウェア構成の比較回路等のように、この他種々の比較部を広く適用することができる。
【０２１８】
さらに上述した実施の形態においては、プログラム本体及びライブラリにそれぞれ含まれる複数種類の関数名称に対応させ、かつ共通の文字列を含むように複数種類の識別情報を生成する識別情報生成部として、図１乃至図１２において上述したＣＰＵ４を適用するようにした場合について述べたが、本発明はこれに限らず、プログラム本体及びライブラリにそれぞれ含まれる複数種類の関数名称に対応させ、かつ共通の文字列を含むように複数種類の識別情報を生成するハードウェア構成の識別情報生成回路等のように、この他種々の識別情報生成部を広く適用することができる。
【０２１９】
さらに、本発明は、上述した実施の形態及びここまで説明した他の実施の形態に限定されるものではなく、上述した実施の形態及びここまで説明した他の実施の形態の一部または全部を任意に組み合わせた形態、もしくは一部を抽出した形態にもその適用範囲が及ぶものである。
【産業上の利用可能性】
【０２２０】
本発明は、所定の機能に応じた種々の処理を実行させるための処理プログラムを作成するパーソナルコンピュータなどに適用して好適なものである。
【図面の簡単な説明】
【０２２１】
【図１】プログラム生成装置の回路構成を示すブロック図である。
【図２】処理プログラムの構成を示す略線図である。
【図３】ハードディスクドライブに対する処理プログラムの記憶の様子を示す略線図である。
【図４】関数ライブラリファイルの構成を示す略線図である。
【図５】関数名称及び関数位置対応テーブルの構成を示す略線図である。
【図６】置換対象リストの構成を示す略線図である。
【図７】名称置換リストの構成を示す略線図である。
【図８】名称抽出処理の手順を示すフローチャートである。
【図９】名称置換リスト生成処理の手順を示すフローチャートである。
【図１０】ファイル抽出処理の手順を示すフローチャートである。
【図１１】名称置換処理の手順を示すフローチャート（１）である。
【図１２】名称置換処理の手順を示すフローチャート（２）である。
【符号の説明】
【０２２２】
１……プログラム生成装置、２……操作部、３……バス、４……ＣＰＵ、５……ＲＯＭ、６…ハードディスクドライブ、７……ＲＡＭ、８……モニタ、１０……処理プログラム、１１……プログラム本体、１２……プログラムライブラリ、１３……関数ライブラリファイル、ＣＬ……置換対象リスト、ＣＭ……置換用識別情報、Ｈｓｆ１……第１のプログラム本体ファイル、Ｈｓｆ２……第２のプログラム本体ファイル、Ｈｓｆ３……第３のプログラム本体ファイル、Ｋ……関数、ＫＳ……関数名称、Ｌｓｆ１……第１のライブラリファイル、Ｌｓｆ２……第２のライブラリファイル、ＭＬ……名称置換リスト、ＲＴ１……名称抽出処理手順、ＲＴ２……名称置換リスト生成処理手順、ＲＴ３……ファイル抽出処理手順、ＳＲＴ１……名称置換処理手順、Ｔ……関数名称及び関数位置対応テーブル。
【図１】
2009098732.tif 000003
【図２】
2009098732.tif 000004
【図３】
2009098732.tif 000005
【図４】
2009098732.tif 000006
【図５】
2009098732.tif 000007
【図６】
2009098732.tif 000008
【図７】
2009098732.tif 000009
【図８】
2009098732.tif 000010
【図９】
2009098732.tif 000011
【図１０】
2009098732.tif 000012
【図１１】
2009098732.tif 000013
【図１２】
2009098732.tif 000014