(57)【要約】【課題】複数種類の自然言語でコメントが記述されたソースファイルと単一の自然言語でコメントが記述されたソースファイルの間のファイル変換を行う。【解決手段】ソースコードおよび当該ソースコードにおける要素の機能を説明するコメントブロックが複数種類の自然言語で記述され、複数種類のそれぞれの自然言語で記述されたコメントに機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されたソースファイルを入力する入力処理手段と、出力するソースファイルのコメントの自然言語の種類を指定する自然言語種類指定手段と、入力処理手段により入力したソースファイルから自然言語種類指定手段により指定された自然言語で記述されたコメントを組み合わせ符号に基づいて抽出する抽出処理手段と、抽出処理手段により抽出したコメントとソースコードとを対応づけたソースファイルを出力する出力処理手段を備える。【選択図】  図１
2008186311.tif 000002
【特許請求の範囲】
【請求項１】
プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されているソースファイルを入力する入力処理手段と、
出力するソースファイルのコメントの自然言語の種類を指定する自然言語種類指定手段と、
前記入力処理手段により入力したソースファイルから前記自然言語種類指定手段により指定された自然言語で記述されたコメントを前記組み合わせ符号に基づいて抽出する抽出処理手段と、
前記抽出処理手段により抽出したコメントとソースコードとを対応づけたソースファイルを出力する出力処理手段と、
を備えることを特徴とするファイル変換システム。
【請求項２】
プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号に続いて自然言語の種類を示す符号が付加されているソースファイルを入力する入力処理手段と、
出力するソースファイルのコメントの自然言語の種類を指定する自然言語種類指定手段と、
前記入力処理手段により入力したソースファイルから前記自然言語種類指定手段により指定された自然言語で記述されたコメントを前記自然言語の種類を示す符号に基づいて抽出する抽出処理手段と、
前記抽出処理手段により抽出したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段と、
を備えることを特徴とするファイル変換システム。
【請求項３】
プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号が付加されているソースファイルを入力する入力処理手段と、
出力するソースファイルのコメントの自然言語の種類を指定する自然言語種類指定手段と、
前記入力処理手段により入力したソースファイルから前記自然言語種類指定手段により指定された自然言語で記述されたコメントを前記自然言語の種類を示す符号に基づいて抽出する抽出処理手段と、
前記抽出処理手段により抽出したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段と、
を備えることを特徴とするファイル変換システム。
【請求項４】
プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されているソースファイルを入力する入力処理手段と、
前記入力処理手段により入力されたソースファイルの中のコメントに対して前記組み合わせ符号に基づいて複数の種類のそれぞれの自然言語のコメントを分類する分類処理手段と、
前記分類処理手段により分類したコメントを用いて複数の種類のそれぞれの自然言語でコメントが記述されたソースファイルをそれぞれ出力する出力処理手段と
を備えることを特徴とするファイル変換システム。
【請求項５】
請求項１ないし４に記載のファイル変換システムにおいて、
前記出力処理手段は、前記抽出処理手段により抽出したコメントを用いてソースファイルを出力する際に、ソースコード部分を除外してコメント部分のみを含むファイルを出力する、
ことを特徴とするファイル変換システム。
【請求項６】
請求項１ないし４に記載のソースファイル変換システムにおいて、更に、
１つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、
前記抽出処理手段が、所定の種類の自然言語で記述されたコメントを当該コメントに付加された符号に基づいて前記ソースファイルから抽出し、
前記出力処理手段は、抽出された自然言語のコメントを前記翻訳処理手段により指定された種類の自然言語に機械翻訳し、翻訳されたコメントとソースコードを対応づけたソースファイルを出力する
ことを特徴とするソースファイル変換システム。
【請求項７】
請求項６に記載のファイル変換システムにおいて、
前記出力処理手段は、ソースファイルを出力する際に、機械翻訳によって翻訳処理を行ったコメントは当該コメントが機械翻訳により翻訳されたことを示す符号を付加して出力する
ことを特徴とするファイル変換システム。
【請求項８】
第１のソースファイルを入力する第１の入力処理手段と、
前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントが記述されている第２のソースファイルを入力する第２の入力処理手段と、
入力された第２のソースファイルのコメントの自然言語の種類を特定する自然言語種類特定手段と、
入力された第２のソースファイルに記述されているコメントに対して、当該コメントに前記機能を示す符号と当該コメントの自然言語の種類を示す符号とを組み合わせた組み合わせ符号を付加したコメントを合成する合成処理手段と、
前記合成処理手段により合成したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段と、
を備えることを特徴とするファイル変換システム。
【請求項９】
第１のソースファイルを入力する第１の入力処理手段と、
前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントが記述されている第２のソースファイルを入力する第２の入力処理手段と、
入力された第２のソースファイルのコメントの自然言語の種類を特定する自然言語種類特定手段と、
入力された第２のソースファイルに記述されているコメントに対して、当該コメントに前記機能を示す符号とそれに続いて当該コメントの自然言語の種類を示す符号を付加したコメントを合成する合成処理手段と、
前記合成処理手段により合成したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段と、
を備えることを特徴とするファイル変換システム。
【請求項１０】
第１のソースファイルを入力する第１の入力処理手段と、
前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントが記述されている第２のソースファイルを入力する第２の入力処理手段と、
入力された第２のソースファイルのコメントの自然言語の種類を特定する自然言語種類特定手段と、
入力された第２のソースファイルに記述されているコメントに対して、当該コメントに前記機能を示す符号と当該コメントの自然言語の種類を示す符号を付加したコメントを合成する合成処理手段と、
前記合成処理手段により合成したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段と、
を備えることを特徴とするファイル変換システム。
【請求項１１】
請求項８ないし１０に記載のソースファイル変換システムにおいて、
前記第１のソースファイルは、プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントブロックが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されているソースファイルである
ことを特徴とするソースファイル変換システム。
【請求項１２】
請求項８ないし１０に記載のソースファイル変換システムにおいて、
前記第２のソースファイルは、前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントに前記機能を示す符号を含む
ことを特徴とするソースファイル変換システム。
【請求項１３】
請求項８ないし１２に記載のファイル変換システムにおいて、
前記合成処理手段は、入力されたソースファイル中のコメントを用いて、複数の種類のそれぞれの自然言語で記述されたコメントに符号を付加する際に、更新があった旨を示す符号を付加する
ことを特徴とするファイル変換システム。
【請求項１４】
請求項８ないし１２に記載のソースファイル変換システムにおいて、更に、
１つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、
前記出力処理手段は、所定の種類の自然言語のコメントを前記翻訳処理手段により指定された種類の自然言語に機械翻訳し、翻訳されたコメントとソースコードを対応づけたソースファイルを出力する
ことを特徴とするソースファイル変換システム。
【請求項１５】
請求項１４に記載のファイル変換システムにおいて、
前記出力処理手段は、ソースファイルを出力する際に、機械翻訳によって翻訳処理を行ったコメントは当該コメントが機械翻訳により翻訳されたことを示す符号を付加して出力する
ことを特徴とするファイル変換システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の種類の自然言語でコメントが記述されたソースファイルをファイル変換するファイル変換システムに関するものであり、更に、詳しくは、複数の種類の自然言語でコメントが記述されたソースファイルと単一の自然言語でコメントが記述されたソースファイルとの間のファイル変換システムに関するものである。
【背景技術】
【０００２】
本発明の説明に先立ち、誤解を招きやすいと思われる言葉の定義を説明する。本発明においては、コンピュータ・システム上で幾つかの種類の「言語」を取り扱う。このため、本明細書において、「自然言語」は、日本語、英語、中国語、韓国語など、人類が普段使っている言語のことを意味する。また、「プログラミング言語」は、アセンブリ言語，Ｃ言語，Ｊａｖａ（登録商標）言語など、情報機器を動かすソフトウェアを記述するための言語一般を意味する。また、ソフトウェアのある要素に関して書かれたコメントが複数の種類の自然言語で記述されている場合に、一つの要素に関して記述されているコメントであり、自然言語の種類は違うが同様の意味である一群のコメントのことを、コメントブロックと呼ぶ。
【０００３】
今日、ソフトウェア製品を多くの国や地域に出荷することはソフトウェア企業にとって重要な戦略である。一般にソフトウェアを使用する際には、何らかの説明書を読んで理解を深める。その際、読者にとっての第一自然言語（すなわち母語）で書かれた説明書を読むことにより、最も効率的にソフトウェアの使用法を習得することが出来る。すなわち、ソフトウェアの使いやすさは、ソフトウェアに関連する説明書の読みやすさに大きく依存する。そのため、ソフトウェアに関連する説明書、より一般的にはソフトウェアに関連するドキュメントをそれぞれの国や地域の現地語で提供することが、各出荷地域においてのソフトウェアの価値を高めることにつながる。
【０００４】
一方、ソフトウェア開発の国際化もまた急速に進んでいる。プログラミング言語それ自体は自然言語からはほぼ独立であり、世界のソフトウェア開発者が共有する知識体系であるため、開発の国際化は自然の流れであるといえる。しかし、ソフトウェアが複雑化した今日において、ソフトウェアのソースコードだけでは、そのソフトウェアに関する理解は非常に困難である。そのため、ソフトウェア開発に関する自然言語で書かれたドキュメント（例：○×ソフトウェア説明書、○×プログラム内部仕様書、など）をソースコードと併せて、開発者間で共有もしくは配布するのが一般的であり、ドキュメントによって、そのソフトウェアの仕様についての理解を促進することが可能となる。そこで問題となるのは、どの自然言語でその開発ドキュメントが書かれるかである。
【０００５】
一般に、開発に関するドキュメントは、開発地の第一自然言語、もしくは事実上の国際的標準自然言語となっている英語で記述されることが多い。しかし、十分な語学能力と十分なソフトウェア開発能力を同時に併せ持つ人材は稀である。そのため、読者（すなわちソフトウェア開発者）にとっての母語で記述されたソフトウェア開発用ドキュメントを読むことで開発対象のソフトウェアに対する理解を深めることが、開発期間の大幅な短縮につながる。そのため、ソフトウェア製品（もしくはソフトウェアコンポーネント製品）は世界的な共通自然言語である英語でのドキュメントのみならず、現地の自然言語で書かれたドキュメントを備えた上で出荷されることが望ましい。その結果、世界の各地域におけるソフトウェア製品の価値を高めることにつながる。
【０００６】
そのため、ソフトウェア開発の側としてはいくつかの自然言語で書かれたドキュメントを作成する必要がある。しかし、ソフトウェア開発にかかわるドキュメント作成は非常に時間と労力のかかるものである。特に多数の自然言語で発行する必要がある場合には、ドキュメントの発行の度に翻訳工程、および各自然言語で書かれたドキュメント間の整合性の確認工程が必要となり、ソフトウェア製品の生産性向上の障害となっていた。
【０００７】
これは、ソフトウェア開発ドキュメントの作成工程を、ソフトウェア自身と関連させて考えてみると理解が容易である。一般に、ソフトウェアのソースコードと、ソフトウェア開発ドキュメント（内部仕様書）を別個に作成・維持することは、コストのかかる工程である。何故なら、内部仕様書はソフトウェアのソースコードと非常に密接に関連するドキュメントであるため、ソースコードの変更時に、ソースコードとドキュメントの内容が一致するように保つことが困難である。
【０００８】
そのため、ソフトウェアのソースコード中に注釈（コメント）をあわせて書き込むことにより、動作するソフトウェアとドキュメントを一体として作り上げる開発スタイルが、ソフトウェア製品の生産性向上に有用であるとの認識が広まっている。例えば、Ｋｎｕｔｈは、文献「文芸的プログラミング（Ｌｉｔｅｒａｔｅ  Ｐｒｏｇｒａｍｍｉｎｇ）」において、文章の中にソフトウェアのソースコードを織り込んで、自然言語での説明文とともに書かれたプログラミング言語でのソフトウェアを示し、その有用性を示している。このような開発スタイルにおいて、ソースコード中のコメントは、コメント抽出・文書整形ソフトウェアにより自動的に抽出・整形されて、完成品のドキュメントとして即座に開発時もしくは運用時に利用可能である。
【０００９】
ソフトウェアおよびドキュメント双方の品質維持とコスト削減の観点から見て、ドキュメント自動生成システムの採用は非常に有効であるといえる。更には、即座に利用できることから、開発効率の向上に有用である。また、実行されるソフトウェアとドキュメントとの間の整合性の確保を行いやすい利点がある。
【００１０】
サンマイクロシステムズ社のＪａｖａｄｏｃは、その一例である。Ｊａｖａのプログラムソースコード中に、クラスやメソッドといったソフトウェアの構成単位に対して、説明をコメント（注釈）として書き込み、ドキュメントをＨＴＭＬ文書やＰＤＦ文書として出力を行う。説明を書き込む際には、その説明の意味を示す符号をあわせて書き込むことにより、出力するドキュメント中のしかるべき場所にその説明が現れるように制御が可能である。
【００１１】
このようなドキュメントの自動生成は、旧来、コメントが単一の自然言語で書かれたソースファイルにおいて行われてきた。何故なら、コンピュータの成立の歴史や今日の国際的な標準の自然言語が英語であるという背景から、ソフトウェアは英語の文字セットを用いたプログラミング言語で記述することが一般的であり、そのソースファイルに付されるコメントも英語でかかれることが多いからである。
【００１２】
ソフトウェアソースコードからのドキュメント自動生成システムとして、Ｊａｖａｄｏｃと同様のドキュメント生成を行うオープンな実装のうち著名なものとしては、ＤｏｘｙｇｅｎやＫＤＯＣ、ＤＯＣ＋＋が挙げられる。しかし、ここに挙げたツールは、単一の自然言語で書かれたソフトウェア説明書を生成することを目的としたものである。
【００１３】
複数の種類の外国語で書かれた電子ドキュメント用のコンテンツフィルタの技術としては、特許文献１が公知である。このコンテンツフィルタの技術は、主に時事的な内容のニュース記事を話題分野別に分類することを目的としている。
【００１４】
またプログラム仕様書自動生成の技術としては、特許文献２および特許文献３が公知である。特許文献２はオブジェクト指向のソフトウェアにおける仕様書作成に関する方法およびプログラムについてのものであり、また特許文献３はプログラムの構造解析に着目した仕様書作成の方法についてのものである。しかし、どちらもコメントの記述自然言語は単一であることを前提としている。
【特許文献１】米国特許第６，５４２，８８８号明細書
【特許文献２】特開２００５−２５８５６１号公報
【特許文献３】特開２００５−１２２４０７号公報
【非特許文献１】Brian W. Kernighan, Rob Pike, 福崎俊博訳「プログラミング作法 The Practice ofProgramming」 ２００４年、株式会社アスキー
【発明の開示】
【発明が解決しようとする課題】
【００１５】
そのような問題を解決するために、各々の自然言語でかかれた各々のコメント文に対して当該自然言語の種類を識別する符号とコメントの意味を示す符号とを組み合わせた符号を付与することにより、希望する種類の自然言語で書かれたコメントを抽出し、選択された種類の自然言語で記述されたソフトウェア説明書を生成することができるソフトウェア説明書生成システムを、本発明者等は先に提案した。
【００１６】
ソフトウェア説明書生成システムに入力するファイルは、複数の種類の自然言語でコメントが記述されたソースファイルである。このソフトウェア説明書生成システムは、それぞれの自然言語で記述されたコメントに付加された当該コメントが記述された自然言語の種類を示す記号と説明対象の機能を示す記号を組み合わせた組み合わせ記号により識別することにより、複数の自然言語によるソフトウェア説明書の生成を自動化することができる。
【００１７】
単一の自然言語で記述されたコメントを対象としたソフトウェア説明書生成システムとしては、Ｊａｖａｄｏｃ、Ｄｏｘｙｇｅｎ、ＫＤＯＣ、ＤＯＣ＋＋などが知られており、広く使われている。しかし、これらのソフトウェア説明書生成システムは、従来の単一自然言語でコメントされたソースファイルを処理するために設計されており、複数の種類の自然言語で記述されたコメントおよび組み合わせ記号を処理することはできない。そのため、複数の種類の自然言語でコメントされたソースファイルを直接入力して、ソフトウェア説明書を生成することはできない。
【００１８】
この場合において、ソフトウェアの実装（ソースコード）と説明書の内容を一致させるためには、コメントをソースコードと対応させて適切な内容に保つ編集および保守の作業が必要である。しかしながら、複数の種類の自然言語でコメントが記述されるソースファイルは、コメントの分量が多くなる傾向にあり、その編集作業が困難である。
【００１９】
また、ソースファイルの編集を行う場合、コメント編集の作業において利用者は必ずしも、複数の種類の自然言語でコメントされたソースファイルの編集作業に特化した編集システムを使うとは限らない。ソースファイルの編集を行う利用者は、複数の種類の自然言語でコメントが記述されたソースファイルを編集する場合においても、慣れ親しんだ編集システム・ソフトウェア開発環境を用いて、従来の単一自然言語でコメントされたソースファイルを編集するほうが作業効率がよいという問題がある。
【００２０】
本発明は、上記のような問題を解決するためになされたものであり、本発明の目的は、複数の種類の自然言語でコメントが記述されたソースファイルと単一の自然言語でコメントが記述されたソースファイルとの間のファイル変換システムを提供することにより、ソースファイルの編集を行う利用者が、慣れ親しんだ編集システム・ソフトウェア開発環境を用いて従来の単一自然言語でコメントされたソースファイルを編集する場合においても、その編集されたソースファイルから、複数の種類の自然言語でコメントが記述されたソースファイルを生成することができるファイル変換システムを提供ことにある。
【課題を解決するための手段】
【００２１】
上記のような目的を達成するため、本発明によるソースファイル変換システムは、プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されているソースファイルを入力する入力処理手段と、出力するソースファイルのコメントの自然言語の種類を指定する自然言語種類指定手段と、前記入力処理手段により入力したソースファイルから前記自然言語種類指定手段により指定された自然言語で記述されたコメントを前記組み合わせ符号に基づいて抽出する抽出処理手段と、前記抽出処理手段により抽出したコメントとソースコードとを対応づけたソースファイルを出力する出力処理手段とを備えるように構成される。
【００２２】
別の態様として、本発明によるソースファイル変換システムは、プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号に続いて自然言語の種類を示す符号が付加されているソースファイルを入力する入力処理手段と、出力するソースファイルのコメントの自然言語の種類を指定する自然言語種類指定手段と、前記入力処理手段により入力したソースファイルから前記自然言語種類指定手段により指定された自然言語で記述されたコメントを前記自然言語の種類を示す符号に基づいて抽出する抽出処理手段と、前記抽出処理手段により抽出したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段とを備えるように構成される。
【００２３】
また、更に別の態様として、本発明によるソースファイル変換システムは、プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号が付加されているソースファイルを入力する入力処理手段と、出力するソースファイルのコメントの自然言語の種類を指定する自然言語種類指定手段と、前記入力処理手段により入力したソースファイルから前記自然言語種類指定手段により指定された自然言語で記述されたコメントを前記自然言語の種類を示す符号に基づいて抽出する抽出処理手段と、前記抽出処理手段により抽出したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段とを備える構成とされる。
【００２４】
また、更に別の態様として、本発明によるソースファイル変換システムは、プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されているソースファイルを入力する入力処理手段と、前記入力処理手段により入力されたソースファイルの中のコメントに対して前記組み合わせ符号に基づいて複数の種類のそれぞれの自然言語のコメントを抽出する抽出処理手段と、前記抽出処理手段により抽出したコメントを用いて複数の種類のそれぞれの自然言語でコメントが記述されたソースファイルをそれぞれ出力する出力処理手段とを備える構成とされる。
【００２５】
この場合に、本発明によるソースファイル変換システムは、前記出力処理手段は、前記抽出処理手段により抽出したコメントを用いてソースファイルを出力する際に、ソースコード部分を除外してコメント部分のみを含むファイルを出力するように構成されてもよい。
【００２６】
また、別の態様として、本発明によるソースファイル変換システムは、更に、１つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、前記抽出処理手段が、所定の種類の自然言語で記述されたコメントを当該コメントに付加された符号に基づいて前記ソースファイルから抽出し、前記出力処理手段は、抽出された自然言語のコメントを前記翻訳処理手段により指定された種類の自然言語に機械翻訳し、翻訳されたコメントとソースコードを対応づけたソースファイルを出力するように構成されても良い。
【００２７】
この場合に、本発明によるソースファイル変換システムは、前記出力処理手段は、ソースファイルを出力する際に、機械翻訳によって翻訳処理を行ったコメントは当該コメントが機械翻訳により翻訳されたことを示す符号を付加して出力するように構成されても良い。
【００２８】
また、他の態様として、本発明によるソースファイル変換システムは、第１のソースファイルを入力する第１の入力処理手段と、前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントが記述されている第２のソースファイルを入力する第２の入力処理手段と、入力された第２のソースファイルのコメントの自然言語の種類を特定する自然言語種類特定手段と、入力された第２のソースファイルに記述されているコメントに対して、当該コメントに前記機能を示す符号と当該コメントの自然言語の種類を示す符号とを組み合わせた組み合わせ符号を付加したコメントを合成する合成処理手段と、前記合成処理手段により合成したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段とを備えるように構成されても良い。
【００２９】
また、更に他の態様として、本発明によるソースファイル変換システムは、第１のソースファイルを入力する第１の入力処理手段と、前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントが記述されている第２のソースファイルを入力する第２の入力処理手段と、入力された第２のソースファイルのコメントの自然言語の種類を特定する自然言語種類特定手段と、入力された第２のソースファイルに記述されているコメントに対して、当該コメントに前記機能を示す符号とそれに続いて当該コメントの自然言語の種類を示す符号を付加したコメントを合成する合成処理手段と、前記合成処理手段により合成したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段とを備えるように構成されても良い。
【００３０】
また、更に他の態様として、本発明によるソースファイル変換システムは、第１のソースファイルを入力する第１の入力処理手段と、前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントが記述されている第２のソースファイルを入力する第２の入力処理手段と、入力された第２のソースファイルのコメントの自然言語の種類を特定する自然言語種類特定手段と、入力された第２のソースファイルに記述されているコメントに対して、当該コメントに前記機能を示す符号と当該コメントの自然言語の種類を示す符号を付加したコメントを合成する合成処理手段と、前記合成処理手段により合成したコメントとソースコードを対応づけたソースファイルを出力する出力処理手段とを備えるように構成されても良い。
【００３１】
この場合に、本発明によるソースファイル変換システムは、前記第１のソースファイルは、プログラミング言語で記述されたソースコードおよび当該ソースコードにおける要素の機能を説明するコメントブロックが複数の種類の自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントには、前記機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されているソースファイルである構成としてもよい。
【００３２】
また、この場合に他の態様として、本発明によるソースファイル変換システムは、前記第２のソースファイルは、前記第１のソースファイルの中のソースコードにおける要素の機能を説明するコメントに前記機能を示す符号を含む構成としてもよい。
【００３３】
また、この場合に、、本発明によるソースファイル変換システムは、前記合成処理手段は、入力されたソースファイル中のコメントを用いて、複数の種類のそれぞれの自然言語で記述されたコメントに符号を付加する際に、更新があった旨を示す符号を付加するように構成しても良い。
【００３４】
また、この場合に他の態様として、本発明によるソースファイル変換システムは、１つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、前記出力処理手段は、所定の種類の自然言語のコメントを前記翻訳処理手段により指定された種類の自然言語に機械翻訳し、翻訳されたコメントとソースコードを対応づけたソースファイルを出力するように構成しても良い。
【００３５】
また、この場合に、本発明によるソースファイル変換システムは、前記出力処理手段は、ソースファイルを出力する際に、機械翻訳によって翻訳処理を行ったコメントは当該コメントが機械翻訳により翻訳されたことを示す符号を付加して出力するように構成しても良い。
【発明の効果】
【００３６】
上記のような構成による本発明のソースファイル変換システムによれば、複数の種類の自然言語でコメントが記述されたソースファイルと単一の自然言語でコメントが記述されたソースファイルとの間で自然言語の種類を示す符号に基づいてコメントを合成または分類して、ファイル変換を行うことが可能となるので、例えば、複数の種類の自然言語でコメントが記述されたソースファイルを、本発明のソースファイル変換システムによってファイル変換を行い、従来の単一の自然言語でコメントが記述されたソースファイルに変換し、そのファイルを従来のソフトウェア説明書生成システムの入力として用いることにより、任意の種類の自然言語で記述されたソフトウェア説明書を生成することができる。このような利用により、国際的なソフトウェア開発において各国人の意思疎通が促進されて、開発効率が向上する。
【発明を実施するための最良の形態】
【００３７】
以下、本発明を実施する場合の形態について、具体例に基づき説明する。実施例の説明において、本発明に係るソースファイル変換システムは、コンピュータ（もしくはより広く言うと情報機器）上で実行されるソフトウェア（プログラム）がインストールされることにより、それぞれの処理手段として機能するシステム要素が実現されてシステムが動作する。ここでのファイルとは、コンピュータの記憶装置に格納される電子ファイルを想定している。または、このソースファイル変換システムは、その機能を同じくしたまま大部分をハードウェアで構成した形のスタンドアローン型のソースファイル変換装置として構成される。
【００３８】
ソースファイル変換システムに入力するソースファイルには、プログラム開発において記述されるプログラミング言語で書かれたソースコード文に加えて、そのソースコード文に対応してコメントが付加されている。この付加されたコメントを含むソースファイルが入力される。それらのコメントは２種類以上の必要とされるだけの種類の自然言語によって、必要な説明（コメントブロック）が記述される。この場合に、次のようにして、コメントの意味および自然言語の種類を示す符号が付けられる。
【００３９】
図１は、本発明の実施例に係るソースファイル変換システムの構成の詳細を説明する図である。図１において、１１は入力処理部、１２はソースファイル格納・管理部、１３はコメント抽出処理部、１４は変換処理部、１５は出力処理部、１６は翻訳処理部、１７は自然言語種類選択部である。また、１０１は多言語コメントソースファイル、１０２は第１の単一言語ソースファイル、１０３は第２の単一言語ソースファイル、１０４は第ｎの単一言語ソースファイル、１１０はソースファイル変換システムである。
【００４０】
このソースファイル変換システム１１０には、ファイル変換の対象として、多言語コメントソースファイル１０１、第１の単一言語ソースファイル１０２、第２の単一言語ソースファイル１０３、第ｎの単一言語ソースファイル１０４が入力され、例えば、多言語コメントソースファイル１０１から単一言語ソースファイル１０２〜１０４へのファイル変換や、または単一言語ソースファイル１０２〜１０４から多言語コメントソースファイル１０１への変換など、それぞれの種類の自然言語のコメントを抽出し、組み合わせ符号を付加して合成する合成処理を行い、または組み合わせ符号に基づいて分類して、それぞれのファイルの間のファイル変換を行う。この処理は、後述するように、コメント抽出処理部１３によって、指定された種類の自然言語についてコメント内容が抽出され、変換処理部１４によって、コメントの合成処理、コメントの分類処理などを行い、指定された種類の自然言語についてコメント内容がファイル変換処理により合成される。これらの処理は、コメントの機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号がコメントに付加されているので、このコメントに付与される組み合わせ符号に基づいて、ファイル変換の処理が行われる。
【００４１】
また、ここでソースファイル変換システム１１０には、ファイル変換処理を行うためのシステム要素として、入力処理部１１、ソースファイル格納・管理部１２、コメント抽出処理部１３、変換処理部１４、出力処理部１５が設けられ、これらのシステム要素を基本的な要素としてシステムが構成される。これに加えて、更に、異なる自然言語間での翻訳作業を行う翻訳処理部１６、変換の対象となる自然言語の種類を選択するための自然言語種類選択部１７が、必要に応じて設けられたシステム構成とされる。
【００４２】
このソースファイル変換システムにおいては、入力処理部１１により、変換の対象とするソースファイルが入力される。このソースファイルのデータ構造は、後述するように、プログラミング言語で書かれたソースコード文および前記ソースコード文に対して付与されたコメントを含むソースファイル内においてソースコード中の機能を説明するコメントが複数の種類の自然言語で記述されており、前記機能を示す符号とコメントの自然言語の種類を示す符号とを組み合わせた符号が付加されているデータ構造を有するものである。
【００４３】
ファイル変換システム１１０においては、図１により示されるように、例えば、変換対象となるソースファイル（１０１、１０２、１０３、１０４）が入力処理部１１によりシステム内部に読み込まれて、ソースファイル格納・管理部１２に渡される。ソースファイル格納・管理部１２の実装は、ハードディスク上のファイルシステムであっても、データベースであっても、ネットワーク上のサーバであっても、もしくはメモリ上のドキュメントモデルであっても良い。また、一般的な文書フィルタ処理のプログラムにおいては、行単位の処理を行う場合も多い。この場合には、ソースファイル格納・管理部１２の機能として、そのような非常に小規模な行バッファ・もしくはキャラクタ単位のバッファの形態をとるシステム構成とされる。
【００４４】
ファイル変換の処理は、後述するように、変換処理部１４によって、複数の種類の自然言語のコメントが合成される合成処理が行われ、または、ソースファイルの中のコメントに対して組み合わせ符号に基づいて複数の種類のそれぞれの自然言語のコメントを分類する分類処理が行われて、分類したコメントを用いて複数の種類のそれぞれの自然言語でコメントが記述されたソースファイルとされる変換処理が行われる。変換処理の作業の終了後は、出力処理部１５によって、所望される所定のファイル形式に整えられて、システムから外部に変換後のソースファイルが出力される。
【００４５】
このソースファイル変換システム１１０においては、システムの基本的な機能要素に加えて、入力や出力の対象となる自然言語の種類を指定・選択するための自然言語種類選択部１７、ここでのソースファイルに付加されているコメントの意味および自然言語の種類を示す符号に基づいて、複数の種類の自然言語で書かれたコメントの抽出処理を行うコメント抽出処理部１３、異なる自然言語間での翻訳作業を行う翻訳処理部１６が必要に応じて設けられ、これらのシステム要素を含むようなシステム構成とされる。
【００４６】
図１４は、入力したソースファイルをシステム内で表現するためのデータ構造を説明する図である。図１４示されるように、変換の対象となるソースファイルは、システム内では、木構造のドキュメントモデルのデータ構造として格納される。ファイル全体１４０２は、その下部の構造として、ファイルに含まれるクラス定義１４０３が含まれる構造となっており、さらにその下に、クラスに含まれるメソッド定義１４０１が含まれる構造となっている。コメント１４０４はクラス定義１４０３につけられたコメントを表しており、ソースファイルの構造や、コメントとソフトウェア要素の関係を、このような木構造のドキュメントモデルで示す。
【００４７】
図２は、変換対象となる入力ソースファイルの詳細な構造を説明する図である。図２に示すように、ソースファイル２００には、プログラムのソースコードと共に複数の種類のそれぞれの自然言語で書かれたコメントが、単一のソースファイル上に保持されている。ここでは、ソースファイル２００において、単一の電子ファイル上に多自然言語のテキストを格納する文字コード方式を用いる。この実施例においては、Ｕｎｉｃｏｄｅ文字セット（ＩＳＯ  １０６４６）を用いた例を示している。また、文字符号化方式としてはＵＴＦ−８（ＲＦＣ  ３２６９）を用いる。しかし、多自然言語でかかれた文章を表現可能な文字セットおよび文字符号化方式を用いる限り、本発明に適用可能である。
【００４８】
図２においては、書かれたコメントがどの自然言語用のコメントであるかを識別する符号を、ソースファイル中に記述する方法の一例が示されている。Ｊａｖａ（登録商標）言語などのプログラミング言語においては、「／＊」と「＊／」で囲まれた領域が、本来のプログラムソースコードではなく、コメントとして処理される。この例においてコメントは「／＊＊」で始まるが、これはドキュメントコメントと呼ばれ、通常のコメントとは区別されて取り扱われる。ドキュメントコメントは、Ｊａｖａｄｏｃ等のソフトウェア文書生成システムによって解釈されて出力される。ソフトウェア文書はこのドキュメントコメントの内容に基づいて出力される。なお、この実施例における入力ソースコードの例としては、Ｊａｖａｄｏｃに倣ったコメント形式を用いているが、他のコメント形式・プログラムソースコード記述形式、たとえばＸＭＬを用いたコメント・プログラムソースコードの記述であっても、本発明に適用可能である。
【００４９】
図２に示すソースファイル２００において、Ｈｅｌｌｏクラスの定義文２０２に先立って示されているコメントブロック２０１には、このクラスの概要説明が書かれている。ここで符号として「＠ｕ．ｊａ」タグが示されているが、これは符号のタグに続くテキストが、日本語で書かれたこのクラスの概要説明であることを示している。また、別の種類の符号の「＠ｕ．ｋｏ」タグが示されているが、これはこのタグに続くテキストが、韓国語で書かれたこのクラスの概要説明であることを示している。同様に別の種類の符号である「＠ｕ．ｚｈ」のタグは、同様にこのタグに続くテキストが、中国語で書かれたこのクラスの概要説明であることを示している。
【００５０】
ここでの符号「＠ｕ」は、コメントの概要説明を意味するタグとして定義したものであり、コメントの意味を示す符号である。これに続く「．ｊａ」、「．ｋｏ」および「．ｚｈ」の符号は、使用する自然言語の種類を示すための符号である。これらの符号は組み合わされて、その組み合わせ符号「＠ｕ．ｊａ」が、「コメントの意味を示す符号」および「自然言語の種類を示すための符号」を組み合わせたものとなっており、コメントの意味と自然言語の種類を同時に表現する符号としている。
【００５１】
本発明にかかるソースファイル変換システムにおいては、このような組み合わせの符号を用いることにより、それぞれの自然言語で記述されたコメントを含むソースファイルから複数の種類の自然言語により記述されたコメントを抽出する作業および必要とされる種類の自然言語のコメントを含むようにソースファイルを合成するファイル変換の作業を効率化することができるものとなっている。
【００５２】
次に、これらの符号の別の使用法の一例として、メソッドｓａｙの定義２０５に対して付与されたドキュメントコメントについて説明する。前半部分２０３のコメントは、クラスに付与されたコメントと同様であり、メソッドの概要を説明している。後半部分２０４において、符号の「＠ｐａｒａｍ」タグは、Ｊａｖａｄｏｃにおいては、メソッドの引数についての説明を行うコメントに先立って付与されるタグである。これは、この符号についても「コメントの意味を示す符号」となる。この場合においては、複数の種類の自然言語に対応するため、「＠ｐａｒａｍ」タグに対して、自然言語の種類を示す符号を組み合わせ、その組み合わせ符号を用いる。つまり、後半部分２０４のコメントにおける組み合わせ符号である「＠ｐａｒａｍ．ｊａ（日本語）」タグ、「＠ｐａｒａｍ．ｋｏ（韓国語）」タグ、および「＠ｐａｒａｍ．ｚｈ（中国語）」タグにより、複数の種類の自然言語に対応した組み合わせ符号としている。これらのタグの組み合わせ符号により、システムの処理において、それぞれのコメントが、メソッドの引数についての説明であって、更にそれぞれの種類の自然言語のコメントであると識別することができる。
【００５３】
図１５は、本発明の実施例に係るソースファイル変換システムについて説明する図である。次に、ソースファイル変換システム１１０に、例えば、複数の種類の自然言語でコメントされたソースファイル２００（図２）を入力して、ソースファイル変換を行う場合の処理の例について、変換されたソースファイルについて説明する。入力ファイルと出力ファイルの関係が図１５に示されている。つまり、ここで入力されるのは複数の種類の自然言語でコメントされた多言語コメントソースファイル１５０１であり、ソースファイル変換システム１５２１によってファイル変換され、出力されるのは単一種類の自然言語でコメントされた単一言語コメントソースファイル１５１１である。
【００５４】
図３に、単一言語コメントソースファイルにファイル変換され出力されたソースファイルの例を示している。このソースファイルは、図２に示されている多言語コメントソースファイルのソースファイル２００からファイル変換されたものである。すなわち、図２に示されているソースファイル２００におけるコメントブロック２０１においては、Ｈｅｌｌｏクラスに対するコメントが、英語・日本語・韓国語・中国語により記述されている。図３に示されているソースファイル３００のコメントブロック３０１およびクラス定義文３０２においては、日本語によるコメントのみが抽出されて出力されている。なお、図２のコメントブロック２０１においては「＠ｕ．ｊａ」というタグが付記されていたが、日本語コメントのみを出力する場合は、単一の自然言語のコメントしか必要とされないため、不必要なタグを除去することによって利用者が編集作業を行う際の視認性を良くしている。図２のコメントブロック２０３についても、同様に、図３に示すソースファイル３００のコメント３０３に示されるように日本語コメントのみを表示している。なお、ソースコード文の部分３０５に関してはすべてそのまま出力される。
【００５５】
また、図２のコメントブロック２０４については、「＠ｐａｒａｍ．ｊａ」の符号を付けて記述されていたコメント部分が抽出されて、図３に示すソースファイル３００のコメントブロック３０４として出力されている。この際、単一言語コメントソースファイルにおいては、自然言語のコメントとして出力する場合には、自然言語の種類を示すための符号である「．ｊａ」の部分が取り除かれて、ソースコード文の意味を示す符号である「＠ｐａｒａｍ」タグの符号のみを付加して出力されている。図２のメソッド（ソースコード文）の実装部２０５については、図３に示すソースファイル３００においては、そのままソースコード文３０５として出力されている。これにより、コードとコメントの対応が分かるように利用者に対して出力される。
【００５６】
次に、本発明のソースファイル変換システムの主要部である変換処理部１４について説明する。図１９は、ソースファイル変換システムのソースファイル変換処理を示すフローチャートである。変換処理部１４により実行されるファイル変換処理は、図１９により示されるように、複数の種類の自然言語でコメントされたソースファイルを入力し（ステップ１９０１）、指定された自然言語で記述されたコメントのみを、組み合わせ符号を識別することにより抽出し（ステップ１９０２）、抽出したコメントを用いてソースファイルを生成し出力する（ステップ１９０３）という処理により実行される。
【００５７】
このようなファイル変換処理を実行する前に、システムの使用者は、図示されてないＧＵＩもしくはコマンドラインオプションなどのユーザインタフェース処理により出力する自然言語の種類を事前に指定し、自然言語種類指定部１７がその言語の種類を保持記憶する。変換処理の開始後、複数の種類の自然言語でコメントされたソースファイルを入力し（ステップ１９０１）、フィルタ処理（ステップ１９０２）により指定された自然言語で記述されたコメントのみを、組み合わせ符号を識別することにより抽出する。
【００５８】
なお、自然言語の種類を指定する方法については、前述のようにユーザインタフェースによりユーザが直接指定する方法の他にも、ソースファイルに含まれるコメントが書かれた自然言語の、全ての種類の自然言語についてソースファイルを生成出力しても良い。また、あらかじめ使用者や使用環境に応じてデフォルトの自然言語を指定しておいても良い。
【００５９】
フィルタ処理は、コメント抽出処理部１３において処理される。入力ソースファイルのうち、自然言語種類指定部１７によって指定された自然言語の種類の言語の記号を含むコメントに関しては、出力ソースファイルに含むようにする。それ以外の言語の記号が付加されたコメントに関しては、そのコメントを破棄する。さらに、出力ソースファイルに含まれている指定された言語のコメントについては、入力ファイル中に存在した機能を示す記号と自然言語の種類を示す記号の組み合わせ記号に基づいて、自然言語の種類を示す記号を削除し、機能を示す記号のみを付加して、出力ソースファイルのコメントを生成する。なお、必要に応じて自然言語の種類を示す記号を残してコメントを生成することも可能である。出力処理部１５によるファイル出力処理（ステップ１９０３）によって、生成されたソースファイルを、外部に出力する。具体例で説明すると、例えば、入力ファイル中に「＠ｐａｒａｍ．ｊａ」という記号がつけられたコメントがあった場合、出力ファイルの日本語コメントソースファイルにおいては、そのコメントは「＠ｐａｒａｍ」というタグが付加されたものが生成されて出力される。
【００６０】
このようにして、図２に示す多言語コメントソースファイル２００から、図３に示すように、ソースファイル変換システムにおいてファイル変換された日本語コメントのみの単一言語コメントソースファイル３００が出力される。同様にして、ソースファイルのファイル変換により、図２に示す多言語コメントソースファイル２００から、韓国語コメントのみの単一言語コメントソースファイル４００を出力することも、また、英語コメントのみの単一言語コメントソースファイル５００を出力することもできる。図４は、ソースファイル変換システムにおいてファイル変換された韓国語コメントのみの単一言語コメントソースファイル４００の一例を示す図であり、図５は、同じく、ソースファイル変換システムにおいてファイル変換された英語コメントのみの単一言語コメントソースファイル５００の一例を示す図である。
【００６１】
また、図６に示すように、図２に示す多言語コメントソースファイル２００から、英語コメントおよび日本語コメントの２つの自然言語の多言語コメントソースファイル６００を出力することもできる。２種類の自然言語のコメントを含む多言語コメントソースファイル６００は、ソフトウェアの保守を担当する担当者またはプログラマなどが２つの自然言語に精通している場合に、対応する２つの自然言語のコメントを参照することにより、より適切にソースファイル内容の保守作業に有効に利用できる。
【００６２】
また、後述するように、このようなファイル変換された多言語コメントソースファイルを用いることによって、作業に必要な言語のコメントのみを、利用者の要求に応じて取り出せるので、ソースファイルのコメントについて、日本語と英語の間の翻訳作業（対訳作成作業）をコメント保守の作業者が保守作業を行う場合に、他の種類の自然言語で記述されたコメントが消去された状態で作業を行うことができ、より効率的な作業を行うことができる。これは、また、対訳作成作業に関係ない他の言語について、不注意で変更を加えてしまうことを防止する効果がある。
【００６３】
この際、入力ソースファイル中の自然言語のうちの2種類以上の自然言語を出力ソースファイルに含めるファイル変換を行う場合には、コメント抽出処理において、入力した機能を示す符号と自然言語の種類を示す符号を組み合わせた組み合わせ符号のうち機能を示す符号のみを出力ファイルに含めるのではなくて、入力した組み合わせ符号をそのまま付与した形式で出力ファイル中に含めるようにする必要がある。そうでないと、２つの言語（この場合は日本語と英語）のコメントが、それぞれどちらの言語のコメントであるかを識別不可能になってしまう。
【００６４】
図７は、ソースファイル変換システムにおいてファイル変換された英語コメントおよび日本語コメントのみの多言語コメントソースファイルの変形例の一例を示す図である。図７に示す変形例のソースファイルは、図６の示す多言語コメントソースファイル６００と同様に、ソースファイル２００から日本語コメントと英語コメントのコメントに相当する部分だけを抽出するファイル変換し、更にソースコード部分については、例えば、実体部分の存在する場所のリンク情報のみの埋め込みで、表示されないようにして出力した例である。ソースコード部分を除外する（出力されない）ことにより、保守作業の翻訳のみを行う作業者が誤ってソースコード部分を編集してしまうことを未然に防ぐことでき、結果として作業能率の向上につながる。
【００６５】
ところで、多言語コメントソースファイルにおいては、前述したように、複数の種類の自然言語のそれぞれの言語で書かれたコメント間における意味の不一致の問題について説明したが、この問題を解決するためには、機械翻訳の処理をファイル変換の処理の中で実行するようにシステム構成を変形することにより、これについては解決される。すなわち、例えば図6に示すような、日本語と英語のみを含む、多言語コメントソースファイルがあったとする。ここで、このソースファイルに関する開発プロジェクトにおいて、ドイツ人開発者が参加したいという状況になったとする。そうした場合に、以下のような手順を踏んで、ドイツ語でコメントを記述したソースファイルを生成することが出来る。
【００６６】
図２１は、機械翻訳処理を含むようにしたファイル変換処理のフローチャートである。図２１を参照して説明する。このようなファイル変換処理においては、ステップ２１０１の処理において、複数の種類の自然言語でコメントされたソースファイルを入力し、次のステップ２１０２の処理において、指定された種類の自然言語で記述されたコメントのみを、組み合わせ符号を識別することにより抽出する。続いて、ステップ２１０３の処理において、抽出したコメントを用いて機械翻訳を行い、必要な種類の自然言語のコメントを生成し、指定された種類の自然言語でコメントが記述されたソースファイルを生成する。そして、ステップ２１０４の処理において、生成したソースファイルを出力する。なお、この際、既に翻訳先の言語（この場合はドイツ語）のコメントが存在する場合は、既に存在するコメントをそのまま活かして利用するようにしても良い。
【００６７】
図１２は、機械翻訳の処理を含むファイル変換処理により生成されたドイツ語コメントが記述されたソースファイルの出力例を示す図であり、図１３は、同じく、機械翻訳の処理を含むファイル変換処理により生成されたドイツ語コメントのソースファイルに対して内容の確認が行われたソースファイルを示す図である。
【００６８】
このように、機械翻訳の処理を含むファイル変換処理によりソースファイルを生成する場合、ソースファイルが生成された時点での機械翻訳の不確実性が残るので、ここでは、生成されたソースファイルにおける機械翻訳の結果においては、図１２に示すように、「＠ｍｔ」の符号を付加することにより、生成されたコメントが機械翻訳による結果であることを明示している。
【００６９】
また、機械翻訳の不確実性に対しては、後に何らかの形で人間の翻訳者などによる翻訳結果の監査が必要となるので、このような監査が行われた場合に、図１３に示すように、「＠ｍｔ」の符号を取り除いて、機械翻訳の結果を承諾していることを表している。この図１３に示すソースファイルの例は、図１２にソースファイルと比較して、全ての「＠ｍｔ」符号が取り除かれているが、必ずしも全ての符号を一度に取り除く必要はなく、一つ一つの「＠ｍｔ」符号について承認の作業を行うことも可能である。
【００７０】
前述したソースファイル変換処理は、複数の種類の自然言語でコメントされたソースファイルを入力し、１種類の自然言語のみ、もしくは２種類以上の自然言語のコメントが記述されたソースファイルを生成して出力するファイル変換処理であったが、本発明にかかるソースファイル変換システムは、その逆のようなファイル変換処理についても行うことができる。すなわち、入力するソースファイルとして、複数のソースファイル（単一言語コメントソースファイル、多言語コメントソースファイル）を入力し、そのソースファイル中のソフトウェア要素に関してのコメントを含むファイルから、複数の種類の自然言語でコメントが記述された一つの多言語コメントソースファイルを合成して出力するファイル変換処理である。これらの処理は、いずれも複数の種類の自然言語でコメントされた多言語コメントソースファイルの相互変換にかかるファイル変換処理である。
【００７１】
次に、これらのソースファイル変換処理について説明する。なお、以下では2つの入力ファイルを用いて説明するが、3つ以上の複数の入力ファイルがある場合においても同様にファイル変換処理を行うことが出来る。図１６は、本発明の別の実施例に係るソースファイル変換システムについて説明する図である。図１６に示すソースファイル変換システム１６２１は、入力ファイルとして、第１の単一言語コメントソースファイル１６０１および第２の単一言語コメントソースファイル１６０２を入力し、これらの単一言語でコメントが記載された２つのソースファイルを組み合わせて、複数の種類の自然言語でコメントが記述されている１つの多言語コメントソースファイル１６１１を出力するファイル変換処理を行う。
【００７２】
具体例として、ここでは、入力ファイルの第１の単一言語コメントソースファイル１６０１として、例えば、図３の日本語コメントファイル３００を入力し、入力ファイルの第２の単一言語コメントソースファイル１６０１として、図５の英語コメントファイル５００を入力し、ソースファイル変換システム１６２１が、これらの入力ファイルによるファイル変換処理を行うと、出力ファイルの多言語コメントソースファイルファイル１６１１としては、図６の英語コメントおよび日本語コメントのソースファイル６００が出力される。
【００７３】
この２つのファイルは、ソースコード（ソフトウェア部分）は同一であるため、図３に示すソースファイル３００において、ソフトウェア要素（たとえばクラス定義文３０２のＨｅｌｌｏクラス）を説明しているのは、コメント部３０１であり、図５に示すソースファイル５００においては、コメント部５０１である。次に、その処理の詳細について説明するが、結果として、このソースファイル変換システム１６２１から出力される出力ファイル（１６１１）は、図６に示すような日本語コメントおよび英語コメントでコメントが記述されたソースファイル６００となる。
【００７４】
図２０は、ソースファイル変換システム１６２１におけるソースファイル変換処理を示すフローチャートである。ここでのファイル変換処理では、処理を開始すると、まず、第１のソースファイルを入力し（ステップ２００１）、次に、入力した第１のソースファイルのソースコードにおける要素の機能を説明するコメントが含まれる第２のファイルを入力する（ステップ２００２）。次に、ステップ２００３の処理において、入力ファイルのコメントを記述した自然言語の種類を特定する。入力した第１のソースファイル１６０１のコメントの自然言語が日本語であり、入力した第２のソースファイル１６０２のコメントの自然言語が英語であるとして自然言語の種類を特定する。ここでの特定処理においては、システムが自動でコメントの自然言語の種別を判定するように構成されるが、出力するソースファイルの自然言語の種類を指定することにより、自然言語が特定されるような構成であってもよい。
【００７５】
そして、次のステップ２００４の処理において、入力された２つの入力ソースファイルに基づく合成処理が行われる。例えば、図６に示すソースファイル６００におけるコメント部６０１およびクラス定義文６０２の自然言語のコメントが多言語で記述されているものとなるように合成する処理を行う。この合成処理においては、２つの種類の自然言語で記述されたコメントが、後で識別可能なように、機能を示す符号と自然言語の種類を示す符号とを組み合わせた組み合わせ符号が付加されたコメント部を合成し、ソースファイルを合成する。その後、ステップ２００５の処理において、合成されたソースファイルをシステム外に出力する。このようにして、英語コメントおよび日本語コメントの２つの種類の自然言語のコメントが、組み合わせ符号つきで記述されている状態のソースファイルが出力される。
【００７６】
本発明にかかるソースファイル変換システムは、ソースファイルにおける複数の種類の自然言語で記述されたコメントを編集する場合に、その編集作業を能率よく行う場合に利用できる。例えば、ファイル変換を行った後に、ソースファイルについて修正を加えた際に、その修正の内容は、元の複数の種類の自然言語でコメントが記述された多言語コメントソースファイルに反映されなければならないが、この処理が、ソースファイル変換システムを用いて、能率よく行うことができる。次に、このような処理について説明する。
【００７７】
図８は、日本語コメントおよびソースコードのみを抽出して出力したソースファイルにおいてコメントに修正を加える処理を説明する図であり、図９は、修正が加えられたコメントを含むソースファイルの内容が多言語コメントにソースファイルに反映された例を説明する図であり、図１７は、ソースファイル変換システムを用いて、元の多言語コメントソースファイルに対して修正を反映させるためのファイル変換処理を行う場合の処理の例を説明する図である。これらの図を参照して説明する。
【００７８】
多言語コメントソースファイルから日本語コメントのみの単一言語コメントソースファイルにファイル変換したソースファイル（図３）に対して、図８に示されるように、ソースファイル８００のコメント部８０１のコメントに、編集を加えてコメントを修正し、修正前のソースファイル８００を、修正後のソースファイル８１０とした場合、つまり、コメント内容の修正がコメントブロック８０１に対して行われて、コメントブロック８１１のよう修正された場合、つまり、“こんにちはクラス”が、“「こんにちは」を表すクラス”と書き換えられた場合、この修正の内容は、図１７に示すように、ソースファイル変換システム１７２１によるファイル変換処理を行うことにより、ソースファイルに反映される。
【００７９】
図１７のソースファイル変換システム１７２１では、第１の入力ファイルとして、元の複数の種類の自然言語による多言語コメントソースファイル１７０１を入力し、第２の入力ファイルとして、特定の種類の自然言語のコメントに修正が加えられた単一言語コメントソースファイル１７０２を入力することで、第１の入力ファイルの多言語コメントソースファイル１７０１に対して、第２の入力ファイルの単一言語コメントソースファイル１７０２のコメントの内容を反映させる（上書きする）ファイル変換を行うことにより、出力ファイルの多言語コメントソースファイル１７１１は、多言語コメントソースファイルにおいて特定の種類の自然言語コメントの修正が反映されたものとなる。すなわち、図2に示すソースファイル２００を第1の入力ファイルとし、図8に示す修正後のソースファイル８１０を第２の入力ファイルとした場合、図９に示すようなソースファイル９００が出力される。
【００８０】
図９に示すソースファイル９００においては、元の複数の種類の自然言語コメントの第１の入力ファイルのソースファイル（１７０１）に対して、第２の入力ファイルのソースファイル（１７０１）による変更が行われたものとなっている。すなわち、変更があった部分に相当するコメントブロック９０１においては、「＠ｕ．ｊａ」の符号とともに保持されている日本語のコメントが変更されている。この場合には、この時点で修正が加えらなかったコメント（他の種類の自然言語のコメント）については、後述するように、「修正があった・もしくは（修正の確認が）必要である」ことを意味する符号である「／ｕｐｄａｔｅ」タグを付加している。
【００８１】
ここで問題となるのが、複数の種類のそれぞれの自然言語で書かれたコメントの間における、表す意味の不一致である。そのため、例えば、修正が行われた日本語コメント以外の自然言語で記述されたコメントに付加された符号に対して、更に「／ｕｐｄａｔｅ」という、「修正があった・もしくは必要である」という意味を示す符号を付加し、後に修正が必要なコメントであることを示すようにしている。これは、複数の種類の自然言語でコメントが記述されたソースファイルを、適切に修正された箇所を管理していくために有用である。
【００８２】
ソースファイルのコメントに修正を加える別の例について説明する。加えられるコメントの修正は、特定の種類の自然言語によるものである。この場合、前述したように、日本語コメントによりソースファイルに修正が加えられるものとする。この場合においても、ソースファイル変換システムを用いて能率よく、ソースファイルに修正を反映させることができる。図１０および図１１を参照して説明する。
【００８３】
図１０は、日本語コメントおよびソースコードのみを抽出して出力したソースファイルにおいてコメントに修正を加える処理を説明する図であり、図１１は、修正が加えられたコメントを含むソースファイルの内容が多言語コメントにソースファイルに反映された例を説明する図である。
【００８４】
前述した処理と同様に、日本語コメントのみの単一言語コメントソースファイルにファイル変換したソースファイルに対して、図１０に示されるように、ソースファイル１０００のコメント部１００１のコメントに対して、編集を加えてコメントを修正し、修正前のソースファイル１０００を、修正後のソースファイル１０１０とした場合、つまり、コメント内容の修正がコメントブロック１００１に対して行われて、コメントブロック１０１１のように修正された場合、ここでは、コメントの修正として、日本語コメントの“＠ａｕｔｈｅｒ  新しい著者名”を追加している修正を行っている。この修正の内容は、図１７に示すソースファイル変換システム１７２１においてファイル変換処理を行うことによって、出力されるソースファイルに反映されて、図１１に示されるように、コメントブロック１１０６が修正されたソースファイル１１００となる。すなわち、変更があった部分に相当する部分のコメントブロック１１０６においては、「＠ａｕｔｈｏｒ．ｊａ」の組み合わせ符号とともに保持されている日本語コメントが変更される。ここでは、他の種類の自然言語のコメントについても追加され、後に修正が必要ことを示す「／ｕｐｄａｔｅ」の符号と共に追加されている。
【００８５】
また、同じく前述したように、ここで問題となる複数の種類の自然言語のそれぞれの言語で書かれたコメント間における意味の不一致については、図９における例と同様に、修正が行われた日本語コメント以外の他の種類の自然言語で記述されたコメントが付加されており、この追加されたコメントについては、更に「／ｕｐｄａｔｅ」の符号により、修正が必要なコメントであることを示している。
【００８６】
図１８は、ソースファイル変換システムを用いて、元の多言語コメントソースファイルに対して修正を反映させるためのファイル変換処理を行う場合の処理の別の例を説明する図である。図１８に示すソースファイル変換システム１８２１では、第１の入力ファイルとして、単一の種類の自然言語でコメントが記述された単一言語コメントソースファイル１８０１を入力し、第２の入力ファイルとして、ＨＴＭＬ形式で記述されたソフトウェア説明書であるＡＰＩ文書１８０２を入力し、これらの入力ファイルをファイル変換処理により併合して、複数の種類の自然言語でコメントが記述された多言語コメントソースファイル１８１１を出力する。なお、この第二の入力ファイルはＨＴＭＬ形式のソースファイルに限らずＸＭＬ形式であっても同様の処理を行うことが可能である。
【００８７】
このソースファイル変換システム１８２１から出力される多言語コメントソースファイル１８１１は、例えば、第１の入力ファイル１８０１として、図５に示される英語でコメントが記載されたソースファイルを入力し、第２の入力ファイル１８０２として、図２２に示されるような日本語でソフトウェア要素の解説が記載されたＨＴＭＬ形式のソフトウェア説明書ファイル（ＨＴＭＬソースファイル）２２００とした場合、出力されるソースファイルの出力ファイル１８１１としては、図６に示されるような日本語コメントおよび英語コメントが記述されたコメントおよびソースコードを含むソースファイルとなる。このファイル変換においては、ＨＴＭＬ形式による第２の入力ソースファイルが、機能を示す符号で構造化されており、第1の入力ソースファイルのソースコード中の機能と対応づいているため、このようなソースコードの合成が可能である。
【００８８】
このような、複数の自然言語でコメントが記述されたファイルを出力する出力処理の際に、必要とされる種類の自然言語のコメントが存在しない場合には、翻訳処理部１６の処理によって、必要とされる種類の自然言語のコメントを得るようにしてもよい。例えば、日本語でコメントが書かれたソースファイル３００と韓国語でコメントが書かれたソースファイル４００をファイル変換システムへ入力し、出力の際に機械翻訳により英語・中国語のコメントを追加したコメントを出力し、ソースファイル２００を出力する、という構成である。また、先に解説したように機械翻訳には不確実性があるために、図１２の１２０１で示すように、翻訳されたコメントには機械翻訳によるコメントであることを示す符号を付加しても良い。
【００８９】
図２３は、本発明の別の実施例にかかるソースファイル変換システムの変形例を説明する図である。図２３に示すソースファイル変換システムは、複数のソースファイル変換システムを組み合わせたシステム構成としたものである。図２３において、参照番号２３０１は第１のソースファイル変換システムであり、参照番号２３０２は第２のソースファイル変換システムである。
【００９０】
このシステム構成において、第１のソースファイル変換システム２３０１は、多言語コメントソースファイル２３１１を入力して、複数の単一言語コメントソースファイル２３２１および単一言語コメントソースファイル２３２２を出力し、第２のソースファイル変換システム２３０２は、複数の単一言語コメントソースファイル２３２１および単一言語コメントソースファイル２３２２を入力し、１つの多言語コメントソースファイル２３２２を出力する。なお、多言語コメントソースファイル２３１１が3つ以上の言語のコメントを含む場合には、ここで出力するファイルの数は3つ以上になる。
【００９１】
このような組み合わせシステムを使用例について説明する。編集対象の複数の種類の自然言語でコメントが記載されたソースファイル２３１１であり、例えば、このソースファイル２３１１が、日本語・英語・中国語・韓国語でコメントが記載されているとすると、このソースファイル２３１１を、第１の第１のソースファイル変換システム２３０１によりファイル変換を行い、例えば、中国語コメントが記載されたソースファイル２３２１および韓国語コメントが記載されたソースファイル２３２２として出力する。これらのファイルは、通常のソースファイル編集システムを用いて編集可能であるので、中国人・韓国人の開発者に分担して自由に編集して開発を進めてもらうことができる。ソースファイルの編集が終わった後に、第２のファイル変換システム２３０２に、編集が行われた中国語コメントのソースファイル２３２１および韓国語コメントのソースファイル２３２２を入力してファイル変換を行って、多言語コメントソースファイル２３１１として出力することより、編集による修正内容が反映されたソースファイルとすることができる。
【００９２】
図２４は、本発明によるソースファイル変換システムにおいて用いられるソースファイルのデータ構造の別の例を説明する図である。図２４に示す複数の種類の多言語コメントソースファイル２４００は、クラスＨｅｌｌｏのメソッドｓａｙの説明のコメント２４０３に関係して、引数ｐａｒａｍに対するコメント２４０４が付加されているソースファイルである。このデータ構造では、ソースコード中のあるひとつの機能を説明するコメントが、機能を示す符号に続いて複数の種類のそれぞれの自然言語で記述されており、複数の種類のそれぞれの自然言語で記述されたコメントに、この自然言語の種類を示す符号が付加されているものとなっている。
【００９３】
図２４に示すように、このデータ構造のソースファイル２４００では、機能を説明する符号である「＠ｕ」タグが付加されているコメントに続いて、それぞれの自然言語の種類を示す符号の「＠ｊａ」タグ、「＠ｋｏ」タグ、「＠ｚｈ」タグが記述されて、それぞれの種類の自然言語によるコメントが記述されているものとなっている。このようなデータ構造のソースファイルを入力ファイルもしくは出力ファイルとして用いると、このデータ構造のソースファイルは、ソースコード中のあるひとつの機能を説明するコメントが、機能を示す符号に続いて複数の自然言語で記述され、コメントには記述に用いられている自然言語の種類を示す符号が付加されて、それぞれの種類の自然言語で記述されるので、複数の自然言語によるコメントを追加して記述する場合に有効に利用できる。反面、機能を示す符号と自然言語の種類を示す符号が離れてしまうので、片方だけを修正して他の一方を修正し忘れる可能性がある。そのためユーザの嗜好により使い分けると良い。
【００９４】
図２５は、本発明によるソースファイル変換システムにおいて用いられるソースファイルのデータ構造の更に別の例を説明する図である。このデータ構造では、ソースコード中のあるひとつの機能を説明するコメントが複数の種類の自然言語で記述されており、機能を示す符号と自然言語の種類を示す符号が付加されているものとなっている。この構造を用いるソースファイル変換システムにおいては、先の図２４の例とは逆に、新たな自然言語種類のコメントを追加する場合に有効に利用できる。
【産業上の利用可能性】
【００９５】
本発明のソースファイル変換システムによると、複数の種類の自然言語でコメントが記載されたソースファイルと、単一の自然言語でコメントが記載されたソースファイルの間で相互にファイル変換することができるので、ソースファイルの作成には、使い慣れた既存のシステムを用いつつ、複数の種類の自然言語によるソースファイルや、ソフトウェア説明書の生成を効率よく行うことができ、結果としてソフトウェア開発の効率が向上する。
【００９６】
従来のソフトウェア説明書生成システムにおいては、単一の自然言語でコメントを記述することしか想定していない。そのため複数の種類の自然言語の版を作成するために非常にコストがかかっていた。複数の種類の自然言語でコメントが記述されたソースファイルを、本発明によるファイル変換システムを用いることで、例えば、従来の単一の自然言語でコメントが記述されたソースファイルに変換し、そのファイルを従来のソフトウェア説明書生成システムの入力として用いることで、任意の自然言語で記述されたソフトウェア説明書を生成することができる。そのため、国際的なソフトウェア開発において各国人の意思疎通を促進し、開発効率が向上できる。
【００９７】
また、既存のソースファイル（例えば、英語でコメントが記載されているソースファイル）と、そのソースファイルの中のソースコードを説明するコメントもしくは何らかの説明記述を含むファイル（例えば、日本語による解説のコメントが記載されているソースファイル）があった場合に、本発明によるソースファイル変換システムを利用することにより、それらのファイルを合成して複数自然言語でコメントが記述されたソースファイルを合成し、後で必要に応じて日本語のみ、もしくは英語のみのコメントを利用した各自然言語（日本語および英語）の説明書を生成することもできる。
【００９８】
多くのソフトウェア企業においては、既存のソフトウェア資産およびそれらのソフトウェアに関する説明の記述を既に数多く保有しているので、本発明のファイル変換システムにより、それら、通常の単一自然言語でコメントが記載されたソースファイル、およびそのソースファイルの内容に関する説明記述といった既存の資産から、複数自然言語でコメントされたソースファイルを生成できる。
【００９９】
また、本発明によるファイル変換システムを用いて、複数の種類の自然言語でコメントされたソースファイルから、単一言語でコメントされたソースファイルを生成することができるので、使用者は従来の手法をもちいてソースファイルのコメント編集を、使い慣れた編集ソフトウェアを用いて一言語ずつ従来の手法で行うことができる。さらに、その結果を多言語でコメントされたソースファイルに反映できる。複数の種類の自然言語でコメントされたソースファイルは分量が多くなるため通常の編集ソフトウェアでは編集しづらい問題があるが、本発明のファイル変換システムを用いることにより、使用者にとって慣れ親しんだ通常の編集ソフトウェアを用いながらも、複数自然言語でコメントが記載されたソースファイルを効率よく編集できる。このため、ソフトウェアの開発生産性が向上する。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施例に係るソースファイル変換システムの構成の詳細を説明する図である。
【図２】変換対象となる入力ソースファイルの詳細な構造を説明する図である。
【図３】単一言語コメントソースファイルにファイル変換され出力されたソースファイルの例を示す図である。
【図４】ソースファイル変換システムにおいてファイル変換された韓国語コメントのみの単一言語コメントソースファイルの一例を示す図である。
【図５】ソースファイル変換システムにおいてファイル変換された英語コメントのみの単一言語コメントソースファイルの一例を示す図である。
【図６】ソースファイル変換システムにおいてファイル変換された英語コメントおよび日本語コメントの多言語コメントソースファイルの一例を示す図である。
【図７】ソースファイル変換システムにおいてファイル変換された英語コメントおよび日本語コメントのみの多言語コメントソースファイルの変形例の一例を示す図である。
【図８】日本語コメントおよびソースコードのみを抽出して出力したソースファイルにおいてコメントに修正を加える処理を説明する図である。
【図９】修正が加えられたコメントを含むソースファイルの内容が多言語コメントにソースファイルに反映された例を説明する図である。
【図１０】日本語コメントおよびソースコードのみを抽出して出力したソースファイルにおいてコメントに修正を加える処理を説明する図である。
【図１１】修正が加えられたコメントを含むソースファイルの内容が多言語コメントにソースファイルに反映された例を説明する図である。
【図１２】機械翻訳の処理を含むファイル変換処理により生成されたドイツ語コメントが記述されたソースファイルの出力例を示す図である。
【図１３】機械翻訳の処理を含むファイル変換処理により生成されたドイツ語コメントのソースファイルに対して内容の確認が行われたソースファイルを示す図である。
【図１４】入力したソースファイルをシステム内で表現するためのデータ構造を説明する図である。
【図１５】本発明の実施例に係るソースファイル変換システムについて説明する図である。
【図１６】本発明の別の実施例に係るソースファイル変換システムについて説明する図である。
【図１７】ソースファイル変換システムを用いて、元の多言語コメントソースファイルに対して修正を反映させるためのファイル変換処理を行う場合の処理の例を説明する図である。
【図１８】ソースファイル変換システムを用いて、元の多言語コメントソースファイルに対して修正を反映させるためのファイル変換処理を行う場合の処理の別の例を説明する図である。
【図１９】ソースファイル変換システムにおけるソースファイル変換処理を示すフローチャートである。
【図２０】ソースファイル変換システム１６２１におけるソースファイル変換処理を示すフローチャートである。
【図２１】機械翻訳処理を含むようにしたファイル変換処理のフローチャートである。
【図２２】日本語でソフトウェア要素の解説が記載されたＨＴＭＬ形式のソフトウェア説明書ファイルの一例を示す図である。
【図２３】本発明の別の実施例にかかるソースファイル変換システムの変形例を説明する図である。
【図２４】本発明によるソースファイル変換システムにおいて用いられるソースファイルのデータ構造の別の例を説明する図である。
【図２５】本発明によるソースファイル変換システムにおいて用いられるソースファイルのデータ構造の更に別の例を説明する図である。
【符号の説明】
【０１０１】
１１  入力処理部
１２  ソースファイル格納・管理部
１３  コメント抽出処理部
１４  変換処理部
１５  出力処理部
１６  翻訳処理部
１７  出力対象 自然言語選択部
１０１  変換対象の多言語コメントソースファイル
１０２  変換対象の第１言語で書かれた単一言語コメントソースファイル
１０３  変換対象の第２言語で書かれた単一言語コメントソースファイル
１０４  変換対象の第ｎ言語で書かれた単一言語コメントソースファイル
１１０  ソースファイル変換システム
【図１】
2008186311.tif 000003
【図２】
2008186311.tif 000004
【図３】
2008186311.tif 000005
【図４】
2008186311.tif 000006
【図５】
2008186311.tif 000007
【図６】
2008186311.tif 000008
【図７】
2008186311.tif 000009
【図８】
2008186311.tif 000010
【図９】
2008186311.tif 000011
【図１０】
2008186311.tif 000012
【図１１】
2008186311.tif 000013
【図１２】
2008186311.tif 000014
【図１３】
2008186311.tif 000015
【図１４】
2008186311.tif 000016
【図１５】
2008186311.tif 000017
【図１６】
2008186311.tif 000018
【図１７】
2008186311.tif 000019
【図１８】
2008186311.tif 000020
【図１９】
2008186311.tif 000021
【図２０】
2008186311.tif 000022
【図２１】
2008186311.tif 000023
【図２２】
2008186311.tif 000024
【図２３】
2008186311.tif 000025
【図２４】
2008186311.tif 000026
【図２５】
2008186311.tif 000027