(57)【要約】【課題】  動作確認効率を向上させることができるプログラムソースコード自動生成装置を提供する。【解決手段】  プログラムの振る舞いを図形式で表現した図形式データからコンパイル可能なソースコード１６を生成するコード生成手段１２を備えたプログラムソースコード自動生成装置１１において、コード生成手段１２がソースコード１６を生成する際に、その中で変更されても変更元の図形式の要素の内部データのみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素部分を編集可能な要素情報１７として抽出する要素情報抽出手段１３と、要素情報１７をもとにソースコード１６の編集可能部分のみを対話的に編集・更新するソースコード編集手段１４と、編集結果を生成元に反映するコード逆変換手段１５を備える。【選択図】  図１
2006285754.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの振る舞いを図形式で表現した図形式データからコンパイル可能なプログラムソースコードを生成するコード生成手段を備えたプログラムソースコード自動生成装置において、
前記コード生成手段が前記図形式データからソースコードを生成する際に、生成されるソースコードの中で変更されても変更元の図形式の要素の内部データのみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素部分を前記ソースコードから編集可能な要素情報として抽出する要素情報抽出手段と、
前記要素情報抽出手段で抽出された前記要素情報をもとに、生成されたソースコードの編集可能部分のみを対話的に編集し、前記要素情報を更新するソースコード編集手段と、
を備えていることを特徴とするプログラムソースコード自動生成装置。
【請求項２】
前記要素情報は、編集可能部分がソースコード内および生成元の前記図形式データから特定できる情報であることを特徴とする請求項１記載のプログラムソースコード自動生成装置。
【請求項３】
前記要素情報抽出手段は、抽出した前記要素情報を前記コード生成手段で生成されたソースコードとは別個に保存する機能を有していることを特徴とする請求項１記載のプログラムソースコード自動生成装置。
【請求項４】
前記要素情報抽出手段は、抽出した前記要素情報をコンパイルに影響を与えない形式で前記コード生成手段により生成されたソースコードに埋め込む機能を有していることを特徴とする請求項１記載のプログラムソースコード自動生成装置。
【請求項５】
前記ソースコード編集手段は、前記ソースコードを表示する際に、前記ソースコードに埋め込まれた要素情報を非表示にする機能を有していることを特徴とする請求項４記載のプログラムソースコード自動生成装置。
【請求項６】
前記ソースコード編集手段は、前記ソースコードを表示する際に、前記要素情報抽出手段で抽出された前記要素情報をもとに、前記ソースコードの編集可能部分を編集不可能部分とは区別して表示するようにしたことを特徴とする請求項１記載のプログラムソースコード自動生成装置。
【請求項７】
編集されたソースコードおよび更新された要素情報をもとに、生成元の前記図形式データを更新するコード逆変換手段を備えていることを特徴とする請求項１記載のプログラムソースコード自動生成装置。
【請求項８】
プログラムの振る舞いを図形式で表現した図形式データからコンパイル可能なプログラムソースコードをコンピュータにより生成するようにしたプログラムソースコード自動生成方法において、
コード生成手段が前記図形式データからソースコードを生成する際に、要素情報抽出手段が、生成されるソースコードの中で変更されても変更元の図形式の要素の内部データのみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素部分を前記ソースコードから編集可能な要素情報として抽出する要素情報抽出ステップと、
前記要素情報抽出手段で抽出された要素情報をもとに、ソースコード編集手段が、ユーザの指示を受けて前記ソースコードの編集可能部分のみを編集するとともに前記要素情報を更新するソースコード編集ステップと、
編集されたソースコードおよび更新された要素情報をもとに、コード逆変換手段が、生成元の前記図形式データを更新するコード逆変換ステップと、
からなることを特徴とするプログラムソースコード自動生成方法。
【請求項９】
前記要素情報抽出ステップは、抽出した前記要素情報をコンパイルに影響を与えない形式で前記ソースコードに埋め込むステップを有していることを特徴とする請求項８記載のプログラムソースコード自動生成方法。
【請求項１０】
前記ソースコード編集ステップは、前記ソースコードを表示する際に、前記ソースコードに埋め込まれた要素情報を非表示にするステップを有していることを特徴とする請求項９記載のプログラムソースコード自動生成方法。
【請求項１１】
プログラムの振る舞いを図形式で表現した図形式データからコンパイル可能なプログラムソースコードを生成するようにしたプログラムソースコード自動生成プログラムにおいて、
コンピュータに、
前記図形式データからソースコードを生成する際に、生成されるソースコードの中で変更されても変更元の図形式の要素の内部データのみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素部分を前記ソースコードから編集可能な要素情報として抽出する機能と、
抽出した前記要素情報をコンパイルに影響を与えない形式で前記ソースコードに埋め込む機能と、
抽出された要素情報をもとに、ユーザの指示を受けて前記ソースコードの編集可能部分のみを編集するとともに前記要素情報を更新する機能と、
編集されたソースコードおよび更新された要素情報をもとに、生成元の前記図形式データを更新する機能と、
を実行させるためのプログラムソースコード自動生成プログラム。
【請求項１２】
コンピュータに、
図形式データからソースコードを生成する際に、生成されるソースコードの中で変更されても変更元の図形式の要素の内部データのみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素部分を前記ソースコードから編集可能な要素情報として抽出する機能と、
抽出した前記要素情報をコンパイルに影響を与えない形式で前記ソースコードに埋め込む機能と、
抽出された要素情報をもとに、ユーザの指示を受けて前記ソースコードの編集可能部分のみを編集し、前記要素情報を更新する機能と、
編集されたソースコードおよび更新された要素情報をもとに、生成元の前記図形式データを更新する機能と、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラムソースコード自動生成装置に関し、特に開発者や利用者などが作成した図形式の仕様に従ったプログラムソースコードを自動生成するようにしたプログラムソースコード自動生成装置に関する。
【背景技術】
【０００２】
プログラムの開発においては、プログラムの振る舞いを図形式で表現したシンボルを組み合わせていき、それらの接続関係でプログラム全体を表現していくことが行われている。このような図形式の例としては、一般にフローチャート、状態遷移図、ブロック図などが知られている。図形式のものは、プログラムの構造を視覚的に把握しながらプログラムを作成していくことができるので、プログラムの作成作業を効率よく進めていくことが可能になる。
【０００３】
また、色々な図形式の表現からコンパイル可能なソースコードを自動生成する手段も多く提案されている。たとえば、状態遷移図を作成する図式エディタが作成した状態遷移図から直接コードを生成して、コンパイルを行うプログラム生成部に出力するようにしたもの（たとえば、特許文献１参照。）、制御アルゴリズムを示すシンボルをデータフローでつなぐことでプログラムを表現した図面情報から制御プラグラム生成手段が制御プログラムのソースコードを生成するようにしたもの（たとえば、特許文献２参照。）が提案されている。これらの提案においては、ソースコードの自動生成は、同じような流れで行われている。
【０００４】
図１２は一般的なプログラム作成時の流れを示すフロー図である。
図形式の表現を用いてプログラムの全体構造を作成し、これからプログラムを作成するときの一般的な流れは、おおよそ次のような手順になっている。まず、図画編集手段１０１によって編集された図形式データは図面ファイル１０２として保存され、それがコード生成手段１０３によってソースファイル１０４に変換される。通常、自動生成方式はここまでの機能を提供するものであるが、実際には、ここからさらにコンパイラ１０５によって実行可能なオブジェクトファイル１０６が生成され、それが実際に動作するプログラムとなる。
【特許文献１】特開平７−７８０７６号公報（図１）
【特許文献２】特開平６−３０９１５９号公報（図１６）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
これら従来のプログラムの開発手法では、図形式データからソースコードへの変換は可能であるが、その逆の変換、すなわちソースコードから図形式データへの変換は、一般的に図形式データの方がソースコードのテキストよりも表現できる情報が豊富であることから困難であると考えられる。しかしながら、プログラム開発の現場を考えると、生成されたソースコードは、そのままコンパイルを経て実行可能なオブジェクトコードに変換され、実際に動作させてみてプログラムが正しく動作するか確認することになるが、プログラムが最初から正しく動作することは希で、ほとんどの場合は実際の動作確認によってプログラムの問題点を明らかにし、それに対するプログラムの修正作業を経て最終的なプログラムが完成することになる。この実際の動作確認でプログラムの問題点が明らかになった場合、自動生成されたソースコード上で変更が必要になっても、逆変換が困難であることから、ソースコードを直接変更してしまうと生成元の図形式との関係が途絶えてしまい、以降はソースコード、図形式を別々にメンテナンスしなければならなくなってしまうことになる。変更が必要になった場合に図形式を変更して再度コードの自動生成という手順を踏めばこのような問題はなくなるが、プログラムの規模が大きくなって図形式が複雑になってくると、ソースコードでほんの１，２行の変更をすれば済むことのために図形式の編集を行ってコードを自動生成するのは作業効率を大きく低下させる要因となってしまう。図形式が持っていた情報をコメントなどコンパイルに直接影響を与えない形でソースコードに埋め込むことで逆変換を可能とする手法もあるが、このような情報は逆変換プログラムが解釈できる形で埋め込まれるため開発者にとって必ずしも理解しやすいものではないので、ソースコードの可読性が悪化する上、ソースコードを編集する際に誤ってこの情報を書き換えてしまうと、逆変換に失敗したり、誤った図形式に変換されてしまったりする問題がある。
【０００６】
本発明はこのような点に鑑みてなされたものであり、動作確認効率を向上させることができるプログラムソースコード自動生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では上記問題を解決するために、プログラムの振る舞いを図形式で表現した図形式データからコンパイル可能なプログラムソースコードを生成するコード生成手段を備えたプログラムソースコード自動生成装置において、前記コード生成手段が前記図形式データからソースコードを生成する際に、生成されるソースコードの中で変更されても変更元の図形式の要素の内部データのみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素部分を前記ソースコードから編集可能な要素情報として抽出する要素情報抽出手段と、前記要素情報抽出手段で抽出された前記要素情報をもとに、生成されたソースコードの編集可能部分のみを対話的に編集し、前記要素情報を更新するソースコード編集手段と、を備えていることを特徴とするプログラムソースコード自動生成装置が提供される。
【０００８】
このようなプログラムソースコード自動生成装置によれば、コード生成手段にてフローチャートや状態遷移図のように図形式で表現された図形式データからコンパイル可能なソースコードを生成する際に、要素情報抽出手段が生成されたソースコードの中で図形式の構造に直接影響を与えない要素部分を編集可能な要素情報として抽出し、ソースコード編集手段がその要素情報をもとに、該当する部分を直接編集するように構成したので、プログラムのデバッグ、動作確認を効率的に行うことができる。
【発明の効果】
【０００９】
本発明のプログラムソースコード自動生成装置は、図形式から自動生成されたソースコードの中の図形式の構造に影響を与えない部分を直接変更できるようになるので、単純なコーディングミスなどの変更であれば、わざわざソースコードを再生成する必要がなくなる。また、その変更を図形式データへフィードバックして反映することができるようにすることで、ソースコードと生成元の図形式データとの整合性を保つことができる。これによって、図形式からの自動変換の利点である設計・保守の容易さを保ちつつ、デバッグ．動作確認作業の効率を向上させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は本発明によるプログラムソースコード自動生成装置の原理的な構成を示す説明図である。
【００１１】
まず、図形式編集手段１０は、プログラムの振る舞いをフローチャートや状態遷移図などの図形式で作成するもので、単純な機能を実現する一連の処理ブロックが１つのシンボルで表現されていて、それらのシンボルを組み合わせていくことにより、シンボル間の接続関係でプログラム全体を表現するようにしている。図形式編集手段１０によって作成された図形式は、図形式データとして出力され、本発明によるプログラムソースコード自動生成装置１１に入力される。
【００１２】
プログラムソースコード自動生成装置１１は、コード生成手段１２と、要素情報抽出手段１３と、ソースコード編集手段１４と、コード逆変換手段１５とを備えている。コード生成手段１２は、入力された図形式データからコンパイル可能なソースコード１６を生成する機能を有している。要素情報抽出手段１３は、コード生成手段１２が図形式データからソースコード１６を生成する際に、生成されるソースコード１６の中で変更されても変更元の図形式の要素の内部データのみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素部分をソースコード１６から編集可能な要素情報１７として抽出する機能を有している。ソースコード編集手段１４は、要素情報抽出手段１３で抽出された要素情報１７をもとに、生成されたソースコード１６の編集可能部分のみを対話的に編集し、要素情報１７を更新する機能を有している。コード逆変換手段１５は、編集されたソースコード１６および更新された要素情報１７をもとに、生成元の図形式データにフィードバックして反映させる機能を有している。
【００１３】
通常は、図形式編集手段１０によって作成された図形式データは、コード生成手段１２にてソースコード１６に変換され、そのソースコード１６は、コンパイルされて実行可能なオブジェクトコードに変換される。そのオブジェクトコードは、これを実際に動作させて正しく動作するか確認するが、その際に発見した問題点が、生成されたソースコード１６を多少修正するだけで済むような場合には、ソースコード編集手段１４によりソースコード１６を編集することができる。このとき、ソースコード編集手段１４は、編集対象の要素が編集可能であるかどうかを要素情報抽出手段１３が抽出していた要素情報１７から分かるので、デバッグ作業を容易に行うことができる。このようにしてソースコード編集手段１４によって直接変更されたソースコード１６は、すぐにコンパイルすることができるため、プログラム作成の作業効率を向上させることができる。また、変更された部分は、コード逆変換手段１５によって図形式データに反映されるので、図形式データと自動生成されたソースコード１６との整合性をソースコード１６の直接変更後も保ち続けることが可能となる。
【００１４】
次に、要素情報抽出手段１３がソースコード１６から抽出する要素情報１７の一例を示す。ここでは、図形式編集手段１０が作成しようとするプログラムの構造をフローチャートの図形式で表現し、そのフローチャートの図形式データからコード生成手段１２がソースコード１６を生成する際に抽出される要素情報１７の一例について説明する。
【００１５】
図２は生成されたソースコードと生成元の図形式のシンボルとの間の関係を説明する図である。
フローチャートの図形式でプログラムを作成する図形式編集手段１０では、単純な機能を実現する一連の処理ブロックを１つのシンボルで表現し、それらのシンボル間の接続関係でプログラム全体を表現することになる。
【００１６】
図示の例では、シンボル処理１、シンボル処理２およびシンボル判断１が作成され、シンボル処理１およびシンボル処理２に対しては、処理内容がそれぞれ定義され、また、シンボル判断１には、判断条件が定義されているとする。
【００１７】
このような場合、このフローチャートは、コード生成手段１２によって右側のソースコード１６に自動変換されるが、このソースコード１６内の点線で囲まれた部分１６ａ，１６ｂ，１６ｃは、それぞれシンボル処理１、シンボル処理２、シンボル判断１が表現する処理である。ここで、このソースコード１６の中で、たとえば、部分１６ａと部分１６ｂの順番を入れ替えたり、部分１６ｃが含むｉｆ文をｗｈｉｌｅ文に変更したりする変更を加えた場合、フローチャートの構造そのものが変わってしまう（シンボル処理１とシンボル処理２の順番が変わる、シンボル判断１がｗｈｉｌｅ文を表現する別のシンボルとなる）ため、ソースコード１６からフローチャートへの変換は、ソースコード１６内の文字列要素を厳密に解析する必要が生じることになることから困難となる。ところが、たとえば、部分１６ａの内部で行を入れ替えたり、部分１６ｂの内部から行を削除したりする変更であれば、それぞれの処理を示すシンボルの内容、すなわち内部データが変更されるだけで、図形式の構造そのものに変更は生じない。
【００１８】
このような変更であればそれぞれのシンボルが表す内部データの書き換えで済むので変換は比較的容易である。したがって、本発明のプログラムソースコード自動生成装置１１では、このように図形式から自動生成されたソースコード１６の中でも、変更が図形式の構造に影響を及ぼす部分と、図形式のシンボルの内部データの変更のみに影響を及ぼす部分とがあることに着目し、内部データの変更のみに影響を及ぼす部分を編集可能要素として抽出してそのソースコード１６内での位置や図形式でのシンボル識別子など関連情報を要素情報１７として保存しておき、その保存された要素情報１７と生成されたソースコード１６とから通常のテキスト編集ツールと同様にソースを表示しかつ編集可能要素部分のみを実際に編集できるようなソースコード編集手段１４を提供することによって、ソースコード１６の直接変更を可能としてプログラムの作成効率を向上させ、さらに変更部分を元の図形式に反映させるコード逆変換手段１５を提供することによって図形式と自動生成されたソースコード１６との整合性をソースコード１６の直接変更後も保ち続けることが可能としている。
【００１９】
図３は本発明の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。
コンピュータ２１は、全体を制御しているＣＰＵ（Central Processing Unit）２２を備えている。ＣＰＵ２２には、バス２３を介してＲＡＭ（Random Access Memory）２４、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）２５、グラフィック処理装置２６、および入力インタフェース２７が接続されている。
【００２０】
ＲＡＭ２４には、ＣＰＵ２２に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２４には、ＣＰＵ２２による処理に必要な各種データが格納される。ＨＤＤ２５には、ＯＳやアプリケーションプログラムが格納される。このアプリケーションプログラムには、上記の図形式編集手段１０、コード生成手段１２、要素情報抽出手段１３、ソースコード編集手段１４およびコード逆変換手段１５を実現するプログラムが少なくとも含まれており、さらに、ソースコードをコンパイルするコンパイラも含まれている。
【００２１】
グラフィック処理装置２６には、モニタ２８が接続されている。グラフィック処理装置２６は、ＣＰＵ２２からの命令に従って、図形編集画像をモニタ２８の画面に表示させる。入力インタフェース２７には、キーボード２９とマウス３０とが接続されている。入力インタフェース２７は、キーボード２９やマウス３０から送られてくる信号を、バス２３を介してＣＰＵ２２に送信する。
【００２２】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図４はプログラム作成時の流れを示すフロー図である。
【００２３】
ここで、図面編集手段３１、図面ファイル３２、コード生成手段３３、ソースファイル３４、コンパイラ３５、オブジェクトファイル３６は、図１２に示す従来技術と同様の機能を提供するものであり、中でも、図面編集手段３１、図面ファイル３２、コード生成手段３３、ソースファイル３４は、図１の図形式編集手段１０、図形式データ、要素情報抽出手段１３を含むコード生成手段１２、および要素情報１７を含むソースコード１６にそれぞれ対応する。
【００２４】
本発明で特徴的なのは、コード生成手段３３から生成される要素情報３７、ソースファイル３４と要素情報３７とをもとにコード編集を実行するコード編集手段３８、ソースファイル３４と要素情報３７とをもとにソースファイル３４の変更部分を図面ファイル３２に反映させるコード逆変換手段３９である。要素情報３７、コード編集手段３８、コード逆変換手段３９は、図１の要素情報１７、ソースコード編集手段１４、コード逆変換手段１５に対応する。
【００２５】
以下、図面編集手段３１によって状態遷移図が作成され、その作成された状態遷移図から自動生成されたソースコードに対して編集を行う場合の例をあげて説明する。
図５は状態遷移図の作成例を示す図であって、（ａ）は図本体を示し、（ｂ）は内部データを示している。図６は自動生成されたソースコードの例を示す図、図７はソースコードの自動生成時に抽出された要素情報の例を示す図である。
【００２６】
図面編集手段３１によって作成される状態遷移図は、たとえば、図５に示したように、シンボルの接続関係を示す図本体４１と、内部データ４２とから構成されている。この状態遷移図の図本体４１によれば、３つの状態「ＳＴＡＴＥ１」、「ＳＴＡＴＥ２」、「ＳＴＡＴＥ３」があって、それぞれの接続関係が「条件」と「処理」とによって表されている。内部データ４２は、関数名、状態変数名、各条件、各処理の内容を表すデータからなっている。
【００２７】
このような状態遷移図から、図６に示すようなソースコード１６がソースファイル３４として自動生成されたとする。このソースコード１６の例の中で、点線で囲まれた部分が、変更によって元の状態遷移図の構造に影響を与えない編集可能部分となる。この編集可能部分の情報は、コード生成手段３３によって要素情報３７として抽出され、たとえば、図７のような形式で保存される。この要素情報３７は、ＲＡＭ２４に保存されてもよいし、ファイルの形で保存されてもよい。
【００２８】
抽出された要素情報３７は、図７の例では、状態遷移図のシンボルを、対応する編集可能部分のソースコード１６上の相対位置を属性として持つＸＭＬ（eXtensible Markup Language）要素として表現しているが、シンボルと対応するコードのソースコード１６上の位置との関係を保存するものであれば、どのような形式であっても構わない。
【００２９】
以上のようにして生成されたソースコード１６のソースファイル３４は、コンパイラ３５によってコンパイルされ、実行可能なオブジェクトファイル３６となる。次に、オブジェクトファイル３６を実際に動作させて正しく動作するか確認する。ここで、何らかの問題点が発見され、その問題点が、生成されたソースコード１６を多少修正するだけで済むような場合には、コード編集手段３８によりソースコード１６を編集することになる。このコード編集手段３８としては、一般的なコード編集ツールを使用することができるが、ここでは、要素情報３７から編集可能な要素を編集不可能な要素と区別して表示するようなインタフェースを備えたコード編集ツールとしている。
【００３０】
図８はコード編集手段のインタフェース画面の例を示す図である。
コード編集手段３８は、要素情報３７とソースファイル３４とを参照して、図示のようなインタフェースにより編集可能部分のみの編集機能を提供する。図８のインタフェースでは、ソースファイル３４のコードテキストが通常のコード編集ツールと同様に表示され、さらに、編集不可部分は薄文字で表示され、編集可能部分は黒の太字で強調表示されている。または、編集可能部分のテキストだけを編集不可部分のテキストとは異なる色で表示してもよい。さらに、この画面上で、挿入カーソルが編集可能部分にのみ出現するようにすることで、編集不可部分の編集を禁止することができる。このように自動生成されたソースコード１６に変更されても変更元の図形式の要素の内部データ４２のみに影響を与え、図形式の視覚的な構造に影響を及ぼさない要素に対して変更が発生した場合には、それに対応した要素情報３７の更新がコード編集手段３８によって実行される。
【００３１】
図９はプログラム作成時の別の流れを示すフロー図である。
上記の実施の形態によるソースコード自動生成方法では、コード生成手段３３がソースファイル３４とは別個に要素情報３７を出力し、コード編集手段３８およびコード逆変換手段３９がソースファイル３４と要素情報３７との両方を参照して処理を行っていた。これに対し、この実施の形態では、図９に示したように、コード生成手段３３は、ソースファイル内に要素情報３７と同等の情報を埋め込んだ要素情報付ソースファイル４３を生成する。
【００３２】
この要素情報付ソースファイル４３に埋め込まれる要素情報は、コメント文などコンパイラ３５に対して意味を持たない形で生成される。次に、このような要素情報の埋め込み方の例について説明する。
【００３３】
図１０は要素情報付ソースファイルの内容の一例を示す図、図１１は要素情報付ソースファイルの内容の別の例を示す図である。
ソースコードに要素情報を埋め込んだ最も単純な要素情報付ソースファイル４３の例として、図１０に示したような要素情報付ソースファイル４３ａにすることができる。この要素情報付ソースファイル４３ａによれば、図６に示した状態遷移図から生成されるソースファイル３４のソースコード１６の末尾に、図７に示した要素情報３７をコメント文の形で追加する形式にしている。
【００３４】
このような形式であれば、コード編集手段３８は、要素情報部分を容易に切り出すことができるので、その部分を非表示にすることでソースコードの可読性を損なうことなく編集が可能となる。また、仮に通常のテキスト編集ツールで要素情報付ソースファイル４３ａを閲覧しようとした場合にも、意味不明な要素情報３７は行末に集中しているため、可読性が著しく低下するようなことはない。
【００３５】
また、要素情報付ソースファイル４３として、図１１に示したように、ソースコード１６の内部に編集可能な部分の範囲を直接指定する情報を埋め込んだ要素情報付ソースファイル４３ｂとしてもよい。この要素情報付ソースファイル４３ｂの例では、１行のコードテキスト内に要素情報が含まれている場合、その要素情報は、コード生成手段３３により「／＊？〜？＊／」で表されるコメント文によって挟まれた位置に埋め込まれる。また、１行のコードテキストが要素情報のみである場合には、行の末尾にコメント文が挿入される。
【００３６】
この埋め込み方によれば、要素情報が埋め込まれる位置がそのままソースコード１６内の編集可能部分になるので、コード生成手段３３が位置情報を別に生成する必要がないという利点がある反面、要素情報付ソースファイル４３ｂのテキストとしての可読性は著しく低くなる。しかし、このコメント部分をコード編集手段３８が非表示とし、さらに、編集可能な要素部分を強調表示することで、可読性が低下することなく閲覧・編集が容易となる。
【図面の簡単な説明】
【００３７】
【図１】本発明によるプログラムソースコード自動生成装置の原理的な構成を示す説明図である。
【図２】生成されたソースコードと生成元の図形式のシンボルとの間の関係を説明する図である。
【図３】本発明の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。
【図４】プログラム作成時の流れを示すフロー図である。
【図５】状態遷移図の作成例を示す図であって、（ａ）は図本体を示し、（ｂ）は内部データを示している。
【図６】自動生成されたソースコードの例を示す図である。
【図７】ソースコードの自動生成時に抽出された要素情報の例を示す図である。
【図８】コード編集手段のインタフェース画面の例を示す図である。
【図９】プログラム作成時の別の流れを示すフロー図である。
【図１０】要素情報付ソースファイルの内容の一例を示す図である。
【図１１】要素情報付ソースファイルの内容の別の例を示す図である。
【図１２】一般的なプログラム作成時の流れを示すフロー図である。
【符号の説明】
【００３８】
１０  図形式編集手段
１１  プログラムソースコード自動生成装置
１２  コード生成手段
１３  要素情報抽出手段
１４  ソースコード編集手段
１５  コード逆変換手段
１６  ソースコード
１７  要素情報
【図１】
2006285754.tif 000003
【図２】
2006285754.tif 000004
【図３】
2006285754.tif 000005
【図４】
2006285754.tif 000006
【図５】
2006285754.tif 000007
【図６】
2006285754.tif 000008
【図７】
2006285754.tif 000009
【図８】
2006285754.tif 000010
【図９】
2006285754.tif 000011
【図１０】
2006285754.tif 000012
【図１１】
2006285754.tif 000013
【図１２】
2006285754.tif 000014