JP2008204446A - ソースファイル編集システム - Google Patents

ソースファイル編集システム Download PDF

Info

Publication number
JP2008204446A
JP2008204446A JP2008014780A JP2008014780A JP2008204446A JP 2008204446 A JP2008204446 A JP 2008204446A JP 2008014780 A JP2008014780 A JP 2008014780A JP 2008014780 A JP2008014780 A JP 2008014780A JP 2008204446 A JP2008204446 A JP 2008204446A
Authority
JP
Japan
Prior art keywords
source file
natural language
code
comment
editing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008014780A
Other languages
English (en)
Inventor
Takeshi Okawa
猛 大川
Satoshi Hirano
平野  聡
Runtao Qu
潤涛 曲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2008014780A priority Critical patent/JP2008204446A/ja
Publication of JP2008204446A publication Critical patent/JP2008204446A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】複数の種類の自然言語でソースコードコメントが記述されたソースファイルを編集する場合に自然言語の種類を表す示す符号により識別して、ソースファイルの編集処理を制御し、ソースファイル編集作業の効率の向上を図る。
【解決手段】ソースファイル編集システムは、ソースコードコメント中にソースコード要素の意味を表す機能を示す符号と自然言語の種類を表す示す符号とを組み合わせた組合せ符号が付加されたデータ構造のソースファイルを用い、このソースファイル中の組合せ符号に基づいて、ソースファイルの編集作業を制御する構成とする。それぞれの自然言語に対応した符号の挿入削除などを行い、編集作業を効率よく行うことができる。
【選択図】図1

Description

