JPH02133824A - Translator - Google Patents

Translator

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
Japanese (ja)
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/en
Publication of JPH02133824A publication Critical patent/JPH02133824A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To cope with plural rule systems by preparing plural syntax analysis parts in response to different grammatical rules and switching these analysis parts with the requests of a meaning analysis part. CONSTITUTION:A control part 20 refers to a table 26 and calls a syntax analysis part 21. The part 21 calls a word/phrase analyzing part 22, and this part 22 inputs an input text one by one character and divides the text 5 into plural tokens. These tokens are inputted to the part 21 for the production of a syntax tree. A meaning analysis part 25 extracts the information on the header part of the text 5 out of the syntax tree. Then the part 25 sets the address of a function corresponding to a syntax analysis part 23 to the table 26. Thus the part 20 refers to the table 26 to call the part 23. The part 23 extracts the information on a code part in the same procedure. In such a manner, even a text having plural grammatical rules can be converted by a single path and the converting time is shortened.

Description

【発明の詳細な説明】 〈産業上の利用分野〉 この発明は、規則性を有する入力テキストを横文解析し
て所望の情報を抽出し、また別のテキストに変換するト
ランスレータの改良に関するものである。
[Detailed Description of the Invention] <Industrial Application Field> The present invention relates to an improvement in a translator that extracts desired information by transverse text analysis of regular input text and converts it into another text. be.

〈従来技術〉 トランスレータは入力テキストを別のテキストに変換す
る際に用いるものであり、コンパイラもトランスレータ
の一種であると考えられる。この様なトランスレータの
構成を第5図に示す、第5図において、トランスレータ
1は字句解析部2、構文解析部3及び意味解析部4から
構成される。
<Prior Art> A translator is used to convert an input text into another text, and a compiler is also considered to be a type of translator. The configuration of such a translator is shown in FIG. 5. In FIG. 5, the translator 1 is composed of a lexical analyzer 2, a syntactic analyzer 3, and a semantic analyzer 4.

入力テキスト5は先ず字句解析部2により複数のトーク
ンに分解され、次に横文解析t163によりこれらのト
ークンの間の関係を示す構文木が生成される。この生成
された構文木は意味解析部4に入力されて必要な情報を
抽出したりまた他のテキストに変換される。このように
して出力テキスト6を求める事が出来る1字句解析部2
及び構文解析部3は入力テキスト1の規則体系によって
異なり、最適なものを生成して使用する。すなわち、こ
れらは複数の関数から構成され、ユーザが定義したトー
クン定義及びルール定義からこれら複数の間数を定義し
て字句解析部2及び構文解析部3を生成するようにして
いる。
The input text 5 is first decomposed into a plurality of tokens by the lexical analysis unit 2, and then a syntax tree indicating the relationship between these tokens is generated by the lateral sentence analysis t163. This generated syntax tree is input to the semantic analysis section 4 to extract necessary information or to convert it into other text. 1 lexical analysis unit 2 that can obtain the output text 6 in this way
The syntax analysis unit 3 differs depending on the rule system of the input text 1, and generates and uses the optimal one. That is, these are composed of a plurality of functions, and the lexical analysis section 2 and the syntactic analysis section 3 are generated by defining these plural intervals from the token definition and rule definition defined by the user.

〈発明が解決すべき課題〉 しかしながら、この様なトランスレータは1種頭の構文
を持つ入力テキストしか対象にしていなかった。その為
、複数の規則体系からなる入力テキストを変換するため
には規則体系を複合化して新たな規則体系を求め、この
新たな規則体系による字句解析部と構文解析部を生成す
るか、複数のトランスレータを用い、入力テキストをこ
れらのトランスレータに次々に入力して変換するかしな
ければならなかった。しかし、前者のやり方では規則体
系が複雑になり、また1つの規則体系にまとめあげるこ
とが出来ない場合も発生するという課題があった。また
後者では処理時間がかかるという課題があった。
<Problems to be Solved by the Invention> However, such translators are only intended for input text having one type of initial syntax. Therefore, in order to convert an input text consisting of multiple rule systems, it is necessary to combine the rule systems to obtain a new rule system and generate a lexical analyzer and a syntactic analyzer based on this new rule system, or to convert an input text consisting of multiple rule systems. They had to use translators and input the input text into these translators one after another to convert it. However, the former method has the problem that the rule system becomes complicated and there are cases where it is impossible to combine the rules into one rule system. Furthermore, the latter method has the problem of taking a long processing time.

