JP2001084147A - 文字列変換装置、文字列変換方法及び、記録媒体 - Google Patents

文字列変換装置、文字列変換方法及び、記録媒体

Info

Publication number
JP2001084147A
JP2001084147A JP2000234919A JP2000234919A JP2001084147A JP 2001084147 A JP2001084147 A JP 2001084147A JP 2000234919 A JP2000234919 A JP 2000234919A JP 2000234919 A JP2000234919 A JP 2000234919A JP 2001084147 A JP2001084147 A JP 2001084147A
Authority
JP
Japan
Prior art keywords
character string
macro
string
computer program
file
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
JP2000234919A
Other languages
English (en)
Inventor
Tetsuro Motoyama
モトヤマ テツロウ
Ryapusuteiina Yevugeenya
リャプスティーナ イェヴゲーニャ
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2001084147A publication Critical patent/JP2001084147A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 本発明の目的は、符号化された視覚情報を1
つの言語から他の言語へ変換する方法及び、機構を提供
することである。 【解決手段】 コードのユニット内に含まれる文字列を
変換する方法及び装置である。変換機構は、符号化され
た文字列をマクロ文字列に変換することにより、マクロ
置換を行う。変換機構はファイルに含まれるコンピュー
タ命令の組を受信する。変換機構は、ファイルを出力ソ
ースコードファイルにコピーする間に、コンピュータ命
令内に含まれる文字列を識別するための命令を分析す
る。各列の識別に際し、変換機構は、元の文字列の代用
として、マクロ文字列を発生する。変換機構は、コンピ
ュータプログラムコード中に識別された文字列をマクロ
文字列に置換する。変換機構は、コンピュータ命令のコ
ンパイル中に使用するために、マクロ文字列と識別され
た文字列を関連付けるマクロリストのエントリーも発生
する。コンパイラが出力ソースコート゛ファイルをコンパイルすると
きに、コンパイラは、マクロリストを読み、マクロ文字
列の各実体を関連する識別された文字列で置換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、文字
列の置換を含むコンピュータプログラムに関する。本発
明は、特に、コードの単位に含まれる文字列の変換に関
する。
【0002】
【従来の技術】一般的に、コンピュータプログラム又
は、ソフトウェアは、ユーザがソフトウェアアプリケー
ションと対話できるある種のユーザインターフェース機
構を備えている。多くのソフトウェアアプリケーション
は、ユーザがアプリケーションソフトウェアと対話する
能力を高める、メニューインターフェースシステムのよ
うなグラフィックユーザインターフェース(GUI)を
備えている。例えば、銀行の預金支払い機のユーザに
は、典型的には、幾つかの異なるメニューインターフェ
ースウィンドウが提示される。各メニューは、一般的に
は、ユーザが情報を入力するか又は、特定の取引を実行
することができる1つ又はそれ以上の選択を含む。
【0003】更に”ユーザに親しみのある”プログラム
を提供するために、グラフィックユーザインターフェー
スは、一般的には、ユーザインターフェースを通して行
われうる異なる選択を記述する視覚情報を有する。ここ
で、視覚情報は、ユーザに特定の情報を提示する特定の
方法と結合したキャラクタ又は記号の組を有する。例え
ば、銀行の預金支払い機のメニューインターフェース
は、口座にアクセスするための個人情報番号(PIN)
を最初に入力することをユーザに知らせるために、”あ
なたのPIN番号を入力してください。”という視覚情
報を有してもよい。他に、ワードプロセッサアプリケー
ションのウィンドウは、特定のプルダウンメニューが文
書の内容を操作するのに使用できることをユーザに知ら
せるために、”ファイル”、”編集”、”表示”、及
び、”書式”のような視覚情報を有してもよい。
【0004】一般的には、ユーザインターフェース中の
視覚情報は、典型的な最終使用者に最も親しみがある記
号と言語に基づいている。例えば、米国にある銀行の預
金支払い機の場合には、ユーザインターフェースは典型
的には、英語の視覚情報を有する。他に、ドイツにある
銀行の預金支払い機の場合には、ユーザインターフェー
スは、ドイツ語の視覚情報を有する。
【0005】視覚情報を有するユーザインターフェース
を発生する1つのアプローチは、ユーザインターフェー
スを発生するコンピュータプログラムコードにある文字
列を”符号化”文字列することで行うものである。”文
字列”は、英数字キャラクタのシーケンスである。多く
のコンピュータプログラム言語では、文字列は、ユニッ
トとして操作ができる別々の名前が付された位置に蓄積
される。又は、文字列パラメータを受信できるように言
語の文法に従って、定義されている表現中に文字通りに
挿入される。例として、アプリケーションプログラムに
アクセスしようとしたときに、ユーザ名とパスワードを
入力するようにユーザに要求するユーザインターフェー
スを発生するために、”あなたのPIN番号を入力して
ください。”という文字列が、ユーザインターフェース
コードの表示ルーチンに符号化されてもよい。ユーザイ
ンターフェース上に了承又は拒絶ボタンを有するユーザ
インターフェースを発生するために、”了承”又は”拒
絶”はユーザインターフェースコードに符号化されても
よい。
【0006】
【発明が解決しようとする課題】符号化のアプローチ
は、柔軟性が無く、かなり不利である。視覚情報の変更
は、視覚情報を発生するプログラムのソースコードの変
更を要し、再コンパイルして最終使用者に再配布する必
要がある。この処理の過程では間違いは簡単に起きる。
不幸にも、現在使用されている多くのソフトウェアアプ
リケーションは、符号化が使用されている。あるアプリ
ケーションでは、数千から数百万のコードの行をを有す
る。この結果、符号化された文字列を含むソフトウェア
アプリケーションに伴う重大な問題は、ユーザインター
フェースを更新し変更するには、膨大な時間と資源を要
することである。
【0007】例えば、アプリケーションが、視覚情報が
日本語のユーザインターフェースを提供するコードを通
して、符号化された文字列を有する場合には、視覚情報
を英語に変換するには、膨大な時間と資源を要する。特
に、文字列は幾つかの日本語のキャラクタ又は組合せを
含みうるので、ユーザインターフェースを英語に変換す
るには、ソフトウェア開発者は一般的には、各符号化さ
れた文字列の位置を検索するために各ファイルを手動で
検索しなければならない。各文字列の検索に際し、開発
者は、手動で英語に変換しなければならない。一度開発
者が全ての文字列を識別しそして変換すると、新たな実
行可能なプログラムを発生するために、コードは再コン
パイルされそして再リンクされねばならない。
【0008】しかし、新たな実行可能なプログラムを発
生した後に、符号化された文字列の全てが適切に翻訳さ
れたかを確認するために、開発者は、文字列が正しく英
語に翻訳されたかを確認するために各インターフェース
を物理的に見なければならない。更に加えて、開発者
が、文字列が適切に翻訳されていないと決定したときに
は、開発者は文字列の位置を検索し、新たな実行可能な
プログラムを発生しなければならない。共にリンクされ
ねばならない数百もの異なるメニューを有するプログラ
ムでは、開発者が最終使用者に提示されうる全てのイン
ターフェースを見て確認することは非常に困難である。
【0009】外国語のコンテンツの翻訳は、符号化され
た文字列を有するコンピュータプログラムで発生する唯
一の問題ではない。文字列の内容の変更は同様に、新た
な間違いを誘発する、時間のかかる改訂処理を要する。
【0010】一貫性は、他の問題である。コンピュータ
プログラムが、プログラムの異なる部分で使用される幾
つかの符号化された文字列の形式で、同じメッセージを
使用するときには、プログラマーは、他の文字列の改訂
をせずに、同じメッセージの他の実体を表す、1つの文
字列の改訂をする必要がある。この結果、プログラムは
一貫性の無い出力を生じる。
【0011】上述の説明により、符号化された視覚情報
を1つの言語から他の言語へ変換する方法及び、機構が
必要である。
【0012】また、コンピュータプログラムで符号化さ
れた文字列を使用する既知の問題と取り組む方法及び、
機構も必要である。
【0013】
【課題を解決するための手段】以下の開示から明らかに
なる前述の要求及び目的及び、他の要求及び目的は、コ
ードのユニット中に含まれている文字列を変換する方法
であって、コンピュータプログラムに含まれる符号化さ
れた文字列を識別するステップと、文字列を、文字列と
関連しているマクロに置換するステップと、マクロと文
字列の関連を定義するマップ内にエントリーを生成し且
つ蓄積するステップと、コンピュータプログラムに関連
するプログラム構成要素内のマップを参照する方法であ
る本発明により達成される。
【0014】本発明の他の特徴として、文字列を認識す
るステップは、符号化された文字列を含むコンピュータ
プログラムを識別するステップと、且つ、1つのコンピ
ュータプログラムから出力へのコピー命令中に符号化さ
れた文字列を認識するために1つのコンピュータプログ
ラムを解析するステップとを更に有する。
【0015】更に本発明の他の特徴として、文字列を識
別するステップは、そこに含まれている符号化された文
字列の位置を検索するためにコンピュータプログラムを
分析するステップと、且つ、文字列の位置の検索に応答
して、マクロが、その文字列に対して以前に発生された
かどうかを決定するステップと、マクロが以前に発生さ
れていない場合にのみ、その文字列に唯一に関連する対
応するマクロを発生するステップとを更に有する。
【0016】他の特徴として、本方法は、コンピュータ
プログラム中のマクロ文字列の各実体を実行可能なプロ
グラム中で文字列に置換するステップを有する、コンピ
ュータプログラムを実行可能なプログラムにコンパイル
するステップを更に有する。
【0017】更に他の特徴として、本方法は、コンピュ
ータプログラムに含まれている符号化された文字列の位
置を検索するために、コンピュータプログラムを分析す
るステップと、マクロから文字列へのマップを生成し且
つ蓄積するステップと、文字列の位置の検索に応答し
て、マップを検索することによりマクロが、その文字列
に対して以前に発生されたかどうかを決定するステップ
と、マクロが以前に発生されていない場合にのみ、その
文字列に唯一に関連する対応するマクロを発生するステ
ップとを更に有する。
【0018】また、本発明は、コンピュータ装置及び、
前述のステップを実行するコンピュータが読出し可能な
媒体を包含する。
【0019】
【発明の実施の形態】コンピュータプログラム内の文字
列を変換する方法及び、装置が開示される。以下の記載
では、説明目的で、本発明の徹底的な理解ができるよう
に多くの特定の詳細を説明する。しかし、当業者には、
本発明が、これらの特定の詳細がなかったとしても、実
施できることは明らかであろう。他の例では、本発明を
明確にするために、既知の構成及び、装置はブロック図
の形式で示される。
【0020】概要 プログラムファイル内の種々の位置に、テキストの特定
の本体を挿入するための変換機構が提供される。1つの
実施例では、変換機構は、符号化された文字列をマクロ
文字列に変換することによりマクロ置換を行う。マクロ
置換を行うために、変換機構はファイルに含まれている
1組のコンピュータ命令を受信するようになされる。受
信した命令に応答して、変換機構は、コンピュータ命令
内に含まれている文字列を認識するために命令を分析す
る。各文字列の認識に際し、変換機構は、元の文字列の
置換として、マクロ文字列を発生する。変換機構は、コ
ンピュータプログラムのソースコード内の識別された文
字列をマクロ文字列に置換する。
【0021】変換機構は、コンピュータ命令のコンパイ
ル中に使用するために、マクロリスト内に、マクロ文字
列を識別された文字列に関連付ける、エントリーも発生
する。マクロ文字列が識別された文字列の代わりに使用
されている命令を含む各ファイルに対して、変換機構
は、マクロリストの参照をする。コンパイル時に、コン
パイラーはマクロリストを読み、マクロ文字列の実体を
除いて、関連する識別された文字列を使用する。
【0022】説明目的のためのみに、本発明の実施例
は”C++”プログラミング言語に基づいた1組のコン
ピュータ命令に含まれる文字列を変換することに関して
説明する。しかし、前述の記載からも明らかなように、
本発明の実施例は特定のプログラミング言語には限定さ
れない。例えば、本発明の実施例は、”C”のように符
号化された文字列とマクロを用いるようなプログラミン
グ言語を使用しても実行できる。
【0023】図1は、本発明が使用できる文字列変換シ
ステム100のブロック図を示す。一般的には、システ
ム100は、1つ又はそれ以上の入力ファイル102,
104,106、変換機構108、マクロリスト110
及び、1つ又はそれ以上の出力ファイル112,11
4,116を有する。各々の入力ファイル102,10
4,106は、コンピュータプログラムソースコードを
有する。一般的には、入力ファイル名は、ファイルのソ
ースコードが書かれているコンピュータプログラミング
言語に対応する。このように、入力ファイル102,1
04,106は、それぞれに、C++ファイルとして
FILE1.cpp、FILE2.cpp、及び、FI
LE3.cppのように、名前が付される。例として、
入力ファイル102は、値”abc”を持つ符号化され
た文字列118を有する1組のコンピュータ命令を含
む。入力ファイル104は、文字列120(”xy
z”)と文字列122( ”abc”)を有するコンピ
ュータ命令を含む。入力ファイル106は、文字列12
4(”123”)と文字列126(”123”)を有す
るコンピュータ命令を含む。
【0024】説明目的のために、各入力ファイル10
2,104,106は同じコンピュータプログラムのモ
ジュール又は、部分を含むと仮定し、且つそれゆえ、入
力ファイル102,104,106は、集合的に”コー
ドのユニット”又は、”コードユニット”と呼ばれる。
明確にするために、これらの入力ファイル102,10
4,106は、1つ又は2つの例の文字列式でのみ示
す。いくつの入力ファイルがあっても良い。各入力ファ
イルは、いくつの命令、コードのライン及び、文字列式
を有してもよい。
【0025】1つの実施例では、入力ファイル102,
104,106は、変換機構108により処理するため
に受信される。入力ファイルの受信に応答して、変換機
構108は、各ファイルの命令内に含まれている文字列
を識別するために、各ファイルを分析する。変換機構1
08は、入力ファイル102,104,106のソース
コンピュータ言語の文法中で、文字列がどのように表現
されるかを規定する蓄積された情報に基づいてそのよう
な分析を行う。特定の実施例では、変換機構は、二上引
用記号により囲まれた1つ又はそれ以上のキャラクタの
グループとして、文字列を識別する。例えば、入力ファ
イル102を分析する際には、変換機構108は、文字
列118(”abc”)を文字列として識別する。同様
に入力ファイル104を分析する際には、変換機構10
8は、文字列120("xyz")と文字列122 ”a
bc”を文字列として識別する。
【0026】本発明の実施例は、特定の文字列フォーマ
ットには限定されない。例えば、コンピュータ命令が表
現されているプログラミング言語の文法は、一般的に
は、文字列が、コード内でどのように指定され範囲を定
められるかについてのフォーマットを指示する。このよ
うに、プログラミング言語が単一引用記号(’’)又
は、ダッシュ(− −)を区切り文字又は、文字列を指
定するのに使用するならば、分析に際し、変換機構はコ
ンピュータ命令内で文字列を識別するための、適切な文
字列区切り文字を使用する。
【0027】文字列118,120,122,124,
126を変換するために、変換機構108は対応する各
唯一の文字列を、対応するマクロ文字列で置換する。1
つの実施例では、変換機構108は、各入力ファイル1
02,104,106を対応する出力ファイル112,
114,116にコピーする。コピー中に、変換機構1
08は、コードのユニット内で識別された各特有の文字
列へ、唯一のマクロ文字列を割り当てるエントリーを有
するマップテーブルを生成し且つ蓄積する。例として、
表1に、図1に示すファイルとその文字列の内容に対す
る対応するエントリーを含む変換マップテーブルの一例
を示す。
【0028】
【表1】 変換マップテーブルにより、変換機構108は、コード
のユニットが分析されている間に、以前に特定の文字列
が識別されたかどうかを決定できる。このように、変換
機構108は、単一の文字列に対して異なる複数のマク
ロ文字列が発生することを防ぐことができる。
【0029】例えば、入力ファイル102の分析に際し
ては、変換機構108は、文字列118を、変換される
べき文字列として認識する。文字列118の識別に応答
して、変換機構108は、文字列が以前に識別又は分析
されたかどうかを決定するために変換マップテーブルを
要求する。変換機構108が、文字列118が以前に分
析されていないと決定したときには、変換機構は唯一の
マクロ文字列(この場合Z0001)を発生し、新たな
エントリーを変換マップテーブルに挿入する。この結
果、変換マップテーブルは、図1に示すように、文字列
118(abc)を唯一のマクロ文字列(Z0001)
に割り当てる。変換機構108は文字列118を含む。
図1の出力ファイル112に示すように、コードを出力
ファイル112にコピーし、文字列118は唯一のマク
ロ文字列140と置き換わる。
【0030】逆に、変換機構108が文字列が以前に分
析されていると決定したときには、唯一のマクロ文字列
は発生されず、新たなエントリーは、変換マップテーブ
ルに挿入されない。例えば、入力ファイル104が入力
ファイル102に続いて分析されたときには、文字列1
22(abc)の識別に際し、変換機構108は、文字
列122に対応するエントリーは既に変換マップテーブ
ル内に存在すると決定する。このように、新たな唯一の
マクロ文字列の発生のかわりに、変換機構108は、文
字列122を含むコードが出力ファイル114にコピー
されるときに、前に定義されたマクロ文字列(Z000
1)を取り出し、且つ文字列122(abc)を唯一の
マクロ文字列144で置換する。
【0031】1つの実施例では、標準テンプレートライ
ブラリ(STL)のような、一般的なアルゴリズムとデ
ータ構造の汎用ライブラリーが、識別された文字列と唯
一のマクロ文字列のマップを維持するために使用され
る。STLは、1996年にAddison−Wesl
ey出版社より出版された、D.Musser他によ
る” 標準テンプレートライブラリのC++プログラミ
ング”に記載されている。
【0032】ある実施例としては、ユーザは、特定の文
字列に関連する各唯一のマクロ文字列を定義してもよ
い。例えば、新たな文字列が識別されたときにはいつで
も、要求がディスプレイモニタに送られ、ユーザに好ま
しいマクロ文字列値を入力することを要求する。代わり
に、要求がディスプレイモニタに送られ、変換機構10
8が新たな入力ファイルの分析を開始したときにいつで
もユーザに望ましいマクロ文字列値の入力を要求しても
よい。
【0033】また特定の実施例としては、変換機構10
8は、各マクロ文字列が唯一であることを保証するため
に、ユーザにより入力されたマクロ文字列に唯一のコー
ドを自動的に付加する。例えば、ユーザがマクロ文字列
値”ABC”を入力したときには、コードのユニット中
で識別される各別個の文字列に対して唯一のマクロ文字
列を発生することを保証するために、変換機構108
は、(”0001”、”0002”、”0003”のよ
うな)数値的に増加する文字列を追加し得る。
【0034】更に、唯一のマクロ文字列が発生されると
きは、変換機構108は、コードユニットのコンパイル
中に対応する識別された文字列の代わりに唯一のマクロ
を使用するために、マクロ置換(”マクロ定義”)を定
義するマクロリスト110内のエントリを発生する。変
換機構108は、唯一のマクロ文字列により文字列が置
きかえられた各出力ファイルのマクロリストに参照符を
も挿入する。マクロ定義と挿入されたファイルの参照符
により、コンパイラは、コンパイル時に各マクロと識別
された文字列を分析し且つ交換できる。
【0035】1つの実施例では、マクロリスト110は
1つ又はそれ以上のマクロ定義を有するヘッダファイル
の形式で実行される。例えば、入力ファイル102,1
04,106がC++言語で表現されている場合には、
各唯一のマクロは、パラメータとして唯一のマクロと対
応する識別された文字列を含む”#define”文で
定義される。この実施例では、出力ファイル中のファイ
ルの参照符は、大部分のC++及び、Cコンパイラによ
り認識されるコンパイラに指示する”#define”
のような、コンパイラに指示することで構成される。コ
ンパイラの指示は、パラメータ、マクロリスト名110
を含む。
【0036】例えば、出力ファイル112で、文字列1
18を唯一のマクロ文字列140と置換するのに加え
て、変換機構108はマクロ定義128を発生しマクロ
リスト110(A.h.)へ挿入する。変換機構108
は”include”ファイル参照符134も発生し、
出力ファイル112へ挿入する。従って、コンパイル中
に、コンパイラは、マクロ文字列140がマクロリスト
110内で定義されているマクロリスト110をロード
することにより、ファイル参照符134に含まれている
コンパイラ指示に応答するであろう。そして、マクロ文
字列140を文字列”abc”で置換する。
【0037】この結果、符号化された文字列を有する長
く複雑なコンピュータプログラムは高速に且つ効率良
く、文字列値に対して柔軟なマクロ定義を使用するプロ
グラムへ変更される。
【0038】符号化された文字列の変更 以前は、符号化された文字列を変更するために、プログ
ラマーは二重引用記号で区切られている各文字列が出て
くるたびに変更することが必要であった。例えば、図1
を参照すると、文字列”abc”を文字列”abe”
へ、文字列”xyz”を文字列”xya”へ、文字列”
123”を文字列”132”へ変更する必要があるとす
る。3つのファイル内の5つの文字列が変更を要する。
しかし、本発明を利用することにより、1つのファイル
の3つのマクロを手動で変更することのみが必要なこと
である。(例えば、3ファイルから1ファイルへ)変更
されるべきファイル数を減少することにより、必要な仕
事の量と、望んでいない間違いの起こる確率は大きく減
少される。
【0039】例えば、入力ファイル102,104,1
06に含まれる文字列の分析と処理はマクロリスト11
0と出力ファイル112,114,116を発生する。
図1に示すように、マクロ置換の完了後、マクロリスト
110は、入力ファイル102,104,106の中で
識別された各文字列に対する、マクロ定義エントリー1
28、130、132を有する。マクロリスト110の
特定のエントリーの文字列を変更することにより、各マ
クロ定義エントリーは、コンパイル時に行われるべき文
字列置換を定義するので、ユーザは、コードユニットに
基づいてアプリケーションを実行するときに表示される
どのような文字列にも簡単に変換できる。
【0040】図2は、マクロ定義エントリー128,1
30、132の文字列定義150,152,154が変
更されたマクロリスト110の例を示す。文字列定義1
50,152,154を変更することにより、コンパイ
ル時に対応するオブジェクトコードへ挿入される文字列
を自動的に簡単に変更できる。従って、コンパイルされ
たオブジェクトコードに基づくアプリケーションを実行
する再に、ユーザに表示される視覚情報は、新たな文字
列定義に基づいている。
【0041】この変換機構を使用し、コード中に亘っ
て、符号化文字列により定義されたユーザインターフェ
ースにおいて、1つの言語から他の言語へ視覚情報を翻
訳するのに通常要するであろう時間と労力をかなり減少
できる。
【0042】例えば、文字列118、120,122,
124,126は日本語情報を含むとする。従って、入
力ファイル102,104,106に基づくアプリケー
ションの実行時には、ユーザに表示される視覚情報は日
本語である。しかし、文字列定義150,152,15
4を日本語文字列の英語翻訳に置換することにより、ユ
ーザに表示される視覚情報はコンピュータプログラムの
ソースコードを変更すること無く英語に翻訳又は、変換
される。
【0043】ある実施例として、変換機構108は、符
号化された文字列を1つの言語から他の言語へ自動的に
翻訳する。1つの実施例では、変換機構108は、各文
字列の情報が翻訳されるべき代わりの言語を定義するユ
ーザ入力を受信する。例えば、変換機構108は、1つ
の言語から他の言語へ単語又は、文字列を翻訳するため
のテーブルエントリーを有するデータベースと通信する
ようになされる。日本語から英語へ入力ファイル10
2,104,106内の文字列の変換を要求する入力が
受信されると、文字列118の識別に際し、変換機構1
08は適切な英語翻訳を決定するためにデータベースに
質問をする。英語の翻訳を受信後、変換機構は、マクロ
定義エントリー128の文字列定義150の英語翻訳を
挿入する。
【0044】或は、変換機構108により識別された翻
訳する文字列の代わりに、マクロリスト110内の各マ
クロ定義の文字列定義が読み出され、一度、変換機構1
08が完了した適切な言語に翻訳するポスト翻訳処理が
採用されてもよい。
【0045】コードのユニットに含まれる文字列の変換 図3と図4は、コードのユニットに含まれている文字列
を変換する方法のフローを示す図である。説明目的のた
めに、図3と図4は、図1と図2の構成要素を参照して
説明する。
【0046】ブロック302では、符号化された文字列
を含むであろう1つ又はそれ以上のファイルのリストが
検索される。例えば、ファイルのリストは、ファイルシ
ステムの特定のディレクトリに含まれる1つ又はそれ以
上の”.cpp”ファイルのリストを作成することによ
り、生成され、蓄積される。リストはファイルに予め定
義されたリストをロードすることにより配置される。或
は、リストは、コマンドラインパラメータとして供給さ
れる。リストは、ファイル名又は、パス名により入力フ
ァイル102,104,106を識別する情報を有して
もよい。
【0047】ブロック304では、1つ又はそれ以上の
ファイルからのファイルは分析のために選択される。例
えば、図1の入力ファイル102は分析のために選択さ
れうる。
【0048】ブロック306では、処理は符号化された
文字列を識別するために、選択されたファイルを分析す
る。1つの実施例では、符号化された文字列の識別に際
し、変換機構は、選択されたファイル内のコメント又
は、コンパイラに支持する文の中のそれらの文字列は無
視する。文字列以外の要素は、選択されたファイルから
出力ファイルへコピーされる。
【0049】ブロック308は、文字列の識別に応じ
て、処理は、文字列が以前に処理されたかどうかを決定
する。ブロック308のテストは、識別された文字列は
既に、識別された文字列のリスト内にあるかどうかを決
定することも含む。1つの実施例では、マップが文字列
を唯一のマクロ文字列に識別したエントリーを含むマク
ロマップは、維持される。マクロマップを使用して、処
理は、識別された文字列は以前に処理されたかを決定で
きる。識別された文字列は以前に見つかっていたなら、
制御はブロック314へ進む。しかし、ブロック308
で、識別された文字列は以前に処理されていなかったと
決定したなら、ブロック310で、処理は識別された文
字列に対して、唯一のマクロ文字列を発生する。
【0050】ブロック312では、マクロマップには、
識別された文字列を新たに発生された唯一のマクロ文字
列に割り当てるエントリーが生成される。
【0051】ブロック314では、処理は、出力で、識
別された文字列を唯一のマクロ文字列で置換する。例え
ば、入力ファイル102で、文字列118(”ab
c”)の識別に際し、変換機構108は唯一のマクロ文
字列(Z0001)発生し、出力ファイル112の文字
列104に示すように、”abc”をZ0001で置換
する。
【0052】ブロック316では、処理は、入力ファイ
ルの最後に達したかどうかを決定する。ファイルが完全
に分析されていないなら、制御はブロック306へ進
み、符号化された文字列に関してファイルの分析を続け
る。
【0053】或は、ファイルが完全に分析されたなら、
ブロック318で、ファイルはマクロマップへの参照符
を含むように更新され、又は、ファイルに対してマクロ
マップに基づき形成される。例えば、図1に示されてい
るようにファイル参照符134は、インクルードファイ
ルへの参照符として、出力ファイル112に挿入され
る。インクルードファイルはマクロリストの内容に基づ
いている。
【0054】ブロック320では、変換機構は、更なる
ファイルが分析される必要があるかどうかについて決定
する。更なるファイルが分析される必要がある場合に
は、制御は、ブロック304へ進み分析のために次のフ
ァイルを選択する。
【0055】逆に、更なるファイルが分析される必要が
ない場合には、ブロック322で変換機構がインクルー
ドファイルを形成するためにマクロマップの内容を使用
する。例えば、入力ファイル102,104,106無
いで識別された符号化された文字列に基づいた情報を有
するマクロマップを使用し、変換機構は、マクロ定義エ
ントリー128,130、132を伴うマクロリスト1
10を生成する。
【0056】一般的な処理例 図5は、本発明の実施例に従った、文字列”abc”を
マクロABCと置換する一般的な処理シーケンスを示す
ブロック図である。ステップ1では、文字列変換機構4
00は、A.cppファイル406を分析する。A.c
ppファイル406を分析するに際し、文字列変換機構
400は文字列”abc”をソースコード内の符号化さ
れた文字列として識別する。ステップ2では、文字列”
abc”の識別に応答して、文字列変換機構400は、
文字列が既にマクロマップ内に含まれているかどうかを
決定するためにマクロマップ404に質問をする。ステ
ップ3で、マクロマップ404内に文字列が含まれてい
ない場合には、文字列変換機構400は唯一のマクロ文
字列(ABC)を発生し、文字列”abc”とマクロ文
字列ABCを、マクロマップ404に入力する。
【0057】ステップ4では、文字列変換機構400
は、B.cppファイル410内で、文字列”abc”
をマクロ文字列ABCで置換する。実施例では、A.c
ppファイル406とB.cppファイル410は分析
されたファイルに対して、直接に更新が行われた同じフ
ァイルを示す。他の実施例では、A.cppファイル4
06とB.cppファイル410は、B.cppファイ
ル410でマクロ置換が行われながら、A.cppファ
イル406が分析され、A.cppファイル406の内
容がB.cppファイル410へコピーされるような異
なるファイルを表す。これにより、A.cppファイル
406は文字列変換処理によっては影響を受けない。
【0058】ステップ5では、文字列変換機構400
は、X.hファイル402参照するようにA.cppフ
ァイル406を更新する。ステップ6では、文字列変換
機構400は、インクルードファイルX.h402を生
成し、ステップ7ではインクルードファイルX.h40
2内のマクロ408を定義する。
【0059】構成要素のブロック図 図6は、本発明の特定の実施例に従った文字列変換シス
テム500のブロック図である。図に示すように、文字
列変換システム500はパーサモジュール502、ソー
スコードファイルマネージャモジュール504、マクロ
マップマネージャモジュール506及び、ヘッダファイ
ルマネージャモジュール508を有する。
【0060】ソースコードファイルマネージャモジュー
ル504は、以下の機能を実行するようになされる。 (1)a.cppファイルを開く。 (2)ファイルを読みキャラクタをパーサへ送る。 (3)符号化された文字列をマクロで置換する。 (4)インクルード文が既に.cpp内に含まれている
かどうかを決定する。 (5)必要ならインクルード文追加する。 (6)a.cppファイルを閉じる。
【0061】パーサモジュール502は、以下の機能を
実行するようになされる。 (1)符号化された文字列を識別するために.cppフ
ァイルを分析する。 (2)識別された各唯一の符号化された文字列に対して
唯一のマクロを生成する。 (3)文字列と唯一のマクロをソースコードファイルマ
ネージャモジュール504、マクロマップマネージャモ
ジュール506とヘッダファイルマネージャモジュール
508へ送る。
【0062】マクロマップマネージャモジュール506
は、以下の機能を実行するようになされる。 (1)マクロマップは既に識別された文字列のマクロを
含むかどうかを決定する。 (2)まだ含まれていないなら、文字列と唯一のマクロ
をマクロマップに追加する。
【0063】ヘッダファイルマネージャモジュール50
8は、以下の機能を実行するようになされる。 (1)まだ生成されていないなら、.hファイルを生成
する。 (2).hファイル内にマクロを定義する。 (3).hファイルを閉じる。
【0064】構成要素間の通信 図7、8及び、9は、図6に示す構成要素間で行われる
通信シーケンスの例を示す図である。図7は、識別され
たトークンを扱うファイルを開くことからのステップの
シーケンスを示す。図7に示されているように、ステッ
プ1aでは、パーサモジュール502は、ソースコード
ファイルマネージャモジュール504の”オープン”機
能を呼び出すことによりファイルを開くことをソースコ
ードファイルマネージャモジュール504に要求する。
ファイルのオープンが成功した後に、ステップ2aに示
すように、パーサモジュール502は、ソースコードフ
ァイルマネージャモジュール504へ、”getNex
tChar”関数を呼び出すことにより、次のキャラク
タを戻すことを要求する。パーサモジュール502が一
旦キャラクタを得ると、ステップ3aで、キャラクタ
は、”createToken”関数を呼び出すことに
よりトークンを形成する区切り子と比較される。ステッ
プ2aと3aは二重引用記号を伴う文字列が識別される
まで、繰り返される。ステップ4aでは、パーサモジュ
ール502は、マクロマップマネージャモジュール50
6の”isStringInMap”関数を呼出し、呼
出しの一部として、識別された文字列を送る。(図5
の)マクロマップ404内に文字列が無い場合には、”
isStringInMap”関数は、文字列は以前に
は見つかっていないことを示す、フラグ(”NO”)を
戻す。ステップ5aで、パーサモジュール502は、唯
一のマクロを得るために、”createMacro”
関数を呼出す。唯一のマクロを得た後に、ステップ6a
で、パーサモジュール502は、”addString
ToMap”関数を呼び出すことにより、唯一のマクロ
と文字列をマクロマップマネージャモジュール506へ
送る。ステップ7aで、ヘッダファイルが無い場合に
は、パーサモジュール502は、ヘッダファイルマネー
ジャモジュール508の”createHeaderF
ile”関数を呼出すことにより、ヘッダファイルマネ
ージャモジュール508に、ヘッダファイルの生成を要
求する。ステップ8aで、パーサモジュールは、”de
fineMacro”関数を通してヘッダファイルへ加
えるべきマクロと文字列をヘッダファイルマネージャモ
ジュール508へ送る。ステップ9aで、パーサモジュ
ール502はソースコードファイルマネージャモジュー
ル504へ、ソースコードファイルマネージャモジュー
ル504の”changeStringToMacr
o”関数を呼出して、識別された文字列をマクロと置換
するように命令する。ステップ10aで、一旦全ファイ
ルが読まれたならば、パーサモジュール502は、出力
ファイルに、ヘッダファイルプリプロセッサ指示(#i
nclude<xxx。h>)が含まれているかをチェ
ックする。含まれていない場合には、ステップ11a
で、パーサモジュール502は、ソースコードファイル
マネージャモジュールの”includeHeader
file”関数を呼出し、プリプロセッサ指示を含むよ
うに出力ファイルを変更する。
【0065】図8は、パーサモジュール502内のクラ
ス構造と共に図7のステップ1a、2a及び、3aの詳
細を示す。パーサ604、スキャナ602及び、トーク
ン606はパーサモジュール502内のクラスである。
図8のステップ1bは、図7のステップ1aの詳細な記
載である。ステップ1bに示すように、パーサクラスオ
ブジェクト604は、図7のステップ1aに前に示した
ようにパラメータとして、ファイル名を使用して、ソー
スコードファイルマネージャモジュール504の”op
en”関数を呼出す。ファイル名でファイルをオープン
した後に、ソースコードファイルマネージャモジュール
504はファイルポインタを戻す。関数がファイルのオ
ープンに失敗した場合には、ソースコードファイルマネ
ージャモジュール504はヌルポインタを戻す。或は、
ファイルオープンが成功した場合(即ち、ヌルでないポ
インタが戻ったとき)には、ステップ2bで、パーサク
ラスオブジェクト604は、呼び出しの中のファイルポ
インタをスキャナクラスオブジェクト602の”get
NextToken”関数へ送ることにより、スキャナ
クラスオブジェクト602から次のトークンを要求す
る。getNextToken関数内では、スキャナク
ラスオブジェクト602は、トークン区切り子が出現す
るまで、”getNextToken”関数を繰返し呼
び出すことにより、ソースコードファイルマネージャモ
ジュール504からキャラクタの要求を続ける。トーク
ン606は、”createToken”関数を呼び出
すことにより、トークンを生成するために、スキャナク
ラスオブジェクト602を助けるのに使用される。トー
クン区切り子が出現したときには、スキャナクラスオブ
ジェクト602はトークン606へのポインタを生成
し、パーサクラスオブジェクト604へのポインタを、
ステップ2bの”getNextToken”関数の戻
り値として戻す。ファイルの最後となった時には、EO
Fトークンが戻される。
【0066】図9は、図7のステップ4bからステップ
11bと等価である。”getNextToken”関
数は、ファイルの最後になったことを示すEOFトーク
ンを戻すときに、パーサクラスオブジェクト604は、
ステップ7cに示されたいるソースコードファイルマネ
ージャモジュール504の”checkInclud
e”関数を呼出す。”NO”のフラグの値が戻されたと
きには、ステップ8cで、パーサクラスオブジェクト6
04は.hファイル名を”includeHeader
File”関数を通して、ソースコードファイルマネー
ジャモジュール504へ送る。ステップ9cでは、パー
サクラスオブジェクト604はソースコードファイルマ
ネージャモジュール504へソースコードファイルポイ
ンタを送ることによりソースコードを閉じる。
【0067】ハードウェアの概要 図10は、本発明の実施例を実行するのに使用されるコ
ンピュータシステム700のブロック図である。コンピ
ュータシステム700は、バス702、又は、情報通信
のための他の通信機構、及び、バス702に結合された
情報処理のためのプロセッサ704を有する。コンピュ
ータシステム700は、バス702に結合された情報と
プロセッサ704により実行される命令を蓄積するため
のランダムアクセスメモリ(RAM)又は他のダイナミ
ック蓄積装置のような主メモリ706を有する。主メモ
リ706は、プロセッサ704により実行される命令を
実行中の、仮の変数又は、他の中間的な情報を蓄積する
のにも使用される。コンピュータシステム700は、さ
らに、読出し専用メモリ(ROM)708又は、静的な
情報とプロセッサ704に対する命令を蓄積するために
バス702に結合された他の静的な蓄積装置を有する。
磁気ディスク又は、光ディスクのような蓄積装置710
が設けられ、情報と命令を蓄積するためにバス702に
結合される。
【0068】コンピュータシステム700は、コンピュ
ータユーザへ情報を表示するために、バス702を介し
て、陰極線管(CRT)のようなディスプレイ712へ
接続されてもよい。英数字及び、他のキーを有する入力
装置714は、プロセッサ704に情報と命令選択を通
信するためにバス702に結合される。他の形式のユー
ザ入力装置は、マウス、トラックボール、又は、プロセ
ッサ704に方向情報と命令選択を通信し且つディスプ
レイ712上でカーソルの移動を制御するするためのカ
ーソル方向キーのような、カーソルコントロールであ
る。この入力装置は典型的には、装置の面内の位置を規
定できる第1の軸(例えば、x)と第2の軸(例えば、
y)の2つの軸に2つの自由度を有している。
【0069】本発明は、コードのユニットに含まれてい
る文字列を変換するコンピュータシステム700の使用
に関連する。1つの実施例に従って、主メモリ706に
蓄積されている1つ又はそれ以上の命令の1つ又はそれ
以上シーケンスを実行するプロセッサ704に応答し
て、文字列変換はコンピュータシステム700により行
われる。そのような命令は、蓄積装置710のような他
のコンピュータが読出し可能な媒体から主メモリ706
へ読み出されてもよい。主メモリ706に含まれている
命令のシーケンスの実行は、プロセッサ704にここで
記載されている処理ステップを実行させる。他の実施例
では、ハードワイアーの回路が、本発明を実行するため
に、ソフトウェア命令の代わりに或はソフトウェア命令
と共に使用できる。従って、本発明の実施例は、ハード
ウェア回路とソフトウェアのどのような特定の組合せも
制限しない。
【0070】” コンピュータが読出し可能な媒体”
は、実行のためにプロセッサ704に命令を供給するど
のような媒体でもよい。そのような媒体は、不揮発性媒
体、揮発性媒体、伝送媒体を含むがこれには制限されな
い。不揮発性媒体は、例えば、710のような、光又は
磁気ディスクを含む。揮発性媒体は、主メモリ706の
ようなダイナミックメモリを含む。伝送媒体は、バス7
02を含む線を含む、同軸ケーブル、銅線又は、光ファ
イバ等を含む。伝送媒体は、無線波及び赤外線データ通
信中に発生されるような、音波又は、光波の形式でもよ
い。
【0071】コンピュータが読出し可能な媒体の一般的
な形式は、例えば、フロッピー(登録商標)ディスク、
フレキシブルディスク、ハードウェアディスク、磁気テ
ープ、又は、他の磁気媒体、CD−ROM、他の光媒
体、パンチカード、紙テープ、パターンと穴の他の物理
的な媒体、RAM.PROM,EPROM、フラッシュ
EPROM、他のメモリチップ又は、カートリッジ、以
後に述べる搬送波又は、コンピュータが読出し可能な他
の媒体を含む。
【0072】種々の形式のコンピュータが読出し可能な
媒体は、プロセッサ704の実行のための1つ又はそれ
以上の命令の1つ又はそれ以上のシーケンスを担うこと
が必要である。例えば、命令は最初に、遠隔コンピュー
タの磁気ディスク上にある。遠隔コンピュータは、命令
をダイナミックメモリ上にロードし、モデムを使用した
電話線で命令を送る。コンピュータシステム700のモ
デムは電話線からデータを受信し、赤外線送信器を使用
して赤外線信号にデータを変換する。赤外線検出器は、
赤外線信号で運ばれるデータを受信でき、且つ、適切な
回路がバス702にデータを配置できる。バス702は
データを主メモリ706に送り、プロセッサ704は主
メモリ706からデータを取り出し、命令を実行する。
主メモリ706により受信された命令は、任意に、プロ
セッサ704により実行前又は、実行後に、蓄積装置7
10に蓄積できる。
【0073】コンピュータシステム700は、バス70
2に結合した通信インターフェース718も含む。通信
インターフェース718は、ローカルネットワーク72
2に接続されたネットワークリンク720に接続された
2方向データ通信を提供する。例えば、通信インターフ
ェース718は、対応する形式の電話線にデータ通信接
続を提供する統合サービスディジタルネットワーク(I
SDN)カード又はモデムである。他の例としては、通
信インターフェース718は、互換性のあるLANにデ
ータ通信接続を提供するローカルエリアネットワーク
(LAN)カードでもよい。無線リンクも利用できる。
そのような実施では、通信インターフェース718は、
種々の形式の情報を表すディジタルデータストリームを
担う、電気的、電磁気的又は、光学的信号を送受信す
る。
【0074】ネットワークリンク720は、1つ又はそ
れ以上のネットワークを通して、他のデータ装置へデー
タ通信を提供する。例えば、720はローカルネットワ
ーク722を通してホストコンピュータ724又は、イ
ンターネットサービスプロバイダ(ISP)726によ
り操作されるデータ装置へ接続する。ISP726
は、”インターネット”728と一般に呼ばれるワール
ドワイドパケットデータ通信ネットワークを通して、デ
ータ通信サービスを提供する。ローカルネットワーク7
22とインターネット728は、両者ともディジタルデ
ータストリームを担う、電気的、電磁気的又は、光学的
信号を使用する。コンピュータシステム700との間で
ディジタルデータを担う種々のネットワークを通した信
号、及び、ネットワークリンク720上の信号及び、通
信インターフェース718を通した信号の例は、情報を
搬送する搬送波の形式である。
【0075】コンピュータシステム700は、ネットワ
ーク、ネットワークリンク720及び、通信インターフ
ェース718を通して、メッセージを送信しプログラム
コードを含むデータを受信できる。インターネットの例
では、サーバ730は、アプリケーションプログラムに
対して要求されたコードを、インターネット”728、
ISP726、及び、通信インターフェース718を介
して送信できる。本発明に従って、そのようなダウンロ
ードされた1つのアプリケーションは、ここで述べたよ
うにコードのユニットに含まれる文字列を変換する。
【0076】受信されたコードは、受信されたようにプ
ロセッサ704により実行され、及び/又は、後の実行
のために蓄積装置710又は、他の不揮発性蓄積媒体に
に蓄積される。このように、コンピュータシステム70
0は搬送波の形式で、アプリケーションコードを取得で
きる。
【0077】代案及び、拡張 ここで説明されている変換機構は、ファイル内で符号化
されている文字列を、ユーザが便利に変換できる機構を
提供する。特に、変換機構は、符号化された文字列を含
むソフトウェアアプリケーションに固有な欠点を減少で
き、且つ、符号化された視覚情報を1つ及び、言語から
他の言語へ翻訳できる機構を提供する。
【0078】本発明の特定の実施例の記載では、幾つか
の図は、説明目的のために使用されている。しかし、本
発明は、図に示した特定の内容には制限されず、また、
本発明の概念と範囲は、ここで説明される分散された認
可形式で、他の機構、方法、プログラム及び、処理に利
用できる、他の関係及び応用を含む。例えば、出力ファ
イル112,114,116はそれぞれ入力ファイル1
02,104,106からの別のファイルとして示され
ているが、ある実施例では、実際には同じファイルを示
す。例えば、文字列の変換の際には、変換機構は入力フ
ァイル102に対応する更新を行い、これにより、出力
ファイル112と、入力ファイル102は同じファイル
となる。或は、変換機構は、入力ファイル入力ファイル
102,104,106のコピー(出力ファイル11
2)を作成し、出力ファイル112に対応する更新を行
う。従って、このように、仕様書と図面は、制限的な意
味よりも、実例として見なされるべきである。
【0079】さらに、請求項を含む本開示では、特定の
処理ステップは特定の順序で記載され、英文字及び英数
字のラベルは特定のステップを識別するのに使用されて
いる。開示の中で特に述べない限り、本発明の実施例
は、そのようなステップを特定の順序で実行するのには
制限されない。特に、ラベルは短にステップを識別する
ためにのみ使用されており、そのようなステップの実行
の特定の順序を、何も、暗示、規定又は、要求しない。
【0080】
【発明の効果】以上、本発明により、符号化された視覚
情報を1つの言語から他の言語へ変換する方法及び、機
構を提供することができる。
【図面の簡単な説明】
【図1】本発明が使用される文書処理システムを示す図
である。
【図2】特定の内部の詳細を示す図1のシステムヘッダ
ファイルのブロック図である。
【図3】コードのユニットに含まれている文字列を変換
する方法のフローを示す図である。
【図4】図3の方法の更なるステップのフローを示す図
である。
【図5】文字列を唯一のマクロ文字列と置換する一般的
な処理シーケンスを示すブロック図である。
【図6】本発明を実行するのに使用できる文字列変換シ
ステムのブロック図である。
【図7】図6の構成要素間で行われる通信シーケンスの
例を示す図である。
【図8】図6の構成要素間で行われる通信シーケンスの
他の例を示す図である。
【図9】図6の構成要素間で行われる通信シーケンスの
他の例を示す図である。
【図10】本発明を実行するのに使用されるコンピュー
タシステムハードウェア配置のブロック図である。
【符号の説明】
100 文字列変換システム 108 変換機構 400 文字列変換機構 404 マクロマップ 500 文字列変換システム 502 パーサモジュール 504 ソースコードファイルマネージャモジュール 506 マクロマップマネージャモジュール 508 ヘッダファイルマネージャモジュール 602 スキャナクラスオブジェクト 604 パーサクラスオブジェクト 606 トークン 700 コンピュータシステム 702 バス 704 プロセッサ 706 主メモリ 708 ROM 710 蓄積装置 712 ディスプレイ 714 入力装置 716 カーソルコントロール 720 ネットワークリンク 722 ローカルネットワーク 724 ホスト 726 インターネットサービスプロバイダ 728 インターネット 730 サーバ
フロントページの続き (72)発明者 イェヴゲーニャ リャプスティーナ アメリカ合衆国,カリフォルニア 95134 −2088,サン・ノゼ,オーチャード・パー クウェイ・ドライヴ 3001番 リコーコー ポレーション内

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータプログラムに含まれている
    文字列を変換する文字列変換装置であって、 メモリと、 メモリに接続されたプロセッサと、 変換機構と、 マクロと文字列の関連を定義したマップとを有し、 メモリに含まれており且つ変換機構に関連するシーケン
    スのコンピュータ命令は、プロセッサにより実行された
    ときに、プロセッサに、 コンピュータプログラムに含まれる符号化された文字列
    を識別するステップと、 文字列を、文字列と関連しているマクロに置換するステ
    ップと、 マクロと文字列の関連を使用するマップ内にエントリー
    を生成し且つ蓄積するステップとを有し、 コンピュータプログラムに関連するプログラム構成要素
    内のマップを参照するようにした文字列変換装置。
  2. 【請求項2】 文字列を認識するステップは、 符号化された文字列を含むコンピュータプログラムを識
    別するステップと、 1つのコンピュータプログラムから出力へのコピー命令
    中に符号化された文字列を認識するために1つのコンピ
    ュータプログラムを解析するステップとを有する請求項
    1記載の文字列変換装置。
  3. 【請求項3】 文字列を識別するステップは、 そこに含まれている符号化された文字列の位置を検索す
    るためにコンピュータプログラムを分析するステップ
    と、 文字列の位置の検索に応答して、マクロが、その文字列
    に対して以前に発生されたかどうかを決定するステップ
    と、 マクロが以前に発生されていない場合に、その文字列に
    関連するマクロを発生するステップとを有する請求項1
    記載の文字列変換装置。
  4. 【請求項4】 文字列を識別するステップは、識別され
    たキャラクタの文字列に対して提案されたマクロ文字列
    を受信するステップを有し、 キャラクタの文字列をマクロ文字列に置換するステップ
    は、受信されたマクロ文字列に基づいてマクロ文字列を
    発生するステップを含む請求項1記載の文字列変換装
    置。
  5. 【請求項5】 コンピュータプログラム中のマクロ文字
    列の各実体を実行可能なプログラム中で文字列に置換す
    るステップを有し、コンピュータプログラムを実行可能
    なプログラムにコンパイルするステップを有する請求項
    1記載の文字列変換装置。
  6. 【請求項6】 コンピュータプログラムに含まれている
    符号化された文字列の位置を検索するためのコンピュー
    タプログラムを分析するステップと、 マクロから文字列へのマップを生成し且つ蓄積するステ
    ップと、 文字列の位置の検索に応答して、マップを検索すること
    によりマクロが、その文字列に対して以前に発生された
    かどうかを決定するステップと、 マクロが以前に発生されていない場合に、その文字列に
    関連する対応するマクロを発生するステップとを有する
    請求項1記載の文字列変換装置。
  7. 【請求項7】 コンピュータプログラムコードの中に含
    まれている文字列を変換する方法であって、 コンピュータプログラムに含まれる符号化された文字列
    を識別するステップと、 文字列を、文字列にと関連しているマクロに置換するス
    テップと、 マクロと文字列の関連を定義するマップ内にエントリー
    を生成し且つ蓄積するステップとを有し、 コンピュータプログラムに関連するプログラム構成要素
    内のマップを参照するようにした文字列変換方法。
  8. 【請求項8】 文字列を認識するステップは、 符号化された文字列を含むコンピュータプログラムを識
    別するステップと、 1つのコンピュータプログラムから出力へのコピー命令
    中に符号化された文字列を認識するために1つのコンピ
    ュータプログラムを解析するステップとを有する請求項
    7記載の文字列変換方法。
  9. 【請求項9】 文字列を識別するステップは、 そこに含まれている符号化された文字列の位置を検索す
    るためにコンピュータプログラムを分析するステップ
    と、 文字列の位置の検索に応答して、マクロが、その文字列
    に対して以前に発生されたかどうかを決定するステップ
    と、 マクロが以前に発生されていない場合にのみ、その文字
    列に関連するマクロを発生するステップとを有する請求
    項7記載の文字列変換方法。
  10. 【請求項10】 文字列を識別するステップは、識別さ
    れたキャラクタの文字列に対して提案されたマクロ文字
    列を受信するステップを有し、 キャラクタの文字列をマクロ文字列に置換するステップ
    は、受信されたマクロ文字列に基づいてマクロ文字列を
    発生するステップを含む請求項7記載の文字列変換方
    法。
  11. 【請求項11】 コンピュータプログラム中のマクロ文
    字列の各実体を実行可能なプログラム中で文字列に置換
    するステップを有し、コンピュータプログラムを実行可
    能なプログラムにコンパイルするステップを有する請求
    項7記載の文字列変換方法。
  12. 【請求項12】 コンピュータプログラムに含まれてい
    る符号化された文字列の位置を検索するためのコンピュ
    ータプログラム分析するステップと、 マクロから文字列へのマップを生成し且つ蓄積するステ
    ップと、 文字列の位置の検索に応答して、マップを検索すること
    により、マクロがその文字列に対して以前に発生された
    かどうかを決定するステップとを有し、 マクロが以前に発生されていない場合には、その文字列
    に関連する対応するマクロを発生するようにした請求項
    7記載の文字列変換方法。
  13. 【請求項13】 コンピュータプログラムコードの中に
    含まれている文字列を変換する方法であって、 コンピュータプログラムに含まれる符号化された文字列
    を識別するステップと、 文字列を、文字列にと関連しているマクロに置換するス
    テップと、 マクロと文字列の関連を定義するマクロファイル内にマ
    クロ定義を生成し且つ蓄積するステップとを有し、 コンピュータプログラムのコンパイル時に、コンパイラ
    ーに、マクロファイルを含めるようなコンパイラー命令
    を使用して、コンピュータプログラムに関連するプログ
    ラム構成要素内のマクロ定義を参照するようにした文字
    列変換方法。
  14. 【請求項14】 コードのユニット中に含まれている文
    字列を変換するための方法をコンピュータが読取り可能
    な媒体であって、 コンピュータプログラムコードに含まれる符号化された
    文字列を識別するステップと、 文字列を、文字列と関連しているマクロに置換するステ
    ップと、 マクロと文字列の関連を定義するマップ内にエントリー
    を生成し且つ蓄積するステップと、 コンピュータプログラムに関連するプログラム構成要素
    内のマップを参照するステップとを記録したコンピュー
    タ読み取り可能な記録媒体。
