JPH02133824A - トランスレータ - Google Patents

トランスレータ

Info

Publication number
JPH02133824A
JPH02133824A JP63287444A JP28744488A JPH02133824A JP H02133824 A JPH02133824 A JP H02133824A JP 63287444 A JP63287444 A JP 63287444A JP 28744488 A JP28744488 A JP 28744488A JP H02133824 A JPH02133824 A JP H02133824A
Authority
JP
Japan
Prior art keywords
syntax
analysis section
section
analysis
text
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
JP63287444A
Other languages
English (en)
Inventor
Yoichiro Hirata
平田 陽一郎
Kenji Nishioka
西岡 健自
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP63287444A priority Critical patent/JPH02133824A/ja
Publication of JPH02133824A publication Critical patent/JPH02133824A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〈産業上の利用分野〉 この発明は、規則性を有する入力テキストを横文解析し
て所望の情報を抽出し、また別のテキストに変換するト
ランスレータの改良に関するものである。
〈従来技術〉 トランスレータは入力テキストを別のテキストに変換す
る際に用いるものであり、コンパイラもトランスレータ
の一種であると考えられる。この様なトランスレータの
構成を第5図に示す、第5図において、トランスレータ
1は字句解析部2、構文解析部3及び意味解析部4から
構成される。
入力テキスト5は先ず字句解析部2により複数のトーク
ンに分解され、次に横文解析t163によりこれらのト
ークンの間の関係を示す構文木が生成される。この生成
された構文木は意味解析部4に入力されて必要な情報を
抽出したりまた他のテキストに変換される。このように
して出力テキスト6を求める事が出来る1字句解析部2
及び構文解析部3は入力テキスト1の規則体系によって
異なり、最適なものを生成して使用する。すなわち、こ
れらは複数の関数から構成され、ユーザが定義したトー
クン定義及びルール定義からこれら複数の間数を定義し
て字句解析部2及び構文解析部3を生成するようにして
いる。
〈発明が解決すべき課題〉 しかしながら、この様なトランスレータは1種頭の構文
を持つ入力テキストしか対象にしていなかった。その為
、複数の規則体系からなる入力テキストを変換するため
には規則体系を複合化して新たな規則体系を求め、この
新たな規則体系による字句解析部と構文解析部を生成す
るか、複数のトランスレータを用い、入力テキストをこ
れらのトランスレータに次々に入力して変換するかしな
ければならなかった。しかし、前者のやり方では規則体
系が複雑になり、また1つの規則体系にまとめあげるこ
とが出来ない場合も発生するという課題があった。また
後者では処理時間がかかるという課題があった。
〈発明の目的〉 この発明の目的は、複数の規則体系に対応できるトラン
スレータを提供する事にある。
く課題を解決する為の手段〉 前記課題を解決するために本発明は、字句解析部により
入力テキストをトークンに分解し、この分解したトーク
ン間の関係を示す構文木を構文解析部によって求め、こ
の構文木により意味解析部で必要な情報を抽出し、また
変換処理を行うトランスレータであって、異なる文法規
則に対応する複数の構文解析部を有し、前記意味解析部
の要求によりこれら複数の構文解析部のうち入力される
テキストに適合したものを選択して、この選択した構文
解析部に前記トークンを入力するようにしたものである
〈実施例〉 第1図に本発明に係るトランスレータの構成を示す。こ
の実施例はC言語で書かれたテキストから各種情報を抽
出するトランスレータの場合である。このテキストには
そのモジュールの機能等の説明がC言語のコメント形式
で記述されたヘッダ部とC言語の文法に基づいて記述さ
れたコード部から構成される。これらヘッダ部とコード
部はその文法規則が異なっている。第1図において、2
1は構文解析部であり、トランスレータ全体を統括する
制御部20から呼び出される。22は字句解析部であり
、構文解析部21から呼び出される。
23は構文解析部であり、制御部20から呼び出される
。24は字句解析部であり、構文解析部23から呼び出
される。25は意味解析部であり、制御部20から呼び
出される。26はテーブルであり、構文解析部21.2
3を構成する関数のアドレスが格納される。このテーブ
ル26は意味解析部25によって書き替えられ、また制
御部20によって参照される。入力テキスト5は字句解
析部22.24に入力される。#I文解析部21及び字
句解析部22は入力テキスト5のヘッダ部に対応し、構
文解析部23及び字句解析部24はコード部に対応する
次に、この実施例の動作を第2図に基づいて説明する。
第2図において、27は入力テキストであり、ヘッダ部
とコード部がこの順に表われる。
28は第1図に示したトランスレータである。最初にテ
ーブル26には構文解析部21に対応する関数のアドレ
スが格納される。制御部20はこのテーブルを参照し、
構文解析部21を呼び出す。
構文解析部21は字句解析部22を呼び出し、この字句
解析部22は入力テキスト27を1字ずつ入力してその
内部に保持しているトークンと比較して入力テキストを
複数のトークンに分割する。
このトークンは構文解析部21に入力され、構文木が生
成される。構文解析部21で生成された構文木は意味解
析部25に送られる。意味解析部25は構文木から必要
な情報を抽出して出力する。
29はこのようにして抽出された情報を表わす。
このようにして入力テキスト27のヘッダ部の情報抽出
が行われる。ヘッダ部内のセンデンス30が意味解析部
25に入力されると、意味解析部25はヘッダ部が終了
したことを認識し、テーブル26に構文解析部23に対
応する関数のアドレスをセットする0次の段階で制御部
20はテーブル26を参照し、構文解析部23を呼び出
す、以後は同様の手順で構文解析部23によりコード部
の情報抽出が行われる。センテンス30がヘッダ部の終
了であることは、あらかじめ意味解析部25にセットし
ておく、制御部20はセンテンス毎にテーブル26を参
照してどの構文解析部を呼び出すかを決定する。
次に、第3図フローチャートに基づいてトランスレータ
の動作をさらに詳しく説明する。最初に制御部20はテ
ーブル26から関数のアドレスを取り出してセットする
。これにより、構文解析部21と23のいずれかが決定
される。この説明では構文解析部2】が選択されたとす
る。つぎに構文解析部21は字句解析部22を呼び出し
、字句解析部22は入力テキストの1文字を入力する。
この段階で入力テキストのファイルの終端に達すると処
理を終了する。ファイルの終端でないと、字句解析部2
2はその内部に有しているトークンと入力された文字と
のマツチングを取り、マツチしているとトークンとして
構文解析部21に出力する。マツチしていないとさらに
1文字入力して同様の処理を行う。構文解析部21は入
力されなトークンから構文木を生成して構文エラーをチ
エツクし、意味解析部25に構文木を出力する。この際
、文法上、次のトークンを要する場合は、r g e 
t、 Jまたはrnext」から次のトークンを入力し
、構文木の生成処理を続ける。構文エラーが発生すると
センテンスのif&まで入力し、エラーメツセージを出
力する。11文エラーがないと1センテンス分の構文木
を意味解析部25で意味解析して必要な情報を抽出し、
かつ構文解析部を切り替える必要がないか、すなわちへ
・ラダ部の終端でないかを判定する。終端部であると他
方の構文解析部の関数のアドレスをテーブル26にセッ
トする。すなわち、1センテンスを単位として意味解析
を行い、構文解析部を切り替える必要がないかを判定し
て、切り替える場合はテーブル26に対応する構文解析
部の関数のアドレスをセットする。また、次のセンテン
スの最初でテーブル26を参照してどの構文解析部を選
択するかを決定する。従って、入力テキスト中に異なる
文法規則に属するセンテンスが混在していても、自動的
にかつ連続して変換する事が出来る。
次に、第4図に基づいて構文解析部21.23の動作を
説明する。第4図(A)は構文解析部の文法の一部であ
り、rlist」とreXprJのノードから構成され
る。rlist」ノードはreXprJと「¥rz  
(改行コード)からなり、reXprJノードは6つの
規則からなる。[expr  −+−expr]は2つ
のexprと十の3つの要素がこのIliに並ぶことを
表わす、引き続く3つの規則も同様の意味を有する。[
ID]は英文字を表わし[NUM]は数字から構成され
るトークンを表わす、最初にトークン「a」が入力され
る。このトークンはrlist、1ノードからreXp
rJノードに至り、[IDコで認識されてreXprJ
に返される0次のトークン「+]も同様の経路を通り、
reXprJノードの規則と照合されて最初の規則であ
ることが認識される。
次のトークン「b」は規則からreXprJであること
が判っているので、[ID]で認識される。
さらに次のトークンが改行コード「\n」なので、rl
ist」ノードで認識される。これらの過程を辿ると、
(B)のように各トークンの関係を示す構文木が生成さ
れる。実際の構文解析部はこの例より複雑であるが、同
様の手順によって構文木を生成する。
なお、第1図の実施例では構文解析部21.23はそれ
ぞれ異なる字句解析部を呼び出すようにしたが、字句解
析のルーチンが同じである場合は共用することが出来る
また、この実施例ではC言語の場合について説明したが
、他の言語の場合でも同様に構成できる。
入力テキストが複数の言語で構成されるものであっても
よい。
〈発明の効果〉 以上、実施例に基づいて具体的に説明したように、この
発明のトランスレータでは異なる文法規則に対応する複
数の構文解析部を有し、意味解析部の要求により、これ
ら複数の構文解析部を切り替えるようにした。その為、
複数の文法規則を有するテキストであっても、1バスで
変換できるので、変換時間を短縮出来るという効果があ
る。
また、同時に複数の文法を扱えるので、文法自体をモジ
ュール化することが出来、拡張、改造への対応が容易に
なるという効果もある。
【図面の簡単な説明】
第1図は本発明に係るトランスレータの構成を示す図、
第2図、第3図はその動作を説明する為の図、第4図は
構文解析部の動作を説明するための図、第5図は従来の
トランスレータの構成を説明するための図である。 20・・・制御部、21.23・・・構文解析部、22
゜24・・・字句解析部、25・・・意味解析部、26
・・・テーブル。 第 第 図 (A) 手続ネ…正:コ)(方式) 1、事件の表示 2、発明の名称 3、補正をする者 事件との関係 住  所 名  称 4、代理人 住  所 特願昭63−287444号 トランスレータ

