(57)【要約】【課題】  プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようなソースコードの変換を行うソースコード変換装置、ソースコード変換方法、ソースコード変換プログラム、前記プログラムを格納した記憶媒体を提供する。【解決手段】  あるプログラミング言語のソースコードＸをソースコード読取部１にて読み込み、同時に、予約語読取部２にて、前記プログラミング言語の予約語情報を読み取る。その上で文字列変換部３にて、文字列変換処理を行い、ソースコードＹとしてファイル出力する。文字列変換処理は、一定の規則に従って行われる。また、文字列変換処理では、変換リスト記憶部４にて変換前後の文字列の変換対応リストが作成され、ソースコードＹの出力と同時に、変換対応リスト一覧ファイルＺとして出力する。【選択図】  図１
2005063121.tif 000002
【特許請求の範囲】
【請求項１】
プログラミング言語により記述された第１のソースコードファイルを読み込むファイル読込手段と、
前記ファイル読込手段にて読み込んだソースコードファイルに対して、前記第１のソースコードファイル内の文字列を他の文字列に変換する文字列変換手段と、
前記文字列変換手段により得られた文字列を第２のソースコードファイルに出力するファイル出力手段とを有することを特徴とするソースコード変換装置。
【請求項２】
前記ソースコード変換装置は、前記プログラミング言語の予約語を読み込む予約語読込手段と、
前記予約語読込手段によって読み込まれた予約語を参照する参照手段と、
前記参照手段により参照された予約語以外の文字列を他の文字列に変換する第１の文字列変換手段とを有することを特徴とする請求項１記載のソースコード変換装置。
【請求項３】
前記文字列変換手段は、定数記述以外の文字列を別の文字列に変換する第２の文字列変換手段を有することを特徴とする請求項１または２記載のソースコード変換装置。
【請求項４】
前記文字列変換手段は、前記プログラミング言語の文法により定められたコメント行を削除する第３の文字列変換手段を有することを特徴とする請求項１から３のいずれか１項に記載のソースコード変換装置。
【請求項５】
前記文字列変換手段は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第４の文字列変換手段を有することを特徴とする請求項１から４のいずれか１項に記載のソースコード変換装置。
【請求項６】
前記ファイル出力手段は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力手段を有することを特徴とする請求項１から５のいずれか１項に記載のソースコード変換装置。
【請求項７】
プログラミング言語により記述された第１のソースコードファイルを読み込むファイル読込工程と、
前記ファイル読込工程にて読み込んだソースコードファイルに対して、前記第１のソースコードファイル内の文字列を他の文字列に変換する文字列変換工程と、
前記文字列変換工程により得られた文字列を第２のソースコードファイルに出力するファイル出力工程とを行うことを特徴とするソースコード変換方法。
【請求項８】
前記ソースコード変換工程は、前記プログラミング言語の予約語を読み込む予約語読込工程と、
前記予約語読込手段によって読み込まれた予約語を参照する参照工程と、
前記参照工程により参照された予約語以外の文字列を他の文字列に変換する第１の文字列変換工程とを行うことを特徴とする請求項７記載のソースコード変換方法。
【請求項９】
前記文字列変換工程は、定数記述以外の文字列を別の文字列に変換する第２の文字列変換工程を行うことを特徴とする請求項７または８記載のソースコード変換方法。
【請求項１０】
前記文字列変換工程は、前記プログラミング言語の文法により定められたコメント行を削除する第３の文字列変換工程を行うことを特徴とする請求項７から９のいずれか１項に記載のソースコード変換方法。
【請求項１１】
前記文字列変換工程は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第４の文字列変換工程を行うことを特徴とする請求項７から１０のいずれか１項に記載のソースコード変換方法。
【請求項１２】
前記ファイル出力工程は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力工程を行うことを特徴とする請求項７から１１のいずれか１項に記載のソースコード変換方法。
【請求項１３】
請求項７から１２のいずれか１項に記載のソースコード変換方法をコンピュータに実行させるためのソースコード変換プログラム。
【請求項１４】
請求項１３に記載のソースコード変換プログラムを格納したコンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、ソースコード変換プログラムを格納した記憶媒体に関し、特に、第三者に理解しやすい第１のソースコードを、第三者に理解しにくい第２のソースコードに変換するソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、ソースコード変換プログラムを格納した記憶媒体に関する。
【背景技術】
【０００２】
第１の背景技術として、ソフトウェア開発やＨＤＬによるプログラミングの方法論について、簡単に説明する。
プログラミング言語を用いてプログラムを作成する場合、すなわちソースコードを作成する場合、作成者、あるいは作成プロジェクトチームにとって、プログラムの内容が理解しやすい形で作成するのが一般的である。
例えば、ソフトウェア作成のプロジェクトにおいて、ソフトウェア詳細設計に入る前に、プロジェクトチームは、命名規約、或いはコーディング規約（命名規約は、コーディング規約の一部である。）を作成しておき、命名規約やコーディング規約に従って、ソースコードを作成する。命名規約とは、プログラミングにおけるローカルな決め事であり、図８に、命名規約の一例を示しておく。
【０００３】
図８は、プログラミングにおける命名規約の一例を示す図である。
例えば、変数命名規約において、変数名は、長すぎず、且つ変数の内容が分かりやすいようにするため、８〜１２文字程度で、変数を宣言する。
また、関数命名規約において、関数名は、その動作を分かりやすくするため、「動詞」＋「名詞」の形で宣言するのが普通である。
また、コーディング規約では、例えば、ｉｆ分岐の記述方法や、入れ子構造を分かりやすくするためインデントを入れる、構造化プログラミングの技法に従ってｇｏｔｏ文は使わない等、様々な規約を定めている。
このように、決め事をしておくことにより、ソースコードを作成していないプロジェクトのメンバーでも、ソースコードの内容を容易に理解することが可能となるが、第三者にも分かりやすいコードであるのも事実である。
【０００４】
第２の技術背景として、プログラミング言語の一部であるＨＤＬ、及びＣＡＤツールについて簡単に説明する。
ＨＤＬ(Hardware Description Language )とは、ハードウェア記述のためのプログラミング言語であり、主に半導体の設計に用いる言語である。半導体の設計には、ＣＡＤツールを用いるのが一般的であり、ＣＡＤツールは、ＨＤＬで記述されたファイルを読み込んで、様々な処理を行うことができ、このようなＣＡＤツールが、ＣＡＤツールメーカーから販売されている。ユーザはこれらのツールを使うことによって、半導体等の設計を行うことが可能である。
【０００５】
第３の技術背景として、従来の文字列変換の技術を紹介する。
特許文献２に示されている発明は、符号化された視覚情報を１つの自然言語から他の自然言語へ変換する文字列変換方法、及び文字列変換機構に関する発明である。
この発明によれば、プログラムソースコード内にある、文字列型定数（例えば、Ｃ＋＋言語において、ダブルコーテーションで括られた文字列）を、ある言語（例えば日本語）から別の言語（例えば英語）に変換する技術であるが、その実現方法は入力ソースコードに対して、変換用のマクロリストを用意し、前記マクロリストを用いて文字列変換を行っている。これにより、ＧＵＩの変更を容易に行うことができる（特許文献２参照）。
【０００６】
また、特許文献１に示されている発明は、オブジェクト指向のプログラミングにおいて、オブジェクト間通信に使用されるオブジェクト（いわゆるスタブメソッド）に関する記述を含むソースコードをプログラム実行環境に対応したソースコードに変換するソースコード変換方法に関する発明である。
【特許文献１】特開平１１−６５８３２号公報
【特許文献２】特開２００１−８４１４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
第１の技術背景として、プログラミングの方法論について、及び第２の技術背景として、ＨＤＬ及びＣＡＤツールの使い方を示したが、ＣＡＤツールを使用しているときに、ＣＡＤツールの不具合が発生する場合があり、ＣＡＤツールの不具合の原因をＣＡＤツールメーカーに依頼することがある。その際、ＨＤＬファイルをＣＡＤツールメーカーに渡さなければ、不具合の原因が分からないことが多い。しかしながら、ＨＤＬファイルは企業秘密情報であり、ＨＤＬファイルをＣＡＤツールメーカーに容易に渡すことはできない。
【０００８】
また、特許文献１で示されているソースコード変換の技術は、複数の異なるプログラム実行環境に容易に適応でき、しかもインターフェース定義言語を用いることなくスタブメソッドを生成することを可能とするソースコード変換の技術であり、前記問題とは異なる問題を解決しているものである。
また、特許文献２で示されている文字列変換の技術は、ＧＵＩに関わる文字列（文字列型定数）に対して文字列変換を行うものであり、前記問題とは異なる問題を解決しているものである。
【０００９】
本発明は上記事情を鑑みてなされたものであり、プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようなソースコードの変換を行うソースコード変換手段を有するソースコード変換装置と、前記ソースコードの変換を行うソースコード変換方法と、前記ソースコード変換方法をコンピュータに実行させるためのソースコード変換プログラムと、前記ソースコード変換プログラムを格納したコンピュータが読取可能な記憶媒体とを提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、請求項１記載の発明は、プログラミング言語により記述された第１のソースコードファイルを読み込むファイル読込手段と、前記ファイル読込手段にて読み込んだソースコードファイルに対して、前記第１のソースコードファイル内の文字列を他の文字列に変換する文字列変換手段と、前記文字列変換手段により得られた文字列を第２のソースコードファイルに出力するファイル出力手段とを有することを特徴とする。
【００１１】
請求項２記載の発明は、前記ソースコード変換装置は、前記プログラミング言語の予約語を読み込む予約語読込手段と、前記予約語読込手段によって読み込まれた予約語を参照する参照手段と、前記参照手段により参照された予約語以外の文字列を他の文字列に変換する第１の文字列変換手段とを有することを特徴とする。
【００１２】
請求項３記載の発明は、前記文字列変換手段は、定数記述以外の文字列を別の文字列に変換する第２の文字列変換手段を有することを特徴とする。
【００１３】
請求項４記載の発明は、前記文字列変換手段は、前記プログラミング言語の文法により定められたコメント行を削除する第３の文字列変換手段を有することを特徴とする。
【００１４】
請求項５記載の発明は、前記文字列変換手段は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第４の文字列変換手段を有することを特徴とする。
【００１５】
請求項６記載の発明は、前記ファイル出力手段は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力手段を有することを特徴とする。
【００１６】
請求項７記載の発明は、プログラミング言語により記述された第１のソースコードファイルを読み込むファイル読込工程と、前記ファイル読込工程にて読み込んだソースコードファイルに対して、前記第１のソースコードファイル内の文字列を他の文字列に変換する文字列変換工程と、前記文字列変換工程により得られた文字列を第２のソースコードファイルに出力するファイル出力工程とを行うことを特徴とする。
【００１７】
請求項８記載の発明は、前記ソースコード変換工程は、前記プログラミング言語の予約語を読み込む予約語読込工程と、前記予約語読込手段によって読み込まれた予約語を参照する参照工程と、前記参照工程により参照された予約語以外の文字列を他の文字列に変換する第１の文字列変換工程とを行うことを特徴とする。
【００１８】
請求項９記載の発明は、前記文字列変換工程は、定数記述以外の文字列を別の文字列に変換する第２の文字列変換工程を行うことを特徴とする。
【００１９】
請求項１０記載の発明は、前記文字列変換工程は、前記プログラミング言語の文法により定められたコメント行を削除する第３の文字列変換工程を行うことを特徴とする。
【００２０】
請求項１１記載の発明は、前記文字列変換工程は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第４の文字列変換工程を行うことを特徴とする。
【００２１】
請求項１２記載の発明は、前記ファイル出力工程は、前記第１のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第２のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力工程を行うことを特徴とする。
【００２２】
請求項１３記載のソースコード変換プログラムは、請求項７から１２のいずれか１項に記載のソースコード変換方法をコンピュータに実行させることを特徴とする。
【００２３】
請求項１４記載のコンピュータが読取可能な記憶媒体は、請求項１３記載のソースコード変換プログラムを格納することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようにソースコードを変更するので、変更後のプログラムを第三者に提供しやすくなる。
【発明を実施するための最良の形態】
【００２５】
一つのプログラミング言語、例えばＨＤＬに特定したソースコード変換であれば、ＣＡＤツールに取り込むことが可能なソースコード変換装置という形態で提供することも考えられるが、多くのプログラミング言語にも対応させることが可能であり、ソースコード変換を行うソースコード変換プログラム、及びソースコード変換プログラムを格納したコンピュータが読取可能な記憶媒体によって提供する方法も考えられる。
【実施例】
【００２６】
次に、添付図面を参照しながら、本発明の実施形態を説明する。
図１は、本発明の一実施例であるソースコード変換装置の構成を示すブロック図である。本図では、ソースコードファイルＸが、文字列変換処理によってソースコードファイルＹに変換される様子が示されている。
ソースコード読込部１では、プログラミング言語により記述されたソースコードファイルＸを読み込み、全ての文字列を記憶する。また、予約語読込部２では、前記プログラミング言語の予約語ファイル４を読み込む。
ソースコードファイルＸと予約語が読み込まれると、ソースコード文字列変換部３にてソースコードＹに変換出力される。
【００２７】
また、変換リスト記憶部４は、変換前文字列と変換後文字列の対応リストを記憶してある場所であり、前記文字列変換部３における文字列の変換処理において、該文字列が既に変換された文字列であるか否かを、前記変換リスト記憶部４を参照し、該文字列が、まだ変換されていない文字列である場合は、新規に変換文字列を作成し、前記変換文字列にて変換する。該文字列が既に変換されている文字列である場合は、前記変換リスト記憶部４の内容に従って変換する。
【００２８】
図２は、本発明の一実施例であるソースコード変換装置における、ソースコード文字列変換部の詳細動作を示すフローチャートである。
最初に文字列変換のための一連の初期化処理を行う（ステップＳ１〜Ｓ５）。
すなわち、変換後文字列に対するインデックスの初期化を行い（ステップＳ１）、予約語情報を読み込み（Ｓ２）、文字列区切りの定義情報を読み込む（Ｓ３）。ここで、文字列区切り情報とは、例えば、半角スペース文字や、半角セミコロン文字、ＴＡＢ文字、改行文字等である。
次に、ソースコードファイルＸの文字列全体を読み込み（Ｓ４）、ソースコード文字列の中からコメント行を削除し（Ｓ５）、次処理（Ｓ１１）を行う。
コメント行の削除では、当該行を改行に変換し、ファイルに出力する。例えば、コメント行が３行にまたがっている場合は、３つの改行を入れることにより、変換前と変換後のソースコードの行番号の関係を保って出力される。
【００２９】
ここで、コメント行とは、プログラムの実行には全く影響のない文字列を意味し、ソースコード作成者が、ソースコードの内容理解を助けるために、任意に書き込む文字列である。
例えば、ＨＤＬ言語やＣ言語では、始点“／＊”から、終点“＊／”までの文字列は、コメント行である。
コメント行には、前述の通り、ソースコードの理解を助けるための文字列が記述されているため、企業秘密に関する記述（例えば、分岐ロジックの意味や、ＨＤＬにおける半導体回路の詳細設計内容、一般プログラミング言語におけるビジネスフロー等）が書かれているため、コメント行を削除する必要がある。
【００３０】
ソースコードの読み込み（Ｓ４）、コメント行の削除（Ｓ５）が終ると、文字列変換及びファイル出力の一連の処理を行う（ステップＳ１１〜Ｓ２３）。
すなわち、ソースコード文字列に、変換のチェックを行っていない文字列が存在するか否かを調べる（Ｓ１１）。もし、存在しなければ（Ｓ１１／Ｎｏ）、変換テーブルのリストを出力し（Ｓ３１）、文字列変換処理を終了する（エンド）。存在する場合（Ｓ１１／Ｙｅｓ）は、分割した文字列を一つずつ順番に読み込み（Ｓ１２）、該文字列がどのような文字列であるかを調べる。
【００３１】
最初に、該文字列が、プログラミング言語で使われる予約語であるか否かを調べる（ステップＳ１３）。すなわち、該文字列が、予約語読込部４に読み込まれている予約語と一致するものがあるか否かを調べる。
もし、該文字列が予約語であれば（Ｓ１３／Ｙｅｓ）、該文字列をそのままファイル出力し（Ｓ１４）、次の文字列のチェックに入る（Ｓ１１）。
該文字列が予約語でない場合（Ｓ１３／Ｎｏ）は、次段階の内容チェックに入る（Ｓ１５）。
【００３２】
次段階のチェックでは、該文字列が区切り文字であるか否かを調べる（ステップＳ１１５）。ここで、区切り文字とは、半角スペース文字や半角セミコロン文字、改行文字等の文字である。
もし、該文字列が区切り文字である場合（Ｓ１５／Ｙｅｓ）は、該文字列をそのままファイル出力し（Ｓ１６）、次の文字列のチェックに入る（Ｓ１１）。
該文字列が区切り文字でない場合（Ｓ１５／Ｎｏ）は、次段階のチェックに入る（Ｓ１７）。
【００３３】
次段階のチェックでは、該文字列が定数記述であるか否かをチェックする（ステップＳ１７）。ここで、定数とは、０、１、２、−１、−２、…のような整数や実数（浮動小数点数、固定小数点数）、文字列などを意味する。これらの定数の型については、プログラミング言語により定義が異なるため、詳細の記述を省略する。
もし、該文字列が定数記述である場合（Ｓ１７／Ｙｅｓ）は、該文字列をそのままファイル出力し（Ｓ１８）、次の文字列のチェックに入る（Ｓ１１）。
該文字列が定数記述でない場合（Ｓ１７／Ｎｏ）は、一連の文字列変換処理（Ｓ２１〜Ｓ２５）に入る。
【００３４】
最初に、該文字列が、一連の文字列変換処理の中で、初めて出現した文字列であるか否かを調べる（ステップＳ２１）。すなわち、「変換テーブル」に該文字列が登録されているか否かを調べる。
もし、該文字列が一連の処理の中で、初めて出現した文字である場合（Ｓ２１／Ｙｅｓ）は、該文字列を「ａ＿ｉ」に変換、ファイル出力し（Ｓ２２）、該文字列及び前記ａ＿ｉを変換テーブルに保存する（Ｓ２３）。その後、ｉを１つインクリメントして（Ｓ２４）、次の文字列のチェックに入る（Ｓ１１）。
もし、該文字列が一連の処理の中で、既に出現している文字列である場合（Ｓ２１／Ｎｏ）は、変換テーブルに記憶されている文字列「ａ＿ｊ」に変換し（Ｓ２５）、次の文字列のチェックに入る（Ｓ１１）。
【００３５】
上記の一連の処理が終って、ソースコードＸの変換が終ると（ステップＳ１１／Ｎｏ）、変換テーブル上にある変換対応リストＺを出力し（Ｓ３１）、本フローは終了する（エンド）。
以下に、上記処理フローによって、実際にソースコードが変換される様子を次の図に示す。
【００３６】
図３は、本発明の一実施例であるソースコード変換装置によって変換されたソースコードの一例を示す図である。
また、図６は、図３に対応する変換前のソースコードである。
また、図７は、プログラミング言語の予約語一覧（の一部）を示す図である。
【００３７】
図３、図６の左側に書かれている数字は、行番号であり、実際には、ソースコード上には、記述されていない数字であるが、エディタツールなどで便宜上表示したりするものである。本図でも分かりやすいように、行番号をふってある。
図６を見れば分かるように、通常のソースコードでは、このプログラムがＪＰＥＧファイルに関連するプログラムであることが、第三者に容易に分かり、またこのプログラムのアルゴリズムも分かってしまう。
そこで、図６のソースコードと図７の予約語情報とを照らし合わせることにより、図３のソースコードに変換する。この変換により、第三者にはソースコードの内容、アルゴリズムが分かりにくくなる。そのため、変換後のソースコードを第三者に提供しやすくなる。
【００３８】
また、図２、図３、及び図６をみれば分かるように、同一の文字列は、同一の内容で変換される。図の例は、関数呼び出しがある例であり、呼び出し元及び呼び出し先の各々が同一の内容で変換されている。
このような変換をすることにより、文字列の変換を行っても、該ソースコードのプログラム動作を変えることなく、第三者には理解するのが難しいソースコードＹに変換される。
【００３９】
図４は、本発明の一実施例であるソースコード変換装置によって作成された変換リストを示す図である。
前記図２、及び図３、図６の例でソースコードの変換を行った際に、変換リスト記憶部４に格納されている内容を、図４のようなリストにファイル出力する。ファイル出力の形式は、リストとして一般的なＣＳＶ形式のファイルに出力している。
このように、変換前及び変換後の対応関係を変換リストとして出力することにより、変換されたソースコードＹを解析する際に、前記変換リストを用いてソースコードＹを解析することが可能となる。
【００４０】
図５は、本発明の一実施例であるソースコード変換方法における、ソースコードのデータフロー図である。
ソースコード読込処理１１によって、プログラミング言語により記述されたソースコードファイルＸが読み込まれ、全ての文字列が記憶される。また、予約語読込処理１２によって、前記プログラミング言語の予約語ファイル４が読み込まれる。
ソースコードファイルＸと予約語が読み込まれると、ソースコード文字列変換処理１３によってソースコードＹに変換出力される。
【００４１】
また、変換リスト記憶処理１４によって、変換前文字列と変換後文字列の対応リストが作成される。前記文字列変換処理１３における文字列の変換処理において、該文字列が既に変換された文字列であるか否かを、前記変換リスト記憶処理１４によって作成された対応リストを参照し、該文字列が、まだ変換されていない文字列である場合は、新規に変換文字列を作成し、前記変換文字列にて変換する。該文字列が既に変換されている文字列である場合は、前記対応リストの内容に従って変換し、文字列変換処理が終了すると、変換リスト一覧表ファイルＺが作成される。
【００４２】
また、本発明の一実施例であるソースコード変換方法における、文字列変換処理の詳細のフローチャートは、図２に示す文字列変換処理フローチャートと全く同様なので、説明を省略する。
また、本発明の一実施例であるソースコード変換方法によってソースコードが変換される様子、及び変換リスト一覧ファイルの作成については、図３等の説明と全く同様なので、説明を省略する。
【００４３】
また、本発明の一実施例である、前記ソースコード変換方法をコンピュータに実行させるためのソースコード変換プログラムについて説明する。
前記ソースコード変換プログラムを格納する記憶領域と、ソースコードＸ（変換前ソースコード）を読み込む手段（例えばフロッピー（Ｒ）ディスクや磁気ディスク、或いはＭＯのような光学メディア等に格納されたソースコードを読み込む手段）と、ソースコードＹ（変換後ソースコード）を出力する手段と、変換リスト一覧表を出力する手段とを有するコンピュータを用いることにより、前記ソースコード変換プログラムを実行することが可能である。
【００４４】
また、前記ソースコード変換プログラムを提供するために、コンピュータが読取可能な記憶媒体に、前記ソースコード変換プログラムのファイルと、前記ソースコード変換プログラムをコンピュータにインストールするためのインストーラプログラム等のファイルを、コンピュータが読取可能な記憶媒体に格納する。また、前記記憶媒体に格納されているファイルがインターネット上で公開されている場合は、これらのファイルをコンピュータにダウンロードし、ソースコード変換プログラムをコンピュータにインストールすることも可能である。
【００４５】
以上の説明から明らかなように、プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようにソースコードを変更するので、変更後のプログラムを第三者に提供しやすくなる。
【００４６】
また、予約語を読み込む予約語読込手段、又は方法で予約語を読み込んで、ソースコード変換を行うことにより、プログラミング言語の種類が変わっても、準備する予約語情報を変更するだけで対応が可能となる。
【００４７】
また、ソースコード変換前後のファイルの行数は変わらず、かつ、行の対応関係が一致するようにソースコード変換を行うことにより、変換後ソースコードの解析作業が容易となる。
【００４８】
また、ソースコード変換処理が終了すると同時に、変換された文字列の対応リストが作成されることにより、変換後ソースコードの解析作業が容易となる。
【産業上の利用可能性】
【００４９】
現在、様々なプログラミングツールがツールメーカー（主にソフトウェア開発ツール提供を主たる業務とする企業等）から提供されていて、ユーザ（主にソフトウェア開発を主たる業務とする企業や個人等）は、それらのツールを使ってソフトウェア開発を行っている。しかしながら、プログラミングツールに不具合が発生し、ツールメーカーによる不具合解析等で、やむを得ず、ソースコードをツールメーカーに提供しなければならない場合もある。このような場合に、本発明のソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、ソースコード変換プログラムを格納した記憶媒体が有効である。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施例であるソースコード変換装置の構成を示すブロック図である。
【図２】本発明の一実施例であるソースコード変換装置の、文字列変換処理フローチャートである。
【図３】本発明の一実施例であるソースコード変換装置によって文字列変換されたプログラム・ソースコードである。
【図４】本発明の一実施例であるソースコード変換装置によって作成された変換リストを示す図である。
【図５】本発明の一実施例であるソースコード変換方法における、ソースコードのデータフロー図である。
【図６】図３に対応する変換前のプログラム・ソースコードである。
【図７】プログラミング言語の予約語一覧を示す図である。
【図８】プログラミングにおける命名規約を示す図である。
【符号の説明】
【００５１】
１    ソースコード読取部
２    予約語読取部
３    文字列変換部
４    変換リスト記憶部
１１    ソースコード読取処理
１２    予約語読取処理
１３    文字列変換処理
１４    変換リスト記憶処理
Ｘ    変換前ソースコードファイル
Ｙ    変換後ソースコードファイル
Ｚ    変換対応リストファイル
【図１】
2005063121.tif 000003
【図２】
2005063121.tif 000004
【図３】
2005063121.tif 000005
【図４】
2005063121.tif 000006
【図５】
2005063121.tif 000007
【図６】
2005063121.tif 000008
【図７】
2005063121.tif 000009
【図８】
2005063121.tif 000010