(57)【特許請求の範囲】
【請求項１】
表計算プログラムを用いてある言語のプログラムソースを、これと異なる言語のプログラムソースに自動で変換する変換処理手段と、
前記変換処理手段での変換後のプログラムソースに変換不適正部分が有る場合、表示手段に、その変換不適正部分である変換前と変換後のプログラムソースの対応部分を同一行毎に左右に対応付けて表示すると共に、これと同一行に当該変換不適正を表すコメントを表示し、前記変換不適正部分が無い場合、変換前と変換後のプログラムソースの対応部分を同一行毎に左右に対応付けて表示する表示制御手段と
を備えたことを特徴とするプログラムソース変換装置。
【請求項２】
前記変換処理手段は、前記変換時にプログラムソースへの変換が困難な場合、この困難部分のプログラムソースを無変換とし、前記表示制御手段は、前記無変換部分のプログラムソースを表示すると共に、これと同一行に当該無変換を表すコメントを表示することを特徴とする請求項１に記載のプログラムソース変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータのプログラムの変換技術であって、ある言語のプログラムソースをこれと異なる言語のプログラムソースに変換するプログラムソース変換装置に関する。
【背景技術】
【０００２】
従来、テキストファイル形式でプログラムが記述されるプログラムソースである例えばＦｏｒｔｒａｎ（フォートラン）言語を、これと異なるプログラムソースのＣ（シー）言語に変換（コンバート）する場合、人手による方法がある。しかし、人手ではプログラムの記述が長い場合、作業時間並びに労力が掛かり、変換ミス等のエラーも生じ易い。そこで、変換手段（コンバータ）として「Ｆ２Ｃ」等のフリーのソフトウェアであるフリーウェアを用いて自動的に変換する方法が採られている。なお、「Ｆ２Ｃ」は世界中で活用されており性能及び使用実績の面で優れたコンバータである。
【０００３】
また、この種のプログラムの変換を行う技術として、特許文献１に記載のプログラムのスクロール表示方式がある。
この内容は、原始プログラムと、原始プログラムから自動生成される目的プログラムとのスクロール表示方式に関し、原始プログラムの行とそこから自動生成した目的プログラムの対応する行とを同時に自動的に表示することを目的としている。これを達成するため、表示装置とメモリを含む編集装置及び原始プログラム、目的プログラム及び行対応情報の各格納部を備える。メモリを含む編集装置は、原始プログラムと目的プログラムを同時に表示する手段と、一方のウィンドウのプログラムに対し指定された行を表示する手段と、一方のプログラムの指定行に対応する他方のプログラムの行を識別する手段と、識別した他方のプログラムの行をスクロールにより表示するスクロール表示手段とを備える編集部を備えて構成されている。
【０００４】
そして、原始プログラムを翻訳して得られた目的プログラムを同時に表示し、一方のプログラムの行（文）を指定すると行対応情報を用いて対応する他方のプログラムの行をスクロール表示できるようになっている。
【特許文献１】特開平５−３５４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述したようにフリーウェアを用いてプログラムソースをこれと異なるプログラムソースに変換した場合、変換後のプログラムソースの構成が一部崩れ、変換前と変換後のプログラムソースの対応関係が判らなくなり双方の比較が困難となり、また、変換前に記述されていたコメントがフリーウェアでは変換されないので変換後に消去されてしまう。このため、変換後のプログラムソースを、人が非常に読みづらくなりメンテナンス及び改善が非常に困難となるという問題がある。
【０００６】
上記特許文献１は、プログラムの変換技術に係るが、原始プログラム（ソースプログラム）を目的プログラム（機械語に置換えたプログラム）に変換する技術であって、この変換では、変換後が機械語なので両者の対応関係が人では読み取れなくなる。このため、両者を画面表示してスクロールしながら両者の対応場所を画面表示するようになっているが、プログラムソースをこれと異なるプログラムソースに変換する場合には適用できないという問題がある。
【０００７】
本発明は、このような課題に鑑みてなされたものであり、プログラムソースをこれと異なるプログラムソースに変換した際に、変換前と変換後のプログラムソースを容易に比較することができ、変換後にコメントも付すことができ、これによって変換後のプログラムソースを人が読み易くしてメンテナンス及び改善を容易に行うことを可能とするプログラムソース変換装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の請求項１によるプログラムソース変換装置は、表計算プログラムを用いてある言語のプログラムソースを、これと異なる言語のプログラムソースに自動で変換する変換処理手段と、前記変換処理手段での変換後のプログラムソースに変換不適正部分が有る場合、表示手段に、その変換不適正部分である変換前と変換後のプログラムソースの対応部分を同一行毎に左右に対応付けて表示すると共に、これと同一行に当該変換不適正を表すコメントを表示し、前記変換不適正部分が無い場合、変換前と変換後のプログラムソースの対応部分を同一行毎に左右に対応付けて表示する表示制御手段とを備えたことを特徴とする。
【０００９】
この構成によれば、プログラムソースをこれと異なるプログラムソースに変換した際に、変換前と変換後のプログラムソースが同一行に左右に対応付けられて表示されるので、変換前と後のプログラムソースを容易に比較することができる。また、変換時に何らかの原因で適正に変換が行われなかった場合でも、変換前と後のプログラムソースを上記同様、同一行に左右に対応付けて表示し、更にそれと同一行に当該変換不適正を表すコメントを表示することができるので、変換後のプログラムソースを人が読み易く、これによって、プログラムソースのメンテナンス及び改善を容易に行うことが可能となる。
【００１０】
また、本発明の請求項２によるプログラムソース変換装置は、請求項１において、前記変換処理手段は、前記変換時にプログラムソースへの変換が困難な場合、この困難部分のプログラムソースを無変換とし、前記表示制御手段は、前記無変換部分のプログラムソースを表示すると共に、これと同一行に当該無変換を表すコメントを表示することを特徴とする。
この構成によれば、プログラムソースの自動変換が困難な部分については無理に変換せず、この無変換部分と当該無変換のコメントで表示するようにしたので、その無変換部分を人が容易に認識することができ、これによって、その無変換部分のみを人手で変換することが可能となる。従って、プログラムソース全体として適正に効率良く変換することができる。
【発明の効果】
【００１１】
以上説明したように本発明によれば、プログラムソースをこれと異なるプログラムソースに変換した際に、変換前と変換後のプログラムソースを容易に比較することができ、変換後にコメントも付すことができ、これによって変換後のプログラムソースを人が読み易くしてメンテナンス及び改善を容易に行うことができるという効果がある。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して説明する。
図１は、本発明の実施の形態に係るプログラムソース変換装置の構成を示すブロック図である。
この図１に示すプログラムソース変換装置１０は、コンピュータに搭載され、変換処理部（変換処理手段）１２と、表示制御部（表示制御手段）１４と、コンピュータのディスプレイ等の表示部（表示手段）１６とを備えて構成されている。
【００１３】
変換処理部１２は、一般的な表計算プログラムの関数機能であるスプレッドシート機能を用いて第１のプログラムソース（例えば、Ｆｏｒｔｒａｎ言語）を、これと異なる第２のプログラムソース（例えば、Ｃ言語）に自動で変換する処理を行うものであり、図２に示すように、予整形処理部１２ａと、単純置換処理部１２ｂと、字句抽出処理部１２ｃと、字句解析処理部１２ｄと、構文解析変換処理部１２ｅと、特殊変換処理部１２ｆと、字句変換処理部１２ｇと、関数変換処理部１２ｈと、後整形処理部１２ｉとを備えて構成されている。なお、スプレッドシート機能としては、例えばエクセル（登録商標）のマクロ機能がある。
【００１４】
予整形処理部１２ａは、改行記号及びコメント文等を異なるプログラムソースへの変換に必要な所定の形式に整形する処理を行う。単純置換処理部１２ｂは、この処理以降の処理を容易とするために、例えば「．ＡＮＤ．」を「＆」に置換する等の文字や記号の単純な置換処理を行う。字句抽出処理部１２ｃは、入力に対して内部の状態に応じた処理を行って結果を出力する仮想的な自動処理機能であるオートマトンによって単語の抽出処理を行う。
【００１５】
字句解析処理部１２ｄは、変数・配列・型・次数・次元数・命令等の解析処理を行う。構文解析変換処理部１２ｅは、プログラムの構文であるＩｆ文やＤＯ文等を解析して変換を行う。特殊変換処理部１２ｆは、Ｅｑｕｉｖｅｒｅｎｃｅ宣言、Ｃｏｍｍｏｎ変数などの変換処理を行う。字句変換処理部１２ｇは、コーディング規約に従い変数名の変換処理を行う。関数変換処理部１２ｈは、プロトタイプ宣言、引数の値、アドレスの指定等の関数変換処理を行う。後整形処理部１２ｉは、セミコロンの追加等の整形処理を行う。
【００１６】
これら各処理部１２ａ〜１２ｉによる処理は、変換処理部１２に入力されるＦｏｒｔｒａｎ言語の全てのプログラムソースに対して行われ、これによって、Ｆｏｒｔｒａｎ言語の全てがＣ言語に変換されるようになっている。また、この変換時に、変換処理部１２は、プログラムソースの変換が困難と判断した部分は無変換とする。この機能は、スプレッドシート機能を改良して作成したものである。
表示制御部１４は、変換処理部１２での変換前のＦｏｒｔｒａｎ言語と変換後のＣ言語との対応部分を１行毎（同一行毎）に左右に対応付けて表示部１６に表示する制御を行う。つまり、図３に示すように表示部１６のＦｏｒｔｒａｎ言語欄２１とＣ言語欄２２に、変換前のＦｏｒｔｒａｎ言語と変換後のＣ言語とを１行毎に対応付けて表示する。
【００１７】
更に、表示制御部１４は、その表示の際に、無変換部分の行を検出した場合は、表示部１６の変換順でプログラムソースが表示される該当行に、その無変換部分を表示すると共に、この無変換部分の行の右端部分のコメント欄２３に、無変換であることを表すコメントを表示する。また、変換が不適正な部分を検出した場合は、Ｆｏｒｔｒａｎ言語欄２１及びＣ言語欄２２にその変換不適正部分の行を表示すると共に、この変換不適正部分の行の右端部分のコメント欄２３に、変換不適正であることを表すコメントを表示する制御を行う。これら表示制御機能は、スプレッドシート機能を改良して作成したものである。
【００１８】
次に、このような構成のプログラムソース変換装置１０によるプログラムソースの変換及び表示動作を、図４に示すフローチャートを参照して説明する。
ステップＳ１において、変換対象のプログラムソースの一例であるＦｏｒｔｒａｎ言語がプログラムソース変換装置１０の変換処理部１２に入力されたとする。ここで、変換処理部１２は、Ｆｏｒｔｒａｎ言語をＣ言語に変換する処理を行うように予め設定されているとする。
【００１９】
ステップＳ２において、変換処理部１２では、Ｆｏｒｔｒａｎ言語をＣ言語に変換する際の変換処理が困難か否かが判断される。この結果、困難でないと判断された場合は、ステップＳ３において、変換処理部１２で、Ｆｏｒｔｒａｎ言語がＣ言語に変換される。この変換は、変換処理部１２の各処理部１２ａ〜１２ｉによって、上記ステップＳ１で入力される全てのＦｏｒｔｒａｎ言語に対して行われる。
【００２０】
この変換後、ステップＳ４において、表示制御部１４にて、変換後のプログラムソースであるＣ言語に変換不適正部分があるか否かが判断される。この結果、変換不適正部分が無い場合は、ステップＳ５において、表示制御部１４の表示制御によって表示部１６のＦｏｒｔｒａｎ言語欄２１とＣ言語欄２２とに、変換前のＦｏｒｔｒａｎ言語と変換後のＣ言語との対応部分が、１行毎に左右に対応付けられて表示される。
一方、上記ステップＳ４において変換不適正部分があると判断された場合は、Ｆｏｒｔｒａｎ言語欄２１とＣ言語欄２２とに、変換不適正部分に該当するＦｏｒｔｒａｎ言語及びＣ言語の対応部分が１行毎に左右に対応付けられて表示されると共に、この変換不適正部分の行の右端部分のコメント欄２３に、変換不適正であることを表すコメントが表示される。
【００２１】
また、上記ステップＳ２において、変換処理部１２で、Ｆｏｒｔｒａｎ言語からＣ言語への変換が困難と判断された場合、ステップＳ７において、その困難部分は無変換とされる。そして、ステップＳ８において、表示制御部１４の表示制御によって、表示部１６の変換順でプログラムソースが表示される該当行に、その無変換部分のＦｏｒｔｒａｎ言語が表示されると共に、この行の右端部分のコメント欄２３に、無変換であることを表すコメントが表示される。
【００２２】
このような本実施の形態のプログラムソース変換装置１０によれば、スプレッドシートを用いた変換処理部１２によって、プログラムソースをこれと異なるプログラムソースに自動で変換し、表示制御部１４で、その変換後のプログラムソースに変換不適正部分が有る場合、表示部１６に、その変換不適正部分である変換前と変換後のプログラムソースの対応部分を同一行毎に左右に対応付けて表示すると共に、これと同一行に当該変換不適正を表すコメントを表示し、変換不適正部分が無い場合、変換前と変換後のプログラムソースの対応部分を同一行毎に左右に対応付けて表示するようにした。
【００２３】
これによって、プログラムソースをこれと異なるプログラムソースに変換した際に、変換前と変換後のプログラムソースが同一行に左右に対応付けられて表示されるので、変換前と後のプログラムソースを容易に比較することができる。また、変換時に何らかの原因で適正に変換が行われなかった場合でも、変換前と後のプログラムソースを上記同様、同一行に左右に対応付けて表示し、更にそれと同一行に当該変換不適正を表すコメントを表示することができるので、変換後のプログラムソースを人が読み易く、これによって、プログラムソースのメンテナンス及び改善を容易に行うことが可能となる。
【００２４】
また、変換処理部１２によって、変換時にプログラムソースへの変換が困難な場合、この困難部分のプログラムソースを無変換とし、表示制御部１４は、無変換部分のプログラムソースを表示すると共に、これと同一行に当該無変換を表すコメントを表示するようにした。
これによって、プログラムソースの自動変換が困難な部分については無理に変換せず、この無変換部分と当該無変換のコメントで表示するようにしたので、その無変換部分を人が容易に認識することができる。従って、その無変換部分のみを人手で変換することが可能となり、プログラムソース全体として適正に効率良く変換することができる。
また、本実施の形態のプログラムソース変換装置１０で実際にプログラムソースの変換テストを行ったところ、人手で変換するのに比べて約半分の作業工数で変換可能となった。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態に係るプログラムソース変換装置の構成を示すブロック図である。
【図２】上記プログラムソース変換装置の変換処理部の構成を示すブロック図である。
【図３】上記プログラムソース変換装置の表示部の表示例を示す図である。
【図４】上記プログラムソース変換装置によるプログラムソースの変換処理及び表示処理を説明するためのフローチャートである。
【符号の説明】
【００２６】
１０  プログラムソース変換装置
１２  変換処理部
１２ａ  予整形処理部
１２ｂ  単純置換処理部
１２ｃ  字句抽出処理部
１２ｄ  字句解析処理部
１２ｅ  構文解析変換処理部
１２ｆ  特殊変換処理部
１２ｇ  字句変換処理部
１２ｈ  関数変換処理部
１２ｉ  後整形処理部
１４  表示制御部
１６  表示部
【図１】
0005109646.tif 000002
【図２】
0005109646.tif 000003
【図３】
0005109646.tif 000004
【図４】
0005109646.tif 000005