JPH06119183A - 言語翻訳装置 - Google Patents
言語翻訳装置Info
- Publication number
- JPH06119183A JPH06119183A JP4269971A JP26997192A JPH06119183A JP H06119183 A JPH06119183 A JP H06119183A JP 4269971 A JP4269971 A JP 4269971A JP 26997192 A JP26997192 A JP 26997192A JP H06119183 A JPH06119183 A JP H06119183A
- Authority
- JP
- Japan
- Prior art keywords
- word
- dictionary
- language
- natural language
- variable
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】自然語によるプログラム開発を実現する言語翻
訳装置を提供する。 【構成】利用者の定義したデータに対応する自然語文字
列あるいは記号文字列を見出しとする変数辞書12とプ
ログラミング言語固有の予約語を見出しとする予約語辞
書13とこの二つの辞書を参照した自然語解析手段とを
備える。 【効果】プログラムが自然語で表現されているので、デ
バッグ,保守等が容易である。また、変数辞書とプログ
ラム編集とが連動しているので、変数辞書の更新情報を
プログラム作成にリアルタイムに反映させることができ
る。
訳装置を提供する。 【構成】利用者の定義したデータに対応する自然語文字
列あるいは記号文字列を見出しとする変数辞書12とプ
ログラミング言語固有の予約語を見出しとする予約語辞
書13とこの二つの辞書を参照した自然語解析手段とを
備える。 【効果】プログラムが自然語で表現されているので、デ
バッグ,保守等が容易である。また、変数辞書とプログ
ラム編集とが連動しているので、変数辞書の更新情報を
プログラム作成にリアルタイムに反映させることができ
る。
Description
【0001】
【産業上の利用分野】本発明は、自然語を入力とする情
報処理装置に係り、特に、カナ漢字文章をCOBOL等
のプログラミング言語に変換する言語翻訳装置に関す
る。
報処理装置に係り、特に、カナ漢字文章をCOBOL等
のプログラミング言語に変換する言語翻訳装置に関す
る。
【0002】
【従来の技術】ソフトウェアの需要の爆発的増大によ
り、ソフトウェアの開発コストを低下させたいという要
求が高まっている。しかし、これまでに開発されてきた
プログラミング言語は、記述方法を習得するのに時間が
かかる。また、プログラムの理解にも時間がかかるた
め、デバッグやプログラム保守が容易でない。そこで、
これらの課題を解決する方法として、自然語プログラミ
ングがある。これまでの技術は、例えば、情報処理学会
論文誌Vol.25 No.2(pp.204〜215)お
よび情報処理学会論文誌Vol.27 No.11(pp.
1112〜1128)に記載されているように、曖昧性
のない自然言語(英語)によって仕様を記述し、これを
解析して論理式に展開し、最終的にプログラミング言語
Prologに変換するという技術がある。仕様を階層的に記
述し、最上位に記述された英文の中に出現する単語の定
義とその意味の定義をそれ以下の階層で記述していき、
階層が下がるにつれて原始的な記述となるようにしてい
る。これらの単語の定義から意味規則を生成し、これら
の意味規則と一般的な単語(is,every等)に関する意味
規則から論理式を生成し、それを基にPrologに展開す
る。
り、ソフトウェアの開発コストを低下させたいという要
求が高まっている。しかし、これまでに開発されてきた
プログラミング言語は、記述方法を習得するのに時間が
かかる。また、プログラムの理解にも時間がかかるた
め、デバッグやプログラム保守が容易でない。そこで、
これらの課題を解決する方法として、自然語プログラミ
ングがある。これまでの技術は、例えば、情報処理学会
論文誌Vol.25 No.2(pp.204〜215)お
よび情報処理学会論文誌Vol.27 No.11(pp.
1112〜1128)に記載されているように、曖昧性
のない自然言語(英語)によって仕様を記述し、これを
解析して論理式に展開し、最終的にプログラミング言語
Prologに変換するという技術がある。仕様を階層的に記
述し、最上位に記述された英文の中に出現する単語の定
義とその意味の定義をそれ以下の階層で記述していき、
階層が下がるにつれて原始的な記述となるようにしてい
る。これらの単語の定義から意味規則を生成し、これら
の意味規則と一般的な単語(is,every等)に関する意味
規則から論理式を生成し、それを基にPrologに展開す
る。
【0003】
【発明が解決しようとする課題】上記従来技術では、使
用する単語の定義を仕様の中にすべて定義する必要があ
り、定義の中で使用した単語についてはさらに定義する
必要がある。また、自然語による仕様記述の効率を向上
させるための手法については言及していない。
用する単語の定義を仕様の中にすべて定義する必要があ
り、定義の中で使用した単語についてはさらに定義する
必要がある。また、自然語による仕様記述の効率を向上
させるための手法については言及していない。
【0004】本発明の目的は、(1)自然語によってプ
ログラム記述できる言語翻訳装置を提供すること、
(2)自然語によるプログラム生成を効率良く行うこと
のできる言語翻訳装置を提供することにある。
ログラム記述できる言語翻訳装置を提供すること、
(2)自然語によるプログラム生成を効率良く行うこと
のできる言語翻訳装置を提供することにある。
【0005】
【課題を解決するための手段】本発明は、利用者の定義
した変数等のデータに対応する自然語文字列あるいは記
号文字列を見出しとする変数辞書と、このデータを参照
して変数辞書を生成する手段と、プログラミング言語に
おける予約語を見出しとする予約語辞書と、変数辞書お
よび予約語辞書を参照した自然語解析手段(形態素解析
手段)とを備えた言語翻訳装置を提供することにより、
上記課題(1)を解決する。
した変数等のデータに対応する自然語文字列あるいは記
号文字列を見出しとする変数辞書と、このデータを参照
して変数辞書を生成する手段と、プログラミング言語に
おける予約語を見出しとする予約語辞書と、変数辞書お
よび予約語辞書を参照した自然語解析手段(形態素解析
手段)とを備えた言語翻訳装置を提供することにより、
上記課題(1)を解決する。
【0006】また、本発明は、自然語の入力と自然語の
解析を並行して行い、未登録語の存在等のエラーをリア
ルタイムに報知する手段を備え、さらに、変数辞書の内
容を更新した際に、更新内容を解析結果に反映させるこ
とを可能とする言語翻訳装置を提供することにより、上
記課題(2)を解決する。
解析を並行して行い、未登録語の存在等のエラーをリア
ルタイムに報知する手段を備え、さらに、変数辞書の内
容を更新した際に、更新内容を解析結果に反映させるこ
とを可能とする言語翻訳装置を提供することにより、上
記課題(2)を解決する。
【0007】
【作用】プログラミングを自然語で記述することによ
り、可読性が向上するので、プログラム開発,デバッ
グ,メンテナンス,引継ぎ等の作業効率が向上する。自
然語を解析(単語分割,翻訳)する際に必須となる変数
辞書を利用者の定義情報から自動的に生成するので、利
用者は、自然語プログラミングのための辞書そのものの
作成を一切しなくてすむ。また、変数辞書の書式を予め
提供する予約語辞書の書式と同一にすることにより、形
態素解析の処理効率および辞書メンテナンス作業が向上
する。
り、可読性が向上するので、プログラム開発,デバッ
グ,メンテナンス,引継ぎ等の作業効率が向上する。自
然語を解析(単語分割,翻訳)する際に必須となる変数
辞書を利用者の定義情報から自動的に生成するので、利
用者は、自然語プログラミングのための辞書そのものの
作成を一切しなくてすむ。また、変数辞書の書式を予め
提供する予約語辞書の書式と同一にすることにより、形
態素解析の処理効率および辞書メンテナンス作業が向上
する。
【0008】また、利用者が指定した言語単位毎に、逐
次、自然語解析を実行し、未登録語の存在については即
座にエラーとして表示するので、従来、コンパイルして
初めて判明する未定義語をあたかも自然語入力エラーと
して報知でき、プログラム開発の効率が向上する。
次、自然語解析を実行し、未登録語の存在については即
座にエラーとして表示するので、従来、コンパイルして
初めて判明する未定義語をあたかも自然語入力エラーと
して報知でき、プログラム開発の効率が向上する。
【0009】さらに、プログラム編集の途中で変数等の
定義情報を変更し変数辞書内容を更新した場合、その時
点までに自然語解析の終了した部分についての解析結果
に対して変数辞書の更新内容を反映させ、解析結果をそ
の都度自動的に修正することにより、変数辞書を途中で
更新した場合に、それに対応する自然語の修正作業を効
率良く行うことができる。
定義情報を変更し変数辞書内容を更新した場合、その時
点までに自然語解析の終了した部分についての解析結果
に対して変数辞書の更新内容を反映させ、解析結果をそ
の都度自動的に修正することにより、変数辞書を途中で
更新した場合に、それに対応する自然語の修正作業を効
率良く行うことができる。
【0010】さらに、予約語辞書あるいは変数辞書に登
録されている見出しの代わりに、利用者が好んで用いる
語句を定義することができるので、プログラム作成の効
率および保守効率が向上する。
録されている見出しの代わりに、利用者が好んで用いる
語句を定義することができるので、プログラム作成の効
率および保守効率が向上する。
【0011】
【実施例】以下では、本発明をプログラム開発支援シス
テムに適用した実施例をもとに本発明を説明する。
テムに適用した実施例をもとに本発明を説明する。
【0012】また、本発明は、特定のプログラミング言
語のみに適用するためのものではなく、さまざまなプロ
グラミング言語に適用できるが、本実施例では、プログ
ラミング言語COBOLを対象としたプログラム開発支
援システムに適用した場合について説明する。本実施例
で述べるシステムの入力は、COBOLで記述すべきプ
ログラムの内容をカナ漢字で記述した文(文章)であ
る。
語のみに適用するためのものではなく、さまざまなプロ
グラミング言語に適用できるが、本実施例では、プログ
ラミング言語COBOLを対象としたプログラム開発支
援システムに適用した場合について説明する。本実施例
で述べるシステムの入力は、COBOLで記述すべきプ
ログラムの内容をカナ漢字で記述した文(文章)であ
る。
【0013】図1は、本実施例で述べるシステムの構成
の概要を表したブロック図である。本システムは、大き
く二つのモジュールから構成される。一つは、変数辞書
12を生成するモジュール(10,11)であり、他の
一つは、カナ漢字プログラム文2を解析してCOBOL
プログラム14に変換するモジュール(3,4,6,
8)である。
の概要を表したブロック図である。本システムは、大き
く二つのモジュールから構成される。一つは、変数辞書
12を生成するモジュール(10,11)であり、他の
一つは、カナ漢字プログラム文2を解析してCOBOL
プログラム14に変換するモジュール(3,4,6,
8)である。
【0014】変数辞書12を生成するモジュールは、利
用者が画面,ファイル,帳票,データベースのスキーマ
等に関する仕様を定義するための定義エディタ9と、定
義エディタ9で定義された内容を格納,保持する利用者
定義情報格納テーブル10と、このテーブルの情報を参
照して変数辞書12を生成する変数辞書生成処理部11
とからなる。
用者が画面,ファイル,帳票,データベースのスキーマ
等に関する仕様を定義するための定義エディタ9と、定
義エディタ9で定義された内容を格納,保持する利用者
定義情報格納テーブル10と、このテーブルの情報を参
照して変数辞書12を生成する変数辞書生成処理部11
とからなる。
【0015】一方、カナ漢字文2を解析してCOBOL
プログラム14に変換するモジュールは、カナ漢字プロ
グラム2を作成するための編集エディタ1と、作成した
カナ漢字プログラム2を形態素解析するための前処理で
ある入力文チェック処理部3と、カナ漢字文2を単語分
割し、辞書(12,13)から単語情報を取得する形態
素解析処理部4と、形態素解析4によって取得した単語
情報を格納,保持する単語情報格納テーブル5と、形態
素解析結果に基づいてカナ漢字文2を中間表現である半
角カナ文に変換するカナ変換処理部6と、半角カナ文を
COBOLプログラム14に変換するCOBOL変換処
理部8とからなる。
プログラム14に変換するモジュールは、カナ漢字プロ
グラム2を作成するための編集エディタ1と、作成した
カナ漢字プログラム2を形態素解析するための前処理で
ある入力文チェック処理部3と、カナ漢字文2を単語分
割し、辞書(12,13)から単語情報を取得する形態
素解析処理部4と、形態素解析4によって取得した単語
情報を格納,保持する単語情報格納テーブル5と、形態
素解析結果に基づいてカナ漢字文2を中間表現である半
角カナ文に変換するカナ変換処理部6と、半角カナ文を
COBOLプログラム14に変換するCOBOL変換処
理部8とからなる。
【0016】また、上述の各処理においてエラーが発生
した場合の出力情報として、利用者の作業を支援するた
めのメッセージ情報を格納したエラー情報格納テーブル
7を用意する。
した場合の出力情報として、利用者の作業を支援するた
めのメッセージ情報を格納したエラー情報格納テーブル
7を用意する。
【0017】なお、本実施例では、形態素解析処理部4
については、機械翻訳、あるいは対話システム等で使用
されている形態素解析モジュールをそのまま流用可能で
ある。なぜならば、本実施例で用いる形態素解析処理部
4では、適切と思われるレベル以上の精度で単語分割が
でき、分割した単語の情報を辞書から抽出できればよい
からである。そこで、本実施例で採用する形態素解析処
理モジュールおよび辞書構造として、情報処理学会第4
4回全国大会講演論文集3−181記載により公知の汎
用日本語形態素解析ツールを採用する。従って、後述す
る形態素解析処理4の説明では、この汎用日本語形態素
解析ツールの内部処理には触れないことにし、その入出
力についてのみ触れることにする。
については、機械翻訳、あるいは対話システム等で使用
されている形態素解析モジュールをそのまま流用可能で
ある。なぜならば、本実施例で用いる形態素解析処理部
4では、適切と思われるレベル以上の精度で単語分割が
でき、分割した単語の情報を辞書から抽出できればよい
からである。そこで、本実施例で採用する形態素解析処
理モジュールおよび辞書構造として、情報処理学会第4
4回全国大会講演論文集3−181記載により公知の汎
用日本語形態素解析ツールを採用する。従って、後述す
る形態素解析処理4の説明では、この汎用日本語形態素
解析ツールの内部処理には触れないことにし、その入出
力についてのみ触れることにする。
【0018】また、カナ文をCOBOLプログラム14
に変換するCOBOL変換処理部8は、プログラムの開
発を効率良く開発するため(株)日立製作所が開発したプ
ログラム開発支援システムEAGLE2(Effective Ap
proach to Achieving HighLevel Software Productivit
y 2,マニュアル#6180−3−822,823,8
24)によって既に公知である。EAGLE2では、半
角カナ文により記述されたプログラムをCOBOLプロ
グラム14に変換するためのプリコンパイラを搭載して
いる。本実施例では、COBOL変換処理部8にこのプ
リコンパイラを採用する。従って、カナ文からCOBO
Lプログラム14に変換する処理方法については触れな
いことにし、以下では、カナ漢字文をカナ文に変換する
までの処理方法およびそれを実現するためのシステム構
成について説明する。
に変換するCOBOL変換処理部8は、プログラムの開
発を効率良く開発するため(株)日立製作所が開発したプ
ログラム開発支援システムEAGLE2(Effective Ap
proach to Achieving HighLevel Software Productivit
y 2,マニュアル#6180−3−822,823,8
24)によって既に公知である。EAGLE2では、半
角カナ文により記述されたプログラムをCOBOLプロ
グラム14に変換するためのプリコンパイラを搭載して
いる。本実施例では、COBOL変換処理部8にこのプ
リコンパイラを採用する。従って、カナ文からCOBO
Lプログラム14に変換する処理方法については触れな
いことにし、以下では、カナ漢字文をカナ文に変換する
までの処理方法およびそれを実現するためのシステム構
成について説明する。
【0019】図2は、本実施例の処理の流れの概要を示
したフローチャートである。まず、利用者によって、カ
ナ漢字プログラムを作成するか、変数等を定義するかを
モード選択させる(ステップ21)。カナ漢字プログラ
ムを作成するモードを選択した場合、プログラム編集エ
ディタを起動し、利用者にカナ漢字プログラムを入力編
集させる(ステップ1)。プログラム編集エディタは、
フルスクリーンエディタでもラインエディタでもその他
の形式のエディタでも良い。また、カナ漢字文の入力手
段は、キーボードからのキー入力とするが、他の方法と
して音声入力や手書き文字入力等でも容易に代替可能で
ある。
したフローチャートである。まず、利用者によって、カ
ナ漢字プログラムを作成するか、変数等を定義するかを
モード選択させる(ステップ21)。カナ漢字プログラ
ムを作成するモードを選択した場合、プログラム編集エ
ディタを起動し、利用者にカナ漢字プログラムを入力編
集させる(ステップ1)。プログラム編集エディタは、
フルスクリーンエディタでもラインエディタでもその他
の形式のエディタでも良い。また、カナ漢字文の入力手
段は、キーボードからのキー入力とするが、他の方法と
して音声入力や手書き文字入力等でも容易に代替可能で
ある。
【0020】本実施例では、変換処理速度を向上させる
ため、利用者がカナ漢字プログラムを入力する作業と並
行して、自然語解析処理(3,4,6)を実行する。本
実施例では、利用者がプログラムを入力して改行キーを
押下したか否かをトリガとして(ステップ22)、その
部分のカナ漢字文を解析し、中間表現である半角カナ文
に変換する。これらは、マルチプロセスで実行させるこ
とにより、容易に実現できる。なお、解析のトリガを改
行キーが押下されたか否かで判定する以外の判定方法
は、利用者によって解析が直接指示されたか否か(例え
ば「解析実行」のスイッチがオンされたか否か)による
判定方法や、句読点入力をトリガとする判定方法や、解
析単位行数の指定等でも容易に代替可能である。
ため、利用者がカナ漢字プログラムを入力する作業と並
行して、自然語解析処理(3,4,6)を実行する。本
実施例では、利用者がプログラムを入力して改行キーを
押下したか否かをトリガとして(ステップ22)、その
部分のカナ漢字文を解析し、中間表現である半角カナ文
に変換する。これらは、マルチプロセスで実行させるこ
とにより、容易に実現できる。なお、解析のトリガを改
行キーが押下されたか否かで判定する以外の判定方法
は、利用者によって解析が直接指示されたか否か(例え
ば「解析実行」のスイッチがオンされたか否か)による
判定方法や、句読点入力をトリガとする判定方法や、解
析単位行数の指定等でも容易に代替可能である。
【0021】トリガにより、解析実行が指示されると、
まず、入力されたカナ漢字文が適当な文であるかをチェ
ックする(ステップ3)。本実施例では、全角文字変換
や字数制限チェック等を行うことにより、それ以下の処
理が実行可能であるかをチェックする。不適当な文につ
いては(ステップ23)、エラーメッセージを報知する
ことにより(ステップ27)、利用者に修正を促す。
まず、入力されたカナ漢字文が適当な文であるかをチェ
ックする(ステップ3)。本実施例では、全角文字変換
や字数制限チェック等を行うことにより、それ以下の処
理が実行可能であるかをチェックする。不適当な文につ
いては(ステップ23)、エラーメッセージを報知する
ことにより(ステップ27)、利用者に修正を促す。
【0022】次に、形態素解析処理で、カナ漢字文字列
を単語分割し、変数辞書12および予約語辞書13から
単語情報を抽出して、単語情報格納テーブル5に格納,
保持する。形態素解析処理でエラーが発生した場合も、
エラーメッセージを表示し(ステップ27)、利用者に
修正を促す。
を単語分割し、変数辞書12および予約語辞書13から
単語情報を抽出して、単語情報格納テーブル5に格納,
保持する。形態素解析処理でエラーが発生した場合も、
エラーメッセージを表示し(ステップ27)、利用者に
修正を促す。
【0023】形態素解析の結果、単語分割されたカナ漢
字文について、それらの単語をカナに変換する(ステッ
プ6)。まず、形態素解析処理における単語分割結果
が、本システムにとって好ましくない部分について、そ
れらを補正する。次に、各単語のカナ情報を参照して、
カナに変換し、ファイルに変換結果を出力する。この
際、変数の未定義やタイプミス等で、辞書(12,1
3)に登録されていない単語(未知語)が存在している
場合、エラーメッセージを表示し(ステップ27)、利
用者に確認・修正を促す。
字文について、それらの単語をカナに変換する(ステッ
プ6)。まず、形態素解析処理における単語分割結果
が、本システムにとって好ましくない部分について、そ
れらを補正する。次に、各単語のカナ情報を参照して、
カナに変換し、ファイルに変換結果を出力する。この
際、変数の未定義やタイプミス等で、辞書(12,1
3)に登録されていない単語(未知語)が存在している
場合、エラーメッセージを表示し(ステップ27)、利
用者に確認・修正を促す。
【0024】さて、モード選択において、変数定義を選
択した場合、変数定義用のエディタを提供し、利用者に
必要情報を入力させる(ステップ9)。本実施例で変数
という場合、画面や帳票の名称やその項目の名称,デー
タベースのスキーマ情報やグローバル変数等があり、こ
れらのすべてを定義させるためのエディタが必要であ
る。
択した場合、変数定義用のエディタを提供し、利用者に
必要情報を入力させる(ステップ9)。本実施例で変数
という場合、画面や帳票の名称やその項目の名称,デー
タベースのスキーマ情報やグローバル変数等があり、こ
れらのすべてを定義させるためのエディタが必要であ
る。
【0025】利用者によって定義された変数定義情報
は、利用者定義情報格納テーブル10に格納されるが、
このテーブルの情報を参照して、変数辞書12を生成す
る(ステップ11)。変数辞書12の構造・書式は、予
約語やシステム変数情報を格納した予約語辞書13と同
一であり、これらは、前述の汎用日本語形態素解析ツー
ルに適合するような構造となっている。なお、以下の説
明で述べる辞書(12,13)は、これらの辞書の持つ
情報のうちの必要最小限の情報を抜き取って一つのテー
ブルとしてまとめたものとする。この必要最小限の情報
を持つ変数辞書12の構成を図11に示し、同じく予約
語辞書13の構成を図13に示す。
は、利用者定義情報格納テーブル10に格納されるが、
このテーブルの情報を参照して、変数辞書12を生成す
る(ステップ11)。変数辞書12の構造・書式は、予
約語やシステム変数情報を格納した予約語辞書13と同
一であり、これらは、前述の汎用日本語形態素解析ツー
ルに適合するような構造となっている。なお、以下の説
明で述べる辞書(12,13)は、これらの辞書の持つ
情報のうちの必要最小限の情報を抜き取って一つのテー
ブルとしてまとめたものとする。この必要最小限の情報
を持つ変数辞書12の構成を図11に示し、同じく予約
語辞書13の構成を図13に示す。
【0026】図1および図2からも明らかなように、入
力文チェック処理部3,形態素解析処理部4,カナ変換
処理部6,COBOL変換処理部8,変数辞書生成処理
部11は処理を表し、カナ漢字プログラム2,単語情報
格納テーブル5,エラー情報格納テーブル7,利用者定
義情報格納テーブル10,変数辞書12,予約語辞書1
3,COBOLプログラム14はファイル(テーブル)
を示している。
力文チェック処理部3,形態素解析処理部4,カナ変換
処理部6,COBOL変換処理部8,変数辞書生成処理
部11は処理を表し、カナ漢字プログラム2,単語情報
格納テーブル5,エラー情報格納テーブル7,利用者定
義情報格納テーブル10,変数辞書12,予約語辞書1
3,COBOLプログラム14はファイル(テーブル)
を示している。
【0027】また、各機能ブロックはプログラム論理に
より構成されているため、各機能ブロック単位にLSI
化が可能であり、カナ漢字によるプログラム作成を支援
する装置として処理の高速化を図ることができる。
より構成されているため、各機能ブロック単位にLSI
化が可能であり、カナ漢字によるプログラム作成を支援
する装置として処理の高速化を図ることができる。
【0028】図3は、本実施例のハードウェア構成のブ
ロック図である。40は入出力装置であり、編集エディ
タ,定義エディタを介して利用者からの入力を受容し、
また、エラーメッセージ等によって、システムメッセー
ジを利用者に伝達するための装置である。45はプロセ
ッサであり、記憶装置50に記憶されたプログラムに基
づいて、記憶装置50や入出力装置40とデータをやり
とりしながら演算処理を行うための装置である。50は
記憶装置であり、以下の記憶エリアからなる。51はカ
ナ漢字プログラム格納エリア、52は単語情報テーブル
格納エリア、53は利用者定義情報格納エリア、54は
入力文チェック処理部格納エリア、55は形態素解析処
理部格納エリア、56はカナ変換処理部格納エリア、5
7はCOBOL変換処理部格納エリア、58は変数辞書
生成処理部格納エリア、59はCOBOLプログラム格
納エリア、60はエラー情報格納エリア、61は予約語
辞書格納エリア、62は変数辞書格納エリア、63はワ
ーキングエリアをそれぞれ表している。
ロック図である。40は入出力装置であり、編集エディ
タ,定義エディタを介して利用者からの入力を受容し、
また、エラーメッセージ等によって、システムメッセー
ジを利用者に伝達するための装置である。45はプロセ
ッサであり、記憶装置50に記憶されたプログラムに基
づいて、記憶装置50や入出力装置40とデータをやり
とりしながら演算処理を行うための装置である。50は
記憶装置であり、以下の記憶エリアからなる。51はカ
ナ漢字プログラム格納エリア、52は単語情報テーブル
格納エリア、53は利用者定義情報格納エリア、54は
入力文チェック処理部格納エリア、55は形態素解析処
理部格納エリア、56はカナ変換処理部格納エリア、5
7はCOBOL変換処理部格納エリア、58は変数辞書
生成処理部格納エリア、59はCOBOLプログラム格
納エリア、60はエラー情報格納エリア、61は予約語
辞書格納エリア、62は変数辞書格納エリア、63はワ
ーキングエリアをそれぞれ表している。
【0029】図4は、カナ漢字プログラム2の入力例を
示した説明図であり、以下では、このプログラムを具体
例として説明する。図4において、文字列“在庫画面”
は画面の名称を表しており、利用者が定義すべき単語で
ある。この単語に関するデータは、以下で述べる変数辞
書生成処理11によって、変数辞書12に格納される。
また、1行目および7行目の“#”は、ラベルを表す記
号であり、直後に数字列を伴う。さらに、2行目では、
画面に入力されたデータを読みとり、3行目では、終了
条件が記述され、4行目では、数値計算がなされ、5行
目では、#20へスキップする。8行目では、画面に書
き込みがなされ、9行目で終了する。このように、プロ
グラム内容をカナ漢字で記述でき、これがそのままプロ
グラムとしても仕様書としても利用できるので、プログ
ラムの開発,保守,引継ぎを容易に行うことができる。
示した説明図であり、以下では、このプログラムを具体
例として説明する。図4において、文字列“在庫画面”
は画面の名称を表しており、利用者が定義すべき単語で
ある。この単語に関するデータは、以下で述べる変数辞
書生成処理11によって、変数辞書12に格納される。
また、1行目および7行目の“#”は、ラベルを表す記
号であり、直後に数字列を伴う。さらに、2行目では、
画面に入力されたデータを読みとり、3行目では、終了
条件が記述され、4行目では、数値計算がなされ、5行
目では、#20へスキップする。8行目では、画面に書
き込みがなされ、9行目で終了する。このように、プロ
グラム内容をカナ漢字で記述でき、これがそのままプロ
グラムとしても仕様書としても利用できるので、プログ
ラムの開発,保守,引継ぎを容易に行うことができる。
【0030】図5は、図4のカナ漢字プログラムをカナ
に変換した後のプログラムを示した説明図である。各文
は、単語に分割され、単語間は半角スペースで区切ら
れ、各単語は半角カナ表現で記述されている。このよう
なカナ表記のプログラムを前述のCOBOLプリコンパ
イラに送ると、最終的なCOBOLプログラムを自動的
に生成できる。
に変換した後のプログラムを示した説明図である。各文
は、単語に分割され、単語間は半角スペースで区切ら
れ、各単語は半角カナ表現で記述されている。このよう
なカナ表記のプログラムを前述のCOBOLプリコンパ
イラに送ると、最終的なCOBOLプログラムを自動的
に生成できる。
【0031】図6は、変数辞書生成処理11の処理概要
を示したPAD図(Problem Analysis Diagram)であ
る。本処理では、まず、変数辞書12の初期化を行った
後(ステップ111)、画面名称取得処理(ステップ1
12),データ項目名称取得処理(ステップ113),
ファイル名称取得処理(ステップ114)等によって、
さまざまな種類の定義情報から変数を収集し、変数辞書
12に必要な情報を格納する。ここでは、画面の名前を
表す画面名称,表などに記述する項目の名前であるデー
タ項目名称,ファイルの名前を表すファイル名称に関す
る変数を変数辞書12に格納する処理について説明する
が、帳票定義等、この他の類の変数についてもこれらと
全く同様の方法で変数情報を変数辞書12に格納可能で
あるので、それらについてはここでは細かく述べない。
この変数辞書生成処理11の結果、図11に示すような
変数辞書12が生成される。
を示したPAD図(Problem Analysis Diagram)であ
る。本処理では、まず、変数辞書12の初期化を行った
後(ステップ111)、画面名称取得処理(ステップ1
12),データ項目名称取得処理(ステップ113),
ファイル名称取得処理(ステップ114)等によって、
さまざまな種類の定義情報から変数を収集し、変数辞書
12に必要な情報を格納する。ここでは、画面の名前を
表す画面名称,表などに記述する項目の名前であるデー
タ項目名称,ファイルの名前を表すファイル名称に関す
る変数を変数辞書12に格納する処理について説明する
が、帳票定義等、この他の類の変数についてもこれらと
全く同様の方法で変数情報を変数辞書12に格納可能で
あるので、それらについてはここでは細かく述べない。
この変数辞書生成処理11の結果、図11に示すような
変数辞書12が生成される。
【0032】図7から図9までは、変数辞書生成処理1
1で行う、変数情報を取得する処理であり、図7は、画
面名称取得処理(ステップ112)、図8は、データ項
目名名称取得処理(ステップ113)、図9は、ファイ
ル名称取得処理(ステップ114)を表す各々PAD図
である。これらの処理で参照するデータは、すべて、図
10に示す利用者定義情報格納テーブル10に格納され
ている。このテーブルは、利用者が変数定義エディタを
用いて定義した変数情報を格納,保持するテーブルであ
り、利用者がエディタを用いて変数の定義をする際に、
それらの情報を図10のように自動的に格納していくこ
とにより生成される。図10に示すように、利用者定義
情報格納テーブル10の構成要素は、どの定義エディタ
から取得した変数情報かを識別する種別(5001),変
数名称を表す見出し(5002),見出しに対応するカナ
情報(5003),変数の種類を表す分類(5004)
等がある。もちろん、この他にもプログラムを実行する
際に必須となる情報(オプション指定情報等)などもこ
のテーブルに格納するが、本実施例における以下の処理
では、これらの情報は必要としないのでここでは触れな
いことにする。
1で行う、変数情報を取得する処理であり、図7は、画
面名称取得処理(ステップ112)、図8は、データ項
目名名称取得処理(ステップ113)、図9は、ファイ
ル名称取得処理(ステップ114)を表す各々PAD図
である。これらの処理で参照するデータは、すべて、図
10に示す利用者定義情報格納テーブル10に格納され
ている。このテーブルは、利用者が変数定義エディタを
用いて定義した変数情報を格納,保持するテーブルであ
り、利用者がエディタを用いて変数の定義をする際に、
それらの情報を図10のように自動的に格納していくこ
とにより生成される。図10に示すように、利用者定義
情報格納テーブル10の構成要素は、どの定義エディタ
から取得した変数情報かを識別する種別(5001),変
数名称を表す見出し(5002),見出しに対応するカナ
情報(5003),変数の種類を表す分類(5004)
等がある。もちろん、この他にもプログラムを実行する
際に必須となる情報(オプション指定情報等)などもこ
のテーブルに格納するが、本実施例における以下の処理
では、これらの情報は必要としないのでここでは触れな
いことにする。
【0033】以下、図7の画面名称取得処理を、PAD
図に従って説明する。まず、利用者定義情報格納テーブ
ル10から、種別5001を参照して、画面名称を表す
部分の見出し5002を抽出する(ステップ1120
1)。その見出し5002が予約語辞書13の見出しと
重複しているか否かを予約語辞書13を参照して判定し
(ステップ11202)、予約語辞書13の見出しと重
複するならば、エラー情報格納テーブル7を参照してエ
ラーメッセージを出力する(ステップ11203)。例え
ば、ここでのエラーコードを−5と定義すれば、図12
に示すエラー情報格納テーブル7を参照し、エラーコー
ド−5に対応するエラーメッセージ“登録エラー:「当
該単語」 この単語は予約語ですので利用者定義語とし
て使用できません。他の語に修正して下さい。”を出力
する。ここで、図12において、記号“@”で囲まれた
部分は、可変部分であり、状況に応じて適当な文字列に
置き換えることを示している。また、各エラーメッセー
ジは、エラーコードと1対1に対応しており、エラーの
内容に応じたエラーメッセージを適切に選択できる。ス
テップ11202において、重複していない場合は、見
出し5002を変数辞書12の見出しの欄に格納する
(ステップ11204)。次に、変数辞書12の品詞の
欄に“名詞”を格納する(ステップ11205)。これ
は、変数はすべて名詞として扱うことを意味するが、変
数名は、他の変数と区別するためのものであり、プログ
ラム文の構成要素としてみればすべて名詞として扱って
も差し支えない。次に、利用者定義情報格納テーブル1
0から見出しに対応するカナ情報5003を抽出して変
数辞書12のカナ情報の欄に格納する(ステップ1120
6)。そして、次に、変数辞書12の単語分類の欄に文字
列“画面名称”を格納する(ステップ11207)。
図に従って説明する。まず、利用者定義情報格納テーブ
ル10から、種別5001を参照して、画面名称を表す
部分の見出し5002を抽出する(ステップ1120
1)。その見出し5002が予約語辞書13の見出しと
重複しているか否かを予約語辞書13を参照して判定し
(ステップ11202)、予約語辞書13の見出しと重
複するならば、エラー情報格納テーブル7を参照してエ
ラーメッセージを出力する(ステップ11203)。例え
ば、ここでのエラーコードを−5と定義すれば、図12
に示すエラー情報格納テーブル7を参照し、エラーコー
ド−5に対応するエラーメッセージ“登録エラー:「当
該単語」 この単語は予約語ですので利用者定義語とし
て使用できません。他の語に修正して下さい。”を出力
する。ここで、図12において、記号“@”で囲まれた
部分は、可変部分であり、状況に応じて適当な文字列に
置き換えることを示している。また、各エラーメッセー
ジは、エラーコードと1対1に対応しており、エラーの
内容に応じたエラーメッセージを適切に選択できる。ス
テップ11202において、重複していない場合は、見
出し5002を変数辞書12の見出しの欄に格納する
(ステップ11204)。次に、変数辞書12の品詞の
欄に“名詞”を格納する(ステップ11205)。これ
は、変数はすべて名詞として扱うことを意味するが、変
数名は、他の変数と区別するためのものであり、プログ
ラム文の構成要素としてみればすべて名詞として扱って
も差し支えない。次に、利用者定義情報格納テーブル1
0から見出しに対応するカナ情報5003を抽出して変
数辞書12のカナ情報の欄に格納する(ステップ1120
6)。そして、次に、変数辞書12の単語分類の欄に文字
列“画面名称”を格納する(ステップ11207)。
【0034】図8のデータ項目名称取得処理(ステップ
113)および図9のファイル名称取得処理(ステップ
114)についても処理手順は同様であり、データ項目
名称については、変数辞書12の単語分類の欄に文字列
“データ項目”を格納し(ステップ11307)、ファ
イル名称については、文字列“ファイル名称”を格納す
る(ステップ11407)処理部分だけが異なる。
113)および図9のファイル名称取得処理(ステップ
114)についても処理手順は同様であり、データ項目
名称については、変数辞書12の単語分類の欄に文字列
“データ項目”を格納し(ステップ11307)、ファ
イル名称については、文字列“ファイル名称”を格納す
る(ステップ11407)処理部分だけが異なる。
【0035】図10は、利用者定義情報格納テーブル1
0の構成を示した説明図である。前述したように、この
テーブルは、種別5001,見出し5002,カナ情報
5003,分類5004等からなる。
0の構成を示した説明図である。前述したように、この
テーブルは、種別5001,見出し5002,カナ情報
5003,分類5004等からなる。
【0036】図11は、図4のプログラムについて、変
数辞書生成処理11の結果として生成される変数辞書1
2の構成を示した説明図である。変数辞書12は、見出
し5011,品詞5012,カナ情報5013,単語分
類5014からなり、画面名称“在庫画面”は、画面名
称取得処理(ステップ112)により、データ項目“金
額”,“単価”,“数量”はデータ項目名称取得処理
(ステップ113)により取得した変数である。
数辞書生成処理11の結果として生成される変数辞書1
2の構成を示した説明図である。変数辞書12は、見出
し5011,品詞5012,カナ情報5013,単語分
類5014からなり、画面名称“在庫画面”は、画面名
称取得処理(ステップ112)により、データ項目“金
額”,“単価”,“数量”はデータ項目名称取得処理
(ステップ113)により取得した変数である。
【0037】図12は、エラー情報格納テーブルの構成
を示した説明図であり、前述したように、エラーコード
5021とエラーメッセージ5022とが1対1に対応
した形で格納されている。記号“@”で囲まれた部分は
可変部分を表し、その状況に応じて適当な文字列に置き
換えることを示している。
を示した説明図であり、前述したように、エラーコード
5021とエラーメッセージ5022とが1対1に対応
した形で格納されている。記号“@”で囲まれた部分は
可変部分を表し、その状況に応じて適当な文字列に置き
換えることを示している。
【0038】図13は、予約語辞書13の構成を示した
説明図である。前述したように、予約語辞書13は、変
数辞書12と構成が同一であり、これらの構成は、形態
素解析で採用している汎用日本語形態素解析ツールの仕
様に基づいている。図11および図13では、これらの
うち、必要不可欠な情報のみを記述してある。図13に
示すように、予約語辞書13は、見出し5031,品詞
5032,カナ情報5033,単語分類5034からな
る。予約語辞書13の見出し5031は、大きく予約語
とシステム変数とに分類できる。なお、ここでいう予約
語およびシステム変数とは、カナ漢字文をカナ文に変換
するために提供する予約語と、カナ文をCOBOLに変
換するために提供する予約語およびシステム変数との両
方を含む。
説明図である。前述したように、予約語辞書13は、変
数辞書12と構成が同一であり、これらの構成は、形態
素解析で採用している汎用日本語形態素解析ツールの仕
様に基づいている。図11および図13では、これらの
うち、必要不可欠な情報のみを記述してある。図13に
示すように、予約語辞書13は、見出し5031,品詞
5032,カナ情報5033,単語分類5034からな
る。予約語辞書13の見出し5031は、大きく予約語
とシステム変数とに分類できる。なお、ここでいう予約
語およびシステム変数とは、カナ漢字文をカナ文に変換
するために提供する予約語と、カナ文をCOBOLに変
換するために提供する予約語およびシステム変数との両
方を含む。
【0039】図14は、入力文チェック処理3のPAD
図であり、以下、この処理をPAD図に基づいて説明す
る。
図であり、以下、この処理をPAD図に基づいて説明す
る。
【0040】解析の対象となる入力文中に半角のアルフ
ァベットあるいは特殊記号あるいは空白文字が存在する
か否かを判別し(ステップ301)、存在する場合は、
文字を全角文字に変換する(ステップ302)。存在し
ない場合は、入力文字数が250文字以上であるか否か
を判別し(ステップ303)、250文字以上である場
合は、エラー情報格納テーブル7を参照して文字数オー
バーを表すエラーメッセージを出力する(ステップ30
4)。
ァベットあるいは特殊記号あるいは空白文字が存在する
か否かを判別し(ステップ301)、存在する場合は、
文字を全角文字に変換する(ステップ302)。存在し
ない場合は、入力文字数が250文字以上であるか否か
を判別し(ステップ303)、250文字以上である場
合は、エラー情報格納テーブル7を参照して文字数オー
バーを表すエラーメッセージを出力する(ステップ30
4)。
【0041】図15は、形態素解析処理4の結果生成さ
れる単語情報格納テーブル5の構成を示した図である。
前述したように、本実施例では、汎用日本語形態素解析
ツールを採用する。このツールは、全角日本語文字列を
入力とし、単語分割した結果を表す単語テーブル(単語
情報格納テーブル5ではない)を出力する。単語テーブ
ルには、見出し,品詞,活用情報や、付属語の意味を表
すコードなどの単語情報が格納されるが、ここでは、後
の処理で必要な単語情報のみを単語テーブルから抽出
し、新たに単語情報格納テーブル5を生成している。図
15に示すように、単語情報格納テーブル5は、見出し
5041,品詞5042,カナ情報5043,単語分類
5044からなる。
れる単語情報格納テーブル5の構成を示した図である。
前述したように、本実施例では、汎用日本語形態素解析
ツールを採用する。このツールは、全角日本語文字列を
入力とし、単語分割した結果を表す単語テーブル(単語
情報格納テーブル5ではない)を出力する。単語テーブ
ルには、見出し,品詞,活用情報や、付属語の意味を表
すコードなどの単語情報が格納されるが、ここでは、後
の処理で必要な単語情報のみを単語テーブルから抽出
し、新たに単語情報格納テーブル5を生成している。図
15に示すように、単語情報格納テーブル5は、見出し
5041,品詞5042,カナ情報5043,単語分類
5044からなる。
【0042】図16は、カナ変換処理6のPAD図であ
り、以下、この処理の説明をPAD図に従って行う。
り、以下、この処理の説明をPAD図に従って行う。
【0043】まず、各単語について以下の処理を行う
(ステップ601)。品詞5042が“数字列”である
か否かを判別し(ステップ602)、数字列である場合
は、数字列(全角)を半角数字列に変換し、単語情報格納
テーブルの「カナ情報5043」の欄に格納する(ステ
ップ603)。数字列は変数辞書12あるいは予約語辞
書13には登録できないため、カナ情報(5013,5
033)を保持していない。よってこの処理が必要とな
る。
(ステップ601)。品詞5042が“数字列”である
か否かを判別し(ステップ602)、数字列である場合
は、数字列(全角)を半角数字列に変換し、単語情報格納
テーブルの「カナ情報5043」の欄に格納する(ステ
ップ603)。数字列は変数辞書12あるいは予約語辞
書13には登録できないため、カナ情報(5013,5
033)を保持していない。よってこの処理が必要とな
る。
【0044】次に、各単語について以下の処理を行う
(ステップ604)。見出し5041がラベル記号
“#”であるか否かを判別し(ステップ605)、ラベル
記号“#”である場合は、その直後の単語が数字列であ
るか否かを判別し(ステップ606)、数字列である場合
は、ラベル記号“#”と数字列とを結合して一単語とす
る(ステップ607)。その際、新しくできた単語に対
応するカナ情報5043は、それぞれの単語についての
カナ情報を結合したカナ文字列とする。
(ステップ604)。見出し5041がラベル記号
“#”であるか否かを判別し(ステップ605)、ラベル
記号“#”である場合は、その直後の単語が数字列であ
るか否かを判別し(ステップ606)、数字列である場合
は、ラベル記号“#”と数字列とを結合して一単語とす
る(ステップ607)。その際、新しくできた単語に対
応するカナ情報5043は、それぞれの単語についての
カナ情報を結合したカナ文字列とする。
【0045】次に、各単語について以下の処理を行う
(ステップ608)。品詞5042が“未知語”であ
る、すなわち、予約語辞書13にも変数辞書12にも登
録されていない単語であるか否かを判別し(ステップ6
09)、“未知語”である場合は、エラー情報格納テー
ブル7を参照して、カナに変換できないことを表すエラ
ーメッセージを出力する(ステップ610)。未知語で
ない場合は、単語に対応するカナ情報を出力ファイルに
書き込む(ステップ611)。
(ステップ608)。品詞5042が“未知語”であ
る、すなわち、予約語辞書13にも変数辞書12にも登
録されていない単語であるか否かを判別し(ステップ6
09)、“未知語”である場合は、エラー情報格納テー
ブル7を参照して、カナに変換できないことを表すエラ
ーメッセージを出力する(ステップ610)。未知語で
ない場合は、単語に対応するカナ情報を出力ファイルに
書き込む(ステップ611)。
【0046】図17は、カナ漢字プログラム編集エディ
タの一例を示した図である。エディタは、大きく操作メ
ニュー表示部6001,編集エリア6002,メッセー
ジ表示部6003,カナ漢字変換部6004からなる。
操作メニュー表示部6001はさらに、変数定義に切り
替えるときに選択する変数定義アイコン6011,カナ
漢字プログラム編集に切り替えるときに選択する編集ア
イコン6012,利用者の好きなときに変換を実行する
際に選択する変換アイコン6013,他のファイルを呼
び出したりして文章を加工する際に選択する文章加工ア
イコン6014,編集したプログラムをファイルにセー
ブする際に選択するセーブアイコン6015,ガイダンス等
を参照したい場合に選択するヘルプアイコン6016,
処理を終了したい場合に選択する終了アイコン6017
からなる。図17では、図4に示すカナ漢字プログラム
を入力しているところを示している。
タの一例を示した図である。エディタは、大きく操作メ
ニュー表示部6001,編集エリア6002,メッセー
ジ表示部6003,カナ漢字変換部6004からなる。
操作メニュー表示部6001はさらに、変数定義に切り
替えるときに選択する変数定義アイコン6011,カナ
漢字プログラム編集に切り替えるときに選択する編集ア
イコン6012,利用者の好きなときに変換を実行する
際に選択する変換アイコン6013,他のファイルを呼
び出したりして文章を加工する際に選択する文章加工ア
イコン6014,編集したプログラムをファイルにセー
ブする際に選択するセーブアイコン6015,ガイダンス等
を参照したい場合に選択するヘルプアイコン6016,
処理を終了したい場合に選択する終了アイコン6017
からなる。図17では、図4に示すカナ漢字プログラム
を入力しているところを示している。
【0047】図18は、自然語解析処理が終了したこと
を示す画面の例である。先述したように、本実施例で
は、改行記号をトリガとして自然語解析を自然語入力と
並行して行う。図18では、自然語解析が終了した部分
については、ゴシック表示することによって、解析が終
了し正常に解析されたことを、他と区別した表示にする
ことによって報知する。もちろん、ゴシック表示の他に
も、色分けによる表示や、下線表示などによって区別す
るのも良い。
を示す画面の例である。先述したように、本実施例で
は、改行記号をトリガとして自然語解析を自然語入力と
並行して行う。図18では、自然語解析が終了した部分
については、ゴシック表示することによって、解析が終
了し正常に解析されたことを、他と区別した表示にする
ことによって報知する。もちろん、ゴシック表示の他に
も、色分けによる表示や、下線表示などによって区別す
るのも良い。
【0048】図19は、自然語解析で解析エラーが発見
された場合のエラー情報出力を示した図である。ここ
で、仮に図4のカナ漢字文において、3行目に存在する
文字列“終了”を入力する際に、変換ミスにより、文字
列“修了”を入力してしまったとする。そして、文字列
“修了”は、予約語辞書13にも変数辞書12にも登録
されていない未知語であるとする。改行キーが押下され
ると、この行の解析が行われるが、形態素解析処理4の
結果、この単語の品詞として“未知語”が格納される。
カナ変換処理6で、この未知語が検出されると、エラー
情報格納テーブル7を参照して、図19のメッセージ表
示部6003に、エラーメッセージをリアルタイムに出
力する。と同時に、文字列“修了”の部分を他と異なる
態様で表示する。表示方法としては、白黒反転させる方
法,点滅させる方法,エラーメッセージの種類に応じて
異なる色(文字色,背景色)で表示する方法等がある
が、この場合はどの方法でも実現可能である。利用者
は、このようなメッセージ情報を参照することにより、
語彙的な誤り箇所を容易に発見することができる。
された場合のエラー情報出力を示した図である。ここ
で、仮に図4のカナ漢字文において、3行目に存在する
文字列“終了”を入力する際に、変換ミスにより、文字
列“修了”を入力してしまったとする。そして、文字列
“修了”は、予約語辞書13にも変数辞書12にも登録
されていない未知語であるとする。改行キーが押下され
ると、この行の解析が行われるが、形態素解析処理4の
結果、この単語の品詞として“未知語”が格納される。
カナ変換処理6で、この未知語が検出されると、エラー
情報格納テーブル7を参照して、図19のメッセージ表
示部6003に、エラーメッセージをリアルタイムに出
力する。と同時に、文字列“修了”の部分を他と異なる
態様で表示する。表示方法としては、白黒反転させる方
法,点滅させる方法,エラーメッセージの種類に応じて
異なる色(文字色,背景色)で表示する方法等がある
が、この場合はどの方法でも実現可能である。利用者
は、このようなメッセージ情報を参照することにより、
語彙的な誤り箇所を容易に発見することができる。
【0049】図20は、カナ漢字プログラム2の入力の
他の例を示した図である。図20の一行目では、局所変
数“ワーク1”がプログラム中で定義されていることを
示す。文頭の文字“V”は、その文が変数定義文である
ことを示すラベルであり、本実施例では、このような特
殊な文字を定義するエリアが文頭に設けてある。さら
に、その文の中では、変数名称およびそのカナ表記およ
び型・大きさが定義される。この文の自然語解析では、
まず、文頭に“V”が記述されているかを判別し、記述
されている場合には、その直後の単語を変数の見出し5
011とし、その次の括弧内の文字列をカナ情報501
3として取得する。これらの情報を変数辞書12に格納
し、保持する。ここで、これらの変数の品詞5012は
すべて名詞とし、単語分類5013は局所変数とする。
他の例を示した図である。図20の一行目では、局所変
数“ワーク1”がプログラム中で定義されていることを
示す。文頭の文字“V”は、その文が変数定義文である
ことを示すラベルであり、本実施例では、このような特
殊な文字を定義するエリアが文頭に設けてある。さら
に、その文の中では、変数名称およびそのカナ表記およ
び型・大きさが定義される。この文の自然語解析では、
まず、文頭に“V”が記述されているかを判別し、記述
されている場合には、その直後の単語を変数の見出し5
011とし、その次の括弧内の文字列をカナ情報501
3として取得する。これらの情報を変数辞書12に格納
し、保持する。ここで、これらの変数の品詞5012は
すべて名詞とし、単語分類5013は局所変数とする。
【0050】一方、図20の局所変数“ワーク1”が変
数辞書12に格納された際に、それまでに自然語解析が
終了した文の中で“ワーク1”が未登録語として解析さ
れていないかを探索し、もし存在する場合、未登録語と
して解析された“ワーク1”の単語情報として、いま変
数辞書に格納された単語情報を付与する。そして、未登
録語としてエディタ上に表示されていたものを未登録語
でない単語としての表示に切り替える。この処理は、局
所変数を変数辞書12に格納した場合のみでなく、利用
者が定義エディタ9で新たにデータを登録したり、既存
のデータを更新したりした場合でも同様に行う。また、
前述とは逆に、変数辞書を更新したことによって、未登
録語でなかった単語が未登録語となる場合についても更
新前の情報を基にして文字列探索することによって、変
数辞書12の更新によって未登録語となってしまった文
字列を報知することもできる。
数辞書12に格納された際に、それまでに自然語解析が
終了した文の中で“ワーク1”が未登録語として解析さ
れていないかを探索し、もし存在する場合、未登録語と
して解析された“ワーク1”の単語情報として、いま変
数辞書に格納された単語情報を付与する。そして、未登
録語としてエディタ上に表示されていたものを未登録語
でない単語としての表示に切り替える。この処理は、局
所変数を変数辞書12に格納した場合のみでなく、利用
者が定義エディタ9で新たにデータを登録したり、既存
のデータを更新したりした場合でも同様に行う。また、
前述とは逆に、変数辞書を更新したことによって、未登
録語でなかった単語が未登録語となる場合についても更
新前の情報を基にして文字列探索することによって、変
数辞書12の更新によって未登録語となってしまった文
字列を報知することもできる。
【0051】本実施例によれば、変数辞書12および予
約語辞書13を参照してカナ漢字文を解析しカナ文に変
換し、さらにカナ文からCOBOLに変換するので、利
用者は可読性に優れているカナ漢字文によるプログラム
生成を実現できる。また、辞書内容の更新とプログラム
編集とを連動させることによって、変数の更新情報をプ
ログラム編集にリアルタイムに反映させることができ
る。
約語辞書13を参照してカナ漢字文を解析しカナ文に変
換し、さらにカナ文からCOBOLに変換するので、利
用者は可読性に優れているカナ漢字文によるプログラム
生成を実現できる。また、辞書内容の更新とプログラム
編集とを連動させることによって、変数の更新情報をプ
ログラム編集にリアルタイムに反映させることができ
る。
【0052】本実施例の変形例・拡張例としては、予約
語あるいは定義した変数名称に対して、利用者の使い慣
れた語句を同義語として登録し、プログラムの中で記述
可能とすることが挙げられる。図21に示すように、あ
る予約語あるいは定義した変数名称に対する同義語を登
録するための定義画面を設ける。図21では、予約語
「読む」の同義語として文字列「読み込む」を登録して
いる。文字列「読み込む」は変数辞書12の見出しとし
て登録され、単語情報についても、図21の定義情報あ
るいは「読む」の持つ単語情報を参照することによっ
て、変数辞書12に格納する。これによって、図4の文
“在庫画面を読む”は、“在庫画面を読み取る”と記述
しても、翻訳結果として、“ザイコガメン オ ヨム
.”を得ることができる。
語あるいは定義した変数名称に対して、利用者の使い慣
れた語句を同義語として登録し、プログラムの中で記述
可能とすることが挙げられる。図21に示すように、あ
る予約語あるいは定義した変数名称に対する同義語を登
録するための定義画面を設ける。図21では、予約語
「読む」の同義語として文字列「読み込む」を登録して
いる。文字列「読み込む」は変数辞書12の見出しとし
て登録され、単語情報についても、図21の定義情報あ
るいは「読む」の持つ単語情報を参照することによっ
て、変数辞書12に格納する。これによって、図4の文
“在庫画面を読む”は、“在庫画面を読み取る”と記述
しても、翻訳結果として、“ザイコガメン オ ヨム
.”を得ることができる。
【0053】
【発明の効果】本発明によれば、プログラムの可読性が
向上し、プログラムのコーディング,デバッグ,テス
ト,保守管理,引継ぎ等の作業効率が向上する。また、
利用者の定義したデータから変数辞書を自動生成するの
で、辞書作成コストを軽減できる。また、変数辞書の書
式とプログラミング言語固有である予約語の辞書の書式
が同一の書式構造になっているので、辞書の保守が容易
となり、形態素解析の処理効率が向上する。また、利用
者がプログラムを編集する一方で入力された自然語の解
析を行うので、未登録語の存在等のエラーメッセージを
あたかも自然語入力時のエラーとして報知できる。さら
に、変数辞書を更新した場合、更新内容をそれまでに編
集したプログラムに反映させることにより、プログラム
の修正を効率良く行うことができる。
向上し、プログラムのコーディング,デバッグ,テス
ト,保守管理,引継ぎ等の作業効率が向上する。また、
利用者の定義したデータから変数辞書を自動生成するの
で、辞書作成コストを軽減できる。また、変数辞書の書
式とプログラミング言語固有である予約語の辞書の書式
が同一の書式構造になっているので、辞書の保守が容易
となり、形態素解析の処理効率が向上する。また、利用
者がプログラムを編集する一方で入力された自然語の解
析を行うので、未登録語の存在等のエラーメッセージを
あたかも自然語入力時のエラーとして報知できる。さら
に、変数辞書を更新した場合、更新内容をそれまでに編
集したプログラムに反映させることにより、プログラム
の修正を効率良く行うことができる。
【図1】本発明の一実施例のブロック図。
【図2】本発明の実施例の処理のフローチャート。
【図3】本発明の実施例のハードウェアのブロック図。
【図4】カナ漢字プログラムの入力を示した説明図。
【図5】カナに変換後のプログラムを示した説明図。
【図6】変数辞書生成処理の処理概要を示したPAD
図。
図。
【図7】画面名称取得処理のPAD図。
【図8】データ項目名称取得処理のPAD図。
【図9】ファイル名称取得処理のPAD図。
【図10】利用者定義情報格納テーブルの構成を示した
説明図。
説明図。
【図11】変数辞書の構成を示した説明図。
【図12】エラー情報格納テーブルの構成を示した説明
図。
図。
【図13】予約語辞書の構成を示した説明図。
【図14】入力文チェック処理のPAD図。
【図15】単語情報格納テーブルの構成を示した説明
図。
図。
【図16】カナ変換処理のPAD図。
【図17】カナ漢字プログラム編集エディタを示した説
明図。
明図。
【図18】自然語解析終了を示した説明図。
【図19】エラー情報の出力を示した説明図。
【図20】カナ漢字プログラムの入力の他の例を示した
説明図。
説明図。
【図21】同義語の登録画面を示した説明図。
1…カナ漢字プログラム編集エディタ、2…カナ漢字プ
ログラム、3…入力文チェック処理部、4…形態素解析
処理部、5…単語情報格納テーブル、6…カナ変換処理
部、7…エラー情報格納テーブル、8…COBOL変換
処理部、9…変数定義エディタ、10…利用者定義情報
格納テーブル、11…変数辞書生成処理部、12…変数
辞書、13…予約語辞書、14…COBOLプログラ
ム。
ログラム、3…入力文チェック処理部、4…形態素解析
処理部、5…単語情報格納テーブル、6…カナ変換処理
部、7…エラー情報格納テーブル、8…COBOL変換
処理部、9…変数定義エディタ、10…利用者定義情報
格納テーブル、11…変数辞書生成処理部、12…変数
辞書、13…予約語辞書、14…COBOLプログラ
ム。
Claims (13)
- 【請求項1】自然語を入力する入力手段と、前記入力し
た自然語を編集する編集エディタと、前記入力された自
然語を解析する自然語解析手段と、前記自然語の解析結
果に基づいて前記自然語をCOBOL等のプログラミン
グ言語に翻訳する翻訳手段と、前記翻訳結果を出力する
出力手段とを備えた言語翻訳装置において、プログラム
の中で使用する変数あるいは定数等のデータを定義する
定義エディタと、前記定義エディタで定義したデータあ
るいはプログラムの中で定義したデータに対応する前記
自然語の文字列あるいは記号文字列を見出しとする変数
辞書を生成する手段と、前記プログラミング言語におけ
る予約語を見出しとする予約語辞書と、前記変数辞書お
よび前記予約語辞書を参照した自然語解析手段とを備え
たことを特徴とする言語翻訳装置。 - 【請求項2】請求項1において、前記変数辞書と前記予
約語辞書とは同一構造である言語翻訳装置。 - 【請求項3】請求項1において、前記自然語を入力する
手段と前記自然語を解析する手段とを並行して実行する
言語翻訳装置。 - 【請求項4】請求項3において、前記自然語解析は、予
め利用者の指定した言語単位が入力された時点で、ある
いは、利用者が解析実行を指示した時点で実行を開始す
る言語翻訳装置。 - 【請求項5】請求項3において、前記自然語解析が終了
した前記言語単位について、前記編集エディタ上に表示
されている言語単位を他と異なる態様で表示する言語翻
訳装置。 - 【請求項6】請求項3において、前記自然語解析で前記
変数辞書および前記予約語辞書に登録されていない未登
録語が存在する場合、前記編集エディタ上に表示されて
いる当該未登録語を他の語と異なる態様で表示する言語
翻訳装置。 - 【請求項7】請求項1において、前記自然語が変数等の
データを定義する文か否かを判定する手段と、前記自然
語が変数等のデータを定義する文である場合、前記デー
タに相当する文字列の見出しおよび翻訳情報を前記変数
辞書に格納する手段とを備えた言語翻訳装置。 - 【請求項8】請求項7において、前記見出しが前記変数
辞書に新たに登録された際に、その時点までに前記自然
語解析により未登録語と認定した語が前記新たに登録さ
れた見出しと同一であるか否かを判別し、同一である場
合、前記未登録語に対して前記登録した見出しの持つ翻
訳情報を付与する言語翻訳装置。 - 【請求項9】請求項8において、前記翻訳情報を付与す
る際に、前記未登録語は未登録語でないと認定し、未登
録語であるということを表す表示から未登録語でないこ
とを表す表示に変更する言語翻訳装置。 - 【請求項10】請求項1において、利用者が前記変数辞
書の内容を更新した場合、前記更新情報と前記自然語解
析結果とを比較し、必要ならば更新情報に基づいて前記
自然語解析結果および翻訳結果をも更新する言語翻訳装
置。 - 【請求項11】請求項10において、利用者が前記変数
辞書の見出しを更新したことによりそれまで未登録語と
して認定されていた語が未登録語でなくなった場合、あ
るいは、それまで未登録語でないと認定されていた語が
未登録語となった場合、前記編集エディタにおける前記
語句の表示を登録語か未登録語かに基づいて表示しなお
す言語翻訳装置。 - 【請求項12】請求項1において、前記変数辞書に見出
しを追加する際に、前記追加する語句と前記予約語辞書
の見出しとを比較し、同一の見出しが前記予約語辞書に
存在するならば、前記語句を前記変数辞書に追加できな
いことを表すメッセージを出力する言語翻訳装置。 - 【請求項13】請求項1において、前記予約語辞書ある
いは前記変数辞書に格納された見出しに対して利用者が
指定した文字列を前記見出しと同一の意味を持つものと
して前記予約語辞書あるいは前記変数辞書に登録する手
段を備えた言語翻訳装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26997192A JP3316884B2 (ja) | 1992-10-08 | 1992-10-08 | 言語翻訳装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26997192A JP3316884B2 (ja) | 1992-10-08 | 1992-10-08 | 言語翻訳装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06119183A true JPH06119183A (ja) | 1994-04-28 |
| JP3316884B2 JP3316884B2 (ja) | 2002-08-19 |
Family
ID=17479782
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26997192A Expired - Fee Related JP3316884B2 (ja) | 1992-10-08 | 1992-10-08 | 言語翻訳装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3316884B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115048102A (zh) * | 2022-03-31 | 2022-09-13 | 阿里巴巴(中国)有限公司 | 代码生成方法、装置、设备和存储介质 |
-
1992
- 1992-10-08 JP JP26997192A patent/JP3316884B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115048102A (zh) * | 2022-03-31 | 2022-09-13 | 阿里巴巴(中国)有限公司 | 代码生成方法、装置、设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3316884B2 (ja) | 2002-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5200893A (en) | Computer aided text generation method and system | |
| JP3905179B2 (ja) | 文書翻訳装置及び機械読み取り可能媒体 | |
| EP0686286B1 (en) | Text input transliteration system | |
| US4829423A (en) | Menu-based natural language understanding system | |
| Mandziy et al. | English-Ukrainian Parallel Corpus of IT Texts: Application in Translation Studies. | |
| EP0118187A1 (en) | Menu-based natural language understanding system | |
| Bowers et al. | TEI and Bavarian dialect resources in Austria: updates from the DBÖ and WBÖ | |
| JP3316884B2 (ja) | 言語翻訳装置 | |
| JP2838984B2 (ja) | 汎用参照装置 | |
| JP4643183B2 (ja) | 翻訳装置および翻訳プログラム | |
| JPS62197864A (ja) | 言語情報提供装置 | |
| Sinha | Computer Processing of Indian Languages and Scripts—Potentialities & Problems | |
| JPH05282361A (ja) | データベース作成支援装置及び機械翻訳装置 | |
| KR20010003037A (ko) | 다국어 입력기 | |
| JPS6366663A (ja) | 文書構造管理方式 | |
| JP2023152349A (ja) | 日本語入力システムの漢字仮名変換 | |
| JPH04174069A (ja) | 言語理解支援装置 | |
| JP2723886B2 (ja) | 機械翻訳装置及びその翻訳規則作成方法 | |
| JPH0612453A (ja) | 未知語抽出登録装置 | |
| JPH0778166A (ja) | 翻訳方法及び機械翻訳装置 | |
| JP2023177418A (ja) | 日本語入力システムの漢字情報変換 | |
| JP2002082804A (ja) | 動的識別子情報を利用するエディタ | |
| JP2000242643A (ja) | 英文作成支援装置及び方法並びに記憶媒体 | |
| Ganzinger et al. | Foam: A two‐level approach to text formatting on a microcomputer system | |
| JPH086950A (ja) | キーワード翻訳機能付き機械翻訳装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |