JPH05189372A - ソフトウェアのメッセージを表示するための方法及びシステム - Google Patents

ソフトウェアのメッセージを表示するための方法及びシステム

Info

Publication number
JPH05189372A
JPH05189372A JP4166393A JP16639392A JPH05189372A JP H05189372 A JPH05189372 A JP H05189372A JP 4166393 A JP4166393 A JP 4166393A JP 16639392 A JP16639392 A JP 16639392A JP H05189372 A JPH05189372 A JP H05189372A
Authority
JP
Japan
Prior art keywords
message
load module
language
message identifier
identifier
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
JP4166393A
Other languages
English (en)
Inventor
Gary John Hochmuth
ゲーリー・ジョン・ホクマス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05189372A publication Critical patent/JPH05189372A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 データ処理システムの複数のメッセージ集合
を効率良く管理する。 【構成】 複数のメッセージ集合を装備しメッセージを
複数の言語で出力し得るデータ処理システムのための、
メッセージ出力方法。各メッセージ集合に対応させて1
つずつのメッセージ・ライブラリ・テーブル(MLT)
36を生成して記憶しておく。MLTは、対応したメッ
セージ集合に使用されている複数の言語とそれら言語に
関係した複数のメッセージ識別子テーブル(MIT)の
アドレスとを含む。MITは、特定のロード・モジュー
ル37の中のメッセージの部分集合を識別するためのメ
ッセージ集合記述子を含む。実行プログラムがメッセー
ジ・サーバーに、MLTとメッセージ識別子とを指定し
たメッセージ要求31を発すると、メッセージ・サーバ
ー35は、システムから現在言語を表示している情報3
4を読み取り、その情報に基づいて、メッセージ要求が
指定したMLTの中をサーチする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータで構成し
たデータ処理システムにおけるメッセージの表示に関す
る分野の方法及びシステムに関するものである。
【0002】
【従来の技術及び発明が解決しようとする課題】一般的
に、コンピュータで構成したデータ処理システムでは、
あらゆる種類のエラー状態を表示し、様々な警告を発
し、そして必要な情報を提示することができるように、
多くの種類のメッセージを、ソフトウェア・プログラム
に組み込んでおくようにしている。その典型的な一例
は、メインフレーム・コンピュータ用コンパイラーに見
ることができる。メインフレーム・コンピュータ用コン
パイラーには、表示することが必要になる可能性のある
数百種類にも及ぶメッセージが組み込まれていることが
ある。更にその上、同じ内容のメッセージであっても、
その内容を異なった言語で表わしたり、異なった文字種
で表わすならば、そのメッセージが複数のバージョンを
持つことになる。例えば、同一のメッセージが、フラン
ス語バージョンと、日本語バージョンと、英語バージョ
ンとを持つことがあるし、更には、同一の言語内であっ
ても、文字種の異なるバージョンを持つことがある。例
えば、様々なコンパイラーのうちには、欧文のメッセー
ジをプリントする際に、そのメッセージの全文を大文字
でプリントするか、それとも大文字と小文字とを混用し
てプリントするかを、オプションとして選択できるよう
にしたものがある。このように、大文字と小文字とを混
用する以外に、大文字だけでも表示できるようにするた
めの1つの方法は、メッセージ・テキスト(メッセージ
の文言)を大文字だけで表わしたものを作成しておくこ
とである。そこで、以下の説明では、「言語」という用
語で、人類が使用している様々な言語(一般的には各国
語と呼ばれている)を言い表わすと共に、更に、様々な
文字種をも表わすものとする。このようにするのは、そ
れら両者は、全く同一の取扱いをすることができるから
である。また、1つのプログラムに付随する全てのメッ
セージを総称して、メッセージ集合と呼ぶことにする。
【0003】従って、例えばコンパイラー等のプログラ
ムでは、1つのプログラムの中に多くのメッセージが組
み込まれている上、1つのコンピュータ・システムの中
に装備されている多くのプログラムの各々に、そのプロ
グラムに固有のメッセージ集合が組み込まれているとい
うこともあり得る。この場合、そのコンピュータ・シス
テム、ないしはメッセージ・サーバーが、それら複数の
メッセージ集合を管理しなければならない。従来は、融
通性を欠いた個別管理方式でそれら複数のメッセージ集
合を管理していた。その管理方式では、複数のメッセー
ジをコンパイルないしアセンブルして、ロード・モジュ
ールを作成していた。このロード・モジュールは、その
中に、メッセージ・テキストと、動的挿入を行なうべき
場所を表示したコードと、各メッセージの始点位置を表
わしたインデックスとを含むものであった。また、作成
したロード・モジュールは、一般的に、例えば直接アク
セス記憶装置(DASD)等の非揮発性の記憶装置に記
憶させておくようにしていた。また、ロード・モジュー
ルを「ロードする」作業は、従来から公知の作業であ
り、即ち、DASDに記憶されているデータを、システ
ムのランダム・アクセス・メモリ(RAM)の中へコピ
ーし、その際に必要に応じて、RAMの中のデータが置
かれている実記憶位置に合わせて、然るべき調節を施す
というものである。更に従来より、所定の一定の方式に
従って複数のロード・モジュールの各々に1つのメッセ
ージ集合の夫々の部分集合を収めるようにするというこ
とも行なわれていた。その具体例を挙げると、例えば、
「ECOBOL500」というファイル・ネームを付し
たロード・モジュール・ファイルには、COBOLコン
パイラーが使用するメッセージのうち、英語で表わされ
た、第1番から第500番までのメッセージを収容して
おくという具合である。この場合に、もしコンピュータ
・システムが、そのCOBOLコンパイラーからの要求
に従って、例えば、英語で表わされた第37番メッセー
ジを出力する必要が生じたとすると、このコンピュータ
・システムがその要求に応えるためには、ファイル・ネ
ームの名付け方の規則(ネーミング方式)をこのコンピ
ュータ・システムが予め知っていなければならず、なぜ
ならば、このコンピュータ・システムは、それを知って
いないことには、「ECOBOL500」というファイ
ル・ネームを持つロード・モジュールの中を見れば良い
のだということが分らないからである。ところが、ファ
イル・ネームのネーミング方式が予め定められている
と、今度は、新たな言語を追加したり、1つのロード・
モジュールの中に収められている複数のメッセージのメ
ッセージ番号を変更したり、或いは、メッセージの付番
方式を変更してメッセージの識別方式を変更したりする
ことが、困難なものとなる。
【0004】即ち、複数のメッセージ集合を装備してい
る従来のシステムでは、そのシステム上で動作してい
る、複数の互いに異なった例えばコンパイラ等のプログ
ラムの間で、ファイル・ネームのネーミング方式に関す
る衝突が発生するおそれがあった。
【0005】複数の言語に対応する能力を備えた現在の
コンピュータ・システムには、それら複数の言語のう
ち、現在使用すべき言語として選択されているのはどの
言語であるかということを伝達するための、何らかの手
段が必ず備えられている。この言語の選択は、例えば、
システムの導入作業時等に行なわれる。また、選択され
る言語は、デフォールト言語とされることもあり、ユー
ザが選択した言語とされることもある。ただし、どのよ
うな選択が行なわれた場合であっても、そのコンピュー
タ・システムは、どの特定の言語が、メッセージの表示
に使用すべき現在言語とされているのかを表わした情報
を必ず保持している。
【0006】従って、任意の数の言語で表わされた任意
の数のメッセージ集合の管理を行なうのに際して、使用
される言語の総数や、ロード・モジュールのネーミング
方式や、各々のロード・モジュールに収められているメ
ッセージの個数を予め知っていなくとも、その管理を行
なえるシステムが、現在要望されている。
【0007】
【課題を解決するための手段】本発明は、複数のメッセ
ージ集合を装備し、また、メッセージを複数の種類の言
語で出力することができるようにしたデータ処理システ
ムにおける、メッセージを出力するための方法及びシス
テムである。メッセージの出力に備えて、複数のメッセ
ージ集合のその各々に対応させて、1つずつのメッセー
ジ・ライブラリ・テーブルを生成し、そして、生成した
それらメッセージ・ライブラリ・テーブルを非揮発性の
記憶装置に記憶させておくようにしている。各々のメッ
セージ・ライブラリ・テーブルは、それに対応したメッ
セージ集合に使用されている複数の言語と、それら複数
の言語の夫々に関係した複数のメッセージ識別子テーブ
ルのアドレスとを示したリストを包含している。また、
メッセージ識別子テーブルは、特定のロード・モジュー
ルの中に収めてあるメッセージの部分集合を識別するた
めの情報(メッセージ集合記述子)を包含している。メ
ッセージをロード・モジュールの中に記憶させておく方
式は、従来の慣用方式とすることができる。このメッセ
ージ・ライブラリ・テーブルが使用されるのは、実行プ
ログラムが、実際にメッセージを出力するメッセージ・
サーバー手段に対して、メッセージ要求を発したときで
ある。このメッセージ要求は、メッセージ・ライブラリ
・テーブルとメッセージ識別子とを指定している。メッ
セージ・サーバー手段は、システムが記憶している、現
在言語についての設定を表示している情報を読み取り、
その情報に基づいて、予め作成しておいた複数のメッセ
ージ・ライブラリ・テーブルのうちの1つであって、メ
ッセージ要求の中に指定されていたメッセージ・ライブ
ラリ・テーブルの中をサーチする。そして、そのメッセ
ージ・ライブラリ・テーブルの中に、該当する言語エン
トリを発見したならば、それによって、対応するメッセ
ージ識別子テーブルを識別することができる。続いて、
そのメッセージ識別子テーブルの中を、メッセージ要求
の中に含まれていたメッセージ識別子を用いてサーチす
ることによって、要求されているメッセージを包含して
いる特定のロード・モジュールを識別する。こうしてロ
ード・モジュールを識別したならば、そのロード・モジ
ュールの中の、そのメッセージを識別し、そしてそれ
を、一般的な技法を用いて出力する。この出力は、CR
Tに表示したり、プリンタに打ち出したり、或いは、デ
ィスク・ファイル装置の中に記憶させることができる。
【0008】
【実施例】以下に本発明の好適実施例について説明す
る。この好適実施例では、複数のメッセージ・ライブラ
リ・テーブルの各々を1つずつのロード・モジュールと
して作成した上で、DASDの中に記憶させておくよう
にしている。使用時には必要なメッセージ・ライブラリ
・テーブルをコンピュータのメモリ(RAM)へロード
するようにしており、このロードの作業は、在来の再配
置ローダ法(relocating loader technique )を用いて
行なうようにしている。これより図1を参照しつつ、メ
ッセージ・ライブラリ・テーブル14の構成について説
明する。1つのメッセージ・ライブラリ・テーブルは、
次の3種類の論理セクションから構成されている。 1.ヘッダーのセクション11 2.サポート言語リストのセクション12 3.複数のメッセージ識別子テーブルから成るセクショ
ン13 図2には、このメッセージ・ライブラリ・テーブルのよ
り詳細な構成を示した。図示の如く、ヘッダー11の中
には、言語エントリ(次に説明する、サポート言語リス
トの中のエントリのことである)の総数を記入してあ
り、この数を、図2では「N」で表わしてある。サポー
ト言語リスト12の中の複数のエントリ(サポート言語
とは「サポートされている言語」の意味である)と、こ
のメッセージ・ライブラリ・テーブルの中に含まれてい
る、複数のメッセージ識別子テーブル13との間には、
1対1の関係があるため、この「N」という数は、同時
に、それら複数のメッセージ識別子テーブル13の個数
でもある。尚、1つのメッセージ識別子テーブル13の
中の複数のエントリは、2つ以上のロード・モジュール
(このロード・モジュールは、メッセージ・ライブラリ
・テーブルを収めてあるロード・モジュールではなく、
メッセージそのものを収めてあるロード・モジュールの
ことである)に対して対応させることもできるため、ロ
ード・モジュール(メッセージを収めてあるロード・モ
ジュール)の個数の方が、メッセージ識別子テーブルの
総数より多くなることもある。
【0009】図2には、サポート言語リスト12も、詳
細に図示してある。サポートされている全ての各国語な
いし文字種の各々に対応させて、2つの情報から成る情
報ペアをこのサポート言語リスト中に記入してあり、し
かも、情報ペアどうしの間には序列を設けてある。
(尚、「サポートされている『全ての』各国語ないし文
字種」とは、「このメッセージ・ライブラリ・テーブル
に対応している特定のプログラム等にサポートされてい
る『全ての』各国語ないし文字種」という意味であ
る)。情報ペアは、次の2つの情報から成る。 1.言語の名標(ネーム) 2.その言語に対応したメッセージ識別子テーブルを指
し示すポインタ 好適実施例においては、8文字分の長さのフィールドの
中の先頭の3文字によって1種類の言語を表わすように
している。このフィールドの中の残りの5文字分の部分
は空白にしておいて構わない。従って、例えば、英語
(ENGLISH)であれば、それを「ENG」で表わ
しても良く、また固有の3文字の組み合わせでありさえ
すれば、これ以外のどのような文字の組み合わせで表わ
すようにしても良い。実際に構成した具体例において
は、「ENU」で「アメリカ英語」を表わすようにし
た。一貫性を確保するために、言語の種類を表わす標準
コード集合を定めておく必要がある。使用しない5文字
分のスペースをとってあるのは、単に境界の位置を揃え
るためである。このサポート言語リストの中において、
言語の種類を具体的にどのようなコードで表わすかは、
重要なことではなく、一義性を有するコード集合であり
さえすれば、どのようなコード集合を用いても不都合は
ない。例えば、幾つかのバイトを使用したコード方式
を、いくらでも容易に案出することができる。ただし、
言語の種類を表わすコード方式を、特に効率的なものと
するには、そのメッセージ・ライブラリ・テーブルを使
用するところのオペレーティング・システムが採用して
いる言語コード方式と、同一のコード方式とするのが良
く、何故ならば、後述するように、現在選択言語(即
ち、現在言語として選択されている言語)を表わすコー
ドは、オペレーティング・システムから受け取るように
しているからである。図2では、言語のリストを例示す
るために、「言語1」等のネームを用いているが、これ
は単に説明のために適当に定めたものである。同様に、
メッセージ識別子テーブルを指し示すポインタは、図中
には、「MIT1」等で表わしてある(MITはメッセ
ージ識別子テーブル(Message Identifier Table)の頭
文字である)。後に説明するように、このポインタは、
その言語エントリの言語に対応した、1つのメッセージ
識別子テーブルの開始アドレスを表示するためのポイン
タである。この開始アドレスは、コンピュータが直接そ
れを使用することのできる2進数値としておくことが好
ましく、即ち、このメッセージ・ライブラリ・テーブル
の中の、対応するそのメッセージ識別子テーブルのエン
トリのうちの先頭のエントリが存在しているアドレスを
オフセットないし絶対アドレスで表わした2進数値とし
ておくことが好ましい。このことを、図2には、ポイン
タ「MIT2」が、メッセージ・ライブラリ・テーブル
の下方領域のメッセージ識別子テーブルのセクションの
中のエントリ15を矢印線で指し示すようにして、模式
的に表わしてある。
【0010】既述の如く、サポート言語リスト12は、
サポートされている言語(各国語ないし文字種)のリス
トである。このサポート言語リスト12の中の先頭の言
語を主言語と呼んでいる。主言語とは、現在言語として
設定されている言語が、メッセージ・ライブラリ・テー
ブルの中に含まれていない場合に、その現在言語の替わ
りに使用する言語である。例えば、メッセージ・ライブ
ラリ・テーブルの中に日本語(JAPANESE)が含
まれていないにも関わらず、現在言語の設定がJAPA
NESEであった場合には、主言語を使用するようにす
る。
【0011】メッセージ・ライブラリ・テーブルの具体
的な内容は、各々のメッセージ集合に応じて異なったも
のとなる。従って、例えばあるシステムにCOBOLと
FORTRANの2つのコンパイラーが装備されてお
り、それらのうち、COBOLコンパイラーは、英語、
イタリア語、及び日本語のメッセージをサポートしてい
るのに対して、FORTRANコンパイラーは、英語と
ドイツ語のメッセージをサポートしているということも
あり得る。本発明の利点の1つは、メッセージ要求を発
したプログラムがどの言語をサポートしているのかを、
メッセージ・サーバーが予め知っている必要はないとい
うことである。即ちメッセージ・サーバーは、現在選択
されている言語が、ある特定の1つのメッセージ集合に
おいてサポートされているか否かを、メッセージ・ライ
ブラリ・テーブルからの読み出しを行なうことによっ
て、動的に判断することができるのである。
【0012】図3には、メッセージ識別子テーブルの中
の1つのエントリ(この「メッセージ識別子テーブルの
中のエントリ」のことを、以下「MITエントリ」とい
う)を図示したものである。図から分るように、1つの
MITエントリは3つの部分から成る。それらの部分の
うち、最下位メッセージ識別子21は、このMITエン
トリの最後の部分23の中にロード・モジュール・ネー
ムが記入されているロード・モジュールの中に包含され
ている複数のメッセージのメッセージ識別子の値のう
ち、最も小さな値をコード化して表わしたものである。
また、最上位メッセージ識別子22は、そのロード・モ
ジュールの中に包含されているそれら複数のメッセージ
のメッセージ識別子の値のうち、最も大きな値をコード
化して表わしたものである。これら最下位メッセージ識
別子21と最上位メッセージ識別子22とで、そのロー
ド・モジュールに包含されている複数のメッセージの全
体を識別することのできる、メッセージ集合記述子が形
成されている。ここで、他との比較を表わす用語である
最上位、最下位という用語を使用したのは、メッセージ
識別子には、照合のための序列を設けてあるからであ
る。この最下位メッセージ識別子21及び最上位メッセ
ージ識別子22の好適実施例は、識別子を数字で表示す
る方式としたものであるが、英字、ないしは英字と数字
とを混合して表示する方式としても不都合はない。即
ち、ロード・モジュールの内容を確認することのできる
表示方式であれば、いかなる表示方式を用いても不都合
はない。
【0013】好適実施例においては、1つのMITエン
トリを16バイトで構成している。そのうち先頭の4バ
イトには、そのロード・モジュールの中に包含されてい
る複数のメッセージのメッセージ番号のうちの、最も小
さ番号を記入してあり、それに続く4バイトには、その
ロード・モジュールの中に包含されているそれら複数の
メッセージのメッセージ番号のうちの、最も大きな番号
を記入してある。後半の8バイトには、そのロード・モ
ジュールのロード・モジュール・ネームを文字形式で記
入してある。また、1つのメッセージ識別子テーブルの
中の、最後のMITエントリには、その先頭の2つのフ
ルワード(1フルワードは4バイトである)に、そのメ
ッセージ識別子テーブルの終了を表示するための標識値
(sentinel value)として「マイナス1(−1)」を記
入してある。ただし、メッセージ識別子テーブルの終了
を表示するためエンド・マーカは、これに限られず、有
効エントリと混同されるおそれさえなければ、任意のコ
ードをエンド・マーカとして使用することができる。
【0014】次の表に示すのは、IBMメインフレーム
・アセンブリ言語で書き表わした、簡単な構成のメッセ
ージ・ライブラリ・テーブルの具体例である。
【表1】
【0015】メッセージ・ライブラリ・テーブルを作成
するには、上に説明した構成上の規則に従って、上表の
具体例のように、先ず原始コードを生成し、続いて、一
般的な技法を用いてその原始コードを処理してロード・
モジュールを生成するようにすれば良い。その際の原始
コードの処理は、任意のコンピュータ・プログラミング
言語を用いて行なうことができる。メッセージ・ライブ
ラリ・テーブルの中に包含させておく情報は、作成しよ
うとしているメッセージ・ライブラリ・テーブルに対応
した、特定のメッセージ集合から導出する必要がある。
そのメッセージ・ライブラリ・テーブルを作成しようと
している、作成者ないし作成プログラムは、その特定の
メッセージ集合において、何種類の言語がサポートされ
ているのかということと、各々のロード・モジュールの
中に、その特定のメッセージ集合に含まれる複数のメッ
セージのうちの、どこからどこまでの範囲のメッセージ
が収容されているのかということとを、知っていなけれ
ばならない。一般的には、ロード・モジュールの方を先
に作成し、その後にメッセージ・ライブラリ・テーブル
を作成するようにすれば良い。
【0016】以上のメッセージ・ライブラリ・テーブル
を利用するプロセスを、図4を用いて説明する。先ずリ
クエスタ(メッセージ要求の送出元)が存在する。この
リクエスタは、先にメッセージ・ライブラリ・テーブル
をそのために作成したところの、プログラムや機器装置
類等である。このリクエスタが、メッセージ・サーバー
35へ向けてメッセージ要求31を送出する。コンピュ
ータ・システムの中には、このメッセージ・サーバー3
5をはじめとする様々なプログラムや機器装置類等が、
互いに通信をするための何らかの手段が備えられている
ため、このメッセージ要求の送受は、その種の手段のう
ちの任意のものを利用して行なうことができる。また、
システム・コール(即ち、監視プログラム呼出し)や、
ソフトウェア割込み等々を利用して、この種の情報の通
信を行なうための様々な方法も、当業界では公知になっ
ている。メッセージ要求は、2つの情報が含んでいる。
そのうちの1つはメッセージ・ライブラリ・テーブル指
定情報32(これは、1つのメッセージ・ライブラリ・
テーブルを一義的に指定する指定情報でなければならな
い)であり、もう1つはメッセージ識別子33である。
メッセージ・サーバー35が、このメッセージ識別子3
3を利用して1つのメッセージ・テキストを一義的に特
定するためには、更にもう1つの情報が必要であり、そ
れは、現在選択言語情報34である。メッセージ・サー
バー35は、図中に引用符号36で示した複数のメッセ
ージ・ライブラリ・テーブルの中から、そのメッセージ
要求に指定された1つのメッセージ・ライブラリ・テー
ブルを捜し出す。更に、メッセージ・サーバー35は、
オペレーティング・システムから得た現在選択言語情報
34を用いてサポート言語リストの中をサーチし、その
現在選択言語情報に一致する言語エントリを捜し出す。
サポート言語リストの中に含まれているエントリ(即
ち、言語エントリ)の総数は、ヘッダーの中に記録して
あるため、もし一致が見出されないままに、サポート言
語リストの中の全てのエントリを対象としたサーチが完
了してしまった場合には、このヘッダーの中に記録され
ているその総数の値から、サーチの完了を判断すること
ができる。
【0017】サポート言語リストの中のエントリのうち
に、現在選択言語に対応したエントリが発見されたなら
ば(発見されなかった場合には、デフォールト言語であ
る主言語に対応したエントリを使用する)その言語を表
示している文字の直後に続くメッセージ識別子テーブル
のアドレスを用いて、その言語に対応したメッセージ識
別子テーブルの中の、先頭のエントリ(図2のエントリ
15を参照されたい)を読み出す。更に、メッセージ・
サーバは、そのメッセージ識別子テーブルの中の各々の
エントリ(即ちMITエントリ)を読み出しては、その
MITエントリの最下位メッセージ識別子と、メッセー
ジ要求の中のメッセージ識別子(MRMI)とを比較照
合し、そして、その最下位メッセージ識別子がそのMR
MIと等しいか或いはそれより下位にあり、且つ、その
最上位メッセージ識別子がそのMRMIと等しいか或い
はそれより上位にあるエントリを捜し出す。また、標識
値(−1)に達した場合には、そのメッセージ・ライブ
ラリ・テーブルに関してはそのMRMIが定義されてい
ないのであるから、エラー状態が発生する。この場合に
は、通常のエラー処理手順を実行するようにすれば良
い。
【0018】MRMIが、最下位メッセージ識別子と最
上位メッセージ識別子とから成る識別子ペアによって規
定された範囲の中にあることが判定されたならば、その
識別子ペアの直後の文字によって、そのMITエントリ
に対応したロード・モジュールのロード・モジュール・
ネームが判明する。こうしてそのネームが判明したロー
ド・モジュールを、従来の技法を用いて処理すれば良
い。一般的には、ロード・モジュールにはヘッダーが設
けられており、そのヘッダーの中には、メッセージ開始
アドレスのインデックスを指し示すポインタが含まれて
いる。そして、このポインタを利用することによって、
メッセージ・サーバーは、そのロード・モジュールの中
のメッセージ・テキストを容易に発見することができ
る。MRMIによって指定されているメッセージ・テキ
ストの位置を識別したならば、動的挿入を実行すること
により、そのメッセージ・テキストを、ディスプレイ装
置、プリンタ、或いはメモリ等へ出力する。
【0019】ここで具体的な状況を例を挙げて説明す
る。先ず、上の表に具体例として提示したアセンブリ言
語によるコードに対して、アセンブルを施し、更に処理
を加えて、COBOLコンパイラーが使用するためのロ
ード・モジュールを既に生成してあるものとし、しかも
そのロード・モジュールには「ICOBMSGT」とい
うロード・モジュール・ネームを付してあるものとす
る。一般的に、コンパイラーが発生するメッセージには
2つの種別があり、その一方は実行時メッセージという
種別、他方はコンパイル時メッセージという種別である
が、本発明のシステムは、これらいずれの種別のメッセ
ージにも適用し得るものである。ここで、COBOLコ
ンパイラーが、第454番目メッセージを出力すること
を要求するものとすれば、先ず、COBOLコンパイラ
ーは、メッセージ・サーバーへ向けてメッセージ要求を
送出する。そのメッセージ要求の構成は、その中のメッ
セージ・ライブラリ・テーブル指定情報を「COB」と
し、また、メッセージ識別子を「454」としたもので
ある。この場合に、メッセージ・ライブラリ・テーブル
指定情報は「COB」という3文字だけであるが、これ
でも、該当するメッセージ・ライブラリ・テーブルを特
定するのに充分であり、なぜならば、メッセージ・ライ
ブラリ・テーブルに対応した個々のロード・モジュール
には全て、標準接頭部と標準接尾部とを付すようにして
いるからである。そして、この具体例においては、標準
接頭部は「I」、標準接尾部は「MSGT」である。
「I」という接頭部はシステム・ソフトウェアの一部と
して作成されたロード・モジュールに付しておくための
接頭部であり、一方、ユーザが作成したロード・モジュ
ールには「U」という接頭部を使用するように定めてあ
る。従って、ロード・モジュール等のファイルのネーム
に関して、何らかの名前付け規則、即ちネーミング方式
が定められている場合には、メッセージ・ライブラリ・
テーブル指定情報は、必ずしも実際のロード・モジュー
ル・ネームのとおりである必要はなく、要は、該当する
メッセージ・ライブラリ・テーブルのロード・モジュー
ルを一義的に特定し得るだけの十分な情報でありさえす
れば良いのである。メッセージ要求の送受が行なわれた
ならば、続いてメッセージ・サーバーは、システムへ照
会を発することによって、現在言語の設定を判定しなけ
ればならない。ここでは、システムからは、現在言語を
表示したコードとして「JPN」が返ってきたものとす
る。続いて、メッセージ・サーバーは、「ICOBMS
GT」というロード・モジュールをメモリの中へロード
し、そして、そのメモリのイメージの中の最初の4バイ
トであるヘッダーを読み取ることによって、サポートさ
れている言語の数が2つであると判断する。第5番バイ
トからは、サポート言語リストが始まる。メッセージ・
サーバーは、それら2つの言語のうちの第1の言語を表
わす文字である「ENU」と、現在言語のコードとを比
較照合する。そして、両者が一致しないため、メッセー
ジ・サーバーは、その第5番バイトのオフセット・アド
レスに更に12バイトを加算して、次の言語エントリと
現在言語のコードとを比較照合する。今度は双方のコー
ドが一致し(「JPN」=「JPN」)、そして、この
言語を表わす文字(「JPN」)に続くワードの中か
ら、この言語に対応したメッセージ識別子テーブルのア
ドレスを読み取る。ここでは、そのアドレスを簡単にA
(Table JPN) で表わしておくことにする。このアドレス
A(Table JPN) に書き込まれている(一般的には複数
の)エントリをサーチすることによって、その最下位メ
ッセージ識別子と最上位メッセージ識別子との間のメッ
セージ番号範囲の中に、第454番というメッセージ番
号を包含しているエントリを捜し出す。このサーチの結
果、メッセージ識別子テーブルの中に列挙されているエ
ントリのうち、第1番目のエントリがこれに該当するこ
とが判明する。何故ならば、このエントリは、その最下
位メッセージ番号が第0番であり、最上位メッセージ番
号が第500番だからである。これによって、日本語で
表わされた第454番メッセージを収容しているロード
・モジュールのロード・モジュール・ネームが、「IB
M0MLSN」であると判定される。この後、この「I
BM0MLSN」というロード・モジュールをロードし
て、その中のメッセージ番号が第454番のメッセージ
・テキストを出力する。
【0020】好適実施例においては、メッセージ・サー
バーは、コンピュータ・システム内で使用するコンパイ
ラーやラン・タイム・サポート・プログラムの全て、な
いしはそのうちの幾つかを、供給することができるよう
に構成してある。また、複数の高級言語コンパイラーの
各々に対応させて、1つずつのメッセージ・ライブラリ
・テーブルを作成してあり、それら各コンパイラーは、
メッセージ・サーバーへ向けて送出するメッセージ要求
の中では、みずからに対応したメッセージ・ライブラリ
・テーブルを指定すれば良いようにしている。更に、メ
ッセージ・サーバーは、汎用コンピュータ上で実行する
プログラムの形で構成することが好ましい。ただし、フ
ァームウェア技法等をはじめとする公知の様々なハード
ウェア構成技法を使用して製作した、しかも機能的には
特定用途のプログラムを走らせている汎用コンピュータ
と同等な、ハードウェアの機器装置類の形で、このメッ
セージ・サーバーを構成することも可能である。以上に
述べた詳細な説明を考慮すれば、一般的なプログラミン
グ技法を用いて、必要なコンピュータ・プログラムを作
成することは容易であろう。また、作成したプログラム
は、ハードディスク装置、フロッピーディスク装置のデ
ィスケット、メモリ・カード、ROM、ないしはその他
の、任意の記憶手段の中に記憶させておけば良い。そし
て、そのプログラムを実行するときに、それをコンピュ
ータのRAMの中へコピーするようにすれば良い。
【0021】以上、本発明の好適実施例について詳細に
説明したが、当業者であれば、本発明の範囲から逸脱す
ることなく以上の実施例に対して改変ないし変更を加え
得ることは明らかである。
【図面の簡単な説明】
【図1】メッセージ・ライブラリ・テーブルの、ハイレ
ベルの構成図である。
【図2】メッセージ・ライブラリ・テーブルの、より詳
細な構成図である。
【図3】メッセージ識別子テーブルの中の1つのエント
リの構成図である。
【図4】メッセージ・ライブラリ・テーブルを利用した
メッセージ・サーバーの入出力の概念図である。
【符号の説明】
11 ヘッダー 12 サポート言語リスト 13 メッセージ識別子テーブル 14 メッセージ・ライブラリ・テーブル 21 最下位メッセージ識別子 22 最上位メッセージ識別子 23 ロード・モジュール・ネーム 31 メッセージ要求 32 メッセージ,・ライブラリ・テーブル指定情報 33 メッセージ識別子 34 現在選択言語情報 35 メッセージ・サーバー 36 メッセージ・ライブラリ・テーブル 37 ロード・モジュール

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数のロード・モジュールの中に複数の
    メッセージ集合を記憶させるようにし、且つ、現在言語
    を選択できるようにしたデータ処理システムにおいてメ
    ッセージを出力するための、メッセージ出力方法におい
    て、 (a) メッセージ・ライブラリ・テーブルとメッセージ識
    別子とを指定したメッセージ要求を読み取るステップと (b) 複数の言語とそれら複数の言語の夫々に関係した複
    数のメッセージ識別子テーブルのアドレスとを示したリ
    ストを包含している前記メッセージ・ライブラリ・テー
    ブルの中をサーチして、現在言語を捜し出し、且つ、捜
    し出した現在言語に関係したメッセージ識別子テーブル
    である該当メッセージ識別子テーブルのアドレスを取り
    出すステップと、 (c) 複数のメッセージ集合記述子とそれら複数のメッセ
    ージ集合記述子の夫々に関係した複数のロード・モジュ
    ールとを示したリストを包含している前記該当メッセー
    ジ識別子テーブルの中を、前記メッセージ識別子と、そ
    れら複数のメッセージ集合記述子とを照合することによ
    ってサーチして、前記メッセージ識別子に該当するロー
    ド・モジュールである該当ロード・モジュールのロード
    ・モジュール・ネームを捜し出すステップと、 (d) 前記該当ロード・モジュールをロードするステップ
    と、 (e) 前記該当ロード・モジュールの中において、前記メ
    ッセージ識別子に対応したメッセージ・テキストのアド
    レスを捜し出すステップと、 (f) 前記メッセージ識別子に対応した前記メッセージ・
    テキストを出力するステップと、 を含んでいることを特徴とする方法。
  2. 【請求項2】 前記メッセージ集合記述子が、最下位メ
    ッセージ番号及び最上位メッセージ番号であることを特
    徴とする請求項1の方法。
  3. 【請求項3】 夫々にロード・モジュール・ネームを付
    した複数のロード・モジュールの中に複数のメッセージ
    を記憶させるようにしたデータ処理システム内にて、メ
    ッセージ・ライブラリ・テーブルを生成し記憶するため
    の方法において、 (a) 各々のロード・モジュールの中に記憶させてあるメ
    ッセージに対応した、メッセージ集合記述子並びに言語
    を判別するステップと、 (b) 夫々が独自性を有する言語ないし文字種の各々に対
    応させて、メッセージ集合記述子と該メッセージ集合記
    述子に関係したロード・モジュールのロード・モジュー
    ル・ネームとを包含したメッセージ識別子テーブルを生
    成するステップと、 (c) 各々のメッセージ識別子テーブルのアドレスと、そ
    のメッセージ識別子テーブルに関係した言語とを示した
    リストを生成するステップと、 (d) 前記リストと前記メッセージ識別子テーブルとを、
    非揮発性の記憶装置に記憶させるステップと、 を含んでおり、以上によってメッセージ・ライブラリ・
    テーブルを生成することを特徴とする方法。
  4. 【請求項4】 複数のロード・モジュールの中に複数の
    メッセージ集合を記憶させるようにし、且つ、現在言語
    を選択できるようにしたデータ処理システムにおいて、 (a) メッセージ・ライブラリ・テーブルとメッセージ識
    別子とを指定したメッセージ要求を読み取る手段と (b) 複数の言語とそれら複数の言語の夫々に関係した複
    数のメッセージ識別子テーブルのアドレスとを示したリ
    ストを包含している前記メッセージ・ライブラリ・テー
    ブルの中をサーチして、現在言語を捜し出し、且つ、捜
    し出した現在言語に関係したメッセージ識別子テーブル
    である該当メッセージ識別子テーブルのアドレスを取り
    出す手段と、 (c) 複数のメッセージ集合記述子とそれら複数のメッセ
    ージ集合記述子の夫々に関係した複数のロード・モジュ
    ールとを示したリストを包含している前記該当メッセー
    ジ識別子テーブルの中を、前記メッセージ識別子と、そ
    れら複数のメッセージ集合記述子とを照合することによ
    ってサーチして、前記メッセージ識別子に該当するロー
    ド・モジュールである該当ロード・モジュールのロード
    ・モジュール・ネームを捜し出す手段と、 (d) 前記該当ロード・モジュールをロードする手段と、 (e) 前記該当ロード・モジュールの中において、前記メ
    ッセージ識別子に対応したメッセージ・テキストのアド
    レスを捜し出す手段と、 (f) 前記メッセージ識別子に対応した前記メッセージ・
    テキストを出力する手段と、 を備えたことを特徴とするシステム。
  5. 【請求項5】 前記メッセージ識別子が数字であること
    を特徴とする請求項4のシステム。
  6. 【請求項6】 前記メッセージ要求が、前記メッセージ
    ・ライブラリ・テーブルを包含しているファイルを一義
    的に特定する文字列を含んでいることを特徴とする請求
    項4のシステム。
  7. 【請求項7】 更に、(a) メッセージ・ライブラリ・テ
    ーブルに現在言語に対応したエントリが含まれていない
    ことを検出する、検出手段と、 (b) 前記検出手段に応答してデフォールト言語を選択す
    る、選択手段と、を備えたことを特徴とする請求項4の
    システム。
  8. 【請求項8】 夫々にロード・モジュール・ネームを付
    した複数のロード・モジュールの中に複数のメッセージ
    を記憶させるようにしたデータ処理システムにおいて、 (a) 各々のロード・モジュールの中に記憶させてあるメ
    ッセージに対応した、メッセージ集合記述子並びに言語
    を判別する手段と、 (b) 夫々が独自性を有する言語ないし文字種の各々に対
    応させて、メッセージ集合記述子と該メッセージ集合記
    述子に関係したロード・モジュールのロード・モジュー
    ル・ネームとを包含したメッセージ識別子テーブルを生
    成する手段と、 (c) 各々のメッセージ識別子テーブルのアドレスと、そ
    のメッセージ識別子テーブルに関係した言語とを示した
    リストを生成する手段と、 (d) 前記リストと前記メッセージ識別子テーブルとを、
    非揮発性の記憶装置に記憶させる手段と、 を備えており、それらによってメッセージ・ライブラリ
    ・テーブルを生成し得るようにしたことを特徴とするシ
    ステム。
  9. 【請求項9】 原始コード・ファイルをアセンブルない
    しコンパイルすることによって前記メッセージ・ライブ
    ラリ・テーブルを包含したロード・モジュールを生成す
    る手段を含んでいることを特徴とする請求項8のシステ
    ム。
  10. 【請求項10】 前記メッセージ集合記述子がある範囲
    に対応した複数のメッセージ番号であることを特徴とす
    る請求項8のシステム。
  11. 【請求項11】 前記文字種が欧文の大文字の全てを包
    含する文字種であることを特徴とする請求項8のシステ
    ム。