〈発明の目的〉 この発明の目的は、複数の規則体系に対応できるトラン
スレータを提供する事にある。
<Object of the invention> The object of the invention is to provide a translator that can support multiple rule systems.

く課題を解決する為の手段〉 前記課題を解決するために本発明は、字句解析部により
入力テキストをトークンに分解し、この分解したトーク
ン間の関係を示す構文木を構文解析部によって求め、こ
の構文木により意味解析部で必要な情報を抽出し、また
変換処理を行うトランスレータであって、異なる文法規
則に対応する複数の構文解析部を有し、前記意味解析部
の要求によりこれら複数の構文解析部のうち入力される
テキストに適合したものを選択して、この選択した構文
解析部に前記トークンを入力するようにしたものである
Means for Solving the Problems> In order to solve the above problems, the present invention includes a lexical analysis unit that decomposes an input text into tokens, a syntactic analysis unit that determines a syntax tree indicating the relationship between the decomposed tokens, This is a translator that uses this syntax tree to extract necessary information in a semantic analysis section and performs conversion processing, and has a plurality of syntax analysis sections corresponding to different grammar rules. A syntactic analysis unit that is suitable for the input text is selected from among the syntactic analysis units, and the token is input to the selected syntactic analysis unit.

〈実施例〉 第1図に本発明に係るトランスレータの構成を示す。こ
の実施例はC言語で書かれたテキストから各種情報を抽
出するトランスレータの場合である。このテキストには
そのモジュールの機能等の説明がC言語のコメント形式
で記述されたヘッダ部とC言語の文法に基づいて記述さ
れたコード部から構成される。これらヘッダ部とコード
部はその文法規則が異なっている。第1図において、2
1は構文解析部であり、トランスレータ全体を統括する
制御部20から呼び出される。22は字句解析部であり
、構文解析部21から呼び出される。
<Embodiment> FIG. 1 shows the configuration of a translator according to the present invention. This example is a translator that extracts various information from text written in C language. This text consists of a header section in which an explanation of the module's functions, etc. is written in a C language comment format, and a code section written based on the C language grammar. The header section and the code section have different grammar rules. In Figure 1, 2
Reference numeral 1 denotes a syntax analysis unit, which is called by the control unit 20 that controls the entire translator. 22 is a lexical analysis section, which is called from the syntactic analysis section 21.

23は構文解析部であり、制御部20から呼び出される
。24は字句解析部であり、構文解析部23から呼び出
される。25は意味解析部であり、制御部20から呼び
出される。26はテーブルであり、構文解析部21.2
3を構成する関数のアドレスが格納される。このテーブ
ル26は意味解析部25によって書き替えられ、また制
御部20によって参照される。入力テキスト5は字句解
析部22.24に入力される。#I文解析部21及び字
句解析部22は入力テキスト5のヘッダ部に対応し、構
文解析部23及び字句解析部24はコード部に対応する
23 is a syntax analysis unit, which is called by the control unit 20. 24 is a lexical analysis section, which is called from the syntactic analysis section 23. 25 is a semantic analysis section, which is called by the control section 20. 26 is a table, and a syntax analysis unit 21.2
The addresses of the functions that make up 3 are stored. This table 26 is rewritten by the semantic analysis section 25 and referred to by the control section 20. The input text 5 is input to a lexical analyzer 22.24. #I sentence analysis section 21 and lexical analysis section 22 correspond to the header section of input text 5, and syntax analysis section 23 and lexical analysis section 24 correspond to the code section.

次に、この実施例の動作を第2図に基づいて説明する。Next, the operation of this embodiment will be explained based on FIG. 2.

第2図において、27は入力テキストであり、ヘッダ部
とコード部がこの順に表われる。
In FIG. 2, 27 is an input text, and a header section and a code section appear in this order.

28は第1図に示したトランスレータである。最初にテ
ーブル26には構文解析部21に対応する関数のアドレ
スが格納される。制御部20はこのテーブルを参照し、
構文解析部21を呼び出す。
28 is the translator shown in FIG. First, the address of the function corresponding to the syntax analysis section 21 is stored in the table 26. The control unit 20 refers to this table,
Call the syntax analysis unit 21.

構文解析部21は字句解析部22を呼び出し、この字句
解析部22は入力テキスト27を1字ずつ入力してその
内部に保持しているトークンと比較して入力テキストを
複数のトークンに分割する。
The syntactic analysis unit 21 calls the lexical analysis unit 22, which inputs the input text 27 character by character and compares it with the tokens held therein to divide the input text into a plurality of tokens.