Claims (1)

    【特許請求の範囲】
  1.  入力テキストを1文字ずつ読み込みトークンに分解す
    る字句解析部と、この字句解析部によって分解されたト
    ークンが入力されこれらのトークン間の関係を示す構文
    木を生成する異なる文法規則に対応する複数の構文解析
    部と、この構文解析部によって生成された構文木が入力
    され必要な情報を抽出しまた変換処理を行う意味解析部
    と、前記字句解析部、構文解析部、意味解析部を制御す
    る制御部とを有し、この制御部は前記意味解析部の要求
    により前記構文解析部を切り替え制御するようにしたこ
    とを特徴とするトランスレータ。
JP63287444A 1988-11-14 1988-11-14 トランスレータ Pending JPH02133824A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63287444A JPH02133824A (ja) 1988-11-14 1988-11-14 トランスレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63287444A JPH02133824A (ja) 1988-11-14 1988-11-14 トランスレータ

Publications (1)

Publication Number Publication Date
JPH02133824A true JPH02133824A (ja) 1990-05-23

Family

ID=17717403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63287444A Pending JPH02133824A (ja) 1988-11-14 1988-11-14 トランスレータ

Country Status (1)

Country Link
JP (1) JPH02133824A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338190A (ja) 2005-05-31 2006-12-14 Nec Corp 実装コード開発システム、及び実装コード開発プログラム
JP2014528128A (ja) * 2011-10-24 2014-10-23 グーグル インコーポレイテッド コンパイル用の構文解析済みヘッダ
JP2014211729A (ja) * 2013-04-18 2014-11-13 株式会社日立製作所 計算機、プログラム及びデータ生成方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6024638A (ja) * 1983-07-20 1985-02-07 Hitachi Ltd プログラム関連情報解析方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6024638A (ja) * 1983-07-20 1985-02-07 Hitachi Ltd プログラム関連情報解析方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338190A (ja) 2005-05-31 2006-12-14 Nec Corp 実装コード開発システム、及び実装コード開発プログラム
JP2014528128A (ja) * 2011-10-24 2014-10-23 グーグル インコーポレイテッド コンパイル用の構文解析済みヘッダ
JP2014211729A (ja) * 2013-04-18 2014-11-13 株式会社日立製作所 計算機、プログラム及びデータ生成方法