JP2000234919A 1999-08-02 2000-08-02 文字列変換装置、文字列変換方法及び、記録媒体 Pending JP2001084147A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/366,429 US6802059B1 (en) 1999-08-02 1999-08-02 Transforming character strings that are contained in a unit of computer program code
US366429 1999-08-02

Publications (1)

Publication Number Publication Date
JP2001084147A true JP2001084147A (ja) 2001-03-30

Family

ID=23442961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000234919A Pending JP2001084147A (ja) 1999-08-02 2000-08-02 文字列変換装置、文字列変換方法及び、記録媒体

Country Status (2)

Country Link
US (1) US6802059B1 (ja)
JP (1) JP2001084147A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244850B2 (en) 2011-11-21 2016-01-26 International Business Machines Corporation Device for executing program instructions and system for caching instructions

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3579823B2 (ja) * 2000-02-14 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション キャラクタ・ストリングを表示する方法
JP4456734B2 (ja) * 2000-06-28 2010-04-28 株式会社日立製作所 システム監視情報処理方法及びコンソール装置を制御するためのプログラムを記録したコンピュータで読み取り可能な記録媒体
US7500017B2 (en) * 2001-04-19 2009-03-03 Microsoft Corporation Method and system for providing an XML binary format
US7519546B2 (en) * 2001-04-30 2009-04-14 General Electric Company Maintaining synchronization of information published to multiple subscribers
US7346921B2 (en) * 2001-04-30 2008-03-18 Ge Capital Corporation Definition of low-level security rules in terms of high-level security concepts
US20020198931A1 (en) * 2001-04-30 2002-12-26 Murren Brian T. Architecture and process for presenting application content to clients
US20020162093A1 (en) * 2001-04-30 2002-10-31 Ming Zhou Internationalization compiler and process for localizing server applications
US20030035582A1 (en) * 2001-08-14 2003-02-20 Christian Linhart Dynamic scanner
US7299451B2 (en) * 2002-01-24 2007-11-20 International Business Machines Corporation Remotely driven system for multi-product and multi-platform testing
US7089534B2 (en) * 2002-05-01 2006-08-08 International Business Machines Corporation Model based test generation for validation of parallel and concurrent software
US7926032B2 (en) * 2002-07-18 2011-04-12 International Business Machines Corporation Two meta-level modeling approach for mapping typed data
US6993714B2 (en) * 2002-10-03 2006-01-31 Microsoft Corporation Grouping and nesting hierarchical namespaces
CA2427185A1 (en) * 2003-04-29 2004-10-29 Cognos Incorporated Automated database query generation
US20050081166A1 (en) * 2003-10-14 2005-04-14 Stokke Michael A. System and method facilitating automated navigation for user interface(s)
US7500221B2 (en) * 2004-04-08 2009-03-03 Sap Ag Filter-based comments in source code
US8645931B2 (en) * 2005-11-04 2014-02-04 International Business Machines Corporation Moving static elements between a document and an external resource file in a document editor
US7945905B2 (en) * 2006-06-02 2011-05-17 Accenture Global Services Limited Quality inspector tool
JP5151206B2 (ja) * 2007-03-27 2013-02-27 セイコーエプソン株式会社 検索装置およびプログラム
US8429603B2 (en) 2009-03-25 2013-04-23 International Business Machines Corporation Virtual typing executables
US8615740B2 (en) * 2009-03-25 2013-12-24 International Business Machines Corporation Self-fixing executables using virtual function types
US9558101B2 (en) * 2014-08-08 2017-01-31 Raytheon Company Preprocessor directive symbol analyzer devices and methods
US10635420B2 (en) 2016-07-12 2020-04-28 Oracle International Corporation Overriding a migrated method in an updated type
CN106648822B (zh) * 2016-12-30 2019-09-06 深圳市九洲电器有限公司 界面字符串筛选方法及系统
US11354221B2 (en) 2020-03-25 2022-06-07 Oracle International Corporation Contextual drill back to source code and other resources from log data
CN113391818A (zh) * 2021-03-26 2021-09-14 广州海量数据库技术有限公司 一种编译文件的生成方法以及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511159A (en) * 1992-03-18 1996-04-23 At&T Corp. Method of identifying parameterized matches in a string
US5495613A (en) * 1994-08-18 1996-02-27 Unisys Corporation Method and apparatus for extending the capability of a system editor using high-level language transforms
US5778371A (en) * 1994-09-13 1998-07-07 Kabushiki Kaisha Toshiba Code string processing system and method using intervals
US6321372B1 (en) * 1998-12-23 2001-11-20 Xerox Corporation Executable for requesting a linguistic service

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244850B2 (en) 2011-11-21 2016-01-26 International Business Machines Corporation Device for executing program instructions and system for caching instructions

