JPH0449432A - 構文エラー解析方式 - Google Patents

構文エラー解析方式

Info

Publication number
JPH0449432A
JPH0449432A JP2160134A JP16013490A JPH0449432A JP H0449432 A JPH0449432 A JP H0449432A JP 2160134 A JP2160134 A JP 2160134A JP 16013490 A JP16013490 A JP 16013490A JP H0449432 A JPH0449432 A JP H0449432A
Authority
JP
Japan
Prior art keywords
syntax
user
error
words
sentence
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
JP2160134A
Other languages
English (en)
Inventor
Minoru Tamura
稔 田村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2160134A priority Critical patent/JPH0449432A/ja
Publication of JPH0449432A publication Critical patent/JPH0449432A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は構文エラー解析方式、特にシステムが定義する
予約語と利用者が定義する利用者語からなる構文に対し
て、利用者から与えられた文がこの構文の規則に合致す
るかどうかを判定し、構文エラーが存在する場合にはそ
の旨を利用者に知らせる構文エラー解析方式に関する。
〔従来の技術〕
従来、利用者から与えられた文が構文規則に合致するか
どうかを判定し、構文エラーが存在する場合にはその旨
を利用者に知らせる技術としては、構文規則と合致しな
い部分があるとそこで構文解析を打ち切り、その位置と
構文規則と合致しない旨を利用者に知らせる方式がある
〔発明が解決しようとする課題〕
上述した従来の構文エラー解析方式では、利用者によっ
て与えられた文が予約語の簡単なスペルミスがあった場
合でもその位置で構文解析を打ち切り、それ以降の構文
解析を行わない。例えば、SQL構文に合致した以下の
文がある。
5ELECT  AVG(C1)  FROM  TI
  GROUP  BY  C2 ココテ、予約語は5ELEcT、AVG、FROM、G