このトークンは構文解析部21に入力され、構文木が生
成される。構文解析部21で生成された構文木は意味解
析部25に送られる。意味解析部25は構文木から必要
な情報を抽出して出力する。
This token is input to the syntax analysis unit 21, and a syntax tree is generated. The syntax tree generated by the syntax analysis section 21 is sent to the semantic analysis section 25. The semantic analysis unit 25 extracts necessary information from the syntax tree and outputs it.

29はこのようにして抽出された情報を表わす。29 represents information extracted in this way.

このようにして入力テキスト27のヘッダ部の情報抽出
が行われる。ヘッダ部内のセンデンス30が意味解析部
25に入力されると、意味解析部25はヘッダ部が終了
したことを認識し、テーブル26に構文解析部23に対
応する関数のアドレスをセットする0次の段階で制御部
20はテーブル26を参照し、構文解析部23を呼び出
す、以後は同様の手順で構文解析部23によりコード部
の情報抽出が行われる。センテンス30がヘッダ部の終
了であることは、あらかじめ意味解析部25にセットし
ておく、制御部20はセンテンス毎にテーブル26を参
照してどの構文解析部を呼び出すかを決定する。
In this way, information on the header portion of the input text 27 is extracted. When the sentence 30 in the header section is input to the semantic analysis section 25, the semantic analysis section 25 recognizes that the header section has ended, and sets the address of the function corresponding to the syntax analysis section 23 in the table 26. At this stage, the control unit 20 refers to the table 26 and calls the syntax analysis unit 23. From then on, the syntax analysis unit 23 extracts information about the code portion using the same procedure. The fact that the sentence 30 is the end of the header section is set in advance in the semantic analysis section 25. The control section 20 refers to the table 26 for each sentence and determines which syntax analysis section to call.

次に、第3図フローチャートに基づいてトランスレータ
の動作をさらに詳しく説明する。最初に制御部20はテ
ーブル26から関数のアドレスを取り出してセットする
。これにより、構文解析部21と23のいずれかが決定
される。この説明では構文解析部2】が選択されたとす
る。つぎに構文解析部21は字句解析部22を呼び出し
、字句解析部22は入力テキストの1文字を入力する。
Next, the operation of the translator will be explained in more detail based on the flowchart of FIG. First, the control unit 20 takes out the address of the function from the table 26 and sets it. As a result, either the parsing unit 21 or 23 is determined. In this explanation, it is assumed that syntactic analysis unit 2] is selected. Next, the syntax analysis section 21 calls the lexical analysis section 22, and the lexical analysis section 22 inputs one character of the input text.

この段階で入力テキストのファイルの終端に達すると処
理を終了する。ファイルの終端でないと、字句解析部2
2はその内部に有しているトークンと入力された文字と
のマツチングを取り、マツチしているとトークンとして
構文解析部21に出力する。マツチしていないとさらに
1文字入力して同様の処理を行う。構文解析部21は入
力されなトークンから構文木を生成して構文エラーをチ
エツクし、意味解析部25に構文木を出力する。この際
、文法上、次のトークンを要する場合は、r g e 
t、 Jまたはrnext」から次のトークンを入力し
、構文木の生成処理を続ける。構文エラーが発生すると
センテンスのif&まで入力し、エラーメツセージを出
力する。11文エラーがないと1センテンス分の構文木
を意味解析部25で意味解析して必要な情報を抽出し、
かつ構文解析部を切り替える必要がないか、すなわちへ
・ラダ部の終端でないかを判定する。終端部であると他
方の構文解析部の関数のアドレスをテーブル26にセッ
トする。すなわち、1センテンスを単位として意味解析
を行い、構文解析部を切り替える必要がないかを判定し
て、切り替える場合はテーブル26に対応する構文解析
部の関数のアドレスをセットする。また、次のセンテン
スの最初でテーブル26を参照してどの構文解析部を選
択するかを決定する。従って、入力テキスト中に異なる
文法規則に属するセンテンスが混在していても、自動的
にかつ連続して変換する事が出来る。
At this stage, when the end of the input text file is reached, the process ends. If it is not the end of the file, the lexical analyzer 2
2 matches the tokens contained therein with the input characters, and if they match, outputs them as tokens to the syntax analysis unit 21. If it does not match, enter one more character and perform the same process. The syntax analysis section 21 generates a syntax tree from the input tokens, checks for syntax errors, and outputs the syntax tree to the semantic analysis section 25. In this case, if the following token is required due to grammar, r g e
Input the next token from "t, J or rnext" and continue the syntax tree generation process. When a syntax error occurs, input up to the if& of the sentence and output an error message. 11 If there are no sentence errors, the syntax tree for one sentence is semantically analyzed by the semantic analysis unit 25 and necessary information is extracted.
Also, it is determined whether there is a need to switch the syntactic analysis section, that is, whether it is the end of the ladder section. If it is the terminal part, the address of the function of the other parsing part is set in the table 26. That is, semantic analysis is performed in units of one sentence, and it is determined whether or not it is necessary to switch the syntax analysis section. If switching is necessary, the address of the function of the corresponding syntax analysis section is set in the table 26. Also, at the beginning of the next sentence, the table 26 is referred to to determine which parser to select. Therefore, even if sentences belonging to different grammar rules are mixed in the input text, they can be automatically and continuously converted.

