(57)【要約】【課題】組み込み対象となる装置上で動作するプログラムの開発やテストを容易に行うことを目的とする。【解決手段】コンピュータ１を用いて、組み込み対象の装置２において動作するプログラムを作成するプログラム作成方法であって、コンピュータ１が、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換段階を有することにより上記課題を解決する。【選択図】　　　　図１
2004133630.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて、組み込み対象の装置において動作するプログラムを作成するプログラム作成方法であって、
前記コンピュータが、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換段階を有することを特徴とするプログラム作成方法。
【請求項２】
前記第二の言語仕様のソースプログラムは、編集可能であることを特徴とする請求項１記載のプログラム作成方法。
【請求項３】
前記プログラム変換段階は、変換不可能な命令文を検出する検出段階を有することを特徴とする請求項１又は２記載のプログラム作成方法。
【請求項４】
前記プログラム変換段階におけるソースプログラムの変換は、前記第一の言語仕様で記述されたソースプログラムが、ユーザによって入力され、ファイルに保存されたと同時に開始されることを特徴とする請求項１乃至３何れか一項記載のプログラム作成方法。
【請求項５】
前記プログラム変換段階の後に、前記プログラム変換段階において変換した前記第二の言語仕様のソースプログラムを、前記装置に転送する転送段階を更に有することを特徴とする請求項１乃至４何れか一項記載のプログラム作成方法。
【請求項６】
前記転送段階におけるソースプログラムの転送は、前記プログラム変換段階においてソースプログラムが変換されたと同時に行われることを特徴とする請求項５記載のプログラム作成方法。
【請求項７】
前記組み込み対象の装置は、前記第二の言語仕様のソースプログラムを一行ずつ読み込んで解釈し、実行するインタープリタを有していることを特徴とする請求項１乃至６何れか一項記載のプログラム作成方法。
【請求項８】
コンピュータを用いて、組み込み対象の装置において動作するプログラムを作成するプログラム作成方法であって、
前記コンピュータが、ユーザによって入力された第一の言語仕様で記述されたソースプログラムの一部を、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換する第一プログラム変換段階と、
前記コンピュータが、前記第二の言語仕様で記述されたソースプログラムを、前記装置に応じて、前記第一及び第二の言語使用とは異なる第三の言語仕様で記述されたソースプログラムに変換する第二プログラム変換段階と
を有することを特徴とするプログラム作成方法。
【請求項９】
組み込み対象の装置において動作するプログラムを作成するプログラム作成方法であって、
前記組み込み対象の装置が、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換段階を有することを特徴とするプログラム作成方法。
【請求項１０】
プログラムの変換を行うプログラム変換装置であって、
ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換手段を有することを特徴とするプログラム変換装置。
【請求項１１】
請求項１乃至９何れか一項記載の方法をコンピュータに実行させるプログラム。
【請求項１２】
請求項１１記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム作成方法、プログラム変換装置、プログラム及び記憶媒体に係り、特にコンピュータを用いて、組み込み対象の装置において動作するプログラムを作成するプログラム作成方法、プログラム変換装置、プログラム及び記憶媒体に関する。
【０００２】
【従来の技術】
資源の限られた組み込み対象の装置において動作するプログラムを容易に開発する仕組みの一つとしてクロスコンパイラと呼ばれる方法がある。クロスコンパイラの一例としては、オープンソースとして有名なｇｃｃコンパイラなどがある。
【０００３】
ｇｃｃコンパイラを利用したプログラムの開発の方法では、Ｃ言語で記述されたソースプログラムを、開発資源の豊富なホストコンピュータ上で開発、デバッグし、そのソースプログラムを、ホストコンピュータとは、異なるＣＰＵ（Ｃｅｎｔｒｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）や、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）からなる、組み込み対象の装置用の機械語に変換して、組み込み対象の装置に転送している。
【０００４】
このような方法を取ることにより、開発資源の少ない組み込み対象の装置において動作するプログラムを、開発資源の豊富なホストコンピュータで開発することを可能にしている。
【０００５】
また、前記クロスコンパイラを用いて開発を行う方法の他に、コンパイルを不要とする言語を、組み込み対象となる装置の実行環境とすることにより、組み込み対象となる装置のプログラムの開発を容易にしようとする試みもある。例えば、インテル社のｉ８０５２などのワンチップＣＰＵは、ＣＰＵ自体にＢＡＳＩＣ言語のインタープリタを備えている。
【０００６】
前記ワンチップＣＰＵを、組み込み対象となる装置に組み込むことによって、開発者は、組み込み対象となる装置上で動作するプログラムを開発しながら、容易にデバッグを行うことができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記クロスコンパイラを用いて組み込み対象の装置において動作するプログラムを開発する方法では、ホストコンピュータ上で開発したソースプログラムが、組み込み装置上では機械語に変換されているため、ホストコンピュータで用いられたソースプログラムのデバッガや、分かりやすい変数名によるダンプツールなどを用いて、デバッグなどを容易に行うことが出来ない問題がある。
【０００８】
また、ホストコンピュータ上で作成したプログラムの基本的なテストを行おうとした場合、プログラムの実行環境である組み込み装置では、上述した如く、容易にデバッグを行うことは出来ないため、プログラム開発者は、ホストコンピュータ上に、実行環境を仮想的に構築して、テストを行わなければならない問題があった。
【０００９】
また、プログラムの開発者は、最終的に、本来の実行環境である組み込み装置において、テストを行う必要があり、プログラムのテストを行ってバグなどが発見された場合、機械語に変換されたプログラムを修正することはできないため、また、ホストコンピュータに戻ってソースプログラムを修正し、コンパイルなどした後、組み込み装置に転送し、再びテストを開始しなくてはならないなどの問題もあった。
【００１０】
また、組み込み対象の装置のＣＰＵ自体にＢＡＳＩＣ言語などのインタープリタを備え、当該装置上で動作するプログラムを開発する方法では、一般的に、組み込み対象となる装置では、メモリなどが十分ではなく、実装できるＢＡＳＩＣ言語の仕様も貧弱になり、ごく限られた言語仕様の中で、要求された仕様のプログラムを作成しようとすると、開発工数が多くかかる問題があった。
【００１１】
本発明は、上記の点に鑑みなされたもので、組み込み対象となる装置上で動作するプログラムの開発やテストを容易に行うことを目的とする。
【００１２】
【課題を解決するための手段】
そこで、上記問題を解決するため、本発明は、コンピュータを用いて、組み込み対象の装置において動作するプログラムを作成するプログラム作成方法であって、前記コンピュータが、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換段階を有することを特徴とする。
【００１３】
また、上記課題を解決するため、本発明は、組み込み対象の装置において動作するプログラムを作成するプログラム作成方法であって、前記組み込み対象の装置が、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換段階を有することを特徴とする。
【００１４】
また、上記課題を解決するため、本発明は、プログラムの変換を行うプログラム変換装置であって、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換手段を有することを特徴とする。
【００１５】
また、上記課題を解決するめ、本発明は、前記プログラム作成方法をコンピュータに実行させるプログラムであることを特徴とする。
【００１６】
また、上記課題を解決するめ、本発明は、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記プログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【００１７】
本発明によれば、ユーザによって入力された第一の言語仕様で記述されたソースプログラムを、前記第一の言語仕様とは異なる第二の言語仕様のソースプログラムに変換するプログラム変換段階を有しているため、コンピュータを用いて開発したソースプログラムを、変換し、該変換したソースプログラムを、インタープリタを有した組み込み装置で動作させることによって、豊富な開発環境を用いて開発を行い、動作環境で容易にソースプログラムを修正することが出来る。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について図面に基づいて説明する。
【００１９】
図１は、組み込み対象となる装置として画像形成装置を用いた本発明のプログラム開発方法における開発環境と実行環境とを説明するための図（その１）である。
【００２０】
図１は、パーソナルコンピュータ（以下、ＰＣという）１と、画像形成装置２と、ネットワーク３とから構成される。画像形成装置２は、ネットワーク３を介してＰＣ１に接続されている。
【００２１】
ＰＣ１は、プログラムの開発環境（例えば、Ｍｉｃｒｏｓｏｆｔ社のＶｉｓｕｌａ　Ｓｔｕｄｉｏ（登録商標））などを有し、プログラムの開発者は、該開発環境を用いて、後述する組み込み対象となる画像形成装置２において動作するプログラムを開発し、ソースプログラムのデバッグなどを行う。
【００２２】
また、ＰＣ１は、前記プログラムの開発者が、前記開発環境を用いて、所定の言語仕様で記述したソースプログラムを、前記所定の言語仕様とは異なる言語仕様で記述したソースプログラムに変換し、該変換したソースプログラムを、ネットワーク３を介して画像形成装置２に転送する。なお、ソースプログラムの変換に係る詳細は後述する。
【００２３】
以下、説明の簡略化のため、前記所定の言語仕様を、Ｖｉｓｕａｌ　Ｂａｓｉｃ（登録商標）（以下、ビジュアルベーシックという）とし、変換されたソースプログラムの言語仕様を、本発明における簡易ベーシックとする。ただし、これは、本発明の実施の形態を制限するものではない。
【００２４】
画像形成装置２は、ＰＣ１より転送された簡易ベーシックで記述されたソースプログラムを取得し、簡易ベーシック用のインタープリタを用いて、受信したソースプログラムを実行する。
【００２５】
組み込み装置である画像形成装置２において動作するプログラムを開発するプログラム開発者は、ＰＣ１を用いて、ビジュアルベーシックで書かれたソースプログラムをエディタなどに記述し、保存する。
【００２６】
ＰＣ１は、ユーザによって、保存されたビジュアルベーシックで書かれたソースプログラムを、簡易ベーシックに変換し、組み込み対象である画像形成装置２に転送する。
【００２７】
画像形成装置２は、取得した簡易ベーシックで記述されたソースプログラムを保存し、簡易ベーシックで記述されたソースプログラムを一行ずつ読み込んで解析して実行する簡易ベーシック用インタープリタを用いて、プログラムを動作させる。
【００２８】
クロスコンパイラの場合と異なり、組み込み装置である画像形成装置２におけるプログラムも、編集可能なソースプログラムであるため、プログラム開発者は、豊富な開発環境を有するＰＣ１において開発を行い、作成したビジュアルベーシックで記述されたソースプログラムを簡易ベーシックに変換し、画像形成装置２に転送し、画像形成装置２で、簡易ベーシックで記述されたソースプログラムのデバッグ及び修正などを行うことができる。
【００２９】
なお、ＰＣ１におけるビジュアルベーシックから、簡易ベーシックへの変換は、エディタにビジュアルベーシックのソースプログラムが記述され、保存された場合ではなく、変換ボタンなどを設け、ＰＣ１の画面上に表示し、プログラム開発者が前記変換ボタンを押したときに、変換するようにしてもよいし、また、ＰＣ１にタイマーを設け、予め定められた時間（例えば、午前１時など）に、変換するようにしてもよい。
【００３０】
また、変換したソースプログラムの画像形成装置２への転送も上記変換の場合と同様、転送ボタンなどを設け、ＰＣ１の画面上に表示し、プログラム開発者が前記転送ボタンを押したときに、転送するようにしてもよいし、また、ＰＣ１にタイマーを設け、予め定められた時間（例えば、午前１時半など）に、転送するようにしてもよい。
【００３１】
また、図１では、ＰＣ１と、画像形成装置２とは、ネットワーク３を介して接続するように構成しているが、ＰＣ１と、画像形成装置２の間は、専用回線又はケーブルを介して接続するように構成してもよい。後述する図２、図３においても同様である。
【００３２】
図２は、組み込み対象となる装置として画像形成装置を用いた本発明のプログラム開発方法における開発環境と実行環境とを説明するための図（その２）である。
【００３３】
図２は、図１と比較して、組み込み対象となる画像形成装置２において、ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムに変換する。
【００３４】
図２は、ＰＣ１と、画像形成装置２と、ネットワーク３とから構成される。画像形成装置２は、ネットワーク３を介してＰＣ１に接続されている。
【００３５】
ＰＣ１は、プログラムの開発環境（例えば、Ｍｉｃｒｏｓｏｆｔ社のＶｉｓｕｌａ　Ｓｔｕｄｉｏ（登録商標））などを有し、プログラムの開発者は、該開発環境を用いて、後述する組み込み対象となる画像形成装置２において動作するプログラムを開発し、ソースプログラムのデバッグなどを行う。
【００３６】
また、ＰＣ１は、前記プログラムの開発者が、前記開発環境を用いて、ビジュアルベーシックで記述したソースプログラムを、ネットワーク３を介して画像形成装置２に転送する。
【００３７】
一方、画像形成装置２は、ＰＣ１より転送されたビジュアルベーシックで記述されたソースプログラムを取得し、所定の記憶領域に保存した後、該ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムに変換する。なお、ソースプログラムの変換に係る詳細は後述する。
【００３８】
画像形成装置２は、前記簡易ベーシック用のインタープリタを用いて、プログラムを実行する。
【００３９】
組み込み装置である画像形成装置２において動作するプログラムを開発するプログラム開発者は、ＰＣ１を用いて、ビジュアルベーシックで書かれたソースプログラムをエディタなどに記述し、保存する。
【００４０】
ＰＣ１は、ユーザによって、保存されたビジュアルベーシックで書かれたソースプログラムを、組み込み対象である画像形成装置２に転送する。
【００４１】
画像形成装置２は、取得したビジュアルベーシックで書かれたソースプログラムを簡易ベーシックに変換し、簡易ベーシックで記述されたソースプログラムを一行ずつ読み込んで解析して実行する簡易ベーシック用インタープリタを用いて、プログラムを動作させる。
【００４２】
クロスコンパイラの場合と異なり、組み込み装置である画像形成装置２におけるプログラムも、編集可能なソースプログラムであるため、プログラム開発者は、豊富な開発環境を有するＰＣ１において開発を行い、画像形成装置２に転送し、画像形成装置２で、作成したビジュアルベーシックで記述されたソースプログラムを簡易ベーシックに変換し、画像形成装置２において、簡易ベーシックで記述されたソースプログラムのデバッグ及び修正などを行うことができる。
【００４３】
なお、ＰＣ１から画像形成装置２へのソースプログラムの転送のタイミングは、図１を用いて説明したのと同様に、プログラムの開発者がエディタにソースプログラムを記述して保存したときにＰＣ１が転送するように構成してもよいし、また、ＰＣ１に転送ボタンを設け、該ボタンが押されたときに転送するように構成してもよいし、ＰＣ１にタイマーを設け、予め定められた時間になると、転送するような構成としてもよい。
【００４４】
また、画像形成装置２におけるビジュアルベーシックから、簡易ベーシックへのソースプログラムの変換は、転送されてきたと同時に、転送されてきたソースプログラムだけを変換してもよいし、所定の量のソースプログラムを蓄積した後、まとめて変換するようにしてもよい。
【００４５】
図３は、組み込み対象となる装置として画像形成装置を用いた本発明のプログラム開発方法における開発環境と実行環境とを説明するための図（その３）である。
【００４６】
図３は、図１、図２と比較して、プログラム変換装置４において、ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムに変換する。
【００４７】
図３は、ＰＣ１と、画像形成装置２と、プログラム変換装置４と、ネットワーク３とから構成されている。
【００４８】
ＰＣ１と、プログラム変換装置４と、画像形成装置２とは、ネットワーク３を介して接続されている。
【００４９】
ＰＣ１は、プログラムの開発環境（例えば、Ｍｉｃｒｏｓｏｆｔ社のＶｉｓｕｌａ　Ｓｔｕｄｉｏ（登録商標））などを有し、プログラムの開発者は、該開発環境を用いて、組み込み対象となる画像形成装置２において動作するプログラムを開発し、ソースプログラムのデバッグなどを行う。
【００５０】
また、ＰＣ１は、前記プログラムの開発者が、前記開発環境を用いてビジュアルベーシックで記述したソースプログラムを、ネットワーク３を介してプログラム変換装置４に転送する。
【００５１】
プログラム変換装置４は、ＰＣ１より転送されたビジュアルベーシックで記述されたソースプログラムを取得し、該ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムに変換する。なお、ソースプログラムの変換に係る詳細は後述する。
【００５２】
プログラム変換装置４は、上記変換した簡易ベーシックで記述したソースプログラムを、ネットワーク３を介して画像形成装置２に転送する。
【００５３】
画像形成装置２は、プログラム変換装置４より転送されたビジュアルベーシックで記述されたソースプログラムを取得し、所定の記憶領域に保存した後、該ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムに変換する。
【００５４】
画像形成装置２は、前記簡易ベーシック用のインタープリタを用いて、プログラムを動作させる。
【００５５】
組み込み装置である画像形成装置２において動作するプログラムを開発するプログラム開発者は、ＰＣ１を用いて、ビジュアルベーシックで書かれたソースプログラムをエディタなどに記述し、保存する。
【００５６】
ＰＣ１は、ユーザによって、保存されたビジュアルベーシックで書かれたソースプログラムを、プログラム変換装置４に転送する。
【００５７】
プログラム変換装置４は、取得したビジュアルベーシックで書かれたソースプログラムを簡易ベーシックに変換し、変換した簡易ベーシックで記述されたソースプログラムを、画像形成装置２に転送する。
【００５８】
画像形成装置２は、取得した簡易ベーシックで記述されたソースプログラムを保存し、前記簡易ベーシック用インタープリタを用いて、プログラムを動作させる。
【００５９】
クロスコンパイラの場合と異なり、組み込み装置である画像形成装置２におけるプログラムも、編集可能なソースプログラムであるため、プログラム開発者は、豊富な開発環境を有するＰＣ１において開発を行い、作成したビジュアルベーシックで記述されたソースプログラムをプログラム変換装置４に転送し、プログラム変換装置４において簡易ベーシックに変換し、該変換した簡易ベーシックで記述されたソースプログラムを、画像形成装置２に転送し、画像形成装置２で、簡易ベーシックで記述されたソースプログラムのデバッグ及び修正などを行うことができる。
【００６０】
なお、ＰＣ１からプログラム変換装置４へのソースプログラムの転送のタイミングは、図１及び図２を用いて説明したのと同様に、プログラムの開発者がエディタにソースプログラムを記述して保存したときにＰＣ１が転送するように構成してもよいし、また、ＰＣ１に転送ボタンを設け、該ボタンが押されたときに転送するように構成してもよいし、ＰＣ１にタイマーを設け、予め定められた時間になると、転送するような構成としてもよい。
【００６１】
また、プログラム変換装置４におけるビジュアルベーシックから、簡易ベーシックへのソースプログラムの変換は、転送されてきたと同時に、転送されてきたソースプログラムだけを変換してもよいし、所定の量のソースプログラムを蓄積した後、まとめて変換するようにしてもよい。
【００６２】
また、プログラム変換装置４から画像形成装置２へのソースプログラムの転送のタイミングは、プログラム変換装置４が、ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムに変換したと同時に転送してもよいし、所定の量のソースプログラムを変換した後に、転送するようにしてもよい。
【００６３】
図４は、ＰＣの一実施例のソフトウェア構成図である。ＰＣ１は、オペレーティングシステム（以下、ＯＳという）１００上に起動されているアプリケーション層１０９を含む。アプリケーション層１０９は、エディタ、デバッガなどのプログラム開発にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。図４の構成図では、説明に必要な構成を表し、説明に必要の無い構成を省略してある。以下の図においても同様である。
【００６４】
アプリケーション層１０９は、ファイルの内容を入力・編集するアプリケーションであるエディタアプリ１０１と、プログラムの誤り（バグ）を発見して、修正作業を支援するアプリケーションであるデバッガアプリ１０２とを含む。また、ＰＣ１は、図１で示したように、プログラムの変換を行う機能を有する場合は、アプリケーション層１０９に、ビジュアルベーシックで記述されたソースプログラムから、簡易ベーシックで記述されたソースプログラムへの変換を行うアプリケーションであるトランスレータアプリ１０３を含む。
【００６５】
図５は、ＰＣの一実施例のハードウェア構成図である。図５に示されるハードウェア構成は、それぞれバスＢで相互に接続されている入力装置１１０と、表示装置１１１と、ドライブ装置１１２と、記録媒体１１３と、補助記憶装置１１４と、メモリ装置１１５と、演算処理装置１１６と、インターフェース装置１１７とから構成されている。
【００６６】
入力装置１１０は、ＰＣ１を用いてプログラムの開発を行う開発者が操作するキーボード及びマウスなどで構成され、ＰＣ１に各種操作信号を入力するために用いられる。
【００６７】
表示装置１１１は、ＰＣ１のディスプレイなど構成される。インターフェース装置１１７は、ＰＣ１をネットワークに接続するためのインターフェースである。
【００６８】
前記トランスレータアプリ１０３に対応するソースプログラム変換プログラムは、例えば、ＣＤ−ＲＯＭなどの記録媒体１１３によってＰＣ１に提供されるか、ネットワークを通じてダウンロードされる。記録媒体１１３は、ドライブ装置１１２にセットされ、データやソースプログラム変換プログラムが記録媒体１１３からドライブ装置１１２を介して補助記憶装置１１４にインストールされる。
【００６９】
補助記憶装置１１４は、データやソースプログラム変換プログラムを格納すると共に、必要なファイルなどを格納する。メモリ装置１１５は、ＰＣ１の起動時に補助記憶装置１１４からソースプログラム変換プログラムを読み出して格納する。演算処理装置１１６は、メモリ装置１１５に読み出され、格納されたソースプログラム変換プログラムに従って処理を実行する。
【００７０】
なお、以下において、ＰＣ１におけるソースプログラムの変換処理は、ソースプログラム変換プログラムが処理を行うものとして説明する。
【００７１】
画像形成装置２は、簡易ベーシックで記述されたソースプログラムを一行ずつ読み込んで解析して実行するインタープリタアプリと、図２で示したように、プログラムの変換を行う機能を有する場合は、ビジュアルベーシックで記述されたソースプログラムから、簡易ベーシックで記述されたソースプログラムへの変換を行うアプリケーションであるトランスレータアプリを含む。
【００７２】
図６は、画像形成装置の一実施例のハードウェア構成図である。図６に示されるハードウェア構成は、それぞれバスＢで相互に接続されている入力・表示装置６１と、ドライブ装置６２と、記録媒体６３と、補助記憶装置６４と、メモリ装置６５と、演算処理装置６６と、インターフェース装置６７と、読み取り装置６８と、印字装置６９とから構成されている。
【００７３】
入力・表示装置６１は、オペレーションパネルなどで構成され、画像形成装置２に各種操作信号を入力するために用いられる。
【００７４】
インターフェース装置６７は、画像形成装置２をネットワークに接続するためのインターフェースである。
【００７５】
前記インタープリタアプリのプログラムや、前記トランスレータアプリに対応するソースプログラム変換プログラムは、例えば、ＣＤ−ＲＯＭなどの記録媒体６３によって画像形成装置２に提供されるか、ネットワークを通じてダウンロードされる。記録媒体６３は、ドライブ装置６２にセットされ、データや、インタープリタアプリのプログラム及びソースプログラム変換プログラムなどが記録媒体６３からドライブ装置６２を介して補助記憶装置６４にインストールされる。
【００７６】
補助記憶装置６４は、データや、インタープリタアプリのプログラム及びソースプログラム変換プログラムを格納すると共に、必要なファイルなどを格納する。メモリ装置６５は、画像形成装置２の起動時に補助記憶装置６４からインターアプリのプログラム及びソースプログラム変換プログラムを読み出して格納する。演算処理装置６６は、メモリ装置６５に読み出され、格納されたインターアプリのプログラム及びソースプログラム変換プログラムに従って処理を実行する。
【００７７】
読み取り装置６８は、画像の形成に係る画像や文書などのデータを読み取る。印字装置６９は、読取装置６８において読み取った画像や文書などのデータを印字する。
【００７８】
なお、以下において、画像形成装置２におけるソースプログラムの変換処理は、ソースプログラム変換プログラムが処理を行うものとして説明する。
【００７９】
図７は、プログラム変換装置の一実施例のソフトウェア構成図である。プログラム変換装置４は、オペレーティングシステム（以下、ＯＳという）２００上に起動されているアプリケーション層２０９を含む。アプリケーション層２０９は、ビジュアルベーシックで記述されたソースプログラムから、簡易ベーシックで記述されたソースプログラムへの変換を行うアプリケーションであるトランスレータアプリ２０１を含む。
【００８０】
図８は、プログラム変換装置の一実施例のハードウェア構成図である。図８に示されるプログラム変換装置４のハードウェア構成は、それぞれバスＢで相互に接続されている表示装置２１１と、ドライブ装置２１２と、記録媒体２１３と、補助記憶装置２１４と、メモリ装置２１５と、演算処理装置２１６と、インターフェース装置２１７とから構成されている。
【００８１】
表示装置２１１は、プログラム変換装置４のディスプレイなどで構成され、プログラムの変換時のエラー表示などを行う。
【００８２】
前記トランスレータアプリ２０１に対応するソースプログラム変換プログラムは、例えば、ＣＤ−ＲＯＭなどの記録媒体２１３によってプログラム変換装置４に提供されるか、ネットワークを通じてダウンロードされる。記録媒体２１３は、ドライブ装置２１２にセットされ、データやソースプログラム変換プログラムが記録媒体２１３からドライブ装置２１２を介して補助記憶装置２１４にインストールされる。
【００８３】
補助記憶装置２１４は、データやソースプログラム変換プログラムを格納すると共に、必要なファイルなどを格納する。メモリ装置２１５は、プログラム変換装置４の起動時に補助記憶装置２１４からソースプログラム変換プログラムを読み出して格納する。演算処理装置２１６は、メモリ装置２１５に読み出され、格納されたソースプログラム変換プログラムに従って処理を実行する。
【００８４】
なお、以下において、プログラム変換装置４におけるソースプログラムの変換処理は、ソースプログラム変換プログラムが処理を行うものとして説明する。
【００８５】
上述した如く、本発明の実施の形態において、ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述するソースプログラムに変換するソースプログラム変換プログラムは、ＰＣ１にインストールして、ＰＣ１において動作させてもよいし、また、画像形成装置２にインストールして、画像形成装置４において動作させてもよいし、また、プログラム変換装置４にインストールし、プログラム変換装置４において動作させてもよい。
【００８６】
以下、ソースプログラム変換プログラムの機能ブロック図を、図９を用いて説明する。図９は、ソースプログラム変換プログラムの機能の一例を、機能ブロック図を用いて説明するための図である。
【００８７】
ソースプログラム変換プログラムは、字句解析部３０１と、構文解析部３０２と、エラー検出部３０３と、拡張機能検出部３０４と、代用ルーチン変換部３０５と、ソースプログラム変換部３０６と、ファイルＩ／Ｏ部３０７と、装置用ライブラリ管理部３０８と、シンボルテーブル管理部３０９とから構成されている。
【００８８】
ファイルＩ／Ｏ部３０７は、指定されたファイルを開き、ファイルに記述されてあるソースプログラムを読み込む。また、指定されたフィルを開き、ファイルにソースプログラムを書き込む。
【００８９】
字句解析部３０１は、ファイルＩ／Ｏ部３０７で読み込んだソースプログラムの命令文を、最小単位のトークンに分割する。
【００９０】
構文解析部３０２は、字句解析部３０１において最小単位のトークンに分割された命令文を、ビジュアルベーシックの言語仕様で定められた文法に適しているかどうかを解析する。
【００９１】
エラー検出部３０３は、構文解析部３０２において解析した結果に基づいて、ビジュアルベーシックで記述されたソースプログラムから簡易ベーシックで記述するソースプログラムへと変換不可能な命令文を検出する。
【００９２】
拡張機能検出部３０４は、構文解析部３０２において解析した結果に基づいて、拡張機能の命令文の検出を行う。
【００９３】
代用ルーチン変換部３０５は、拡張機能検出部３０４において行った検出の結果に基づいて、ビジュアルベーシックで記述されたソースプログラムに拡張機能の命令文が存在した場合は、前記ビジュアルベーシックで記述されたソースプログラムの拡張機能の命令文を、簡易ベーシックで記述する代用ルーチンに変換する。
【００９４】
ソースプログラム変換部３０６は、ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムへと変換する。
【００９５】
装置用ライブラリ管理部３０８は、組み込み対象となる装置ごとのライブラリ情報を保持、管理し、ソースプログラム変換部３０６において、装置ごとの簡易ベーシックで記述したソースプログラムを作成する際に、ライブラリ情報を提供する。
【００９６】
シンボルテーブル管理部３０９は、ビジュアルベーシックで記述されたソースプログラムの変数名や定数名、関数名などの情報と、それらが配置される位置（仮想アドレス）との関係を記述する、シンボルテーブルを保持、管理する。シンボルテーブル管理部３０９は、ソースプログラム変換部３０６において、ビジュアルベーシックで記述されたソースプログラムから、簡易ベーシックで記述するソースプログラムに変換する際に、前記変数名や定数名、関数名などの情報と、その仮想アドレスとの関係を提供する。
【００９７】
図１０は、ソースプログラム変換プログラムによるソースプログラムの変換処理の一例のフローチャートである。
【００９８】
ステップＳ１０では、ソースプログラム変換プログラムのファイルＩ／Ｏ部３０７が、指定されたビジュアルベーシックで記述されたソースプログラムのファイルを開き、ファイルに記述されてあるソースプログラムを読み込む。
【００９９】
ステップＳ１０に続いて、ステップＳ２０に進み、ソースプログラム変換プログラムの字句解析部３０１が、ステップＳ１０において読み込んだビジュアルベーシックで記述されたソースプログラムの命令文を、最小単位のトークンに分割する。
【０１００】
ステップＳ２０に続いて、ステップＳ３０に進み、ソースプログラム変換プログラムの構文解析部３０２が、ステップＳ２０において最小単位のトークンに分割された命令文を、ビジュアルベーシックの言語仕様で定められた文法に適しているかどうかを解析する。
【０１０１】
ステップＳ３０に続いて、ステップＳ４０に進み、ソースプログラム変換プログラムのエラー検出部３０３が、ステップ３０において解析した結果に基づいて、ビジュアルベーシックで記述されたソースプログラムから簡易ベーシックで記述するソースプログラムへと変換不可能な命令文を検出する。ここで、変換不可能な命令文であるという情報は、構文解析部３０２が有しており、該情報を参照し、エラー検出部３０３は、ビジュアルベーシックで記述されたソースプログラムから簡易ベーシックへと変換不可能な命令文を検出する。
【０１０２】
エラー検出部３０３が、ビジュアルベーシックで記述されたソースプログラムから変換不可能な命令文を検出すると（ステップＳ４０においてＹＥＳ）、ステップＳ５０に進み、エラー検出部３０３が変換不可能な命令文を検出しなかったら（ステップＳ３０においてＮＯ）、ステップＳ６０に進む。
【０１０３】
ステップＳ５０では、ソースプログラム変換プログラムが、ステップＳ４０において検出した変換不可能な命令文などのエラー内容を、画面などに表示する。
【０１０４】
ステップＳ６０では、ソースプログラム変換プログラムの拡張機能検出部３０４が、ステップＳ３０において解析した結果に基づいて、拡張機能の命令文のチェックを行う。ここで、拡張機能の命令文であるという情報は、構文解析部３０２が有しており、該情報を参照し、拡張機能検出部３０４は、ビジュアルベーシックで記述されたソースプログラムから拡張機能である命令文を検出する。
【０１０５】
拡張機能検出部３０４が、ビジュアルベーシックで記述されたソースプログラムから拡張機能である命令文を検出すると（ステップＳ６０においてＹＥＳ）、ステップＳ７０に進み、拡張機能である命令文を検出しなければ（ステップＳ６０においてＮＯ）、ステップＳ８０に進む。
【０１０６】
ステップＳ７０では、ソースプログラム変換プログラムの代用ルーチン変換部３０５が、ステップＳ６０において行った検出の結果に基づいて、ビジュアルベーシックで記述されたソースプログラムの拡張機能の命令文を、簡易ベーシックで記述する代用ルーチンに変換する。なお、代用ルーチンへの変換の一例は、後において示す。
【０１０７】
ステップＳ８０では、ソースプログラム変換プログラムのソースプログラム変換部３０６が、ビジュアルベーシックで記述されたソースプログラムを、簡易ベーシックで記述したソースプログラムへと変換する。
【０１０８】
ソースプログラム変換部３０６は、シンボルテーブル管理部３０９を用いて、ビジュアルベーシックで記述されたソースプログラムの変数名や定数名などを、シンボルテーブル管理部３０９を参照して実際のアドレスを指し示すように変換する。該変換の一例は、後において述べる。
【０１０９】
ステップＳ９０では、ソースプログラム変換プログラムのファイルＩ／Ｏ部３０７が、簡易ベーシックで記述したソースプログラムを、指定したファイルに書き込む。
【０１１０】
上述した如く、本発明のソースプログラム変換プログラムを用いることによって、既存の言語、及び開発システムを用いて作成したソースプログラムを、組み込み対象となる装置において動作するソースプログラムに変換することができる。
【０１１１】
図１０のステップＳ８０におけるソースプログラムの変換は、組み込み対象となる装置固有のソースプログラムに変換することも可能である。図１１は、図１０のステップＳ８０の変換処理の一例のフローチャートである。
【０１１２】
ステップＳ８１では、ソースプログラム変換プログラムのソースプログラム変換部３０６が、今回対象としている組み込み対象の装置が、装置１かどうかをビジュアルベーシックで記述されたソースプログラムより判定する。今回対象としている組み込み対象の装置が装置１であると判定すると（ステップＳ８１においてＹＥＳ）、ステップＳ８２に進み、装置１以外であると判定すると（ステップＳ８１においてＮＯ）、ステップＳ８３に進む。
【０１１３】
ステップＳ８２では、ソースプログラム変換プログラムのソースプログラム変換部３０６が、装置用ライブラリ管理部３０８で保持、管理されている装置１用のライブラリとリンクし、装置１用の簡易ベーシックで記述されたソースプログラムを生成する。
【０１１４】
ステップＳ８３では、ソースプログラム変換プログラムのソースプログラム変換部３０６が、今回対象としている組み込み対象の装置が、装置２かどうかをビジュアルベーシックで記述されたソースプログラムより判定する。今回対象としている組み込み対象の装置が装置２であると判定すると（ステップＳ８３においてＹＥＳ）、ステップＳ８４に進み、装置２でないと判定すると（ステップＳ８３においてＮＯ）、ステップＳ８５に進む。
【０１１５】
ステップＳ８４では、ソースプログラム変換プログラムのソースプログラム変換部３０６が、装置用ライブラリ管理部３０８で保持、管理されている装置２用のライブラリとリンクし、装置２用の簡易ベーシックで記述されたソースプログラムを生成する。
【０１１６】
ステップＳ８５では、ソースプログラム変換プログラムのソースプログラム変換部３０６が、装置用ライブラリ管理部３０８で保持、管理されている装置３用のライブラリとリンクし、装置３用の簡易ベーシックで記述されたソースプログラムを生成する。
【０１１７】
上述の処理を繰り返して行うことによって、３つの装置に対応するだけでなく、指定された装置用の簡易ベーシックで記述されたソースプログラムを生成することができる。
【０１１８】
また、上述した処理を行うことによって、ビジュアルベーシックで記述されたソースプログラムを入力とし、組み込み対象となる個々の装置固有の簡易ベーシックで記述されたソースプログラムを出力とし、取得することができる。
【０１１９】
一方、上述した処理とは異なり、プログラムの変換処理を複数の段階に分けて行うこともできる。
【０１２０】
図１２は、プログラムの変換処理を複数の段階に分けて行う一例の概念図である。
【０１２１】
図１２では、プログラム変換Ａが、ビジュアルベーシックで記述されたソースプログラムを入力として、組み込み対象となる装置において共通する簡易ベーシックで記述されたソースプログラムを出力する。
【０１２２】
プログラム変換Ａは、図１０において示した、ステップＳ８０において、ビジュアルベーシックで記述されたソースプログラムを、組み込み対象となる装置において共通する簡易ベーシックで記述されたソースプログラムに変換し、図１０のステップＳ９０においてファイルに出力する。
【０１２３】
図１２では、プログラム変換Ｂ及びプログラム変換Ｃが、組み込み対象となる装置において共通する簡易ベーシックで記述されたソースプログラムを入力として、組み込み対象となる装置固有の簡易ベーシックで記述されたソースプログラムを出力する。
【０１２４】
プログラム変換Ｂ及びプログラム変換Ｃは、図１０において示した、ステップＳ８０において、組み込み対象となる装置において共通する簡易ベーシックで記述されたソースプログラムを、組み込み対象となる装置固有の簡易ベーシックで記述されたソースプログラムに変換する。
【０１２５】
図１２に示すように、一度、組み込み対象となる装置共通の簡易ベーシックで記述されたソースプログラムを、出力させ、その後、個々の装置固有の簡易ベーシックで記述されたソースプログラムに変換することによって、初めから個々の装置固有のソースプログラムを出力する場合に比べて、ソースプログラム変換プログラムを単純化することができ、また、変換の処理に必要な時間やリソースを節約することができる。
【０１２６】
また、ソースプログラム変換プログラムは、図１０のステップＳ９０の処理の前に、変換したソースプログラムを暗号化するなどの処理を追加して、変換したソースプログラムを保護してもよいし、また、図１０のステップＳ９０の処理の前に、変換したソースプログラムを符号化して、ソースプログラムの転送やソースプログラムの実行の速度を向上させるようにしてもよい。
【０１２７】
以下、実際のソースコードを用いて、図１０のステップＳ８０のソースプログラムの変換及び図１０のステップＳ７０の代用ルーチンへの変換の一例を説明する。
【０１２８】
図１３は、変数名の変換の一例を説明するための図である。図１３（Ａ）は、変換前のビジュアルベーシックで記述したソースプログラムの一部であり、図１３（Ｂ）は、ソースプログラム変換プログラムを用いて、図１３（Ａ）のソースプログラムを変換した一例のソースプログラムの図である。なお、図の左側の数字は、説明のために付したソースプログラムの行数である。
【０１２９】
図１３では、図１３（Ａ）の各行が、対応する行数の図１３（Ｂ）の各行へと変換されている。
【０１３０】
例えば、図１３（Ａ）１行目の「Ｌｏｏｐ＿Ｃｏｕｎｔｅｒ」という変数が、ソースプログラム変換プログラムによって変換されると、図１３（Ｂ）の１行目で表されるような「＠１」に変換されている。
【０１３１】
ソースプログラム変換プログラムは、ビジュアルベーシックで記述されたソースプログラム内の変数名を、図１３（Ｂ）の１行目から３行目に示されるように、プレフィクスと番号とに変換する。
【０１３２】
また、図１３（Ａ）４行目の「Ｍｅｓｓａｇｅ＄」という変数が、ソースプログラム変換プログラムによって変換されると、図１３（Ｂ）の４行目で表されるような「＄４」に変換されている。
【０１３３】
ソースプログラム変換プログラムは、ビジュアルベーシックで記述されたソースプログラム内の配列の変数名を、図１３（Ｂ）の４行目に示されるように、ダラーと番号とに変換する。
【０１３４】
このように、変数名を、番号に変換することによって、簡易ベーシックを一行ずつ読み込んで、解釈し、実行する簡易ベーシック用インタープリタは、例えば「Ｌｏｏｐ＿Ｃｏｕｎｔｅｒ」という文字列がどこのメモリアドレスに対応するかを表す表を保持する必要がなく、また、変数名が番号に変換されているので、変数名が「Ｌｏｏｐ＿Ｃｏｕｎｔｅｒ」のままだった場合と比べて、「Ｌｏｏｐ＿Ｃｏｕｎｔｅｒ」がどこのアドレスに相当するものかを探す必要がなく、解釈の処理の高速化が図れる。
【０１３５】
以下、ビジュアルベーシックで記述した構造化プログラムの変換の例を、図１４、１６、１７を用いて説明する。
【０１３６】
図１４は、構造化プログラムの変換を説明するための図（その１）である。図１４（Ａ）は、変換前のビジュアルベーシックで記述したソースプログラムの一部であり、図１４（Ｂ）は、ソースプログラム変換プログラムを用いて、図１４（Ａ）のソースプログラムを変換した一例のソースプログラムの図である。
【０１３７】
ソースプログラム変換プログラムは、ビジュアルベーシックで記述されたソースプログラム内の、構造化プログラムの一つであるｆｏｒ文を、図１４（Ｂ）に示されるように、簡易ベーシックで記述されたｉｆ分と、ｇｏｔｏ分とに変換する。
【０１３８】
また、図１５は、構造化プログラムの変換を説明するための図（その２）である。図１５（Ａ）は、変換前のビジュアルベーシックで記述したソースプログラムの一部であり、図１５（Ｂ）は、ソースプログラム変換プログラムを用いて、図１５（Ａ）のソースプログラムを変換した一例のソースプログラムの図である。
【０１３９】
ソースプログラム変換プログラムは、ビジュアルベーシックで記述されたソースプログラム内の、構造化プログラムの一つであるｗｈｉｌｅ文を、図１５（Ｂ）に示されるように、簡易ベーシックで記述されたｉｆ分と、ｇｏｔｏ分とに変換する。
【０１４０】
また、図１６は、構造化プログラムの変換を説明するための図（その３）である。図１６（Ａ）は、変換前のビジュアルベーシックで記述したソースプログラムの一部であり、図１６（Ｂ）は、ソースプログラム変換プログラムを用いて、図１６（Ａ）のソースプログラムを変換した一例のソースプログラムの図である。
【０１４１】
ソースプログラム変換プログラムは、ビジュアルベーシックで記述されたソースプログラム内の、構造化プログラムの一つであるｃａｓｅ文を、図１６（Ｂ）に示されるように、簡易ベーシックで記述されたｉｆ分と、ｇｏｔｏ分とに変換する。
【０１４２】
図１４、図１５、図１６を用いて説明したように、ソースプログラム変換プログラムは、ビジュアルベーシックの構造化プログラムで記述されたソースプログラムを、簡易ベーシックのｉｆ文と、ｇｏｔｏ文とで記述したソースプログラムに変換する。
【０１４３】
したがって、組み込み対象の装置において動作するプログラムを開発する開発者は、慣れ親しんだビジュアルベーシックを用いた構造化プログラミングを用いてプログラムの開発を行うことができる。
【０１４４】
一方、組み込み対象の装置においては、前記簡易インタープリタを用いることによって、前記簡易ベーシックのｉｆ文とｇｏｔｏ文とに変換されたソースプログラムを読み込んで実行することができる。
【０１４５】
実際、従来の記述で示した、ワンチップＣＰＵでは、構造化プログラミングは実装されておらず、開発者は、構造化プログラミングを用いて開発を行うことが出来なかったが、本発明のプログラミング開発方法を用いることによって、慣れ親しんだビジュアルベーシックを用いた構造化プログラミングを用いてプログラムの開発を行い、組み込み対象となる装置においては、変換したプログラムを実行させることができる。
【０１４６】
また、本発明のソースプログラム変換プログラムは、組み込み対象となる装置上に用意されていない機能が、ビジュアルベーシックで記述されたソースプログラムに存在した場合、代用となるルーチンを生成し、付加する機能を有する。
【０１４７】
図１７は、代用ルーチンを生成し、付加する一例を説明するための図である。図１７（Ａ）は、画像形成装置２のオペレーションパネル上のボタンの一例の図である。図１７（Ｂ）は、ビジュアルベーシックで記述された図１７（Ａ）で示されるオペレーションパネル上のボタンを表すソースコードの一部を示した図である。また、図１７（Ｃ）は、ソースプログラム変換プログラムを用いて、図１７（Ｂ）を変換し、代用ルーチンを生成し、付加したソースプログラムの一部を示した図である。
【０１４８】
例えば、プログラム開発者は、ビジュアルベーシックを使用して、複数のオプションボタン（図１７（Ａ）の例では、「Ｂ４」ボタンと、「Ｂ５」ボタンと、「Ａ４」ボタンと）をグループ化させ、グループ化させた複数のオプションボタンの内、１つのボタンしか選択できないようにすることができる。
【０１４９】
しかしながら、一般的に、組み込み対象となる画像形成装置２では、文字の入力や表示などを行うオペレーションパネルに関するユーザインターフェースのライブラリ群を有していたとしても、上述したような複数のボタンをグループ化させ、グループ化させた複数のオプションボタンの内、１つのボタンしか選択できないようにするなどの機能を用意しておくには、多くのリソースなどを必要とするため、実装されていない。
【０１５０】
ソースプログラム変換プログラムは、ビジュアルベーシックで記述されたソースプログラム内に、上述したようなボタンのグループ化を行うような対象となる組み込み装置において実装されていない拡張機能の命令文を検出すると、図１７（Ｂ）で示されるようなビジュアルベーシックで記述されたソースプログラムを、図１７（Ｃ）で示されるような簡易ベーシックで記述した代用ルーチンに変換する。
【０１５１】
また、組み込み対象となる装置において動作するプログラムを作成する開発者は、図１７（Ａ）で示されるように、組み込み対象となる装置におけるオペレーションパネル上のボタンなどを作成する際に、予め、組み込み対象となる装置のオペレーションパネルの大きさに対応するテンプレートを、コンピュータ１の開発環境に用意しておき、該用意したテンプレートを用いて、その上に配置するボタンなどの画面を作成することができる。
【０１５２】
【発明の効果】
上述の如く、本発明によれば組み込み対象となる装置上で動作するプログラムの開発やテストを容易に行うことができる。
【０１５３】
【図面の簡単な説明】
【図１】組み込み対象となる装置として画像形成装置を用いた本発明のプログラム開発方法における開発環境と実行環境とを説明するための図（その１）である。
【図２】組み込み対象となる装置として画像形成装置を用いた本発明のプログラム開発方法における開発環境と実行環境とを説明するための図（その２）である。
【図３】組み込み対象となる装置として画像形成装置を用いた本発明のプログラム開発方法における開発環境と実行環境とを説明するための図（その３）である。
【図４】ＰＣの一実施例のソフトウェア構成図である。
【図５】ＰＣの一実施例のハードウェア構成図である。
【図６】画像形成装置の一実施例のハードウェア構成図である。
【図７】プログラム変換装置の一実施例の構成図である。
【図８】プログラム変換装置の一実施例のハードウェア構成図である。
【図９】ソースプログラム変換プログラムの機能の一例を、機能ブロック図を用いて説明するための図である。
【図１０】ソースプログラム変換プログラムによるソースプログラムの変換処理の一例のフローチャートである。
【図１１】図１０のステップＳ８０の変換処理の一例をフローチャートである。
【図１２】プログラムの変換処理を複数の段階に分けて行う一例の概念図である。
【図１３】変数名の変換の一例を説明するための図である。
【図１４】構造化プログラムの変換の一例を説明するための図（その１）である。
【図１５】構造化プログラムの変換の一例を説明するための図（その２）である。
【図１６】構造化プログラムの変換の一例を説明するための図（その３）である。
【図１７】代用ルーチンへの変換の一例を説明するための図である。
【符号の説明】
１　　パーソナルコンピュータ（ＰＣ）
２　　画像形成装置
３　　ネットワーク
４　　プログラム変換装置
６１　　入力・表示装置
６２　　ドライブ装置
６３　　記憶媒体
６４　　補助記憶装置
６５　　メモリ装置
６６　　演算処理装置
６７　　インターフェース装置
６８　　読み取り装置
６９　　印字装置
１００　　ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）
１０１　　エディタアプリ
１０２　　デバッガアプリ
１０３　　トランスレータアプリ
１０９　　アプリケーション層
１１０　　入力装置
１１１　　表示装置
１１２　　ドライブ装置
１１３　　記憶媒体
１１４　　補助記憶媒体
１１５　　メモリ装置
１１６　　演算処理装置
１１７　　インターフェース装置
２００　　ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）
２０１　　トランスレータアプリ
２０９　　アプリケーション層
２１１　　表示装置
２１２　　ドライブ装置
２１３　　記憶媒体
２１４　　補助記憶媒体
２１５　　メモリ装置
２１６　　演算処理装置
２１７　　インターフェース装置
３０１　　字句解析部
３０２　　構文解析部
３０３　　エラー検出部
３０４　　拡張機能検出部
３０５　　代用ルーチン変換部
３０６　　ソースプログラム変換部
３０７　　ファイルＩ／Ｏ部
３０８　　装置用ライブラリ管理部
３０９　　シンボルテーブル管理部
【図１】
2004133630.tif 000003
【図２】
2004133630.tif 000004
【図３】
2004133630.tif 000005
【図４】
2004133630.tif 000006
【図５】
2004133630.tif 000007
【図６】
2004133630.tif 000008
【図７】
2004133630.tif 000009
【図８】
2004133630.tif 000010
【図９】
2004133630.tif 000011
【図１０】
2004133630.tif 000012
【図１１】
2004133630.tif 000013
【図１２】
2004133630.tif 000014
【図１３】
2004133630.tif 000015
【図１４】
2004133630.tif 000016
【図１５】
2004133630.tif 000017
【図１６】
2004133630.tif 000018
【図１７】
2004133630.tif 000019