JP4166393A 1991-08-16 1992-06-24 ソフトウェアのメッセージを表示するための方法及びシステム Pending JPH05189372A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74639091A 1991-08-16 1991-08-16
US746390 1991-08-16

Publications (1)

Publication Number Publication Date
JPH05189372A true JPH05189372A (ja) 1993-07-30

Family

ID=25000630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4166393A Pending JPH05189372A (ja) 1991-08-16 1992-06-24 ソフトウェアのメッセージを表示するための方法及びシステム

Country Status (2)

Country Link
EP (1) EP0528570A3 (ja)
JP (1) JPH05189372A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006351035A (ja) * 2001-03-30 2006-12-28 Seiko Epson Corp ドライバ自動インストール装置およびこれに用いるプログラム並びにドライバ自動インストール方法
JP2009048439A (ja) * 2007-08-21 2009-03-05 Internatl Business Mach Corp <Ibm> プログラムが表示するメッセージの修正を支援する技術
JP2015194862A (ja) * 2014-03-31 2015-11-05 富士通株式会社 コンパイラ、コンパイル方法、およびコンパイル装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01266656A (ja) * 1988-04-18 1989-10-24 Nec Corp メッセージ管理方式
JPH0225946A (ja) * 1988-07-15 1990-01-29 Casio Comput Co Ltd ファイル管理装置
JPH02217940A (ja) * 1988-11-17 1990-08-30 Internatl Business Mach Corp <Ibm> データベース・アクセス・システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2650136B2 (ja) * 1987-09-18 1997-09-03 富士通株式会社 データ処理装置
JPH01150170A (ja) * 1987-12-07 1989-06-13 Fuji Xerox Co Ltd 表示文の優先言語設定方式
JPH01243162A (ja) * 1988-03-17 1989-09-27 Internatl Business Mach Corp <Ibm> プログラム供給方法
JP2864528B2 (ja) * 1989-04-28 1999-03-03 富士ゼロックス株式会社 メッセージ管理方式
EP0413556A3 (en) * 1989-08-15 1992-02-26 Intellution Inc Organising text strings

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01266656A (ja) * 1988-04-18 1989-10-24 Nec Corp メッセージ管理方式
JPH0225946A (ja) * 1988-07-15 1990-01-29 Casio Comput Co Ltd ファイル管理装置
JPH02217940A (ja) * 1988-11-17 1990-08-30 Internatl Business Mach Corp <Ibm> データベース・アクセス・システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006351035A (ja) * 2001-03-30 2006-12-28 Seiko Epson Corp ドライバ自動インストール装置およびこれに用いるプログラム並びにドライバ自動インストール方法
JP2009048439A (ja) * 2007-08-21 2009-03-05 Internatl Business Mach Corp <Ibm> プログラムが表示するメッセージの修正を支援する技術
US8311801B2 (en) 2007-08-21 2012-11-13 International Business Machines Corporation Technology for supporting modification of messages displayed by program
JP2015194862A (ja) * 2014-03-31 2015-11-05 富士通株式会社 コンパイラ、コンパイル方法、およびコンパイル装置