次に、第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ノードの規則と照合されて最初の規則であ
ることが認識される。
Next, the operation of the syntax analysis units 21 and 23 will be explained based on FIG. FIG. 4(A) shows a part of the grammar of the syntactic analysis unit, and is composed of nodes of "rlist" and reXprJ. rlist" node is reXprJ and "\rz
(line feed code), and the reXprJ node consists of six rules. [expr −+−expr] indicates that two expr and three elements of ten are arranged in Ili, and the following three rules have the same meaning. [
ID] represents an alphabetic character, and [NUM] represents a token composed of numbers. Token "a" is input first. This token is rlist, 1 node to reXp
rJ node, [Recognized by ID code and reXprJ
The zero-order token "+" returned to ``+'' also goes through the same route,
It is checked against the rule of the reXprJ node and recognized as the first rule.

次のトークン「b」は規則からreXprJであること
が判っているので、[ID]で認識される。
Since the next token "b" is known to be reXprJ from the rules, it is recognized as [ID].

さらに次のトークンが改行コード「\n」なので、rl
ist」ノードで認識される。これらの過程を辿ると、
(B)のように各トークンの関係を示す構文木が生成さ
れる。実際の構文解析部はこの例より複雑であるが、同
様の手順によって構文木を生成する。
Furthermore, the next token is the newline code "\n", so rl
ist” node. Following these processes,
A syntax tree showing the relationship between each token is generated as shown in (B). Although the actual syntax analysis unit is more complicated than this example, it generates a syntax tree using a similar procedure.

なお、第1図の実施例では構文解析部21.23はそれ
ぞれ異なる字句解析部を呼び出すようにしたが、字句解
析のルーチンが同じである場合は共用することが出来る
In the embodiment shown in FIG. 1, the syntactic analysis units 21 and 23 call different lexical analysis units, but if the lexical analysis routines are the same, they can be used in common.

また、この実施例ではC言語の場合について説明したが
、他の言語の場合でも同様に構成できる。
Further, in this embodiment, the case of the C language has been described, but the same structure can be applied to the case of other languages.

入力テキストが複数の言語で構成されるものであっても
よい。
The input text may be composed of multiple languages.

〈発明の効果〉 以上、実施例に基づいて具体的に説明したように、この
発明のトランスレータでは異なる文法規則に対応する複
数の構文解析部を有し、意味解析部の要求により、これ
ら複数の構文解析部を切り替えるようにした。その為、
複数の文法規則を有するテキストであっても、1バスで
変換できるので、変換時間を短縮出来るという効果があ
る。
<Effects of the Invention> As described above in detail based on the embodiments, the translator of the present invention has a plurality of syntactic analysis units corresponding to different grammar rules, and the translator of the invention The syntax analysis section can now be switched. For that reason,
Even text having multiple grammar rules can be converted in one bus, which has the effect of shortening conversion time.

また、同時に複数の文法を扱えるので、文法自体をモジ
ュール化することが出来、拡張、改造への対応が容易に
なるという効果もある。
Additionally, since multiple grammars can be handled at the same time, the grammar itself can be modularized, making it easier to respond to expansions and modifications.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明に係るトランスレータの構成を示す図、
第2図、第3図はその動作を説明する為の図、第4図は
構文解析部の動作を説明するための図、第5図は従来の
トランスレータの構成を説明するための図である。 20・・・制御部、21.23・・・構文解析部、22
゜24・・・字句解析部、25・・・意味解析部、26
・・・テーブル。 第 第 図 (A) 手続ネ…正:コ)(方式) 1、事件の表示 2、発明の名称 3、補正をする者 事件との関係 住  所 名  称 4、代理人 住  所 特願昭63−287444号 トランスレータ
FIG. 1 is a diagram showing the configuration of a translator according to the present invention,
Figures 2 and 3 are diagrams for explaining its operation, Figure 4 is a diagram for explaining the operation of the syntax analysis section, and Figure 5 is a diagram for explaining the configuration of a conventional translator. . 20...Control unit, 21.23...Syntax analysis unit, 22
゜24...Lexical analysis unit, 25...Semantic analysis unit, 26
···table. Figure (A) Procedure Ne... Correct: C) (Form) 1. Indication of the case 2. Name of the invention 3. Name of the address of the person making the amendment in relation to the case 4. Address of the agent -287444 Translator