ROUP、BYであり、利用者語はC1゜TI、C2で
ある。
これをスペルミスして、 5ELECT  AVE (CI)  FROM  T
I  GRUP  BY  C2 とした場合、従来の方式では最初の構文エラーであるA
VEで構文解析を打ち切り、それ以降にあるエラーGR
UPはエラーとして検出されないという欠点がある。こ
のため、利用者は最初のエラーを修正し、再度このシス
テムを実行して初めて次のエラーを知ることになる。
本発明の目的は、利用者によって与えられた文に予約語
の簡単なスペルミスがあった場合でも、そこで構文解析
を打ち切ることなく、それ以降の構文解析も行うことで
ある。
〔課題を解決するための手段〕
本発明の方式は、システムが定義するいくつかの予約語
と利用者が定義する利用者語を含み、それらがある規則
をもって規定される構文があり、利用者から与えられた
文がその規則に合致するかどうかを解析するシステムに
おける構文エラー解析方式において、 与えられた文に対して、それが構文規則に合致するかど
うかを判定する構文解析手段と、予約語とは異なる利用
者語が、ある予約語とどれだけ類似しているかを決定す
る文字列類似度決定手段と、ある利用者語を上記文字列
類似度決定手段によって類似していると決定した予約語
に変換する予約語変換手段と、与えられた文において、
構文規則と合致しない位置とそれに付随する情報を格納
する構文エラー情報格納領域と、上記構文エラー情報格
納領域に格納された情報を出力する解析結果出力手段と
を有し、 利用者から与えられた文が構文規則に合致しない場合、
予約語と比較的類似している利用者語を類似している予
約語に変換し、変換された文を構文解析し、すべての変
換された文に対して構文規則に合致しなければ構文エラ
ーとし、いくつかの変換された文に対して構文規則と合
致していれば、上記領域に格納されている位置と情報を
出力し、変換した利用者語と予約語を利用者に知らせる
ことを特徴とする。
〔実施例〕
次に、本発明の実施例を図面を参照しながら詳細に説明
する。
第1図は、本発明の一実施例の構成を示すブロック図で
ある。
第1図を参照すると、本実施例は、利用者が構文規則に
従って作成しシステムに与える文101と、利用者から
与えられる文101が構文規則に従っているかを解析し
、構文エラーがあればその情報を利用者に知らせる構文
エラー解析手段102と、ある文が構文規則に従ってい
るかどうかを判定し、エラーがあればその位置を知らせ
る文解析手段103と、構文規則中に含まれる予約語が
登録されている予約語テーブル104と1、ある文の構
文エラーがあった位置の利用者語を類似する予約語に変
換する予約語変換手段105と、ある文字列がある予約
語と類似しているかどうかを判定する文字列類似度決定
手段106と、構文エラー解析手段102によって構文
エラーとなった位置およびその他の情報を格納する構文
エラー情報6一 格納領域107と、構文エラー情報格納領域107に格
納された構文エラーを与えられた文101の解析結果と
して出力する解析結果出力手段108とから構成される
ここで、構文解析手段103、予約語テーブル104、
構文エラー情報格納領域107、解析結果出力手段10
8は従来のシステムに見られるものと同様のものである
。また、予約語変換手段105は与えられた文101中
の利用者語を文字列類似度決定手段106によって類似
すると判定された予約語テーブル104中の予約語に変
換するものである。
第2図は構文エラー解析手段102の処理の流れを示す
フローチャートである。
第2図を参照すると、構文エラー解析手段102は、利
用者から与えられる文101の対象の文として、まず最
初に対象となる文を従来の構文解析手段103に渡し構
文解析する(ステップ201)。これによって構文エラ
ーがあるかどうか判定しくステップ202)、構文エラ
ーがなければステップ208に飛び、構文エラーがあれ
ばその時のエラー情報を構文エラー情報格納領域107
に格納する(ステップ203)。
次に、ステップ201で検出された構文エラーが利用者
語で起こったかどうか判定しくステップ204)、利用
者語基外で起こっていればステップ208に飛び、そう
でなければエラーが起こった利用者語を予約語変換手段
105で変換し、変換された文を対象の文とし、ステッ
プ201に戻り処理を続ける(ステップ205)。
最後に、ステップ202またはステップ204から処理
が移されたステップ20Bでは構文エラー情報格納領域
107に格納された構文エラー情報を利用者から与えら
れた文の構文解析結果として出力する。
第3図は文字列類似度決定手段106の処理の流れを示
すフローチャートである。
この実施例では予約語に対して1文字多い文字列、1文
字抜けている文字列、1文字異なる文字列を類似してい
る文字列としている。
第3図を参照すると、文字列類似度決定手段106は、
対象となる文字列1と文字列2に対してこの2つの文字
列が全く同じであるかどうか判定しくステップ301)
、同じであれば返却値を0として処理を終了する(ステ
ップ302)。
次に、文字列1と文字列2が同じでなければ、文字列1
と文字列2の1文字目を比較しくステップ303)、等
しければ文字列1の2文字目以降と文字列2の2文字目
以降を引数として文字列類似度決定処理を行い、その返
却値をこの処理の返却値として処理を終了する(ステッ
プ304)。
そうでなけれは、文字列1の2文字目以降と文字列2を
引数として文字列類似度決定処理を行う(ステップ30
5)、この処理の返却値がOかどうか判定しくステップ
306)、0であればステップ311に飛ぶ。
そうでなければ、ステップ305と同様に文字列1と文
字列2の2文字目以降を引数として文字列類似度決定処
理を行う(ステップ3o7)、この処理の返却値がOか
どうか判定しくステップ−〇− 308)、Oであればステップ311に飛ぶ。
そうでなければ、ステップ305と同様に文字列1の2
文字目以降と文字列2の2文字以降を引数として文字列
類似度決定処理を行う(ステップ309)、この処理の
返却値がOかどうか判定しくステップ310)、0であ
ればステップ311に飛ぶ。
そうでなければ、返却値を2として処理を終了する(ス
テップ312)。ステップ306.ステップ308.ス
テップ310から処理が移されたステップ311では返
却値を1として処理を終了する。
以上により、文字列1と文字列2が全く同じであれば0
、類似していれば1、類似していなければ2が返却値と
なり、類似しているかどうかがわかる。
〔発明の効果〕
本発明によれば、利用者は予約語の簡単なスペルミスを
行った場合でも、構文上のエラーがどこにあるかを簡単
に知ることができるし、またそれ以降の文が構文と合致
しているかどうかを知ることができる。したがって、構
文エラーを修正し再度実行したときに、エラーとなる可
能性が少なくなる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は構文エラー解析手段102の処理の流れを示すフ
ローチャート、第3図は文字列類似度決定手段106の
処理の流れを示すフローチャートである。 101・・・利用者から与えられる文、102・・・構
文エラー解析手段、103・・・構文解析手段、104
・・・予約語テーブル、105・・・予約語変換手段、
106・・・文字列類似度決定手段、107・・・構文
エラー情報格納領域、108・・・解析結果出力手段。