Also Published As

Publication number Publication date
EP0528570A2 (en) 1993-02-24
EP0528570A3 (en) 1993-09-22

Similar Documents

Publication Publication Date Title
US6237144B1 (en) Use of relational databases for software installation
US8271470B2 (en) Auto-activation of fonts
US5819282A (en) Database generator
AU2008288798B2 (en) Binary library
JP4401292B2 (ja) グリフレット
US6421684B1 (en) Persistent volume mount points
US6804663B1 (en) Methods for optimizing the installation of a software product onto a target computer system
US7971182B1 (en) Application environment specifications for provisioning application specific runtime environments using undefined symbols
JP4077047B2 (ja) コンピュータシステムで実行する方法
JP5367947B2 (ja) 用語データベース拡張のための方法およびシステム
US4862349A (en) Method for extracting and/or replacing control system information in a computer operating system
JP4917744B2 (ja) ランタイムおよび設計でのテキスト変換と多言語サポートをするラベルシステム
US20030122871A1 (en) System and method for flexible software linking
US20020078335A1 (en) Persistent names for logical volumes
JP2005032259A (ja) 共有ライブラリーシステム及び前記システム構築方法
JPH04297934A (ja) データ処理システム
US20050097296A1 (en) Memory allocation
CN1326062C (zh) 计算机系统和方法
CN100527131C (zh) 一种ims数据库互动式访问方法和工具
US20020087956A1 (en) System and method for linear processing of software modules
US7024622B1 (en) Keeping track of locations in electronic documents
JPH05189372A (ja) ソフトウェアのメッセージを表示するための方法及びシステム
US7818756B2 (en) SKU determination mechanism and API
US20040153580A1 (en) Component based operation system dynamic device drive method
US20060048138A1 (en) System, method, and program for resizing an install image

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071109

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20081109

LAPS Cancellation because of no payment of annual fees