Claims (1)

【特許請求の範囲】[Claims]  入力テキストを1文字ずつ読み込みトークンに分解す
る字句解析部と、この字句解析部によって分解されたト
ークンが入力されこれらのトークン間の関係を示す構文
木を生成する異なる文法規則に対応する複数の構文解析
部と、この構文解析部によって生成された構文木が入力
され必要な情報を抽出しまた変換処理を行う意味解析部
と、前記字句解析部、構文解析部、意味解析部を制御す
る制御部とを有し、この制御部は前記意味解析部の要求
により前記構文解析部を切り替え制御するようにしたこ
とを特徴とするトランスレータ。
A lexical analyzer that reads input text character by character and decomposes it into tokens, and multiple syntaxes corresponding to different grammar rules that receive the tokens decomposed by this lexical analyzer and generate a syntax tree that shows the relationships between these tokens. an analysis section, a semantic analysis section that receives the syntax tree generated by the syntax analysis section, extracts necessary information, and performs conversion processing; and a control section that controls the lexical analysis section, syntactic analysis section, and semantic analysis section. A translator characterized in that the control section switches and controls the syntactic analysis section according to a request from the semantic analysis section.
JP63287444A 1988-11-14 1988-11-14 Translator Pending JPH02133824A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63287444A JPH02133824A (en) 1988-11-14 1988-11-14 Translator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63287444A JPH02133824A (en) 1988-11-14 1988-11-14 Translator

Publications (1)

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

Family

ID=17717403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63287444A Pending JPH02133824A (en) 1988-11-14 1988-11-14 Translator

Country Status (1)

Country Link
JP (1) JPH02133824A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338190A (en) 2005-05-31 2006-12-14 Nec Corp Mounting code developing system, and mounting code developing program
JP2014528128A (en) * 2011-10-24 2014-10-23 グーグル インコーポレイテッド Parsed header for compilation
JP2014211729A (en) * 2013-04-18 2014-11-13 株式会社日立製作所 Computer, program, and data generation method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6024638A (en) * 1983-07-20 1985-02-07 Hitachi Ltd Program-related information analyzing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6024638A (en) * 1983-07-20 1985-02-07 Hitachi Ltd Program-related information analyzing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338190A (en) 2005-05-31 2006-12-14 Nec Corp Mounting code developing system, and mounting code developing program
JP2014528128A (en) * 2011-10-24 2014-10-23 グーグル インコーポレイテッド Parsed header for compilation
JP2014211729A (en) * 2013-04-18 2014-11-13 株式会社日立製作所 Computer, program, and data generation method

Similar Documents

Publication Publication Date Title
EP0388156B1 (en) Natural language processing system
EP0424032B1 (en) Naturel language processing apparatus
JPH0335354A (en) Proper noun processing method with abbreviation for mechanical translation device
JP2004070928A (en) Method and system for developing transition dictionary for use in machine translation system of transition base
JPH02281372A (en) Inserted adverbe phrase processing method in machine translation equipment
JPH0261763A (en) Mechanical translation equipment
JPH02133824A (en) Translator
JPH02224132A (en) Automatic generation system for message pursuer
JP3530568B2 (en) Sentence processing equipment
JP3995186B2 (en) Parser
JP2687334B2 (en) Machine translation equipment
JPH0490051A (en) Natural language automatic translator
JP3370243B2 (en) Compilation method and apparatus
JPH08202715A (en) Machine translation system
JPH03119473A (en) Chinese to japanese machine translation system
JPH03201165A (en) Japanese language analytical processing system
JPH08194710A (en) Machine translation device
JPH0289175A (en) Syntax analyzing system in machine translation
JPH01287776A (en) Syntax analyzing method
JPS63175971A (en) Natural language processing system
JPH04296969A (en) Mechanical translation device
JPH11143876A (en) Bidirectional machine translation device
JPH0244461A (en) Device for editing dictionary for translation
JPH09185623A (en) Language processing device and method
JPH02257254A (en) Sentence clause analyzing device