(57)【要約】【課題】複数の種類の自然言語でソースコードコメントが記述されたソースファイルを編集する場合に自然言語の種類を表す示す符号により識別して、ソースファイルの編集処理を制御し、ソースファイル編集作業の効率の向上を図る。【解決手段】ソースファイル編集システムは、ソースコードコメント中にソースコード要素の意味を表す機能を示す符号と自然言語の種類を表す示す符号とを組み合わせた組合せ符号が付加されたデータ構造のソースファイルを用い、このソースファイル中の組合せ符号に基づいて、ソースファイルの編集作業を制御する構成とする。それぞれの自然言語に対応した符号の挿入削除などを行い、編集作業を効率よく行うことができる。【選択図】図１
2008204446.tif 000002
【特許請求の範囲】
【請求項１】
プログラミング言語で記述されたソースコード文及び前記ソースコード中の機能を説明するコメントが複数の種類の自然言語で記述されたソースファイル内において、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されているソースファイルをメモリ上に入力する入力処理手段と、
前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、
編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、
編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段と、
を備えることを特徴とするソースファイル編集システム。
【請求項２】
プログラミング言語で記述されたソースコード文及び前記ソースコード中の機能を説明するコメントが複数の種類の自然言語で記述されたソースファイル内において、前記機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、
前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、
編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、
編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段と、
を備えることを特徴とするソースファイル編集システム。
【請求項３】
プログラミング言語で記述されたソースコード文及び前記ソースコード中の機能を説明するコメントが複数の種類の自然言語で記述されたソースファイル内において、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、
前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、
編集中に機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号を挿入する符号挿入手段と、
編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記組合せ符号を付加してソースファイルとして出力する出力処理手段と、
を備えることを特徴とするソースファイル編集システム。
【請求項４】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
ソースコード文の表示または非表示を指示する表示指定手段を備え、
前記編集処理手段は、前記表示指定手段によりソースコード文の非表示が指示された場合、ソースコード文を表示することなく編集対象の自然言語のコメントのみを表示画面に表示して編集処理を行う
ことを特徴とするソースファイル編集システム。
【請求項５】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
１つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、
前記編集処理手段は、所定の自然言語の種類のコメントをメモリから抽出し、抽出されたコメントを前記翻訳処理手段により指定された種類の自然言語に翻訳し、翻訳されたコメントを編集対象として表示画面に表示する
ことを特徴とするソースファイル編集システム。
【請求項６】
請求項５に記載のソースファイル編集システムにおいて、
翻訳の際に訳元として用いるコメントの自然言語の種類をデフォルトで示すための、主たる自然言語の種類を示す符号を入力ソースファイル中に含む
ことを特徴とするソースファイル編集システム。
【請求項７】
請求項５に記載のソースファイル編集システムにおいて、更に、
前記編集処理手段は、機械翻訳によって翻訳処理を行ったコメントについて、コメントが機械翻訳により翻訳されたことを示す符号を付加してメモリ上に格納する
ことを特徴とするソースファイル編集システム。
【請求項８】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新符号を含み、
前記編集処理手段は、前記更新符号がかかる範囲のテキストを強調表示して編集作業を行う
ことを特徴とするソースファイル編集システム。
【請求項９】
請求項１ないし３に記載のソースファイル編集システムにおいて、
前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新符号を含み、
前記編集処理手段が、当該ソースファイルの更新の履歴を管理するために更新符号を追加もしくは削除する
ことを特徴とするソースファイル編集システム。
【請求項１０】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
前記ソースファイルを格納するソースファイル格納管理手段を含み、
前記入力処理手段が、前記格納管理手段からソースファイルを入力し、
前記出力処理手段が、出力するソースファイルを前記格納管理手段に格納する、
ことを特徴とするソースファイル編集システム。
【請求項１１】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
前記ソースファイルを格納して当該ソースファイルの更新の履歴を管理するソースファイル格納管理手段を含み、
前記入力処理手段が、前記格納管理手段からソースファイルを入力し、
前記出力処理手段が、出力するソースファイルを前記格納管理手段に格納する、
ことを特徴とするソースファイル編集システム。
【請求項１２】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
編集者が通常使用するデフォルトの自然言語の種類を、編集者に対応づけて記憶保持する使用自然言語種類記憶保持手段と、
前記編集手段において、編集者が編集作業を行う際に、デフォルトの使用自然言語の種類を前記記憶保持手段に保持された情報を用いて編集者に対応づけて設定し、編集対象の自然言語の種類を決定し編集を行う、
ことを特徴とする請求項１もしくは請求項２もしくは請求項３に記載のソースファイル編集システム。
【請求項１３】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
コメントの自然言語の種類を表示する自然言語種類表示手段と、
コメントの自然言語の種類を追加あるいは削除する自然言語追加削除処理手段を備え、
前記自然言語追加削除処理手段により追加・削除したい自然言語に対応するコメント中の言語符号を一括して追加・削除を行う、
ことを特徴とするソースファイル編集システム。
【請求項１４】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
ソースファイル内の語句について検索置換操作を行う検索置換処理手段を含み、
検索対象の自然言語の種類を指定する検索対象自然言語種類指定手段を含み、
前記検索置換処理手段が語句を検索する際に、自然言語の種類を示す言語符号を識別することにより、前記検索対象自然言語種類指定手段により指定された自然言語で記述されたコメントのみを検索対象として検索置換操作を行う
ことを特徴とするソースファイル編集システム。
【請求項１５】
請求項１ないし３に記載のソースファイル編集システムにおいて、更に、
ソースファイル内のコメント部分に記述された文章の自然言語的な正当性について検証を行う検証処理手段と、
検証を行う自然言語種類の指定を行う検証対象自然言語種類指定手段を含み、
前記検証処理手段が文章について検証する際に、自然言語の種類を示す言語符号を識別することより、前記検証対象自然言語種類指定手段に自然言語の種類を設定する
ことを特徴とするソースファイル編集システム。
【請求項１６】
請求項１ないし３に記載のソースファイル編集システムにおいて、
前記編集処理手段は、文字に加えて図形で表示画面に表示し、
編集対象とする自然言語の種類を指定する言語指定手段を有し、
前記指定の自然言語によるコメントを選択的に表示して編集処理を行う、
ことを特徴とするソースファイル編集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の種類の自然言語でコメントが記述されたプログラミング言語のソースコード文を含むソースファイルを編集するソースファイル編集システムに関するものであり、更に、詳しくは、複数の種類の自然言語でソースコードに対するコメントが記述されたソースファイルを編集する場合において、それらのコメントがどのような自然言語で書かれている場合であっても編集の操作を能率よく行えるソースファイル編集システムに関するものである。
【背景技術】
【０００２】
本明細書において、言語、自然言語とは日本語、英語等の自然言語を表し、プログラミング言語と明記した場合はＪａｖａ（登録商標）言語のようなプログラミング言語を表す。ソフトウェアはソースファイル中にソースコード文およびコメントとして記述される。本発明ではコメント中で用いる自然言語を対象とし、ソースコード文中の自然言語については問題にしないものとする。
【０００３】
ソフトウェアが開発される際は、備えるべき機能と使用法とを自然言語で記述した仕様に沿って開発される。また、ソフトウェアが他のソフトウェアに機能を提供する場合、その機能の呼び出しインターフェースをＡＰＩと言い、ＡＰＩの説明書はソフトウェアと共に出荷される。本明細書では、仕様及び説明をとりまとめた文書を説明書と呼ぶ。
【０００４】
ソフトウェア開発はグローバル化している。米国や日本のようなソフトウェアの需要地においては開発するソフトウェアの仕様作成のみを行い、開発作業は開発費の低い国で分担して行う形態が一般的になった。このような開発形態はオフショア開発と呼ばれる。また、新製品の研究開発でも世界各地の開発チームが分担してひとつの製品の開発を行うことが多い。
【０００５】
そのような地理的に分散する開発チームの間で高品質のソフトウェアを開発するには、正確な仕様を共有することが必要である。一方の開発チームにおける仕様の変更が正確に他の開発チームに伝達され、他の開発チームのソースコードが変更されなければならない。
【０００６】
仕様、特にＡＰＩの仕様とソースコードの乖離を防ぐため「ドキュメンテーションコメント」というプログラミング言語の機能及びツールが用いられている。ドキュメンテーションコメントは、ソースファイル中に自然言語によるコメントとしてＡＰＩの仕様を記述する方法である。Ｊａｖａ言語では「／＊＊」から始まるコメントがドキュメンテーションコメントであり、Ｃ＃言語では「／／／」で始まるコメントがドキュメンテーションコメントである。一塊のコメントをコメントブロックと呼ぶ。ソフトウェア中に記述されたコメントからＡＰＩ説明書を生成するツールの例としては、Ｊａｖａｄｏｃ、Ｄｏｘｙｇｅｎ、ＫＤＯＣ、ＤＯＣ＋＋といったものがある。
【０００７】
それらのツールでは、ＡＰＩの仕様をソフトウェア中に自然言語によるコメントとして記述するために、図４のようなコメントの「機能を表す符号」を用いる記法を使用する。図４はＪａｖａ言語にドキュメンテーションコメント機能を提供するＪａｖａｄｏｃの使用例であり、例えば、コメント３０４では、引数の仕様を記述するために「＠ｐａｒａｍ」という機能を表す機能符号を用いて「ｒｅｐｅａｔという引数は挨拶繰り返し回数を表す」と記述している。Ｊａｖａｄｏｃコマンドはソースファイルからこの仕様部分を抜粋し、ソースコードとは独立の説明書（ＡＰＩ仕様書）を生成する。
【０００８】
ところで、図４の例の説明は日本語で記述されているため、他国の開発チームのメンバーは理解することができない。共通の言語として英語を設定し、英語でコメントを記述することが多く行われているが、開発者が日常用いる言語を用いることの利点も多い。例えば、日本の開発チーム内では日本語のコメントを、中国では中国語を使用すれば生産性が高い。出荷するソフトウェア製品に各言語の説明書を添付する必要がある場合も多い。
【０００９】
しかし、上記のＪａｖａ言語もＣ＃言語もツールのＤｏｘｙｇｅｎも多国語語によるコメントを適切に扱う機能を有していないため、ひとつのソースファイルの中で各国の開発チームが理解しやすいそれぞれの言語を同時に使用することは困難である。「＃ｉｆｄｅｆ日本語」というようにプリプロセッサを利用して複数の自然言語のコメントを書くことは可能であるが、自然言語が異なるコメントの間の一貫性を保つ仕組みがなく、自然言語間の仕様の不一致やソースコードとの不一致が発生しやすい欠点がある。特に多数の種類の自然言語で説明書を発行する必要がある場合には、編集作業が困難であり、ドキュメントの発行の度に翻訳工程、および各自然言語で書かれたドキュメント間の整合性の確認工程が必要となり、ソフトウェア製品の生産性向上の障害となっている。
【００１０】
プログラム説明書自動生成の技術としては、特許文献１および特許文献２が公知である。特許文献２はオブジェクト指向のソフトウェアにおける説明書作成に関する方法およびプログラムについてのものであり、また特許文献２はプログラムの構造解析に着目した説明書作成の方法についてのものである。しかし、どちらもコメントの記述の自然言語は単一であることを前提としている。
【００１１】
そのような問題を解決するために本発明者等は特許文献３において、コメントが説明するソースコード要素の機能を示す符号の機能符号と各々の自然言語で書かれたコメント文に対して当該自然言語の種類を識別する符号の言語符号とを組み合わせた組合せ符号を付加することにより、希望する自然言語で書かれたコメントを抽出し、その自然言語で記述されたソフトウェア説明書を生成することができるソフトウェア説明書生成システムを提案した。その実施例として複数の自然言語によってコメントを記述したソースファイルを効率よく編集するために、指定の自然言語のみを表示して編集作業を行うエディタの例を示した。
【００１２】
非特許文献１は同様のソースファイルからの説明書生成方法の１つを示唆しており、「たとえば、エディターに指定された言語以外のコメントを折りたたんで表示する機能があればよい」と指摘している。これらの先行技術は、指定した自然言語のコメントを選択的に表示するアイディアに留まっており、編集を効率化する工夫など実装されるには及んでいない。非特許文献２においては、Ｊａｖａｄｏｃの国際化について議論を行い、＜ＬＡＮＧ  ＬＡＮＧＡＧＥ＝ｊａ“＞…＜／ＬＡＮＧ＞のようなタグで区切って言語毎に並べるコメントの記述方法を提案している。議論はＵｎｉｃｏｄｅ等による多国語のエンコード方法の問題点の検討を行っており、編集システムには及んでいない。
【特許文献１】特開２００５−２５８５６１号公報
【特許文献２】特開２００５−１２２４０７号公報
【特許文献３】特開２００７−３４８１３号公報
【非特許文献１】高橋他「Inline tagletを用いたjavadocのNLS化手法」  2006年1月20日公開  http://www.ibm.com/developerworks/jp/ysl/library/java/y-j-inlinetaglet/
【非特許文献２】高木他「multilingualization of javadoc」  1999年6月6日公開  http://java-house.jp/ml/archive/j-h-b/025754.html
【発明の開示】
【発明が解決しようとする課題】
【００１３】
問題となるのは、複数の種類の自然言語で記述されたコメントを含むソースファイルを効率よく間違いなく編集することである。図２は、複数の種類の自然言語で記述されたコメントを含むソースファイルの一例である。多数の種類の自然言語に対応するソースファイルを編集する場合、自然言語の種類を識別する符号とコメントが説明するソフトウェアのソースコード要素の機能を示す符号とを組み合わせた符号が数多く含まれることになる。従来のテキストエディタや統合開発環境のエディタでこの種のファイルに対する編集作業を行う場合には、それぞれの種類の自然言語でコメントを記述する作業に加えて、自然言語の種類毎に適切な符号を付加し、編集の度にそれを維持する必要があるため、その作業の量が増大する。このため、編集作業の効率が低下し、間違いを起こしやすいという問題を生ずる。
【００１４】
更に、従来のプログラム作成用エディタでは、１つのファイル中に複数の自然言語が含まれていることは想定していないため、スペルチェックや検索置換の機能が正常に動作しない。
【００１５】
また、１人の開発者がコメントに使用する全ての自然言語に精通しているとは限らない。英語しか理解できない開発者がソースコードを変更したとすると、英語部分のコメントは修正できるが、日本語や中国語のコメントの修正はできないため、他の自然言語の修正は他の開発者あるいは翻訳者が行わなければならない。その中の誰かがコメントを修正し忘れると、情報が古いままの説明書が生成される。他の開発者がそれを信じて応用プログラムを作成すると、最終製品に不具合が混入し、社会的な事故や人命に関わる事故が起きる可能性がある。従って、翻訳をし忘れることがないように一貫性を維持することが課題である。
【００１６】
しかし、翻訳者を雇いコメントを常に外国語に翻訳するとなると大きなコストが発生する。その予算を賄うことができない開発プロジェクトは多いと思われるため、コストをかけずに他の自然言語に翻訳を行うことも課題である。
【００１７】
近年、プログラム開発においては、文字によるプログラミング言語だけではなく、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）といった図形による表現を行うモデリング言語を使用することも多い。モデリング言語からも説明書を作成するため、複数の自然言語を使用したいという需要があるが、それは実現されていない。
【００１８】
本発明は、上記のような問題を解決するためになされたものであり、本発明の目的は、複数の種類の自然言語でソースコードコメントが記述されたソースファイルを編集する場合において、それらのコメントがどの自然言語で書かれている場合であっても、その自然言語を表す示す符号により識別して、ソースファイルの編集処理を制御することにより、ソースファイル編集作業の効率の向上を図ったソースファイル編集システムを提供することにある。
【課題を解決するための手段】
【００１９】
上記のような目的を達成するため、本発明によるソースファイル編集システムが編集対象とするソースファイルは、プログラミング言語で書かれたソースコード文および当該ソースコード文に対して付与されたコメントを含むソースファイルであり、このソースファイルは、当該ソースファイル内においてソースコード中の要素のあるひとつの機能を説明するコメントが複数の種類の自然言語で記述されており、それぞれの自然言語のコメントの記述に対しては、機能を示す符号の機能符号と自然言語の種類を表す示す符号の言語符号とを組み合わせた機能言語符号が付加されているデータ構造のソースファイルとなっている。
【００２０】
ここで、ソースファイル内において、機能符号と言語符号の組合せ方としては、
（１）機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されている形式、
（２）機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されている形式、
（３）機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されている形式、
のいずれかを指すものとする。
【００２１】
本発明は特定のプログラミング言語や特定の記号の組合せに限定されるものではないが、Ｊａｖａ言語を例にとると、図１９の＜ｊａ＞と＠ｕは（１）の形式の一例、図１７の＠ｕと＠ｊａ及び図１８は（２）の形式の例、図２の＠ｕ．ｊａは（３）の形式の例である。本発明中においては、読みやすさのため、機能符号、言語符号及び組合せ符号のこれらの組合せを総称して機能言語符号と呼ぶ。また、誤解を与えない範囲において単に機能言語符号と書いて、言語符号並びに機能言語符号を代表することがある。
【００２２】
本発明においては、ソースファイル中のこの機能言語符号に基づいて、編集作業を制御する構成とする。これにより、例えば、それぞれの自然言語に対応したソースファイルの編集操作の制御などを行い、編集作業を効率よく行うことができるシステム構成とする。
【００２３】
例えば、利用者があるメソッドに対してコメントブロックを新たに挿入する際に、編集システムの機能として、編集中のソースファイルのコメントで使用している全ての自然言語の種類に対応した機能言語符号が予め付加されたコメントブロックを挿入することや、言語符号なしで機能符号と英語のみでコメントが書かれているコメントブロックにおいて、ソースファイル編集システムが利用者の操作によって英語のコメントに英語を示す機能言語符号を挿入し、同時に他の自然言語のための機能言語符号をも挿入するように構成される。
【００２４】
すなわち、本発明の１つの態様として構成されるソースファイル編集システムは、プログラミング言語で書かれたソースコード文および前記ソースコード文に対して付与されたコメントを含むソースファイル内においてソースコード要素の機能を説明するコメントが複数の種類の自然言語で記述されており、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されているソースファイルをメモリ上に入力する入力処理手段と、前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段とを備えることを特徴とするものである。
【００２５】
また、本発明によるソースファイル編集システムは、第２の様態として、プログラミング言語で書かれたソースコード文および前記ソースコード文に対して付与されたコメントを含むソースファイル内においてソースコード要素の機能を説明するコメントが複数の種類の自然言語で記述されており、前記機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段とを備えることを特徴とするものである。
【００２６】
また、本発明によるソースファイル編集システムは、第３の様態として、プログラミング言語で書かれたソースコード文および前記ソースコード文に対して付与されたコメントを含むソースファイル内においてソースコード要素の機能を説明するコメントが複数の種類の自然言語で記述されており、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、編集中に機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号を挿入する符号挿入手段と、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記組合せ符号を付加してソースファイルとして出力する出力処理手段とを備えることを特徴とするものである。
【００２７】
本発明によるソースファイル編集システムにおいては、更に、ソースコード文の表示または非表示を指示する表示指定手段を備え、前記編集処理手段は、前記表示指定手段によりソースコード文の非表示が指示された場合、ソースコード文を表示することなく編集対象の自然言語のコメントのみを表示画面に表示して編集処理を行うように構成されてもよい。
【００２８】
また、本発明によるソースファイル編集システムにおいては、更に、１つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、前記編集処理手段は、前記言語指定手段により自然言語の種類が指定された自然言語の種類に相当する符号がつけられたコメントが存在しない場合に、所定の自然言語の種類のコメントをメモリから抽出し、抽出されたコメントを前記翻訳処理手段により指定された種類の自然言語に翻訳し、翻訳されたコメントを編集対象として表示画面に表示するように構成されてもよい。
【００２９】
また、この場合に、翻訳の際に訳元として用いるコメントの自然言語の種類をデフォルトで示すための、主たる自然言語の種類を示す符号を入力ソースファイル中に含むように構成されてもよい。
【００３０】
また、この場合に、更に、前記編集処理手段は、機械翻訳によって翻訳処理を行ったコメントについて、コメントが機械翻訳により翻訳されたことを示す符号を付加してメモリ上に格納するように構成されてもよい。
【００３１】
また、本発明によるソースファイル編集システムにおいては、更に、前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新表示符号を含み、前記編集処理手段は、前記更新表示符号がかかる範囲のテキストを強調表示して編集作業を行うように構成されてもよい。
【００３２】
また、本発明によるソースファイル編集システムにおいては、前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新表示符号を含み、前記編集処理手段が、当該ソースファイルの更新の履歴を管理するために更新表示符号を追加もしくは削除するように構成されてもよい。
【００３３】
また、本発明によるソースファイル編集システムにおいては、更に、前記ソースファイルを格納するソースファイル格納管理手段を含み、前記入力処理手段が、前記ソースファイル格納管理手段からソースファイルを入力し、前記出力処理手段が、出力するソースファイルを前記ソースファイル格納管理手段に格納するように構成されてもよい。
【００３４】
また、本発明によるソースファイル編集システムにおいては、更に、前記ソースファイルを格納して当該ソースファイルの更新の履歴を管理するソースファイル格納管理手段を含み、前記入力処理手段が、前記ソースファイル格納管理手段からソースファイルを入力し、前記出力処理手段が、出力するソースファイルを前記ソースファイル格納管理手段に格納するように構成されてもよい。
【００３５】
また、本発明によるソースファイル編集システムにおいては、更に、編集者が通常使用するデフォルトの自然言語の種類を、編集者に対応づけて記憶保持する使用自然言語種類記憶保持手段と、前記編集手段において、編集者が編集作業を行う際に、デフォルトの使用自然言語の種類を前記記憶保持手段に保持された情報を用いて編集者に対応づけて設定し、編集対象の自然言語の種類を決定し編集を行うように構成されてもよい。
【００３６】
また、本発明によるソースファイル編集システムにおいては、更に、コメントの自然言語の種類を表示する自然言語種類表示手段と、コメントの自然言語の種類を追加あるいは削除する自然言語追加削除処理手段を備え、前記自然言語追加削除手段により追加・削除したい自然言語に対応するコメント中の言語符号を一括して追加・削除を行うように構成されてもよい。
【００３７】
また、本発明によるソースファイル編集システムにおいては、更に、ソースファイル内の語句について検索置換操作を行う検索置換処理手段を含み、検索対象の自然言語の種類を指定する検索対象自然言語種類指定手段を含み、前記検索置換処理手段が語句を検索する際に、自然言語の種類を示す言語符号を識別することにより、前記検索対象自然言語種類指定手段により指定された自然言語で記述されたコメントのみを検索対象として検索置換操作を行うように構成されてもよい。
【００３８】
また、本発明によるソースファイル編集システムにおいては、更に、ソースファイル内のコメント部分に記述された文章の自然言語的な正当性について検証を行う検証処理手段と、検証を行う自然言語の種類の指定を行う検証対象自然言語種類指定手段を含み、前記検証処理手段が文章について検証する際に、自然言語の種類を示す言語符号を識別することより、前記検証対象自然言語種類指定手段に自然言語の種類を設定するように構成されてもよい。
【００３９】
また、本発明によるソースファイル編集システムにおいては、前記編集処理手段は、文字に加えて図形で表示画面に表示して編集処理を行うように構成されてもよい。
【発明の効果】
【００４０】
上記のように構成される本発明のソースファイル編集システムによれば、ここで編集されたるソースファイルには、自然言語の種類を示す言語符号あるいは自然言語の種類を含む組み合せ符号が含まれる複雑な構造であるにもかかわらず、本発明によるソースファイル編集システムが利用者の指示により、機能と共に自然言語の種類を示す機能言語符号を挿入するため、機能言語符号を手で入力する手間がかからない。
【００４１】
また、本発明によるソースファイル編集システムにおいて、ソースコード文の非表示を指示することにより、編集する必要の無いソースコード部分を編集者に対して隠し、コメント部分のみを編集対象とすることができる。このことにより、コメントを編集中に誤ってソースコード部分を書き換えてしまうことを防止することができる。
【００４２】
また、本発明によるソースファイル編集システムにおいて、ソースファイルに対して機械翻訳を適用すれば、先に述べたデータ構造で自然言語の種類を示す符号、およびデフォルトの訳元言語を示す符号に基づいて適切に翻訳されたコメントを編集者に対して提示することができる。また、機械翻訳の信憑性が高くない場合には、機械翻訳によるコメント文であることを示す符号を挿入することで、コメントの翻訳文の正確性を確認すべきであることを示すことが可能になる。また、機械翻訳を用いれば翻訳者にかかるコストを削減することができる。
【００４３】
また、本発明によるソースファイル編集システムにおいては、更新があった旨を示す符号が付加されたソースファイルを入力した際に、その更新符号にかかる部分を協調表示することができる。これにより、編集者は更新があったことを気づきやすくなり、編集作業の効率が向上する。
【００４４】
また、本発明によるソースファイル編集システムにおいては、編集作業を行った際に、編集操作に応じて、更新符号を適切に挿入または削除する。そのため、更新符号を選択し挿入する作業、また、適切に管理する作業を一部自動化し少なくすることができる。これにより、編集作業の効率が向上する。
【００４５】
また、本発明によるソースファイル編集システムにおいては、例えばファイルシステムを用いたソースファイルの格納管理を行うことにより、一つのソースファイルに対する複数人での編集作業を行いやすくすることが可能である。また、作業によるソースファイル更新の履歴管理を行うことで、誰が何時どのような修正を行ったのかを記録しておき、必要に応じて確認することができる。
【００４６】
また、本発明によるソースファイル編集システムにおいては、編集者に対応付けて使用する自然言語の種類を保持記憶することができるため、編集者は常に自分の好きな自然言語で編集を開始することができる。このため、編集作業の効率が向上する。
【００４７】
また、本発明によるソースファイル編集システムを用いることにより、編集の作業に対応して適切に、機能を示す符号と自然言語の種類を示す符号とを組み合わせた組合せ符号もしくは自然言語の種類を示す符号を選択し挿入する作業、また、適切に管理する作業を一部自動化し、作業を少なくすることができる。これにより、編集作業の効率が向上する。
【００４８】
また、本発明によるソースファイル編集システムを用いることにより、複数の自然言語が含まれるソースファイルにおいて、適切に各自然言語ごとの検索置換の作業やスペルチェック・文法チェックの作業が行えるようになる。
【００４９】
また、本発明によるソースファイル編集システムを用いることにより、例えばＵＭＬのような図形で記述されるモデリング言語に対するコメントについても、複数の自然言語を選択的に表示して編集者に提示できる。
【発明を実施するための最良の形態】
【００５０】
以下、本発明を実施する場合の形態について、具体例に基づき説明する。実施例の説明において、ソースファイル編集システムは、コンピュータ（もしくはより広く言うと情報機器）上で実行されるソフトウェア（プログラム）がインストールされることにより、それぞれに処理手段として機能するシステム要素が実現されてシステムが動作する。ここでのファイルとは、コンピュータの記憶装置に格納される電子ファイルを想定している。説明文の中で「メモリ」と単に言う際は、記憶手段一般のことを指す。例としては、コンピュータの半導体メモリ、ハードディスク装置、ネットワーク上のサーバなどがあるが、これらに限定されるものではない。
【００５１】
ソースファイル編集システムが入力とするファイルの、機能言語符号を用いて複数の自然言語でコメントが記述されたソースファイルは、２次記憶や他の計算機からネットワークを介して入力される場合と、利用者がキーボード等の入力装置から入力する場合がある。文字コードとしてはどのようなものでもよいが、文字コードの例としてはＵｎｉｃｏｄｅ文字セット（ＩＳＯ  １０６４６）、文字符号化方式の例としてはＵＴＦ−８（ＲＦＣ  ３２６９）が一般的である。
【００５２】
前述のように、ソースファイル内の文法構造において、機能符号と言語符号の組合せ方としては、
（１）機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されている形式、
（２）機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されている形式、
（３）機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されている形式、
のいずれかを指すものとし、機能言語符号と総称する。以下ではＪａｖａ言語のＪａｖａｄｏｃに似た形式により説明する。なお、他のコメント形式、例えば、ＸＭＬ形式であっても本発明は適用可能である。
【００５３】
まず、図２に（３）の形式の、機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されている形式の例を示す。ソースファイル２００中のコメント２０４において、「コメントの意味を機能を示す符号」である「＠ｐａｒａｍ」タグは、Ｊａｖａｄｏｃにおいては、メソッドの引数についての説明を行うコメントに先立って付与されるタグでありである。（３）の形式においては、複数の種類の自然言語に対応するため「＠ｐａｒａｍ」タグに対して、自然言語の種類を示す符号を組み合わせて、その組合せ符号を用いる。即ち、日本語を表す符号ｊａと組み合わせた組合せ符号「＠ｐａｒａｍ．ｊａ」は、日本語によりパラメータの説明を示す組合せ符号である。同様に、韓国語を表す符号ｋｏと組み合わせた「＠ｐａｒａｍ．ｋｏ」タグ、中国語を表す符号ｚｈと組み合わせた「＠ｐａｒａｍ．ｚｈ」タグが記載されている。これらの組合せ符号により、それぞれのコメントが、メソッドの引数についての説明であって、更に、それぞれの自然言語のコメントであると識別することができる。英語については、ここでは主たる自然言語（デフォルト）とし、標準的な「＠ｐａｒａｍ」タグを用いている。同様に、コメントブロック２０１では、このクラスの概要説明を４つの自然言語で記述している。
【００５４】
図１７は（２）の形式の、機能を表す示す機能符号に続いて自然言語の種類を示す言語符号が付加されている形式の例であり、これも本発明のソースファイル編集システムの有効な実装である。ソースファイル２１００内のコメント２１０４においてパラメータを説明する機能符号である「＠ｐａｒａｍ」に続いて、自然言語の種類を示す言語符号である「＠ｊａ」，「＠ｋｏ」，及び「＠ｚｈ」が付加されている。ここでは実装が容易な例として、コメントの一部分を解釈が容易なように左括弧“｛”と右括弧“｝”で囲む形式であるＪａｖａｄｏｃのインラインタグという文法を用いている。例えばＪａｖａ開発環境であるＥｃｌｉｐｓｅのエディタを構成する抽象構文木パーサを用いると、｛＠ｊａ  挨拶繰り返し数｝の部分をＴａｇＥｌｅｍｅｎｔとして容易に抽出可能である。
【００５５】
図１８には、（２）の形式のもう一つの例を示す。ソースコード２２００の中における、コメント２２０３および２２０４においては、各自然言語のコメントを、＜ｊａ＞＜／ｊａ＞といったタグを言語符号として用いて、記述したコメントを囲んで示している。この構造においても、自然言語の種類とコメントの対応関係は明白であるため、本発明の効果を得ることができる。
【００５６】
図１９は（１）の形式の、機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されている形式の一例である。ソースコード２３００の中における、コメント２３０３および２３０４においては、＜ｊａ＞＜／ｊａ＞といったタグを言語符号として用いて、コメント２２０３および２２０４とは違った範囲のコメントを囲んで示している。この構造においても自然言語の種類とコメントの対応関係は明白であるため、本発明の効果を得ることができる。
【００５７】
本発明に係るソースファイル編集システムにおいては、このような機能言語符号を用いることにより、複数の種類の自然言語のコメントの編集作業および生成を効率化することができるものとなる。プログラム開発を行うプログラマがソースコードの編集中においても、これらの符号を用いることにより、異なる種類の、また複数の種類の自然言語で書かれたコメントを提示することができる。
【００５８】
図１は、本発明の実施例に係るソースファイル編集システムの構成例を示す図である。図１において、１０１は編集対象ソースファイル、１０２はソースファイル編集システムである。編集対象ソースファイル１０１は、２次記憶等から入力処理部１１によりソースファイル編集システム１０２内に読み込まれる。コメント抽出処理部１３は、読み込んだソースファイルを解釈して、機能言語符号に基づいてソースコード文と複数の種類の自然言語で記述されたコメントを対応付けて内部的なドキュメントモデルを作成し、図示されないメモリに格納する。このようにメモリ上に読み込まれたソースファイルは、表示処理部１８により、システムの使用者（編集者）に対して編集作業を行う上での適切な表示形態で、ディスプレイ装置などの表示デバイスを用いて提示される。編集処理部１９は、編集者が行う編集作業の全般の処理および制御の処理を実行する処理モジュールである。ここでいう編集処理部１９が行う編集処理は、ソースファイルに対する変更（追加・削除を含む）の処理である。編集作業は、図示されていないがキーボードやマウスなどのヒューマンマシンインタフェースとなる入力装置を用いて行われる。利用者が複数の自然言語を使い分ける際は、符号挿入部２７が適切な機能言語符号を挿入する。編集処理の作業の終了後、出力処理部１５は、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、機能言語符号を付加して、ソースファイルとして出力する。
【００５９】
このように、本発明に係るソースファイル編集システムは、入力処理部１１、表示処理部１８、編集処理部１９、符号挿入部２７、出力処理部１５を基本的な要素として構成されるが、これに加えて、更に、編集対象となる自然言語の種類を選択するための編集対象自然言語選択部１７、複数の種類の自然言語で書かれたコメントを抽出処理するためのコメント抽出処理部１３、異なる自然言語間での翻訳作業を行う翻訳処理部１４、自然言語文法・スペルチェックを行うための検証処理部１６、ソースファイル格納管理部１２、使用自然言語種類記憶保持部２１、自然言語種類表示部２２、自然言語追加削除処理部２３、検索置換処理部２４、検索対象自然言語種類選択部２５、および検証対象自然言語種類選択部２６が、必要に応じて設けられたシステム構成とされる。
【００６０】
ソースファイル編集システムの内部においては、ソースファイルは、構造化されたデータであるＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）あるいは抽象構文木として保持されることが望ましい。入力時にＤＯＭとして構造化されたデータは、毎回構文解析を行うことなく編集・参照・抽出・出力等の処理を行うことができる。本発明に係るソースファイル編集システムが使用するＤＯＭは自然言語の種類を判別可能なＤＯＭである必要がある。図３に示すデータ構造の例は、ソースファイル２００をシステム内に読み込み、構文解析してＤＯＭを生成した際の、データ構造の例を示している。このような木構造により、文書（ＤＯＭ）に関する処理を記述するプログラマは、容易にかつ直感的に、処理対象の文書要素へのアクセスを得ることができるものとなる。
【００６１】
文書要素２００１は、ソースファイル全体を示す。クラス定義は、文書要素２００２として、メソッドは文書要素２００３として、引数は文書要素２００４として格納されている。更に、クラスの記述を示す文書要素２００２に対して、英語でのコメント要素が文書要素２０１２として格納されている。また、日本語でのコメントが文書要素２０２２として、韓国語でのコメントが文書要素２０３２として、中国語でのコメントが文書要素２０４２としてそれぞれ格納されている。このような形式のデータ構造によって、複数の種類の自然言語でコメントが記述されたソースファイルを適切に編集・処理することが可能となる。
【００６２】
次に、ソースファイル編集システム１０２に、前述したような文法構造の複数自然言語でコメントされたソースファイル２００が入力された場合を例として、その後の編集作業の一例について説明する。
【００６３】
効率よく編集を行うためには、編集作業の操作の行いやすさが重要であり、特に複雑になりがちな機能言語符号の使い分けを適切に行うことが必要である。本発明のソースファイル編集システムにおいては、機能言語符号を容易に挿入する機構（編集処理部１９、符号挿入部２７）が設けられている。この機構の制御による編集処理の例として、編集作業を行った際のソースファイルへの適切な符号の挿入に関する操作例について説明する。
【００６４】
図２２の画面２６０１は利用者がメソッドｓａｙに関するコメントブロックを記述しようとしている画面である。矢印はカーソルを表している。ここで、コメントブロックの挿入を指示するキー操作（ＥｃｌｉｐｓｅではＡＬＴ−ＳＨＩＦＴ−ｊ）あるいはマウス操作を行うと、画面２６０２のようにコメントブロック２６０３が挿入される。ここで特徴的であるのは、コメントブロックが機能符号および使用している自然言語の言語符号を既に含んでいることである。これは編集処理部１９からの指令により符号挿入部２７がソースファイル内のコメントで使用中の自然言語の種類を調べて、対応する機能言語符号を生成してソースファイルに挿入することにより実現される。
【００６５】
図２３の画面２７０１は利用者がパラメータ「ｒｅｐｅａｔ」の説明を入力しようとしている場面である。１つの実装としては、特定のキー操作を行うと、例えば、半角・全角キーを押して日本語入力をオンにすると、画面２７０２のように自動的に｛＠ｊａ｝という言語符号２７０３が挿入される。これは、利用者が日本語を入力することを符号挿入部２７が検知し、日本語を示す機能言語符号を挿入する動作によって実現される。言語符号ではなく、機能と言語を示す組合せ符号の場合も同様に実現される。また、言語符号の挿入の契機としては、他に利用者の入力が言語符号の挿入を必要とする箇所にさしかかった場合に、自動的に挿入を行う実装も考えられる。
【００６６】
図２４の画面２８０１では既に英語により記述されているパラメータｒｅｐｅａｔの説明箇所において、利用者が他の自然言語による説明を追加しようとしている場面である。利用者の特定のキー操作により、画面２８０２のように、符号挿入部２７はカーソルが指しているコメントの自然言語が英語であることを認識し、コメント２８０３のように英語及び他の自然言語のための言語符号を挿入する。英語であることの認識は、主たる自然言語が英語であり、画面２８０１のコメントには言語符号が付加されていないこと、英語の単語が並ぶことから容易に認識処理が可能である。あるいは、利用者に選択肢を示し、自然言語を選ばせることも１つの方法である。
【００６７】
編集中には、ひとつないし少数の所望の自然言語のみを対象として効率よく編集したい場合もある。利用者が編集対象自然言語選択部１７により編集対象とする自然言語の種類を指示し、ソースコード文と共に指定された種類の自然言語のコメントのみを表示画面に表示して、編集処理を行うよう構成されても良い。
【００６８】
図４および図５は、ソースファイル編集システムの編集画面において、それぞれ日本語のみ、韓国語のみを表示した編集画面の例を示す図である。図６は、ソースファイル２００から日本語と英語のコメントに相当する部分だけを抽出し編集者に対して表示された編集画面の一例を示す図である。この場合、日本語と英語の間の翻訳作業を編集者が行う場合に、他の言語を非表示として作業を行うことができるため、より効率的な作業を行うことができる。
【００６９】
また、表示処理部１８では、編集処理にともなう表示画面の表示制御の処理を行うが、利用者の指示によりソースコード文の表示または非表示を変更できる。編集処理部１９によりソースファイルの編集処理を行う場合に、例えば、ソースコード文の非表示が指示された場合には、表示画面にソースコード文を表示することなく、編集対象の自然言語のコメントのみを表示画面に表示して編集処理を行う。図７は、日本語と英語のコメントのみを表示すると共にソースコードを非表示とした編集画面の一例を示す図である。図７の編集画面の例は、図６と同様に、ソースファイル２００について、日本語と英語のコメントに相当する部分だけを表示し、更にソースコード部分を非表示として、編集者に対して提示した表示画面の一例を示している。ソースコード部分を非表示とすることにより、コメント部分の翻訳のみを行う作業者が誤ってソースコード部分を編集してしまうことを未然に防ぐことができ、結果として編集作業の効率の向上につながる。
【００７０】
ソースファイルに、指定された自然言語の種類に相当する符号がつけられたコメントが存在しない場合に、編集処理部１９では、予め定められた自然言語の種類（デフォルトで指定されている）のコメントをメモリから抽出し、抽出されたコメントを翻訳処理部１４により指定された種類の自然言語に機械翻訳し、翻訳されたコメントを編集対象として表示画面に表示するようにして編集作業を行う。
【００７１】
なお、ソースファイルには、機械翻訳の際に訳元として用いるコメントの自然言語の種類をデフォルトで示すための主たる自然言語の種類を示す符号を含まれており、この符号に基づいて処理が進められる。また、コメントに付ける組合せ符号には、更に、コメントが更新を必要とする旨の符号が含まれており、編集処理部１９では、コメントが更新を必要とする旨の符号に基づいて、ソースファイルにおいて更新が必要な箇所もしくは更新が必要な書類の自然言語のコメントを編集対象として表示画面に表示する。なお、検証処理部１６は、作成されたコメントのスペルチェックおよび文書校正などの編集処理部１９におけるコメントの文書作成の処理を支援する処理を行う。
【００７２】
図８は、ソースファイルの編集作業中において日本語を編集対象言語としてコメントを修正する操作を説明する図である。また、図９は、日本語入力モードにおけるコメントの修正が元のソースファイルに反映された編集結果の一例を示す図である。図８において、表示画面８００および表示画面８１０はそれぞれ、ソースファイル２００の編集作業中における修正前の表示例および修正後の表示の例を示している。修正前の表示画面８００において、修正作業がコメントブロック８０１に対して行われて、修正後の表示画面８１０のコメントブロック８１１のように書き換えられたとする。すなわち、コメントブロック８０１におけるコメント文の“こんにちはクラス”が、コメントブロック８１１におけるコメント文の“「こんにちは」を表すクラス”にように書き換えられたとする。
【００７３】
その場合、ソースファイル格納管理部１２のメモリ上において、ソースファイルのコメントブロックに対する変更が、上記のように修正されると、図９に示すようなソースファイル９００となる。変更があった部分に相当するコメントブロック９０１においては、「＠ｕ．ｊａ」の符号とともに保持されている日本語のコメントが変更される。
【００７４】
ここで問題となるのが、修正された場合に、それぞれの言語で書かれたコメントの表す意味の一致／不一致である。そのため、修正が行われた日本語以外の自然言語で記述されたコメントに付加された符号に対して、編集処理部１９が「／ｕｐｄａｔｅ」というタグを付加して、「修正があった・もしくは修正（確認）が必要である」という意味を示す符号とする。これにより、修正（確認）が必要なコメントであることを指示しておくことが可能となる。このタグを付加する制御は、複数の種類の自然言語でコメントが記述されたソースファイルの編集において、適切に修正箇所を管理していくために有用である。タグを表示する文字列「／ｕｐｄａｔｅ」は、一例であり他の文字でもよい。
【００７５】
図１０は、日本語入力モードにおけるコメントの追加・修正を、更に機械翻訳により他の自然言語のコメントに反映されたソースファイルの一例を示す図である。すなわち、図１０は、前述のようにして行われた日本語コメントにおける変更により、各自然言語間で不一致が生じた部分につき、機械翻訳による補完を行った例を示している。
【００７６】
コメントブロック１２０１の“こんにちはクラス”を“「こんにちは」を表すクラス”に変更したことに伴い、日本語以外の言語のコメントについては、「／ｕｐｄａｔｅ」の符号が付加されていたのみであったが、この「／ｕｐｄａｔｅ」の符号が付加されていた箇所について、「／ｕｐｄａｔｅ」の符号が付加されていない日本語のコメントの箇所からコメントの機械翻訳を行い、それぞれの種類の自然言語のコメントを編集して付加している。
【００７７】
これらのコメントについては、翻訳者の作業により意味の不一致を解消することも可能であるが、この実施例のシステムでは、よりコストをかけずに意味の一致を行うために機械翻訳を用いての編集作業とする。また、コメントの修正の行われた時点での機械翻訳の不確実性を鑑みて、コメントブロック１２０１における機械翻訳の結果においては、「／ｍｔ」の符号を付加することによって、ここで修正されたコメントが機械翻訳による結果であることを明示している。
【００７８】
機械翻訳の不確実性を鑑みると、何らかの形で人間の翻訳者などによる機械翻訳結果の監査が必要となる。これに対しては、例えば、翻訳結果の監査の結果を示す符号の操作により対応することができる。図１１は、機械翻訳の結果を承諾したソースファイルの一例を示す図である。図１０に示したソースファイル１２００と、図１１のソースファイル１３００とを比較すると、機械翻訳した結果であり、翻訳結果の監査の前の状態であることを示す「／ｍｔ」の符号が編集処理部１９により取り除かれている。また、ここでのソースファイル１３００においては、全ての「／ｍｔ」符号が取り除かれているが、必ずしも全ての符号を一度に取り除く必要はなく、一つ一つの「／ｍｔ」符号について承認の作業を行うことも可能である。
【００７９】
また、先に説明した「修正があった・もしくは修正（確認）が必要である」という意味を示す符号としている「／ｕｐｄａｔｅ」符号に関して、適切な説明をその部分に補完する作業が終了したことを確認した場合は、「／ｍｔ」符号と同様に、承認の操作を行うことにより、符号を取り除くように、ソースファイル編集システムが処理を行うことが可能である。
【００８０】
図１２は、編集対象の自然言語としてドイツ語とイタリア語によるコメントが新規に追加されたソースファイルの例を示す図である。図１２に示すように、ここでのソースファイル１４００においては、編集されたコメントブロック１４０１およびコメントブロック１４０６の中に、その編集内容に応じて適切に「＠ｕ．ｉｔ／ｍｔ」、「＠ｕ．ｄｅ／ｍｔ」の符号が挿入されていることがわかる。この例に示すように、更に機械翻訳を用いて、相当するコメントが生成されて追加されている。この場合のように、これまでに編集作業を行った中間状態を表す示すための符号が適切に選択されて付加される。このため、後に編集作業を行う編集者（利用者）は、付加された編集の中間状態を表す示す符号により、その後の編集作業を能率よく継続して行うことができる。
【００８１】
こうした、複数の自然言語が入り交ざった開発は、必然的に何人かの開発者・翻訳者が一つのファイルに対して編集作業を行うものになる。そのような共同作業を支援するものとして、ソースファイル格納管理部１２が設けられている。ソースファイル格納管理部１２は、例えば、ハードディスク上のファイルシステム、データベースで構成される。また、ネットワークを介したファイルサーバーとして用いれば、共同作業の効率が向上する。
【００８２】
また、ソースファイル格納管理部１２を構成する際に、例えばＣＶＳ（Ｃｏｎｃｕｒｒｅｎｔ  Ｖｅｒｓｉｏｎ  Ｓｙｓｔｅｍ）やＳｕｂｖｅｒｓｉｏｎのような、ソフトウェア開発におけるソースコードのバージョン管理システムを用いることも可能である。その場合は、ソースファイル更新の履歴を適切に格納管理することができる。本発明のソースファイル編集システムの入力処理部１１はソースファイル格納管理部１２からソースファイルを読み込み、また、出力処理部１５はソースファイル格納管理部１２にソースファイルを格納する。
【００８３】
これまで、本発明に係るソースファイル編集システムにおいて、複数の種類の自然言語で記述されたソースファイルに対して編集を行う際の作業効率向上に関する機能を説明したが、これらの編集の作業を行う場合において、翻訳者による翻訳作業は人手によるものであるので、スペルの間違いや、文法上明らかにおかしい文章を作成してしまうなど、何らかのミスが混入する可能性がある。これに対しては、本発明のソースファイル編集システムでは、通常の文書編集システムと同様な検証機能を備えるように構成される。
【００８４】
図１４は、複数の種類の自然言語で記述されたソースファイルに対して文法・スペルチェックを行った結果の表示例を示す図である。本発明に係るソースファイル編集システムにおいては、検証処理部１６がソースファイルに対して文法・スペルチェックを行う。この検証処理部１６による処理は、ソースファイルのコメント中に含まれる自然言語の種類を表す示す符号を識別して、文法・スペルチェックの対象自然言語を検証対象自然言語種類選択部２６により選択し、適切な自然言語の文法・スペルチェックを行う処理である。従来においては、複数の種類の自然言語により記述されていたテキストファイル全般において、一括して文法・スペルチェックを行うことが不可能であったが、本発明に係るソースファイル編集システムにおいては、検証処理部１６が、ソースファイルのコメント中に含まれる自然言語の種類を表す示す符号に対応して、その対応の自然言語の文法・スペルチェックを行う検証サブシステムを起動し、適切にコメントの文法・スペルチェックを行う。
【００８５】
スペルチェックの結果は、表示処理部１８により、例えば、図１４に示す表示画面１６００のコメントブロック１６０１の表示例のように表示される。スペル間違いの箇所を表示する場合、ここに例示するように、間違いのある単語に対して、下波線をつけて表示する。これにより、編集者に対して間違いであることの提示が行われる。間違いの提示の方法としては、この他に、表示画面１６００のテキスト表示部の側方にサイドバー１６０７を表示して、この表示されたサイドバー１６０７の中に、間違いのある行を示す形で提示するような形態であってもよい。また、間違いのある場所について、色づけ（ハイライト）、フォントの変更などにより提示を行うことも可能である。
【００８６】
なお、本発明のソースファイル編集システムにおいて、検証処理部１６が提供する文法・スペルチェックの作業を行う機能は、本発明に係るソースファイル編集システムのシステム内に含有する必要は必ずしもなく、例えば、ネットワークを介して外部の文法・スペルチェックを行うソフトウェアコンポーネント・アプリケーション・サービスを利用するようなシステム構成としてしてもよい。
【００８７】
図１５は、アップデートが必要な箇所を強調して表示した表示画面の一例を示す図である。この表示例では、このような強調表示を、「／ｕｐｄａｔｅ」の符号がついているコメント要素、すなわち更新が必要である部分に適用した表示例である。図１５において、コメントブロック１７０１およびコメントブロック１７０６には、「／ｕｐｄａｔｅ」の符号がついているコメント要素が強調表示されており、サイドバー１７０７にその部分がわかりやすいように示されている。これらの表示形態をとることによって、編集者、翻訳者、文書進捗管理者（マネージャ）などが、更新な必要な場所を視認しやすくなり、作業効率の向上が図られる。
【００８８】
図１６は、複数の自然言語でコメントされたＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）を扱う開発環境の表示画面の一例を示す図である。上述した本発明に係るソースファイル編集システムの構成は、ソフトウェア開発環境においてＵＭＬ図を編集するエディタにおいても、適用が可能である。
【００８９】
図１６に示す編集画面１８００の表示例は、その例を示している。ＵＭＬ図を編集するクラス図の編集画面１８００においては、Ｈｅｌｌｏクラスを表す図形１８０１、Ｈｅｌｌｏクラスに対して付加されているコメントを表示する表示ブロック１８０２が表示されている。この編集画面１８００においては、このクラス図を編集する画面の右側に編集対象自然言語の種類を表示し選択するための領域１８０３に、その制御を行うＧＵＩ部品が更に表示されている。編集対象とする自然言語を指示するため、アイコンの機能を提供する制御ボタンが表示されており、ここでは、日本語（ｊａ）が選択されている。なお、言語を選択する手段は、このようなアイコンでなくてもかまわない。例えば、ドロップダウンリストなどの一般的なＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を用いることもできる。そのため、クラスに対して付記されたコメントは日本語のものが表示されている。これは、図２に対して、図４の表示が行われていることと同じ関係にある。別の言語が選択された際には、その言語でのコメントの表示が行われ、ソフトウェア開発の助けとなり、ソフトウェア開発効率の向上を図ることが可能である。
【００９０】
ある自然言語においてコメントを挿入する際は、符号挿入部２７によって適切な言語符号が挿入されるため、言語符号を入力する手間が軽減される。
【００９１】
このようにして編集されて作成された複数の種類の自然言語でコメントされたＵＭＬ図からは、出力処理部１５における選択的出力処理により、編集者が指定する自然言語のみでコメントされたＸＭＩ（ＸＭＬ  Ｍｅｔａｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅ）を出力することができる。ＸＭＩはＵＭＬ図を他と互換性のある形式であるため、他のソフトウェア開発ツールとの協働が可能である。
【００９２】
通常、編集者がこのような複数の自然言語で書かれたファイルを編集開始する際に、編集対象となる自然言語をシステムに対して指示する必要がある。本発明のソースファイル編集システムにおいては、編集者が通常使用する自然言語の種類を記憶しておくことにより、毎回編集対象の自然言語を指示する手間を無くし、編集の効率を向上する。使用自然言語種類記憶保持部２１は、使用する自然言語の種類を編集者に対応付けて記憶保持するために用いる。
【００９３】
編集作業を行う際、ソースファイル内に異なる自然言語によって記述された多くのコメントが含まれているため、どの自然言語が使われているかを知ることは困難である。また、新たな自然言語の種類を加えたい場合、ソースコードの中の全ての機能の説明にそれぞれその自然言語によるコメントを加える作業が必要となる。
【００９４】
図２０は、ソースファイルにおいて使用する自然言語の種類を表示した例を示している。自然言語種類表示部２２は自然言語の種類を記憶あるいは数え上げることによって、言語種類表示フィールド２４０１にソースファイル中のコメントで使用されている自然言語の種類を表示する。また、追加ボタン２４０２あるいは削除ボタン２４０３のボタンを押すことにより、自然言語追加削除処理部２３によって、自然言語の種類を追加あるいは削除することができる。
【００９５】
ここにあるように機械翻訳の訳元として用いるデフォルトの自然言語を既定として表示してもよい。追加ボタン２４０２の追加機能により、新規の自然言語を追加すると、ソースファイル編集システムによりソースコードの中の全ての機能の説明に追加した自然言語によるコメントを加える作業が自動的に行われる。削除ボタン２４０３の削除機能により、ソースファイル編集システムは削除を指定した自然言語によるコメントを一括して削除する。図１３は、ソースファイルから編集対象の自然言語の種類として韓国語および中国語を削除したソースファイルを示す図である。このように符号の挿入・削除の手間は大幅に軽減される。
【００９６】
図２１は、本発明のソースファイル編集システムにおいて、メモリ上のソースファイルに対して検索置換操作を行うためのダイアログの表示例を示している。言語指定フィールド２５０４により自然言語の種類を検索対象自然言語種類選択部２５へと指定した上で、検索置換処理部２４によって検索もしくは置換操作が行われる。入力フィールド２５０１により検索語の指定を行い、置換操作を行う場合は入力フィールド２５０２に置換語を指定し、検索開始ボタン２５０３により検索置換操作を実行する。
【００９７】
通常の編集システムであれば、検索置換対象となる自然言語は単一である。しかし、本発明のソースファイル編集システムにおいては、ソースファイル中に含まれて検索置換対象となる自然言語は複数である。特に置換操作を行う際に、アルファベットを同じくする他の自然言語において、編集者が意図しない置換が起こる可能性がある。そのため、本発明においては、検索置換対象とする自然言語を指定可能として、そのような問題を回避することが可能であり、複数自然言語で書かれたソースファイルの編集効率を向上することができる。
【産業上の利用可能性】
【００９８】
本発明によるソースファイル編集システムは、別の形態として、図１における、出力処理部１５はソフトウェア説明書生成器として機能させることもできる。また、本発明に係るソースファイル編集システムは、更に別の形態として、複数人がひとつのファイルを協調して編集できるシステムとしてシステムを構築することもできる。このようなシステムを構築すれば、同時もしくは流れ作業で、複数の編集者が一つのファイルを編集することにより、チームワークでの作業の効率向上につながる。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施例に係るソースファイル編集システムの構成例を示す図である。
【図２】編集対象となる入力ソースファイルの詳細を例示する図である。
【図３】メモリ上の複数の種類の自然言語に対応したソースファイルのデータ構造の一例を説明する図である。
【図４】ソースファイル編集システムの編集画面において日本語コメントのみを表示した編集画面の一例を示す図である。
【図５】ソースファイル編集システムの編集画面において韓国語コメントのみを表示した編集画面の一例を示す図である。
【図６】ソースファイルから日本語と英語のコメントに相当する部分だけを抽出し編集者に対して表示された編集画面の一例を示す図である。
【図７】日本語と英語のコメントのみを表示すると共にソースコードを非表示とした編集画面の一例を示す図である。
【図８】ソースファイルの編集作業において日本語を編集対象言語としてコメントを修正する操作を説明する図である。
【図９】日本語入力モードにおけるコメントの修正が元のソースファイルに反映された例を示す図である。
【図１０】日本語入力モードにおけるコメントの追加・修正を、機械翻訳により他の自然言語のコメントに反映されたソースファイルの一例を示す図である。
【図１１】機械翻訳の結果を承諾したソースファイルの一例を示す図である。
【図１２】編集対象の自然言語としてドイツ語とイタリア語によるコメントが新規に追加されたソースファイルの例を示す図である。
【図１３】ソースファイルから編集対象の自然言語の種類として韓国語および中国語を削除したソースファイルを示す図である。
【図１４】複数の種類の自然言語で記述されたソースファイルに対して文法・スペルチェックを行った結果の表示例を示す図である。
【図１５】アップデートが必要な箇所を強調して表示した表示画面の一例を示す図である。
【図１６】複数自然言語でコメントされたＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕｇｅ）を扱う開発環境の表示画面の一例を示す図である。
【図１７】編集対象となる入力ソースファイルのもう一つの例を示す図である。
【図１８】編集対象となる入力ソースファイルのもう一つの例を示す図である。
【図１９】編集対象となる入力ソースファイルのもう一つの例を示す図である。
【図２０】ソースファイル中に含まれる自然言語種類の表示例を示す図である。
【図２１】検索置換操作画面の表示例を示す図である。
【図２２】符号の挿入の例を示す図である。
【図２３】符号の挿入の例を示す図である。
【図２４】符号の挿入の例を示す図である。
【符号の説明】
【０１００】
１１  入力処理部
１２  ソースファイル格納管理部
１３  コメント抽出処理部
１４  翻訳処理部
１５  出力処理部
１６  検証処理部
１７  編集対象自然言語選択部
１８  表示処理部
１９  編集処理部
２１  使用自然言語種類記憶保持部
２２  自然言語種類表示部
２３  自然言語追加削除処理部
２４  検索置換処理部
２５  検索対象自然言語種類選択部
２６  検証対象自然言語種類選択部
２７  符号挿入部
１０１  編集対象ソースファイル
１０２  ソースファイル編集システム
【図１】
2008204446.tif 000003
【図２】
2008204446.tif 000004
【図３】
2008204446.tif 000005
【図４】
2008204446.tif 000006
【図５】
2008204446.tif 000007
【図６】
2008204446.tif 000008
【図７】
2008204446.tif 000009
【図８】
2008204446.tif 000010
【図９】
2008204446.tif 000011
【図１０】
2008204446.tif 000012
【図１１】
2008204446.tif 000013
【図１２】
2008204446.tif 000014
【図１３】
2008204446.tif 000015
【図１４】
2008204446.tif 000016
【図１５】
2008204446.tif 000017
【図１６】
2008204446.tif 000018
【図１７】
2008204446.tif 000019
【図１８】
2008204446.tif 000020
【図１９】
2008204446.tif 000021
【図２０】
2008204446.tif 000022
【図２１】
2008204446.tif 000023
【図２２】
2008204446.tif 000024
【図２３】
2008204446.tif 000025
【図２４】
2008204446.tif 000026