本発明は、複数の種類の自然言語でコメントが記述されたプログラミング言語のソースコード文を含むソースファイルを編集するソースファイル編集システムに関するものであり、更に、詳しくは、複数の種類の自然言語でソースコードに対するコメントが記述されたソースファイルを編集する場合において、それらのコメントがどのような自然言語で書かれている場合であっても編集の操作を能率よく行えるソースファイル編集システムに関するものである。
本明細書において、言語、自然言語とは日本語、英語等の自然言語を表し、プログラミング言語と明記した場合はJava(登録商標)言語のようなプログラミング言語を表す。ソフトウェアはソースファイル中にソースコード文およびコメントとして記述される。本発明ではコメント中で用いる自然言語を対象とし、ソースコード文中の自然言語については問題にしないものとする。
ソフトウェアが開発される際は、備えるべき機能と使用法とを自然言語で記述した仕様に沿って開発される。また、ソフトウェアが他のソフトウェアに機能を提供する場合、その機能の呼び出しインターフェースをAPIと言い、APIの説明書はソフトウェアと共に出荷される。本明細書では、仕様及び説明をとりまとめた文書を説明書と呼ぶ。
ソフトウェア開発はグローバル化している。米国や日本のようなソフトウェアの需要地においては開発するソフトウェアの仕様作成のみを行い、開発作業は開発費の低い国で分担して行う形態が一般的になった。このような開発形態はオフショア開発と呼ばれる。また、新製品の研究開発でも世界各地の開発チームが分担してひとつの製品の開発を行うことが多い。
そのような地理的に分散する開発チームの間で高品質のソフトウェアを開発するには、正確な仕様を共有することが必要である。一方の開発チームにおける仕様の変更が正確に他の開発チームに伝達され、他の開発チームのソースコードが変更されなければならない。
仕様、特にAPIの仕様とソースコードの乖離を防ぐため「ドキュメンテーションコメント」というプログラミング言語の機能及びツールが用いられている。ドキュメンテーションコメントは、ソースファイル中に自然言語によるコメントとしてAPIの仕様を記述する方法である。Java言語では「/**」から始まるコメントがドキュメンテーションコメントであり、C#言語では「///」で始まるコメントがドキュメンテーションコメントである。一塊のコメントをコメントブロックと呼ぶ。ソフトウェア中に記述されたコメントからAPI説明書を生成するツールの例としては、Javadoc、Doxygen、KDOC、DOC++といったものがある。
それらのツールでは、APIの仕様をソフトウェア中に自然言語によるコメントとして記述するために、図4のようなコメントの「機能を表す符号」を用いる記法を使用する。図4はJava言語にドキュメンテーションコメント機能を提供するJavadocの使用例であり、例えば、コメント304では、引数の仕様を記述するために「@param」という機能を表す機能符号を用いて「repeatという引数は挨拶繰り返し回数を表す」と記述している。Javadocコマンドはソースファイルからこの仕様部分を抜粋し、ソースコードとは独立の説明書(API仕様書)を生成する。
ところで、図4の例の説明は日本語で記述されているため、他国の開発チームのメンバーは理解することができない。共通の言語として英語を設定し、英語でコメントを記述することが多く行われているが、開発者が日常用いる言語を用いることの利点も多い。例えば、日本の開発チーム内では日本語のコメントを、中国では中国語を使用すれば生産性が高い。出荷するソフトウェア製品に各言語の説明書を添付する必要がある場合も多い。
しかし、上記のJava言語もC#言語もツールのDoxygenも多国語語によるコメントを適切に扱う機能を有していないため、ひとつのソースファイルの中で各国の開発チームが理解しやすいそれぞれの言語を同時に使用することは困難である。「#ifdef日本語」というようにプリプロセッサを利用して複数の自然言語のコメントを書くことは可能であるが、自然言語が異なるコメントの間の一貫性を保つ仕組みがなく、自然言語間の仕様の不一致やソースコードとの不一致が発生しやすい欠点がある。特に多数の種類の自然言語で説明書を発行する必要がある場合には、編集作業が困難であり、ドキュメントの発行の度に翻訳工程、および各自然言語で書かれたドキュメント間の整合性の確認工程が必要となり、ソフトウェア製品の生産性向上の障害となっている。
プログラム説明書自動生成の技術としては、特許文献1および特許文献2が公知である。特許文献2はオブジェクト指向のソフトウェアにおける説明書作成に関する方法およびプログラムについてのものであり、また特許文献2はプログラムの構造解析に着目した説明書作成の方法についてのものである。しかし、どちらもコメントの記述の自然言語は単一であることを前提としている。
そのような問題を解決するために本発明者等は特許文献3において、コメントが説明するソースコード要素の機能を示す符号の機能符号と各々の自然言語で書かれたコメント文に対して当該自然言語の種類を識別する符号の言語符号とを組み合わせた組合せ符号を付加することにより、希望する自然言語で書かれたコメントを抽出し、その自然言語で記述されたソフトウェア説明書を生成することができるソフトウェア説明書生成システムを提案した。その実施例として複数の自然言語によってコメントを記述したソースファイルを効率よく編集するために、指定の自然言語のみを表示して編集作業を行うエディタの例を示した。
非特許文献1は同様のソースファイルからの説明書生成方法の1つを示唆しており、「たとえば、エディターに指定された言語以外のコメントを折りたたんで表示する機能があればよい」と指摘している。これらの先行技術は、指定した自然言語のコメントを選択的に表示するアイディアに留まっており、編集を効率化する工夫など実装されるには及んでいない。非特許文献2においては、Javadocの国際化について議論を行い、<LANG LANGAGE=ja“>…</LANG>のようなタグで区切って言語毎に並べるコメントの記述方法を提案している。議論はUnicode等による多国語のエンコード方法の問題点の検討を行っており、編集システムには及んでいない。
特開2005−258561号公報 特開2005−122407号公報 特開2007−34813号公報 高橋他「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
問題となるのは、複数の種類の自然言語で記述されたコメントを含むソースファイルを効率よく間違いなく編集することである。図2は、複数の種類の自然言語で記述されたコメントを含むソースファイルの一例である。多数の種類の自然言語に対応するソースファイルを編集する場合、自然言語の種類を識別する符号とコメントが説明するソフトウェアのソースコード要素の機能を示す符号とを組み合わせた符号が数多く含まれることになる。従来のテキストエディタや統合開発環境のエディタでこの種のファイルに対する編集作業を行う場合には、それぞれの種類の自然言語でコメントを記述する作業に加えて、自然言語の種類毎に適切な符号を付加し、編集の度にそれを維持する必要があるため、その作業の量が増大する。このため、編集作業の効率が低下し、間違いを起こしやすいという問題を生ずる。
更に、従来のプログラム作成用エディタでは、1つのファイル中に複数の自然言語が含まれていることは想定していないため、スペルチェックや検索置換の機能が正常に動作しない。
また、1人の開発者がコメントに使用する全ての自然言語に精通しているとは限らない。英語しか理解できない開発者がソースコードを変更したとすると、英語部分のコメントは修正できるが、日本語や中国語のコメントの修正はできないため、他の自然言語の修正は他の開発者あるいは翻訳者が行わなければならない。その中の誰かがコメントを修正し忘れると、情報が古いままの説明書が生成される。他の開発者がそれを信じて応用プログラムを作成すると、最終製品に不具合が混入し、社会的な事故や人命に関わる事故が起きる可能性がある。従って、翻訳をし忘れることがないように一貫性を維持することが課題である。
しかし、翻訳者を雇いコメントを常に外国語に翻訳するとなると大きなコストが発生する。その予算を賄うことができない開発プロジェクトは多いと思われるため、コストをかけずに他の自然言語に翻訳を行うことも課題である。
近年、プログラム開発においては、文字によるプログラミング言語だけではなく、UML(Unified Modeling Language)といった図形による表現を行うモデリング言語を使用することも多い。モデリング言語からも説明書を作成するため、複数の自然言語を使用したいという需要があるが、それは実現されていない。
本発明は、上記のような問題を解決するためになされたものであり、本発明の目的は、複数の種類の自然言語でソースコードコメントが記述されたソースファイルを編集する場合において、それらのコメントがどの自然言語で書かれている場合であっても、その自然言語を表す示す符号により識別して、ソースファイルの編集処理を制御することにより、ソースファイル編集作業の効率の向上を図ったソースファイル編集システムを提供することにある。
上記のような目的を達成するため、本発明によるソースファイル編集システムが編集対象とするソースファイルは、プログラミング言語で書かれたソースコード文および当該ソースコード文に対して付与されたコメントを含むソースファイルであり、このソースファイルは、当該ソースファイル内においてソースコード中の要素のあるひとつの機能を説明するコメントが複数の種類の自然言語で記述されており、それぞれの自然言語のコメントの記述に対しては、機能を示す符号の機能符号と自然言語の種類を表す示す符号の言語符号とを組み合わせた機能言語符号が付加されているデータ構造のソースファイルとなっている。
ここで、ソースファイル内において、機能符号と言語符号の組合せ方としては、
(1)機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されている形式、
(2)機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されている形式、
(3)機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されている形式、
のいずれかを指すものとする。
本発明は特定のプログラミング言語や特定の記号の組合せに限定されるものではないが、Java言語を例にとると、図19の<ja>と@uは(1)の形式の一例、図17の@uと@ja及び図18は(2)の形式の例、図2の@u.jaは(3)の形式の例である。本発明中においては、読みやすさのため、機能符号、言語符号及び組合せ符号のこれらの組合せを総称して機能言語符号と呼ぶ。また、誤解を与えない範囲において単に機能言語符号と書いて、言語符号並びに機能言語符号を代表することがある。
本発明においては、ソースファイル中のこの機能言語符号に基づいて、編集作業を制御する構成とする。これにより、例えば、それぞれの自然言語に対応したソースファイルの編集操作の制御などを行い、編集作業を効率よく行うことができるシステム構成とする。
例えば、利用者があるメソッドに対してコメントブロックを新たに挿入する際に、編集システムの機能として、編集中のソースファイルのコメントで使用している全ての自然言語の種類に対応した機能言語符号が予め付加されたコメントブロックを挿入することや、言語符号なしで機能符号と英語のみでコメントが書かれているコメントブロックにおいて、ソースファイル編集システムが利用者の操作によって英語のコメントに英語を示す機能言語符号を挿入し、同時に他の自然言語のための機能言語符号をも挿入するように構成される。
すなわち、本発明の1つの態様として構成されるソースファイル編集システムは、プログラミング言語で書かれたソースコード文および前記ソースコード文に対して付与されたコメントを含むソースファイル内においてソースコード要素の機能を説明するコメントが複数の種類の自然言語で記述されており、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されているソースファイルをメモリ上に入力する入力処理手段と、前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段とを備えることを特徴とするものである。
また、本発明によるソースファイル編集システムは、第2の様態として、プログラミング言語で書かれたソースコード文および前記ソースコード文に対して付与されたコメントを含むソースファイル内においてソースコード要素の機能を説明するコメントが複数の種類の自然言語で記述されており、前記機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段とを備えることを特徴とするものである。
また、本発明によるソースファイル編集システムは、第3の様態として、プログラミング言語で書かれたソースコード文および前記ソースコード文に対して付与されたコメントを含むソースファイル内においてソースコード要素の機能を説明するコメントが複数の種類の自然言語で記述されており、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、編集中に機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号を挿入する符号挿入手段と、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記組合せ符号を付加してソースファイルとして出力する出力処理手段とを備えることを特徴とするものである。
本発明によるソースファイル編集システムにおいては、更に、ソースコード文の表示または非表示を指示する表示指定手段を備え、前記編集処理手段は、前記表示指定手段によりソースコード文の非表示が指示された場合、ソースコード文を表示することなく編集対象の自然言語のコメントのみを表示画面に表示して編集処理を行うように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、1つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、前記編集処理手段は、前記言語指定手段により自然言語の種類が指定された自然言語の種類に相当する符号がつけられたコメントが存在しない場合に、所定の自然言語の種類のコメントをメモリから抽出し、抽出されたコメントを前記翻訳処理手段により指定された種類の自然言語に翻訳し、翻訳されたコメントを編集対象として表示画面に表示するように構成されてもよい。
また、この場合に、翻訳の際に訳元として用いるコメントの自然言語の種類をデフォルトで示すための、主たる自然言語の種類を示す符号を入力ソースファイル中に含むように構成されてもよい。
また、この場合に、更に、前記編集処理手段は、機械翻訳によって翻訳処理を行ったコメントについて、コメントが機械翻訳により翻訳されたことを示す符号を付加してメモリ上に格納するように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新表示符号を含み、前記編集処理手段は、前記更新表示符号がかかる範囲のテキストを強調表示して編集作業を行うように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新表示符号を含み、前記編集処理手段が、当該ソースファイルの更新の履歴を管理するために更新表示符号を追加もしくは削除するように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、前記ソースファイルを格納するソースファイル格納管理手段を含み、前記入力処理手段が、前記ソースファイル格納管理手段からソースファイルを入力し、前記出力処理手段が、出力するソースファイルを前記ソースファイル格納管理手段に格納するように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、前記ソースファイルを格納して当該ソースファイルの更新の履歴を管理するソースファイル格納管理手段を含み、前記入力処理手段が、前記ソースファイル格納管理手段からソースファイルを入力し、前記出力処理手段が、出力するソースファイルを前記ソースファイル格納管理手段に格納するように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、編集者が通常使用するデフォルトの自然言語の種類を、編集者に対応づけて記憶保持する使用自然言語種類記憶保持手段と、前記編集手段において、編集者が編集作業を行う際に、デフォルトの使用自然言語の種類を前記記憶保持手段に保持された情報を用いて編集者に対応づけて設定し、編集対象の自然言語の種類を決定し編集を行うように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、コメントの自然言語の種類を表示する自然言語種類表示手段と、コメントの自然言語の種類を追加あるいは削除する自然言語追加削除処理手段を備え、前記自然言語追加削除手段により追加・削除したい自然言語に対応するコメント中の言語符号を一括して追加・削除を行うように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、ソースファイル内の語句について検索置換操作を行う検索置換処理手段を含み、検索対象の自然言語の種類を指定する検索対象自然言語種類指定手段を含み、前記検索置換処理手段が語句を検索する際に、自然言語の種類を示す言語符号を識別することにより、前記検索対象自然言語種類指定手段により指定された自然言語で記述されたコメントのみを検索対象として検索置換操作を行うように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、更に、ソースファイル内のコメント部分に記述された文章の自然言語的な正当性について検証を行う検証処理手段と、検証を行う自然言語の種類の指定を行う検証対象自然言語種類指定手段を含み、前記検証処理手段が文章について検証する際に、自然言語の種類を示す言語符号を識別することより、前記検証対象自然言語種類指定手段に自然言語の種類を設定するように構成されてもよい。
また、本発明によるソースファイル編集システムにおいては、前記編集処理手段は、文字に加えて図形で表示画面に表示して編集処理を行うように構成されてもよい。
上記のように構成される本発明のソースファイル編集システムによれば、ここで編集されたるソースファイルには、自然言語の種類を示す言語符号あるいは自然言語の種類を含む組み合せ符号が含まれる複雑な構造であるにもかかわらず、本発明によるソースファイル編集システムが利用者の指示により、機能と共に自然言語の種類を示す機能言語符号を挿入するため、機能言語符号を手で入力する手間がかからない。
また、本発明によるソースファイル編集システムにおいて、ソースコード文の非表示を指示することにより、編集する必要の無いソースコード部分を編集者に対して隠し、コメント部分のみを編集対象とすることができる。このことにより、コメントを編集中に誤ってソースコード部分を書き換えてしまうことを防止することができる。
また、本発明によるソースファイル編集システムにおいて、ソースファイルに対して機械翻訳を適用すれば、先に述べたデータ構造で自然言語の種類を示す符号、およびデフォルトの訳元言語を示す符号に基づいて適切に翻訳されたコメントを編集者に対して提示することができる。また、機械翻訳の信憑性が高くない場合には、機械翻訳によるコメント文であることを示す符号を挿入することで、コメントの翻訳文の正確性を確認すべきであることを示すことが可能になる。また、機械翻訳を用いれば翻訳者にかかるコストを削減することができる。
また、本発明によるソースファイル編集システムにおいては、更新があった旨を示す符号が付加されたソースファイルを入力した際に、その更新符号にかかる部分を協調表示することができる。これにより、編集者は更新があったことを気づきやすくなり、編集作業の効率が向上する。
また、本発明によるソースファイル編集システムにおいては、編集作業を行った際に、編集操作に応じて、更新符号を適切に挿入または削除する。そのため、更新符号を選択し挿入する作業、また、適切に管理する作業を一部自動化し少なくすることができる。これにより、編集作業の効率が向上する。
また、本発明によるソースファイル編集システムにおいては、例えばファイルシステムを用いたソースファイルの格納管理を行うことにより、一つのソースファイルに対する複数人での編集作業を行いやすくすることが可能である。また、作業によるソースファイル更新の履歴管理を行うことで、誰が何時どのような修正を行ったのかを記録しておき、必要に応じて確認することができる。
また、本発明によるソースファイル編集システムにおいては、編集者に対応付けて使用する自然言語の種類を保持記憶することができるため、編集者は常に自分の好きな自然言語で編集を開始することができる。このため、編集作業の効率が向上する。
また、本発明によるソースファイル編集システムを用いることにより、編集の作業に対応して適切に、機能を示す符号と自然言語の種類を示す符号とを組み合わせた組合せ符号もしくは自然言語の種類を示す符号を選択し挿入する作業、また、適切に管理する作業を一部自動化し、作業を少なくすることができる。これにより、編集作業の効率が向上する。
また、本発明によるソースファイル編集システムを用いることにより、複数の自然言語が含まれるソースファイルにおいて、適切に各自然言語ごとの検索置換の作業やスペルチェック・文法チェックの作業が行えるようになる。
また、本発明によるソースファイル編集システムを用いることにより、例えばUMLのような図形で記述されるモデリング言語に対するコメントについても、複数の自然言語を選択的に表示して編集者に提示できる。
以下、本発明を実施する場合の形態について、具体例に基づき説明する。実施例の説明において、ソースファイル編集システムは、コンピュータ(もしくはより広く言うと情報機器)上で実行されるソフトウェア(プログラム)がインストールされることにより、それぞれに処理手段として機能するシステム要素が実現されてシステムが動作する。ここでのファイルとは、コンピュータの記憶装置に格納される電子ファイルを想定している。説明文の中で「メモリ」と単に言う際は、記憶手段一般のことを指す。例としては、コンピュータの半導体メモリ、ハードディスク装置、ネットワーク上のサーバなどがあるが、これらに限定されるものではない。
ソースファイル編集システムが入力とするファイルの、機能言語符号を用いて複数の自然言語でコメントが記述されたソースファイルは、2次記憶や他の計算機からネットワークを介して入力される場合と、利用者がキーボード等の入力装置から入力する場合がある。文字コードとしてはどのようなものでもよいが、文字コードの例としてはUnicode文字セット(ISO 10646)、文字符号化方式の例としてはUTF−8(RFC 3269)が一般的である。
前述のように、ソースファイル内の文法構造において、機能符号と言語符号の組合せ方としては、
(1)機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されている形式、
(2)機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されている形式、
(3)機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されている形式、
のいずれかを指すものとし、機能言語符号と総称する。以下ではJava言語のJavadocに似た形式により説明する。なお、他のコメント形式、例えば、XML形式であっても本発明は適用可能である。
まず、図2に(3)の形式の、機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されている形式の例を示す。ソースファイル200中のコメント204において、「コメントの意味を機能を示す符号」である「@param」タグは、Javadocにおいては、メソッドの引数についての説明を行うコメントに先立って付与されるタグでありである。(3)の形式においては、複数の種類の自然言語に対応するため「@param」タグに対して、自然言語の種類を示す符号を組み合わせて、その組合せ符号を用いる。即ち、日本語を表す符号jaと組み合わせた組合せ符号「@param.ja」は、日本語によりパラメータの説明を示す組合せ符号である。同様に、韓国語を表す符号koと組み合わせた「@param.ko」タグ、中国語を表す符号zhと組み合わせた「@param.zh」タグが記載されている。これらの組合せ符号により、それぞれのコメントが、メソッドの引数についての説明であって、更に、それぞれの自然言語のコメントであると識別することができる。英語については、ここでは主たる自然言語(デフォルト)とし、標準的な「@param」タグを用いている。同様に、コメントブロック201では、このクラスの概要説明を4つの自然言語で記述している。
図17は(2)の形式の、機能を表す示す機能符号に続いて自然言語の種類を示す言語符号が付加されている形式の例であり、これも本発明のソースファイル編集システムの有効な実装である。ソースファイル2100内のコメント2104においてパラメータを説明する機能符号である「@param」に続いて、自然言語の種類を示す言語符号である「@ja」,「@ko」,及び「@zh」が付加されている。ここでは実装が容易な例として、コメントの一部分を解釈が容易なように左括弧“{”と右括弧“}”で囲む形式であるJavadocのインラインタグという文法を用いている。例えばJava開発環境であるEclipseのエディタを構成する抽象構文木パーサを用いると、{@ja 挨拶繰り返し数}の部分をTagElementとして容易に抽出可能である。
図18には、(2)の形式のもう一つの例を示す。ソースコード2200の中における、コメント2203および2204においては、各自然言語のコメントを、<ja></ja>といったタグを言語符号として用いて、記述したコメントを囲んで示している。この構造においても、自然言語の種類とコメントの対応関係は明白であるため、本発明の効果を得ることができる。
図19は(1)の形式の、機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されている形式の一例である。ソースコード2300の中における、コメント2303および2304においては、<ja></ja>といったタグを言語符号として用いて、コメント2203および2204とは違った範囲のコメントを囲んで示している。この構造においても自然言語の種類とコメントの対応関係は明白であるため、本発明の効果を得ることができる。
本発明に係るソースファイル編集システムにおいては、このような機能言語符号を用いることにより、複数の種類の自然言語のコメントの編集作業および生成を効率化することができるものとなる。プログラム開発を行うプログラマがソースコードの編集中においても、これらの符号を用いることにより、異なる種類の、また複数の種類の自然言語で書かれたコメントを提示することができる。
図1は、本発明の実施例に係るソースファイル編集システムの構成例を示す図である。図1において、101は編集対象ソースファイル、102はソースファイル編集システムである。編集対象ソースファイル101は、2次記憶等から入力処理部11によりソースファイル編集システム102内に読み込まれる。コメント抽出処理部13は、読み込んだソースファイルを解釈して、機能言語符号に基づいてソースコード文と複数の種類の自然言語で記述されたコメントを対応付けて内部的なドキュメントモデルを作成し、図示されないメモリに格納する。このようにメモリ上に読み込まれたソースファイルは、表示処理部18により、システムの使用者(編集者)に対して編集作業を行う上での適切な表示形態で、ディスプレイ装置などの表示デバイスを用いて提示される。編集処理部19は、編集者が行う編集作業の全般の処理および制御の処理を実行する処理モジュールである。ここでいう編集処理部19が行う編集処理は、ソースファイルに対する変更(追加・削除を含む)の処理である。編集作業は、図示されていないがキーボードやマウスなどのヒューマンマシンインタフェースとなる入力装置を用いて行われる。利用者が複数の自然言語を使い分ける際は、符号挿入部27が適切な機能言語符号を挿入する。編集処理の作業の終了後、出力処理部15は、編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、機能言語符号を付加して、ソースファイルとして出力する。
このように、本発明に係るソースファイル編集システムは、入力処理部11、表示処理部18、編集処理部19、符号挿入部27、出力処理部15を基本的な要素として構成されるが、これに加えて、更に、編集対象となる自然言語の種類を選択するための編集対象自然言語選択部17、複数の種類の自然言語で書かれたコメントを抽出処理するためのコメント抽出処理部13、異なる自然言語間での翻訳作業を行う翻訳処理部14、自然言語文法・スペルチェックを行うための検証処理部16、ソースファイル格納管理部12、使用自然言語種類記憶保持部21、自然言語種類表示部22、自然言語追加削除処理部23、検索置換処理部24、検索対象自然言語種類選択部25、および検証対象自然言語種類選択部26が、必要に応じて設けられたシステム構成とされる。
ソースファイル編集システムの内部においては、ソースファイルは、構造化されたデータであるDOM(Document Object Model)あるいは抽象構文木として保持されることが望ましい。入力時にDOMとして構造化されたデータは、毎回構文解析を行うことなく編集・参照・抽出・出力等の処理を行うことができる。本発明に係るソースファイル編集システムが使用するDOMは自然言語の種類を判別可能なDOMである必要がある。図3に示すデータ構造の例は、ソースファイル200をシステム内に読み込み、構文解析してDOMを生成した際の、データ構造の例を示している。このような木構造により、文書(DOM)に関する処理を記述するプログラマは、容易にかつ直感的に、処理対象の文書要素へのアクセスを得ることができるものとなる。
文書要素2001は、ソースファイル全体を示す。クラス定義は、文書要素2002として、メソッドは文書要素2003として、引数は文書要素2004として格納されている。更に、クラスの記述を示す文書要素2002に対して、英語でのコメント要素が文書要素2012として格納されている。また、日本語でのコメントが文書要素2022として、韓国語でのコメントが文書要素2032として、中国語でのコメントが文書要素2042としてそれぞれ格納されている。このような形式のデータ構造によって、複数の種類の自然言語でコメントが記述されたソースファイルを適切に編集・処理することが可能となる。
次に、ソースファイル編集システム102に、前述したような文法構造の複数自然言語でコメントされたソースファイル200が入力された場合を例として、その後の編集作業の一例について説明する。
効率よく編集を行うためには、編集作業の操作の行いやすさが重要であり、特に複雑になりがちな機能言語符号の使い分けを適切に行うことが必要である。本発明のソースファイル編集システムにおいては、機能言語符号を容易に挿入する機構(編集処理部19、符号挿入部27)が設けられている。この機構の制御による編集処理の例として、編集作業を行った際のソースファイルへの適切な符号の挿入に関する操作例について説明する。
図22の画面2601は利用者がメソッドsayに関するコメントブロックを記述しようとしている画面である。矢印はカーソルを表している。ここで、コメントブロックの挿入を指示するキー操作(EclipseではALT−SHIFT−j)あるいはマウス操作を行うと、画面2602のようにコメントブロック2603が挿入される。ここで特徴的であるのは、コメントブロックが機能符号および使用している自然言語の言語符号を既に含んでいることである。これは編集処理部19からの指令により符号挿入部27がソースファイル内のコメントで使用中の自然言語の種類を調べて、対応する機能言語符号を生成してソースファイルに挿入することにより実現される。
図23の画面2701は利用者がパラメータ「repeat」の説明を入力しようとしている場面である。1つの実装としては、特定のキー操作を行うと、例えば、半角・全角キーを押して日本語入力をオンにすると、画面2702のように自動的に{@ja}という言語符号2703が挿入される。これは、利用者が日本語を入力することを符号挿入部27が検知し、日本語を示す機能言語符号を挿入する動作によって実現される。言語符号ではなく、機能と言語を示す組合せ符号の場合も同様に実現される。また、言語符号の挿入の契機としては、他に利用者の入力が言語符号の挿入を必要とする箇所にさしかかった場合に、自動的に挿入を行う実装も考えられる。
図24の画面2801では既に英語により記述されているパラメータrepeatの説明箇所において、利用者が他の自然言語による説明を追加しようとしている場面である。利用者の特定のキー操作により、画面2802のように、符号挿入部27はカーソルが指しているコメントの自然言語が英語であることを認識し、コメント2803のように英語及び他の自然言語のための言語符号を挿入する。英語であることの認識は、主たる自然言語が英語であり、画面2801のコメントには言語符号が付加されていないこと、英語の単語が並ぶことから容易に認識処理が可能である。あるいは、利用者に選択肢を示し、自然言語を選ばせることも1つの方法である。
編集中には、ひとつないし少数の所望の自然言語のみを対象として効率よく編集したい場合もある。利用者が編集対象自然言語選択部17により編集対象とする自然言語の種類を指示し、ソースコード文と共に指定された種類の自然言語のコメントのみを表示画面に表示して、編集処理を行うよう構成されても良い。
図4および図5は、ソースファイル編集システムの編集画面において、それぞれ日本語のみ、韓国語のみを表示した編集画面の例を示す図である。図6は、ソースファイル200から日本語と英語のコメントに相当する部分だけを抽出し編集者に対して表示された編集画面の一例を示す図である。この場合、日本語と英語の間の翻訳作業を編集者が行う場合に、他の言語を非表示として作業を行うことができるため、より効率的な作業を行うことができる。
また、表示処理部18では、編集処理にともなう表示画面の表示制御の処理を行うが、利用者の指示によりソースコード文の表示または非表示を変更できる。編集処理部19によりソースファイルの編集処理を行う場合に、例えば、ソースコード文の非表示が指示された場合には、表示画面にソースコード文を表示することなく、編集対象の自然言語のコメントのみを表示画面に表示して編集処理を行う。図7は、日本語と英語のコメントのみを表示すると共にソースコードを非表示とした編集画面の一例を示す図である。図7の編集画面の例は、図6と同様に、ソースファイル200について、日本語と英語のコメントに相当する部分だけを表示し、更にソースコード部分を非表示として、編集者に対して提示した表示画面の一例を示している。ソースコード部分を非表示とすることにより、コメント部分の翻訳のみを行う作業者が誤ってソースコード部分を編集してしまうことを未然に防ぐことができ、結果として編集作業の効率の向上につながる。
ソースファイルに、指定された自然言語の種類に相当する符号がつけられたコメントが存在しない場合に、編集処理部19では、予め定められた自然言語の種類(デフォルトで指定されている)のコメントをメモリから抽出し、抽出されたコメントを翻訳処理部14により指定された種類の自然言語に機械翻訳し、翻訳されたコメントを編集対象として表示画面に表示するようにして編集作業を行う。
なお、ソースファイルには、機械翻訳の際に訳元として用いるコメントの自然言語の種類をデフォルトで示すための主たる自然言語の種類を示す符号を含まれており、この符号に基づいて処理が進められる。また、コメントに付ける組合せ符号には、更に、コメントが更新を必要とする旨の符号が含まれており、編集処理部19では、コメントが更新を必要とする旨の符号に基づいて、ソースファイルにおいて更新が必要な箇所もしくは更新が必要な書類の自然言語のコメントを編集対象として表示画面に表示する。なお、検証処理部16は、作成されたコメントのスペルチェックおよび文書校正などの編集処理部19におけるコメントの文書作成の処理を支援する処理を行う。
図8は、ソースファイルの編集作業中において日本語を編集対象言語としてコメントを修正する操作を説明する図である。また、図9は、日本語入力モードにおけるコメントの修正が元のソースファイルに反映された編集結果の一例を示す図である。図8において、表示画面800および表示画面810はそれぞれ、ソースファイル200の編集作業中における修正前の表示例および修正後の表示の例を示している。修正前の表示画面800において、修正作業がコメントブロック801に対して行われて、修正後の表示画面810のコメントブロック811のように書き換えられたとする。すなわち、コメントブロック801におけるコメント文の“こんにちはクラス”が、コメントブロック811におけるコメント文の“「こんにちは」を表すクラス”にように書き換えられたとする。
その場合、ソースファイル格納管理部12のメモリ上において、ソースファイルのコメントブロックに対する変更が、上記のように修正されると、図9に示すようなソースファイル900となる。変更があった部分に相当するコメントブロック901においては、「@u.ja」の符号とともに保持されている日本語のコメントが変更される。
ここで問題となるのが、修正された場合に、それぞれの言語で書かれたコメントの表す意味の一致/不一致である。そのため、修正が行われた日本語以外の自然言語で記述されたコメントに付加された符号に対して、編集処理部19が「/update」というタグを付加して、「修正があった・もしくは修正(確認)が必要である」という意味を示す符号とする。これにより、修正(確認)が必要なコメントであることを指示しておくことが可能となる。このタグを付加する制御は、複数の種類の自然言語でコメントが記述されたソースファイルの編集において、適切に修正箇所を管理していくために有用である。タグを表示する文字列「/update」は、一例であり他の文字でもよい。
図10は、日本語入力モードにおけるコメントの追加・修正を、更に機械翻訳により他の自然言語のコメントに反映されたソースファイルの一例を示す図である。すなわち、図10は、前述のようにして行われた日本語コメントにおける変更により、各自然言語間で不一致が生じた部分につき、機械翻訳による補完を行った例を示している。
コメントブロック1201の“こんにちはクラス”を“「こんにちは」を表すクラス”に変更したことに伴い、日本語以外の言語のコメントについては、「/update」の符号が付加されていたのみであったが、この「/update」の符号が付加されていた箇所について、「/update」の符号が付加されていない日本語のコメントの箇所からコメントの機械翻訳を行い、それぞれの種類の自然言語のコメントを編集して付加している。
これらのコメントについては、翻訳者の作業により意味の不一致を解消することも可能であるが、この実施例のシステムでは、よりコストをかけずに意味の一致を行うために機械翻訳を用いての編集作業とする。また、コメントの修正の行われた時点での機械翻訳の不確実性を鑑みて、コメントブロック1201における機械翻訳の結果においては、「/mt」の符号を付加することによって、ここで修正されたコメントが機械翻訳による結果であることを明示している。
機械翻訳の不確実性を鑑みると、何らかの形で人間の翻訳者などによる機械翻訳結果の監査が必要となる。これに対しては、例えば、翻訳結果の監査の結果を示す符号の操作により対応することができる。図11は、機械翻訳の結果を承諾したソースファイルの一例を示す図である。図10に示したソースファイル1200と、図11のソースファイル1300とを比較すると、機械翻訳した結果であり、翻訳結果の監査の前の状態であることを示す「/mt」の符号が編集処理部19により取り除かれている。また、ここでのソースファイル1300においては、全ての「/mt」符号が取り除かれているが、必ずしも全ての符号を一度に取り除く必要はなく、一つ一つの「/mt」符号について承認の作業を行うことも可能である。
また、先に説明した「修正があった・もしくは修正(確認)が必要である」という意味を示す符号としている「/update」符号に関して、適切な説明をその部分に補完する作業が終了したことを確認した場合は、「/mt」符号と同様に、承認の操作を行うことにより、符号を取り除くように、ソースファイル編集システムが処理を行うことが可能である。
図12は、編集対象の自然言語としてドイツ語とイタリア語によるコメントが新規に追加されたソースファイルの例を示す図である。図12に示すように、ここでのソースファイル1400においては、編集されたコメントブロック1401およびコメントブロック1406の中に、その編集内容に応じて適切に「@u.it/mt」、「@u.de/mt」の符号が挿入されていることがわかる。この例に示すように、更に機械翻訳を用いて、相当するコメントが生成されて追加されている。この場合のように、これまでに編集作業を行った中間状態を表す示すための符号が適切に選択されて付加される。このため、後に編集作業を行う編集者(利用者)は、付加された編集の中間状態を表す示す符号により、その後の編集作業を能率よく継続して行うことができる。
こうした、複数の自然言語が入り交ざった開発は、必然的に何人かの開発者・翻訳者が一つのファイルに対して編集作業を行うものになる。そのような共同作業を支援するものとして、ソースファイル格納管理部12が設けられている。ソースファイル格納管理部12は、例えば、ハードディスク上のファイルシステム、データベースで構成される。また、ネットワークを介したファイルサーバーとして用いれば、共同作業の効率が向上する。
また、ソースファイル格納管理部12を構成する際に、例えばCVS(Concurrent Version System)やSubversionのような、ソフトウェア開発におけるソースコードのバージョン管理システムを用いることも可能である。その場合は、ソースファイル更新の履歴を適切に格納管理することができる。本発明のソースファイル編集システムの入力処理部11はソースファイル格納管理部12からソースファイルを読み込み、また、出力処理部15はソースファイル格納管理部12にソースファイルを格納する。
これまで、本発明に係るソースファイル編集システムにおいて、複数の種類の自然言語で記述されたソースファイルに対して編集を行う際の作業効率向上に関する機能を説明したが、これらの編集の作業を行う場合において、翻訳者による翻訳作業は人手によるものであるので、スペルの間違いや、文法上明らかにおかしい文章を作成してしまうなど、何らかのミスが混入する可能性がある。これに対しては、本発明のソースファイル編集システムでは、通常の文書編集システムと同様な検証機能を備えるように構成される。
図14は、複数の種類の自然言語で記述されたソースファイルに対して文法・スペルチェックを行った結果の表示例を示す図である。本発明に係るソースファイル編集システムにおいては、検証処理部16がソースファイルに対して文法・スペルチェックを行う。この検証処理部16による処理は、ソースファイルのコメント中に含まれる自然言語の種類を表す示す符号を識別して、文法・スペルチェックの対象自然言語を検証対象自然言語種類選択部26により選択し、適切な自然言語の文法・スペルチェックを行う処理である。従来においては、複数の種類の自然言語により記述されていたテキストファイル全般において、一括して文法・スペルチェックを行うことが不可能であったが、本発明に係るソースファイル編集システムにおいては、検証処理部16が、ソースファイルのコメント中に含まれる自然言語の種類を表す示す符号に対応して、その対応の自然言語の文法・スペルチェックを行う検証サブシステムを起動し、適切にコメントの文法・スペルチェックを行う。
スペルチェックの結果は、表示処理部18により、例えば、図14に示す表示画面1600のコメントブロック1601の表示例のように表示される。スペル間違いの箇所を表示する場合、ここに例示するように、間違いのある単語に対して、下波線をつけて表示する。これにより、編集者に対して間違いであることの提示が行われる。間違いの提示の方法としては、この他に、表示画面1600のテキスト表示部の側方にサイドバー1607を表示して、この表示されたサイドバー1607の中に、間違いのある行を示す形で提示するような形態であってもよい。また、間違いのある場所について、色づけ(ハイライト)、フォントの変更などにより提示を行うことも可能である。
なお、本発明のソースファイル編集システムにおいて、検証処理部16が提供する文法・スペルチェックの作業を行う機能は、本発明に係るソースファイル編集システムのシステム内に含有する必要は必ずしもなく、例えば、ネットワークを介して外部の文法・スペルチェックを行うソフトウェアコンポーネント・アプリケーション・サービスを利用するようなシステム構成としてしてもよい。
図15は、アップデートが必要な箇所を強調して表示した表示画面の一例を示す図である。この表示例では、このような強調表示を、「/update」の符号がついているコメント要素、すなわち更新が必要である部分に適用した表示例である。図15において、コメントブロック1701およびコメントブロック1706には、「/update」の符号がついているコメント要素が強調表示されており、サイドバー1707にその部分がわかりやすいように示されている。これらの表示形態をとることによって、編集者、翻訳者、文書進捗管理者(マネージャ)などが、更新な必要な場所を視認しやすくなり、作業効率の向上が図られる。
図16は、複数の自然言語でコメントされたUML(Unified Modeling Language)を扱う開発環境の表示画面の一例を示す図である。上述した本発明に係るソースファイル編集システムの構成は、ソフトウェア開発環境においてUML図を編集するエディタにおいても、適用が可能である。
図16に示す編集画面1800の表示例は、その例を示している。UML図を編集するクラス図の編集画面1800においては、Helloクラスを表す図形1801、Helloクラスに対して付加されているコメントを表示する表示ブロック1802が表示されている。この編集画面1800においては、このクラス図を編集する画面の右側に編集対象自然言語の種類を表示し選択するための領域1803に、その制御を行うGUI部品が更に表示されている。編集対象とする自然言語を指示するため、アイコンの機能を提供する制御ボタンが表示されており、ここでは、日本語(ja)が選択されている。なお、言語を選択する手段は、このようなアイコンでなくてもかまわない。例えば、ドロップダウンリストなどの一般的なGUI(Graphical User Interface)を用いることもできる。そのため、クラスに対して付記されたコメントは日本語のものが表示されている。これは、図2に対して、図4の表示が行われていることと同じ関係にある。別の言語が選択された際には、その言語でのコメントの表示が行われ、ソフトウェア開発の助けとなり、ソフトウェア開発効率の向上を図ることが可能である。
ある自然言語においてコメントを挿入する際は、符号挿入部27によって適切な言語符号が挿入されるため、言語符号を入力する手間が軽減される。
このようにして編集されて作成された複数の種類の自然言語でコメントされたUML図からは、出力処理部15における選択的出力処理により、編集者が指定する自然言語のみでコメントされたXMI(XML Metadata Interchange)を出力することができる。XMIはUML図を他と互換性のある形式であるため、他のソフトウェア開発ツールとの協働が可能である。
通常、編集者がこのような複数の自然言語で書かれたファイルを編集開始する際に、編集対象となる自然言語をシステムに対して指示する必要がある。本発明のソースファイル編集システムにおいては、編集者が通常使用する自然言語の種類を記憶しておくことにより、毎回編集対象の自然言語を指示する手間を無くし、編集の効率を向上する。使用自然言語種類記憶保持部21は、使用する自然言語の種類を編集者に対応付けて記憶保持するために用いる。
編集作業を行う際、ソースファイル内に異なる自然言語によって記述された多くのコメントが含まれているため、どの自然言語が使われているかを知ることは困難である。また、新たな自然言語の種類を加えたい場合、ソースコードの中の全ての機能の説明にそれぞれその自然言語によるコメントを加える作業が必要となる。
図20は、ソースファイルにおいて使用する自然言語の種類を表示した例を示している。自然言語種類表示部22は自然言語の種類を記憶あるいは数え上げることによって、言語種類表示フィールド2401にソースファイル中のコメントで使用されている自然言語の種類を表示する。また、追加ボタン2402あるいは削除ボタン2403のボタンを押すことにより、自然言語追加削除処理部23によって、自然言語の種類を追加あるいは削除することができる。
ここにあるように機械翻訳の訳元として用いるデフォルトの自然言語を既定として表示してもよい。追加ボタン2402の追加機能により、新規の自然言語を追加すると、ソースファイル編集システムによりソースコードの中の全ての機能の説明に追加した自然言語によるコメントを加える作業が自動的に行われる。削除ボタン2403の削除機能により、ソースファイル編集システムは削除を指定した自然言語によるコメントを一括して削除する。図13は、ソースファイルから編集対象の自然言語の種類として韓国語および中国語を削除したソースファイルを示す図である。このように符号の挿入・削除の手間は大幅に軽減される。
図21は、本発明のソースファイル編集システムにおいて、メモリ上のソースファイルに対して検索置換操作を行うためのダイアログの表示例を示している。言語指定フィールド2504により自然言語の種類を検索対象自然言語種類選択部25へと指定した上で、検索置換処理部24によって検索もしくは置換操作が行われる。入力フィールド2501により検索語の指定を行い、置換操作を行う場合は入力フィールド2502に置換語を指定し、検索開始ボタン2503により検索置換操作を実行する。
通常の編集システムであれば、検索置換対象となる自然言語は単一である。しかし、本発明のソースファイル編集システムにおいては、ソースファイル中に含まれて検索置換対象となる自然言語は複数である。特に置換操作を行う際に、アルファベットを同じくする他の自然言語において、編集者が意図しない置換が起こる可能性がある。そのため、本発明においては、検索置換対象とする自然言語を指定可能として、そのような問題を回避することが可能であり、複数自然言語で書かれたソースファイルの編集効率を向上することができる。
本発明によるソースファイル編集システムは、別の形態として、図1における、出力処理部15はソフトウェア説明書生成器として機能させることもできる。また、本発明に係るソースファイル編集システムは、更に別の形態として、複数人がひとつのファイルを協調して編集できるシステムとしてシステムを構築することもできる。このようなシステムを構築すれば、同時もしくは流れ作業で、複数の編集者が一つのファイルを編集することにより、チームワークでの作業の効率向上につながる。
本発明の実施例に係るソースファイル編集システムの構成例を示す図である。 編集対象となる入力ソースファイルの詳細を例示する図である。 メモリ上の複数の種類の自然言語に対応したソースファイルのデータ構造の一例を説明する図である。 ソースファイル編集システムの編集画面において日本語コメントのみを表示した編集画面の一例を示す図である。 ソースファイル編集システムの編集画面において韓国語コメントのみを表示した編集画面の一例を示す図である。 ソースファイルから日本語と英語のコメントに相当する部分だけを抽出し編集者に対して表示された編集画面の一例を示す図である。 日本語と英語のコメントのみを表示すると共にソースコードを非表示とした編集画面の一例を示す図である。 ソースファイルの編集作業において日本語を編集対象言語としてコメントを修正する操作を説明する図である。 日本語入力モードにおけるコメントの修正が元のソースファイルに反映された例を示す図である。 日本語入力モードにおけるコメントの追加・修正を、機械翻訳により他の自然言語のコメントに反映されたソースファイルの一例を示す図である。 機械翻訳の結果を承諾したソースファイルの一例を示す図である。 編集対象の自然言語としてドイツ語とイタリア語によるコメントが新規に追加されたソースファイルの例を示す図である。 ソースファイルから編集対象の自然言語の種類として韓国語および中国語を削除したソースファイルを示す図である。 複数の種類の自然言語で記述されたソースファイルに対して文法・スペルチェックを行った結果の表示例を示す図である。 アップデートが必要な箇所を強調して表示した表示画面の一例を示す図である。 複数自然言語でコメントされたUML(Unified Modeling Languge)を扱う開発環境の表示画面の一例を示す図である。 編集対象となる入力ソースファイルのもう一つの例を示す図である。 編集対象となる入力ソースファイルのもう一つの例を示す図である。 編集対象となる入力ソースファイルのもう一つの例を示す図である。 ソースファイル中に含まれる自然言語種類の表示例を示す図である。 検索置換操作画面の表示例を示す図である。 符号の挿入の例を示す図である。 符号の挿入の例を示す図である。 符号の挿入の例を示す図である。
符号の説明
11 入力処理部
12 ソースファイル格納管理部
13 コメント抽出処理部
14 翻訳処理部
15 出力処理部
16 検証処理部
17 編集対象自然言語選択部
18 表示処理部
19 編集処理部
21 使用自然言語種類記憶保持部
22 自然言語種類表示部
23 自然言語追加削除処理部
24 検索置換処理部
25 検索対象自然言語種類選択部
26 検証対象自然言語種類選択部
27 符号挿入部
101 編集対象ソースファイル
102 ソースファイル編集システム

Claims (16)

  1. プログラミング言語で記述されたソースコード文及び前記ソースコード中の機能を説明するコメントが複数の種類の自然言語で記述されたソースファイル内において、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とが付加されているソースファイルをメモリ上に入力する入力処理手段と、
    前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、
    編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、
    編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段と、
    を備えることを特徴とするソースファイル編集システム。
  2. プログラミング言語で記述されたソースコード文及び前記ソースコード中の機能を説明するコメントが複数の種類の自然言語で記述されたソースファイル内において、前記機能を示す機能符号に続いてコメントの自然言語の種類を示す言語符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、
    前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、
    編集中にコメントの自然言語の種類を示す言語符号を挿入する符号挿入手段と、
    編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記機能符号と言語符号を付加してソースファイルとして出力する出力処理手段と、
    を備えることを特徴とするソースファイル編集システム。
  3. プログラミング言語で記述されたソースコード文及び前記ソースコード中の機能を説明するコメントが複数の種類の自然言語で記述されたソースファイル内において、前記機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号が付加されているソースファイルをメモリ上に入力する入力処理手段と、
    前記入力したソースファイルに対して編集操作を受け付けて編集処理を行う編集処理手段と、
    編集中に機能を示す機能符号とコメントの自然言語の種類を示す言語符号とを組み合わせた組合せ符号を挿入する符号挿入手段と、
    編集処理が行われたメモリ上のソースコード文と複数の種類の自然言語で記述されたコメントを対応づけ、前記組合せ符号を付加してソースファイルとして出力する出力処理手段と、
    を備えることを特徴とするソースファイル編集システム。
  4. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    ソースコード文の表示または非表示を指示する表示指定手段を備え、
    前記編集処理手段は、前記表示指定手段によりソースコード文の非表示が指示された場合、ソースコード文を表示することなく編集対象の自然言語のコメントのみを表示画面に表示して編集処理を行う
    ことを特徴とするソースファイル編集システム。
  5. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    1つの自然言語の文を他の自然言語の文に翻訳処理する翻訳処理手段を備え、
    前記編集処理手段は、所定の自然言語の種類のコメントをメモリから抽出し、抽出されたコメントを前記翻訳処理手段により指定された種類の自然言語に翻訳し、翻訳されたコメントを編集対象として表示画面に表示する
    ことを特徴とするソースファイル編集システム。
  6. 請求項5に記載のソースファイル編集システムにおいて、
    翻訳の際に訳元として用いるコメントの自然言語の種類をデフォルトで示すための、主たる自然言語の種類を示す符号を入力ソースファイル中に含む
    ことを特徴とするソースファイル編集システム。
  7. 請求項5に記載のソースファイル編集システムにおいて、更に、
    前記編集処理手段は、機械翻訳によって翻訳処理を行ったコメントについて、コメントが機械翻訳により翻訳されたことを示す符号を付加してメモリ上に格納する
    ことを特徴とするソースファイル編集システム。
  8. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新符号を含み、
    前記編集処理手段は、前記更新符号がかかる範囲のテキストを強調表示して編集作業を行う
    ことを特徴とするソースファイル編集システム。
  9. 請求項1ないし3に記載のソースファイル編集システムにおいて、
    前記入力ソースファイルの少なくとも一つには、更新があった旨を示す更新符号を含み、
    前記編集処理手段が、当該ソースファイルの更新の履歴を管理するために更新符号を追加もしくは削除する
    ことを特徴とするソースファイル編集システム。
  10. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    前記ソースファイルを格納するソースファイル格納管理手段を含み、
    前記入力処理手段が、前記格納管理手段からソースファイルを入力し、
    前記出力処理手段が、出力するソースファイルを前記格納管理手段に格納する、
    ことを特徴とするソースファイル編集システム。
  11. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    前記ソースファイルを格納して当該ソースファイルの更新の履歴を管理するソースファイル格納管理手段を含み、
    前記入力処理手段が、前記格納管理手段からソースファイルを入力し、
    前記出力処理手段が、出力するソースファイルを前記格納管理手段に格納する、
    ことを特徴とするソースファイル編集システム。
  12. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    編集者が通常使用するデフォルトの自然言語の種類を、編集者に対応づけて記憶保持する使用自然言語種類記憶保持手段と、
    前記編集手段において、編集者が編集作業を行う際に、デフォルトの使用自然言語の種類を前記記憶保持手段に保持された情報を用いて編集者に対応づけて設定し、編集対象の自然言語の種類を決定し編集を行う、
    ことを特徴とする請求項1もしくは請求項2もしくは請求項3に記載のソースファイル編集システム。
  13. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    コメントの自然言語の種類を表示する自然言語種類表示手段と、
    コメントの自然言語の種類を追加あるいは削除する自然言語追加削除処理手段を備え、
    前記自然言語追加削除処理手段により追加・削除したい自然言語に対応するコメント中の言語符号を一括して追加・削除を行う、
    ことを特徴とするソースファイル編集システム。
  14. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    ソースファイル内の語句について検索置換操作を行う検索置換処理手段を含み、
    検索対象の自然言語の種類を指定する検索対象自然言語種類指定手段を含み、
    前記検索置換処理手段が語句を検索する際に、自然言語の種類を示す言語符号を識別することにより、前記検索対象自然言語種類指定手段により指定された自然言語で記述されたコメントのみを検索対象として検索置換操作を行う
    ことを特徴とするソースファイル編集システム。
  15. 請求項1ないし3に記載のソースファイル編集システムにおいて、更に、
    ソースファイル内のコメント部分に記述された文章の自然言語的な正当性について検証を行う検証処理手段と、
    検証を行う自然言語種類の指定を行う検証対象自然言語種類指定手段を含み、
    前記検証処理手段が文章について検証する際に、自然言語の種類を示す言語符号を識別することより、前記検証対象自然言語種類指定手段に自然言語の種類を設定する
    ことを特徴とするソースファイル編集システム。
  16. 請求項1ないし3に記載のソースファイル編集システムにおいて、
    前記編集処理手段は、文字に加えて図形で表示画面に表示し、
    編集対象とする自然言語の種類を指定する言語指定手段を有し、
    前記指定の自然言語によるコメントを選択的に表示して編集処理を行う、
    ことを特徴とするソースファイル編集システム。
JP2008014780A 2007-01-26 2008-01-25 ソースファイル編集システム Pending JP2008204446A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008014780A JP2008204446A (ja) 2007-01-26 2008-01-25 ソースファイル編集システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007015696 2007-01-26
JP2008014780A JP2008204446A (ja) 2007-01-26 2008-01-25 ソースファイル編集システム

Publications (1)

Publication Number Publication Date
JP2008204446A true JP2008204446A (ja) 2008-09-04

Family

ID=39781837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008014780A Pending JP2008204446A (ja) 2007-01-26 2008-01-25 ソースファイル編集システム

Country Status (1)

Country Link
JP (1) JP2008204446A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018530051A (ja) * 2015-08-25 2018-10-11 マイスクリプト 手書き入力をガイドするシステムおよび方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04130534A (ja) * 1990-09-20 1992-05-01 Fujitsu Ltd プログラム編集方法および装置
JPH07182350A (ja) * 1993-12-22 1995-07-21 Sharp Corp 欧文文書処理装置
JPH0863342A (ja) * 1994-08-25 1996-03-08 Fujitsu Ltd プログラム管理方法および装置
JP2000020525A (ja) * 1998-07-07 2000-01-21 Toshiba Corp プログラム注釈機械翻訳装置とこの装置を動作させるプログラムを記録した記録媒体
JP2001142600A (ja) * 1999-11-15 2001-05-25 Canon Inc 多国語表示切替装置およびその切替方法
JP2002278964A (ja) * 2001-03-19 2002-09-27 Fujitsu Ltd 翻訳支援装置、方法及び翻訳支援プログラム
JP2005092519A (ja) * 2003-09-17 2005-04-07 Hitachi Software Eng Co Ltd オブジェクト指向プログラムの作成支援装置及び作成支援方法
JP2006323480A (ja) * 2005-05-17 2006-11-30 Mitsubishi Electric Corp 解析支援装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04130534A (ja) * 1990-09-20 1992-05-01 Fujitsu Ltd プログラム編集方法および装置
JPH07182350A (ja) * 1993-12-22 1995-07-21 Sharp Corp 欧文文書処理装置
JPH0863342A (ja) * 1994-08-25 1996-03-08 Fujitsu Ltd プログラム管理方法および装置
JP2000020525A (ja) * 1998-07-07 2000-01-21 Toshiba Corp プログラム注釈機械翻訳装置とこの装置を動作させるプログラムを記録した記録媒体
JP2001142600A (ja) * 1999-11-15 2001-05-25 Canon Inc 多国語表示切替装置およびその切替方法
JP2002278964A (ja) * 2001-03-19 2002-09-27 Fujitsu Ltd 翻訳支援装置、方法及び翻訳支援プログラム
JP2005092519A (ja) * 2003-09-17 2005-04-07 Hitachi Software Eng Co Ltd オブジェクト指向プログラムの作成支援装置及び作成支援方法
JP2006323480A (ja) * 2005-05-17 2006-11-30 Mitsubishi Electric Corp 解析支援装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018530051A (ja) * 2015-08-25 2018-10-11 マイスクリプト 手書き入力をガイドするシステムおよび方法

Similar Documents

Publication Publication Date Title
JP2007034813A (ja) 複数自然言語のソフトウェア説明書生成システム
Ko et al. Barista: An implementation framework for enabling new tools, interaction techniques and views in code editors
JP4869630B2 (ja) コンテンツを開始テンプレートとターゲットテンプレートとの間でマップするための方法およびシステム
US20140006913A1 (en) Visual template extraction
US20110179073A1 (en) Method for Localizing Text in a Software Application
US9817887B2 (en) Universal text representation with import/export support for various document formats
US20080104497A1 (en) Method of identifying an extractable portion of a source machine-readable document
US20080104504A1 (en) Method of controlling construction of a machine-readable document
US20030004704A1 (en) System and method of spreadsheet-based string localization
US20070208995A1 (en) Document Processing Device and Document Processing Method
US20070198915A1 (en) Document Processing Device And Document Processing Method
US20080052616A1 (en) Document Processing Method and Device
US20090287994A1 (en) Document processing device and document processing method
US20070260973A1 (en) Document Processing Method and Device
JP2008204446A (ja) ソースファイル編集システム
JP5994150B2 (ja) 文書作成方法、文書作成装置及び文書作成プログラム
US20080098918A1 (en) Method of constructing a machine-readable document
Woelz The KDE documentation primer
Rodríguez TEITOK, a visual solution for XML/TEI encoding: editing, annotating and hosting linguistic corpora
White DITA for Print
JP3892806B2 (ja) 自然言語処理用辞書登録装置、自然言語処理用辞書登録方法及びプログラム
JP2008186311A (ja) 複数種類の自然言語でコメントが記述されたソースファイルのファイル変換システム
Dumont TEI Critical Apparatus Toolbox: Web-based tools for ongoing XML-TEI editions
Pierce et al. MOS 2010 Study Guide for Microsoft Word Expert, Excel Expert, Access, and SharePoint Exams
OASIS et al. XLIFF 1.2 Specification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120612