Also Published As

Publication number Publication date
US6802059B1 (en) 2004-10-05

Similar Documents

Publication Publication Date Title
JP2001084147A (ja) 文字列変換装置、文字列変換方法及び、記録媒体
US7681119B2 (en) Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
US7197739B2 (en) Apparatus for automatically generating source code
US6009436A (en) Method and apparatus for mapping structured information to different structured information
US6085196A (en) Object-oriented system and computer program product for mapping structured information to different structured information
US5390314A (en) Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification
US7917888B2 (en) System and method for building multi-modal and multi-channel applications
US6971093B1 (en) Techniques for maintaining compatibility of a software core module and an interacting module
US8201153B2 (en) Configurable Java Server pages processing
EP0421623A2 (en) Portable and dynamic distributed applications architecture
EP0875823A2 (en) Method and structure for tokenized message logging system
US20060174196A1 (en) Advanced translation context via web pages embedded with resource information
EP0349457A2 (en) Dynamic redefinition of a shell structure
US20140156282A1 (en) Method and system for controlling target applications based upon a natural language command string
US7305657B2 (en) Web server having function of Java servlet, method for updating Java program and computer program
WO2002033582A2 (en) Method for analyzing text and method for builing text analyzers
US20020029204A1 (en) Computer architecture using self-manipulating trees
CN112235311B (zh) Ovsdb客户端代码自动生成方法、系统、设备及介质
US6832365B1 (en) System and method for interacting with computer programming languages at semantic level
CN117234529A (zh) 一种基于dsl解析资源生成api的方法
JP3489216B2 (ja) ファイルシステム
US20050165712A1 (en) Method for operating software object using natural language and program for the same
EP1862924A1 (en) Object-oriented system for mapping structered information to different structured information
US20230244453A1 (en) Natural language macro expansion for programming langauges
EP0371943A2 (en) System and method for generating programming language translators

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080226