Claims (1)

  1. 【特許請求の範囲】 システムが定義するいくつかの予約語と利用者が定義す
    る利用者語を含み、それらがある規則をもって規定され
    る構文があり、利用者から与えられた文がその規則に合
    致するかどうかを解析するシステムにおける構文エラー
    解析方式において、与えられた文に対して、それが構文
    規則に合致するかどうかを判定する構文解析手段と、 予約語とは異なる利用者語が、ある予約語とどれだけ類
    似しているかを決定する文字列類似度決定手段と、 ある利用者語を上記文字列類似度決定手段によって類似
    していると決定した予約語に変換する予約語変換手段と
    、 与えられた文において、構文規則と合致しない位置とそ
    れに付随する情報を格納する構文エラー情報格納領域と
    、 上記構文エラー情報格納領域に格納された情報を出力す
    る解析結果出力手段とを有し、 利用者から与えられた文が構文規則に合致しない場合、
    予約語と比較的類似している利用者語を類似している予
    約語に変換し、変換された文を構文解析し、すべての変
    換された文に対して構文規則に合致しなければ構文エラ
    ーとし、いくつかの変換された文に対して構文規則と合
    致していれば、上記領域に格納されている位置と情報を
    出力し、変換した利用者語と予約語を利用者に知らせる
    ことを特徴とする構文エラー解析方式。
JP2160134A 1990-06-19 1990-06-19 構文エラー解析方式 Pending JPH0449432A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2160134A JPH0449432A (ja) 1990-06-19 1990-06-19 構文エラー解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2160134A JPH0449432A (ja) 1990-06-19 1990-06-19 構文エラー解析方式

Publications (1)

Publication Number Publication Date
JPH0449432A true JPH0449432A (ja) 1992-02-18

Family

ID=15708610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2160134A Pending JPH0449432A (ja) 1990-06-19 1990-06-19 構文エラー解析方式

Country Status (1)

Country Link
JP (1) JPH0449432A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160494A (ja) * 1993-12-08 1995-06-23 Nec Corp コーディング時の入力文字列修正装置
JPH10133883A (ja) * 1996-10-31 1998-05-22 Nec Corp コンパイル装置
US7102094B2 (en) 2003-02-25 2006-09-05 Smk Corporation Switch
CN106796543A (zh) * 2014-08-27 2017-05-31 飞索科技有限公司 源代码分析装置、用于该装置的计算机程序及其记录介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160494A (ja) * 1993-12-08 1995-06-23 Nec Corp コーディング時の入力文字列修正装置
JPH10133883A (ja) * 1996-10-31 1998-05-22 Nec Corp コンパイル装置
US7102094B2 (en) 2003-02-25 2006-09-05 Smk Corporation Switch
CN106796543A (zh) * 2014-08-27 2017-05-31 飞索科技有限公司 源代码分析装置、用于该装置的计算机程序及其记录介质

Similar Documents

Publication Publication Date Title
CN109445834A (zh) 基于抽象语法树的程序代码相似性快速比较方法
JPH077419B2 (ja) 機械翻訳装置における略称付き固有名詞処理方法
JPH0449432A (ja) 構文エラー解析方式
JP4039205B2 (ja) 自然言語処理システム及び自然言語処理方法、並びにコンピュータ・プログラム
JP2017091100A (ja) 述語項構造抽出装置、方法、及びプログラム
JP3015509B2 (ja) 機械翻訳用自動学習装置
JP3339006B2 (ja) 機械翻訳装置における並列名詞句処理装置
JP3050575B2 (ja) 自然言語自動翻訳装置
JP2742280B2 (ja) 日本語自動解析装置
KR20200066009A (ko) 한국어 구문 분석을 활용한 정보 처리 시스템
JPH04372060A (ja) 日本語解析装置
JPH05143640A (ja) 日本語構文解析システム
JPH06195375A (ja) 自然言語の解析装置
JPH0439730A (ja) チャート生成方法
Sklenář et al. Computer aided lexicography
JPH0850588A (ja) 未知語登録装置
KR20010063805A (ko) 씨 프로그램의 구문 분석방법
JPH0581314A (ja) 係り受け関係判定方式
JPH01265359A (ja) 文章解析方式
JPH05257967A (ja) 機械翻訳装置
JPH05143638A (ja) 自然言語解析方法
JPH09185623A (ja) 言語処理装置及び方法
JPH03222066A (ja) 機械翻訳装置
JPH0269832A (ja) 式処理における定義演算子処理方式
JPH04119467A (ja) 自然言語翻訳方法