JPS59736A - 構文解析方式 - Google Patents

構文解析方式

Info

Publication number
JPS59736A
JPS59736A JP57111191A JP11119182A JPS59736A JP S59736 A JPS59736 A JP S59736A JP 57111191 A JP57111191 A JP 57111191A JP 11119182 A JP11119182 A JP 11119182A JP S59736 A JPS59736 A JP S59736A
Authority
JP
Japan
Prior art keywords
word
syntax
check table
syntax check
words
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
Application number
JP57111191A
Other languages
English (en)
Other versions
JPS6351292B2 (ja
Inventor
Nozomi Sakurai
桜井 のぞみ
Hiroko Nonaka
裕子 野中
Kaoru Komatsu
小松 芳
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP57111191A priority Critical patent/JPS59736A/ja
Publication of JPS59736A publication Critical patent/JPS59736A/ja
Publication of JPS6351292B2 publication Critical patent/JPS6351292B2/ja
Granted 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 fa)発明の技術分野 本発明は、電子計算機システJ・で処理を行なうのに先
立ってソースプログラムを読み込み、電子計算機で実際
に処理し易いオブジェクトプログラムに翻訳する方式に
関する。
(bl従来技術とその問題点 第1図(イ)のようにソースプログラムが書かれている
カートから成るファイルを読み込んで、一旦(ロ)のよ
うなオブジェクトプログラムに翻訳し、このオブジェク
トプログラムを実行することにより、(ハ)のような最
終的な文書を得るのが一般的である。
この例はC0BO1,で表したものであり、各文の最初
の数字の「01」、「02」、「03」・・・は、レヘ
ル番何で、各文相圧の従属関係を示している。
例えば(ハ)のように各個人ごとに体重、身長・・・な
どのデータを作成したい場合(氏名I NAMEJに対
し体重rTAIJII Jや身長1−5IIINCII
Oj・・・などば階層が下位のため、NAMEを表ずし
・\ル番号「01」に対し、rTAIJIJ Jやr 
5IIINCIIOJを表す項目名には大きなレヘル番
号「02」が付されている。
なおrPtc  X(15) JやrPIc99.Jと
いう PICTIRE句の内rPIcJは、次にデータ
が来るごとを指示する単語、「99」やr999Jはく
その位置に表される体重や身長などのデータの属性が数
字で桁数は2桁あるいは3桁であることを夫々示してい
る。rX(15)Jは、氏名がカナ文字15桁で表され
ることを指示している。
このようにオブジェクトプログラムを作成する際に、従
来は読み込んだ文を各単語単位に分解して、分解された
各単語を1つずつ論理的Qこチェックを行ない、項目の
種類やデータの形式などを判断して、オブジェクトプロ
グラムを得ていた。ところがこのように論理的に構文解
析する方式では、判定の回数が多くなり処理時間が長く
なると共に、判定の論理も複雑になる。またデータの記
述形式に変更があった場合の修正も多くなり、プログラ
ムメンテナンスの処理能率を低下させる。
3− (C)発明の目的 本発明は、従来の構文解析方式におけるこのような問題
を解消し、統一的に処理することができ且つ処理が簡潔
でわかり易くプログラムも小さくできるようにすること
を目的とする。
(d1発明の構成 この目的を達成するために本発明は、ソースプログラム
のアークを読み込み、単語分解し°ζ各単語をチェック
することにより、各文ごとに中間テキストの形でオブジ
ェクトプログラムに変換する方式において、単語分解さ
れた各単語をテーブルでチェックするために構文チェッ
クテーブルを備え、該構文チェックテーブルの各構成要
素は、次テーブルポインタ、他テーブルポインタ、EX
ITルーヂンアトレス並びに単語の属性、単語の長さな
どのチェックデータなどをもっており、またEXITル
ーチンは、各単語の内部処理の機能をもっており、単語
分解された各単語を、構文チェックテーブルを辿ってテ
ーブルによる、チェックを逐次行なうと共に、EXIT
ルーチンに分岐して、中間テキスA  − トの形のオブジェクトプログラムを得るような構成を採
っている。
(e+発明の実施例 次に本発明による構文解析方式の実施例を説明する。第
2図は本発明による構文解析方式の処理順序を示すブロ
ック図である。第1図のように各カートド・・に書かれ
たソースプログラムをカードリーダで読み込んで、その
内容を単語分解処理部2において、プログラムの基本構
成要素であるシラブル単位に分解する。このようにして
単語分解された各単語3・・・をポインタで辿れるよう
なテーブルに編成し、4a、4b・・・のような単語列
ごとのテーブルを作成する。
一方構文解析される総ての単語を予め想定して、構文チ
ェックテーブル5が作成されており、構文解析処理部6
において、この構文チェックテーブルを読み込んで来て
、各単語3・・・ごとに構文チェックテーブルと比較を
行ない一致するかどうかをチェックすることにより、構
文解析する。そして最終的に次のEXITルーチン処理
部7において、対5一 応するEXITルーチンを読み込んで、各単語内の細か
い処理を、ExITルーチンの中で行なう。構文チェッ
クテーブルでは、EXITルーチンに関する情報も持っ
ており、とのEXITルーチンを選択するかは、構文チ
ェックテーブル内のポインタで指定される。
εXITルーヂンでは、単語を解読して単語内部を判断
し、それぞれの単語1つずつについての処理が行なわれ
る。
EXITルーチンを通ずことにより、81.82・・・
のような中間テキスト即ちオブジェクトプログラムが得
られる。オブジェクトプログラムに変換された状態では
、データの形式や大きさは、「99」や「999」のデ
ータだりで特定できるので、′ソースプログラムにおけ
るr Pl、CJなとのようにデータ形式を指示するた
めの句指定情報は抹いされ、所要のデータやデータの属
性を表す語などだ&Jが、単語列ごとにメモリに記憶さ
れる。
このような処理を実行するための単語テーブルおよび構
文チェックテーブルの形式は、第3図のような構成にな
っている。即ち単語テーブルは、6− 各ユニット毎に(イ)のように、次テーブルの番地を1
指定するためのポインタ、単語の属性、単語の長さおよ
び文字列などの情報をもっている。構文ヂエソクテーブ
ルは、各ユニット毎に(ロ)のように、次テーブルポイ
ンタ、他テーブルの番地を指定するためのポインタ、単
語の属性、単語の長さ、可変部の長さ、EXITルーヂ
ンア1−レス、二重定義チェックフラグおよび可変部な
ど、ヂエソクに必要な諸情報をもっている。
第4図は構文解析を行なうソースプログラムの具体例と
単語テーブルおよび構文ヂエンクテーブルの連鎖状態を
示す図である。単語テーブルは単語分解の際の出力に基
づいて、各単語ごとに第3図(イ)に示す各内容に対応
するデータが作成され、且つ次テーブルポインタにより
、矢印で示されるようにテーブルの更新順序が指定され
ている。
(ハ)の構文ヂエノクテーブルも、第3図(0)に示さ
れる各種のデータを、C0BOLで用いられる総ての単
語を想定して設定されている。そして次テーブルポイン
タと、化テーブルポインタに従っ7− て矢印で示されるようにテーブルの更新順序が特定して
いる。またEXITルーチンのアドレスが設定されてい
る。
第5図は構文チェックテーブルの処理動作をフ「J−チ
ャー1−で示したもので、これらの図に基づいて第4図
(イ)の例文につき処理動作を説明する。まず前処理と
して、ソースプログラムのカートを読み込んで単語テー
ブルが作成され、最初の単語から1つずつ構文解析が行
なわれる。F!11ち最初の単語「03」について、構
文チェックテーブルと該単語の属性が比較され、属性が
一致していなければ、構文チェックテーブルを更新して
再度比較される。構文チェックテーブルでは、矢印で示
されるように、構文チェックテーブルを順次たどっ0行
くことにより、単語と一致するものが見付かるまで、更
新が行なわれる。
そして(ハ)の構文チェックテーブルによれば、最初の
ユニットでは属性が「数字」で、単語テーブルの最初の
単語「03」の属性と一致しているため、次にキーワー
ドかどうが比較される。そして8− 単語「03」はキーワードではないため、次に単語の長
さが判定されるが、構文チェンクテーブルでは長さは’
 Max2’で単語の数字の長さ「2」と一致している
。これで構文チェックテーブルによるチェックを終り、
EXITルーチンのアドレスを示ずデータrADDRI
Jに従って、指定のIEXITルーヂンを呼んで処理が
渡され、「o3」というデータを書込んで中間テキスト
のオブジェクトプログラムが完成する。
こうして1つの単語「o3」の中間テキストができ上が
ると、(ロ)の矢印に従って単語テーブルが更新される
と共に、(ハ)の矢印に従って構文チェックテーブルも
更新され、次の単語rAJについて同しような構文解析
処理が行なわれる。以下同様にして、単語テーブルおよ
び構文チェックテーブルが順次更新され、各単語rUs
AGE J  rls」・・・ごとに構文チェンクテー
ブルによる構文解析が実行される。単語がキーワードの
場合は、その内容がテーブルと一致しているかどうがが
比較される。
9− このように単語テーブルを1つずつ更新しながら、構文
チェノグチ−プルと比較し、一致するまで構文チェック
テーブルを更新して比較することにより、単語ごとに構
文解析が行なわれる。そして最後のピリオドの構文解析
が終了すると、文の終りということが認識され、次の文
の単語分解が開始して単語テーブルが作成され、再度構
文解析が行なわれる。そして次の文では、構文解析の結
果中間テキスト中で単語r’PIcJが抜けているが、
前記のように中間テキストではデータの形式や長さが特
定しているので、次にデータが来ることを指定するよう
な句指定単語は、EXITルーチンの段階で削除される
。なおEXITルーチンでは、構文チェックテーブルで
は判断できない、単語の内部における情報が判断され、
且つ実際には「99」という単語がそのまま書込まれる
のでなく、それを解読しCその単語の示す意味を制御情
報の形に変えて書込まれる。構文チェックテーブルを構
成する各ユニットには1回チェックする表フラグを立て
て、1つの単語につきダブってチェックが行なゎ10− れるのを防止している。
(f1発明の効果 以上のように本発明によれば、ソースプログラムのデー
タを読み込み、単語分解して各単語をチェ、りすること
により、各文ごとに中間テキストの形でオブジェクトプ
ログラムに変換する方式において、単語分解された各単
語をテーブルでチェックするために構文チェックテーブ
ルを備えている。そしてこの構文チェックテーブルの各
構成要素は、次テーブルポインタ、他テーブルポインタ
、IEXITルーヂンアトレス並びに単語の属性、単語
の長さなどのチェックデータなどをもっており、単語分
解された各単語を、構文チェックテーブルを辿ってテー
ブルによるチェックを逐次行なうと共に、単語の内部処
理を行なう・)こめのEXITルーヂンに分岐して、オ
ブジェクトプログラムを得るようになっている。
従って処理動作は、一致するものが見付かるまでテーブ
ルを辿っていくだけでよく、また構文チェ、クチ−プル
と一致するかどうかだりをチェックすればよく、従来の
ようにデータ形式がどうかなどをいちいち判断する必要
は無い。そのため、処理速度および処理効率が向上する
。またテーブルを準備するだ17でよいので、処理部の
構成も簡潔になる。
更に構文チェックテーブルでは、対応する単語のチェッ
クのみを行ない、各単語の内部の判断は、別の設けたE
χITルーチンで行なう構成のため、それぞれの単語に
対する処理が変更されたときも、構文チェックテーブル
はそのままで、EXITルーチンだレフを修正するとか
、逆に構文チェックテーブルだ番ノを変更すればよく、
メンテナンスの負担も軽減される。
【図面の簡単な説明】
第1図はソースプログラムから中間テキストの形のオブ
ジェクトプログラムに変換した後文書を作成する方式を
示す図、第2図は本発明による構文解析方式の実施例を
示すブロック図、第3図は単語テーブルと構文チェック
テーブルの内容を例示する図、第4図は具体的な例文と
その構文解析 11− の処理動作を示すブロック図、第5図は構文解析の処理
動作を示すフローチャートである。 図におい−ζ、1はカード、2は単語分解処理部、3・
・・は単語、4a、4b・・・は単語列、5は構文チェ
ックテーブル、6は構文解析処理部、7はEXITルー
チン処理部、8I、82・・・はオブジェクトプログラ
ムの状態の単語列をそれぞれ示す。 特許出願人      富士通株式会社代理人 弁理士
    青 柳   稔〜13− 12− 第2図 (イL 第3図 (ロ) 卑1五チー7”1しの形べ (ハ) 罐丈干工、クラ−フルの形式 ]

Claims (1)

  1. 【特許請求の範囲】 ソースプログラムのデータを読め込み、単語分解して各
    単語をチェックすることにより、各文ごとに中間テキス
    トの形でオブジェクトプログラムに変換する方式におい
    て、 単語分解された各単語をテーブルでチェックするために
    構文チェックテーブルを備え、該構文チェックテーブル
    の各構成要素は、次テーブルポインタ、他テーブルボ・
    インク、EXITルーチンアドレス並びに単語の属性、
    単語の長さなどのチェソクデークなどをもっており、 またEXITルーチンは、各単語の内部処理の機能をも
    っており、 単語分解された各単語を、構文チェックテーブルを辿っ
    てチーフルによるチェックを逐次行なうと共に、EXI
    Tルーチンに分岐して、中間テキストの形のオブジェク
    トプロゲラJ1を得るように構成したことを特徴とする
    構文解析方式。
JP57111191A 1982-06-28 1982-06-28 構文解析方式 Granted JPS59736A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57111191A JPS59736A (ja) 1982-06-28 1982-06-28 構文解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57111191A JPS59736A (ja) 1982-06-28 1982-06-28 構文解析方式

Publications (2)

Publication Number Publication Date
JPS59736A true JPS59736A (ja) 1984-01-05
JPS6351292B2 JPS6351292B2 (ja) 1988-10-13

Family

ID=14554801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57111191A Granted JPS59736A (ja) 1982-06-28 1982-06-28 構文解析方式

Country Status (1)

Country Link
JP (1) JPS59736A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61143855A (ja) * 1984-11-14 1986-07-01 Hitachi Software Eng Co Ltd プログラムテスト方式
US4686153A (en) * 1984-12-08 1987-08-11 Fujikura Ltd. Electrode wire for use in electric discharge machining and process for preparing same
JPS6383835A (ja) * 1986-09-29 1988-04-14 Hitachi Ltd 制御文解析方式
JPS63280344A (ja) * 1987-05-12 1988-11-17 Nec Corp プログラム自動診断方式
JPS63304336A (ja) * 1987-06-04 1988-12-12 Nec Corp 計算機言語記述の矛盾摘出解消方式

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61143855A (ja) * 1984-11-14 1986-07-01 Hitachi Software Eng Co Ltd プログラムテスト方式
US4686153A (en) * 1984-12-08 1987-08-11 Fujikura Ltd. Electrode wire for use in electric discharge machining and process for preparing same
JPS6383835A (ja) * 1986-09-29 1988-04-14 Hitachi Ltd 制御文解析方式
JPS63280344A (ja) * 1987-05-12 1988-11-17 Nec Corp プログラム自動診断方式
JPS63304336A (ja) * 1987-06-04 1988-12-12 Nec Corp 計算機言語記述の矛盾摘出解消方式

Also Published As

Publication number Publication date
JPS6351292B2 (ja) 1988-10-13

Similar Documents

Publication Publication Date Title
KR920003498B1 (ko) 자연언어 처리방법 및 장치
US5895446A (en) Pattern-based translation method and system
JP3196868B2 (ja) テキストをインデックス及び検索するための関連ワード形態の限定状態トランスジューサ
US5579224A (en) Dictionary creation supporting system
JPH08194719A (ja) 検索装置および辞書/テキスト検索方法
JPH0242572A (ja) 共起関係辞書生成保守方法
US5384702A (en) Method for self-correction of grammar in machine translation
EP0241717A2 (en) Linguistic analysis method and apparatus
KR100288144B1 (ko) 한글로 표기된 외래어 코드화 방법 및 그를 이용한 검색 방법
JPS59736A (ja) 構文解析方式
JPS58192173A (ja) 機械翻訳装置
JPH0447440A (ja) 語の変換方式
JP2771976B2 (ja) 言語解析装置
Johnson Computer aids for comparative dictionaries
JPS62139076A (ja) 言語解析方式
JPS61187077A (ja) 日本語解析装置
JPH0561902A (ja) 機械翻訳システム
CN104572094B (zh) 一种分析函数栈大小的方法
JPH0340068A (ja) 文章検索方式
JPH03288260A (ja) 文書処理装置
Segert et al. A Computer Program for Analysis of Words According to Their Meaning (Conceptual analysis of Latin equivalents for the comparative dictionary of Semitic languages)
JPH03122717A (ja) プログラムコメント文生成装置
JPH04344523A (ja) メッセージ生成方式
JPH0385672A (ja) 属性解析機能付き検索置換装置
JPH0340067A (ja) 文章検索方式