Similar Documents

Publication Publication Date Title
EP0388156B1 (en) Natural language processing system
EP0424032B1 (en) Naturel language processing apparatus
JPH0335354A (ja) 機械翻訳装置における略称付き固有名詞処理方法
JPH02165378A (ja) 機械翻訳システム
JPH02281372A (ja) 機械翻訳装置における挿入副詞句処理方法
JPH05266069A (ja) 中国語と日本語との間の双方向機械翻訳方式
JPH0261763A (ja) 機械翻訳装置
JPH0682377B2 (ja) 感情情報抽出装置
JPH02224132A (ja) メッセージパーサの自動発生システム
JPH03260766A (ja) 括弧生成判定機能付翻訳装置
JP3530568B2 (ja) 文章処理装置
KR100204068B1 (ko) 개념기반 다국어 번역시스템의 문법 자동수정 방법
JP3995186B2 (ja) 構文解析装置
JP2687334B2 (ja) 機械翻訳装置
JPH0490051A (ja) 自然言語自動翻訳装置
Nederhof et al. A variant of earley parsing
JP3370243B2 (ja) コンパイル方法及び装置
JPH03119473A (ja) 中国語から日本語への機械翻訳方式
JPH03201165A (ja) 日本語解析処理方式
JPH01287776A (ja) 構文解析方法
JPS63175971A (ja) 自然言語処理方式
JPH04296969A (ja) 機械翻訳装置
JPH11143876A (ja) 双方向機械翻訳装置
JPH0244461A (ja) 翻訳用辞書編集装置
JPH09185623A (ja) 言語処理装置及び方法