JPH036623A - 構文解析テーブルによる構文エラー時の読飛し処理方式 - Google Patents
構文解析テーブルによる構文エラー時の読飛し処理方式Info
- Publication number
- JPH036623A JPH036623A JP14085189A JP14085189A JPH036623A JP H036623 A JPH036623 A JP H036623A JP 14085189 A JP14085189 A JP 14085189A JP 14085189 A JP14085189 A JP 14085189A JP H036623 A JPH036623 A JP H036623A
- Authority
- JP
- Japan
- Prior art keywords
- skipping
- level
- syntax
- skip
- syntax analysis
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims description 66
- 238000000034 method Methods 0.000 claims description 18
- 230000007704 transition Effects 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 14
- 230000003247 decreasing effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は記号列の構文解析方式に関し、特に構文解析テ
ーブルによる構文エラー時の読飛し処理方式に関する。
ーブルによる構文エラー時の読飛し処理方式に関する。
従来、この種の構文解析テーブルによる構文エラー時の
読飛し処理方式では、読み飛ばす記号毎に読飛しを止め
るべき記号と照合チエツクを行っていた。
読飛し処理方式では、読み飛ばす記号毎に読飛しを止め
るべき記号と照合チエツクを行っていた。
上述した従来の構文解析テーブルによる構文エラー時の
読飛し処理方式では、読飛しを止めるべき記号の種類が
多くなるか読み飛ばされる記号の数が多くなるとそれに
正比例して記号同士の照合チエツク回数が増えるので、
読飛し処理が遅くなるという欠点がある。
読飛し処理方式では、読飛しを止めるべき記号の種類が
多くなるか読み飛ばされる記号の数が多くなるとそれに
正比例して記号同士の照合チエツク回数が増えるので、
読飛し処理が遅くなるという欠点がある。
本発明の目的は、上述の点に鑑み、記号同士の照合チエ
ツク回数を減らして読飛し処理を速くできるようにした
構文解析テーブルによる構文エラー時の読飛し処理方式
を提供することにある。
ツク回数を減らして読飛し処理を速くできるようにした
構文解析テーブルによる構文エラー時の読飛し処理方式
を提供することにある。
本発明の構文解析テーブルによる構文エラー時の読飛し
処理方式は、記号列における記号の出現順序を定めた構
文規則である一般形式に従い構文解析テーブルを使用し
て構文解析処理を行う処理系において、一般形式が反映
された遷移テーブルと読飛しレベルをもつ読飛し情報テ
ーブルとからなる構文解析テーブルを生成する構文解析
テーブル生成手段と、与えられた記号列に対して構文解
析処理開始点から前記遷移テーブルの記述に従い定めら
れた構文解析処理手続きの実行および制御を行う構文解
析テーブル処理手段と、この構文解析テーブル処理手段
により構文エラーが検出されたときにエラーメツセージ
を出力するエラーメツセージ出力手段と、このエラーメ
ッセージ出力手段によるエラーメッセージの出力後に前
記読飛し情報テーブルから読飛しレベルを取り込む読飛
しレベル取込み手段と、この読飛レベル取込み手段によ
り取り込まれた読飛しレベルを基に記号列を読み飛ばす
読飛し手段と、この読飛し手段による記号列の読飛し後
に前記遷移テーブルの再開位置を定めて前記構文解析テ
ーブル処理手段にその構文解析処理再開点を知らせる構
文解析再開位置設定手段とを有する。
処理方式は、記号列における記号の出現順序を定めた構
文規則である一般形式に従い構文解析テーブルを使用し
て構文解析処理を行う処理系において、一般形式が反映
された遷移テーブルと読飛しレベルをもつ読飛し情報テ
ーブルとからなる構文解析テーブルを生成する構文解析
テーブル生成手段と、与えられた記号列に対して構文解
析処理開始点から前記遷移テーブルの記述に従い定めら
れた構文解析処理手続きの実行および制御を行う構文解
析テーブル処理手段と、この構文解析テーブル処理手段
により構文エラーが検出されたときにエラーメツセージ
を出力するエラーメツセージ出力手段と、このエラーメ
ッセージ出力手段によるエラーメッセージの出力後に前
記読飛し情報テーブルから読飛しレベルを取り込む読飛
しレベル取込み手段と、この読飛レベル取込み手段によ
り取り込まれた読飛しレベルを基に記号列を読み飛ばす
読飛し手段と、この読飛し手段による記号列の読飛し後
に前記遷移テーブルの再開位置を定めて前記構文解析テ
ーブル処理手段にその構文解析処理再開点を知らせる構
文解析再開位置設定手段とを有する。
本発明の構文解析テーブルによる構文エラー時の読飛し
処理方式では、構文解析テーブル生成手段が一般形式が
反映された遷移テーブルと読飛しレベルをもつ読飛し情
報テーブルとからなる構文解析テーブルを生成し、構文
解析テーブル処理手段が与えられた記号列に対して構文
解析処理開始点から遷移テーブルの記述に従い定められ
た構文解析処理手続きの実行および制御を行い、エラー
メツセージ出力手段が構文解析テーブル処理手段により
構文エラーが検出されたときにエラーメツセージを出力
し、読飛しレベル取込み手段がエラーメッセージ出力手
段によるエラーメツセージの出力後に読飛し情報テーブ
ルから読飛しレベルを取り込み、読飛し手段が読飛レベ
ル取込み手段により取り込まれた読飛しレベルを基に記
号列を読み飛ばし、構文解析再開位置設定手段が読飛し
手段による記号列の読飛し後に遷移テーブルの再開位置
を定めて構文解析テーブル処理手段にその構文解析処理
再開点を知らせる。
処理方式では、構文解析テーブル生成手段が一般形式が
反映された遷移テーブルと読飛しレベルをもつ読飛し情
報テーブルとからなる構文解析テーブルを生成し、構文
解析テーブル処理手段が与えられた記号列に対して構文
解析処理開始点から遷移テーブルの記述に従い定められ
た構文解析処理手続きの実行および制御を行い、エラー
メツセージ出力手段が構文解析テーブル処理手段により
構文エラーが検出されたときにエラーメツセージを出力
し、読飛しレベル取込み手段がエラーメッセージ出力手
段によるエラーメツセージの出力後に読飛し情報テーブ
ルから読飛しレベルを取り込み、読飛し手段が読飛レベ
ル取込み手段により取り込まれた読飛しレベルを基に記
号列を読み飛ばし、構文解析再開位置設定手段が読飛し
手段による記号列の読飛し後に遷移テーブルの再開位置
を定めて構文解析テーブル処理手段にその構文解析処理
再開点を知らせる。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係る構文解析テーブルに
よる構文エラー時の読飛し処理方式の構成を示すブロッ
ク図である。本実施例の構文解析テーブルによる構文エ
ラー時の読飛し処理方式は、構文解析テーブル生成手段
lと、構文解析テーブル2と、構文解析テーブル処理手
段3と、エラーメッセージ出力手段4と、読飛しレベル
取込み手段5と、読飛し手段6と、構文解析再開位置設
定手段7と、コンパイラ制御部8と、入力記号列9とか
ら構成されている。なお、構文解析テーブル処理手段3
.エラーメツセージ出力手段4.読飛しレベル取込み手
段5.読飛し手段6.構文解析再開位置設定手段7およ
びコンパイラ制御部8はコンパイラに含まれ、構文解析
テーブル生成手段lはコンパイラとは別の処理となって
いる。
よる構文エラー時の読飛し処理方式の構成を示すブロッ
ク図である。本実施例の構文解析テーブルによる構文エ
ラー時の読飛し処理方式は、構文解析テーブル生成手段
lと、構文解析テーブル2と、構文解析テーブル処理手
段3と、エラーメッセージ出力手段4と、読飛しレベル
取込み手段5と、読飛し手段6と、構文解析再開位置設
定手段7と、コンパイラ制御部8と、入力記号列9とか
ら構成されている。なお、構文解析テーブル処理手段3
.エラーメツセージ出力手段4.読飛しレベル取込み手
段5.読飛し手段6.構文解析再開位置設定手段7およ
びコンパイラ制御部8はコンパイラに含まれ、構文解析
テーブル生成手段lはコンパイラとは別の処理となって
いる。
構文解析テーブル2は、遷移テーブル2Iと、読飛し情
報テーブル22とを含む。
報テーブル22とを含む。
入力記号列9の各記号には、それぞれEI JliZし
レベルが付随されている。
レベルが付随されている。
次に、このように構成された本実施例の構文解析テーブ
ルによる構文エラー時の読飛し処理方式の動作について
説明する。
ルによる構文エラー時の読飛し処理方式の動作について
説明する。
構文解析テーブル生成手段1は、プログラマ等が特定の
言語によって記述した情報に基づいて、記号列における
記号の出現順序を定めた構文規則である一般形式が反映
された遷移テーブル21と、読飛しを止めるべき記号、
読飛しレベルおよび読飛し後の遷移テーブル21の再開
位置を読飛しレベルの小さい順に格納する読飛し情報テ
ーブル22とからなる構文解析テーブル2を生成する。
言語によって記述した情報に基づいて、記号列における
記号の出現順序を定めた構文規則である一般形式が反映
された遷移テーブル21と、読飛しを止めるべき記号、
読飛しレベルおよび読飛し後の遷移テーブル21の再開
位置を読飛しレベルの小さい順に格納する読飛し情報テ
ーブル22とからなる構文解析テーブル2を生成する。
構文解析テーブル2の生成後にコンパイラが起動され、
コンパイラ制御部8は、構文解析チーフル処理手段3を
起動して遷移テーブル21の構文解析処理開始点から入
力記号列9の構文解析処理を開始させる。
コンパイラ制御部8は、構文解析チーフル処理手段3を
起動して遷移テーブル21の構文解析処理開始点から入
力記号列9の構文解析処理を開始させる。
構文解析テーブル処理手段3は、入力記号列9を入力し
なからの構文解析処理中に構文エラーを検出した場合に
は、エラーメッセージ出力手段4を起動する。
なからの構文解析処理中に構文エラーを検出した場合に
は、エラーメッセージ出力手段4を起動する。
エラーメツセージ出力手段4は、エラーメツセージを出
力し、エラーメツセージの出力後に読飛しレベル取込み
手段5を起動する。
力し、エラーメツセージの出力後に読飛しレベル取込み
手段5を起動する。
読飛しレベル取込み手段5は、読飛し情報テブル22の
先頭のエントリから読飛しレベルを取り込み、読飛し手
段6を起動する。
先頭のエントリから読飛しレベルを取り込み、読飛し手
段6を起動する。
読飛し手段6は、読飛しレベル取込み手段5により取り
込まれた読飛しレベルと同しかまたはそれより上のレベ
ルをもつ記号まで入力記号列9を読み飛ばす。そして、
読飛し情報テーブル22の記号と照合チエツクを行う。
込まれた読飛しレベルと同しかまたはそれより上のレベ
ルをもつ記号まで入力記号列9を読み飛ばす。そして、
読飛し情報テーブル22の記号と照合チエツクを行う。
読飛し情報テーブル22の記号に同じ記号が存在しない
ときには、読潰しレベル取込み手段5により取り込まれ
た読飛しレベル以上の読飛しレベルをもつ次の記号まで
さらに入力記号列9を読み飛ばす。読飛し情報テーブル
22の記号に同じ記号が存在したならば、読飛し手段6
は、構文解析再開位置設定手段7を起動する。
ときには、読潰しレベル取込み手段5により取り込まれ
た読飛しレベル以上の読飛しレベルをもつ次の記号まで
さらに入力記号列9を読み飛ばす。読飛し情報テーブル
22の記号に同じ記号が存在したならば、読飛し手段6
は、構文解析再開位置設定手段7を起動する。
構文解析再開位置設定手段7は、読飛し情報テーブル2
2の読飛しレベル取込み手段5により取り込まれた読飛
しレベル以上の読飛しレベルをもちかつ記号が一致する
エントリの再開位置を遷移テーブル21の再開位置とし
て定めて構文解析テーブル処理手段3を起動させること
により、その構文解析処理再開点から構文解析処理を再
開させる。
2の読飛しレベル取込み手段5により取り込まれた読飛
しレベル以上の読飛しレベルをもちかつ記号が一致する
エントリの再開位置を遷移テーブル21の再開位置とし
て定めて構文解析テーブル処理手段3を起動させること
により、その構文解析処理再開点から構文解析処理を再
開させる。
第2図は、本実施例の構文解析テーブルによる構文エラ
ー時の読飛し処理方式が適用された記号列の一般形式、
それに対応する構文解析テーブル2および入力記号列の
例を示す図である。第2図を参照すると、記号列として
の0CCUR3句の−M形式は次の通りであることがわ
かる。
ー時の読飛し処理方式が適用された記号列の一般形式、
それに対応する構文解析テーブル2および入力記号列の
例を示す図である。第2図を参照すると、記号列として
の0CCUR3句の−M形式は次の通りであることがわ
かる。
0CCUR3整数 To 整数 TIMESDEPE
NDING ON データ泡吹に、本実施例の構文
解析テーブルによる構文エラー時の読飛し処理方式の動
作を第2図を参照しなから具体的に説明する。
NDING ON データ泡吹に、本実施例の構文
解析テーブルによる構文エラー時の読飛し処理方式の動
作を第2図を参照しなから具体的に説明する。
コンパイラ制御部8が起動する構文解析テーブル処理手
段3は、入力記号列9を入力しなから遷移テーブル21
と照合チエツクを行いなから構文解析処理を行っていく
。そして、構文解析テーブル処理手段3は、人力記号列
9の記号Toの次の記号TIMESを人力したときに、
記号が整数でないのでエラーを検出し、エラーメッセー
ジ出力手段4を起動してエラーメッセージを出力させる
。
段3は、入力記号列9を入力しなから遷移テーブル21
と照合チエツクを行いなから構文解析処理を行っていく
。そして、構文解析テーブル処理手段3は、人力記号列
9の記号Toの次の記号TIMESを人力したときに、
記号が整数でないのでエラーを検出し、エラーメッセー
ジ出力手段4を起動してエラーメッセージを出力させる
。
エラーメツセージの出力後に起動された読飛しレベル取
込み手段5は、読飛し情報テーブル22の先頭のエント
リから読飛しレベル“3”を取り込む。
込み手段5は、読飛し情報テーブル22の先頭のエント
リから読飛しレベル“3”を取り込む。
読飛し手段6は、読飛しレベル“3”以上をもつ記号P
ICまで入力記号列9を記号同士の照合チエツクを行わ
ずに読み飛ばす(記号TIMESDEPENDING、
ONおよびDATA2が読み飛ばされる)。そして、読
飛し情報テーブル22に同じ記号PICが存在するので
、読飛し手段6は構文解析再開位置設定手段7を起動す
る。
ICまで入力記号列9を記号同士の照合チエツクを行わ
ずに読み飛ばす(記号TIMESDEPENDING、
ONおよびDATA2が読み飛ばされる)。そして、読
飛し情報テーブル22に同じ記号PICが存在するので
、読飛し手段6は構文解析再開位置設定手段7を起動す
る。
構文解析再開位置設定手段7は、読飛し情報テーブル2
2の記号PICに対する再開位置へを定めて構文解析テ
ーブル処理手段3を起動することにより、入力記号列9
の記号PICから構文解析処理を再開させる。
2の記号PICに対する再開位置へを定めて構文解析テ
ーブル処理手段3を起動することにより、入力記号列9
の記号PICから構文解析処理を再開させる。
なお、上記実施例では、構文解析処理を行う処理系を構
文解析テーブル生成手段1およびコンパイラとしたが、
コンパイラが構文解析処理を行う他の処理であっても本
発明が同様に適用できることはいうまでもない。
文解析テーブル生成手段1およびコンパイラとしたが、
コンパイラが構文解析処理を行う他の処理であっても本
発明が同様に適用できることはいうまでもない。
以上説明したように本発明は、構文解析チーフルの生成
過程で読飛しレベルをもつ読飛し情報テーブルを生成し
、構文エラー時の読飛し過程において読飛し情報テーブ
ルの読飛しレベル以上をもつ記号まで入力記号列を読み
飛ばすことにより、記号同士の照合チエツク回数を滅ら
して読飛し処理を速くできる効果がある。
過程で読飛しレベルをもつ読飛し情報テーブルを生成し
、構文エラー時の読飛し過程において読飛し情報テーブ
ルの読飛しレベル以上をもつ記号まで入力記号列を読み
飛ばすことにより、記号同士の照合チエツク回数を滅ら
して読飛し処理を速くできる効果がある。
第1図は本発明の一実施例に係る構文解析テーブルによ
る構文エラー時の読飛し処理方式の構成を示すブロック
図、 第2図は本実施例の構文解析テーブルによる構文エラー
時の読飛し処理方式が通用された記号列の一般形式、そ
れに対応する構文解析テーブルおよび入力記号列の例を
示す図である。 図において、 1・・・構文解析テーブル生成手段、 2・・・構文解析テーブル、 3・・・構文解析テーブル処理手段、 4・・・エラーメツセージ出力手段、 5・・・読飛しレベル取込み手段、 6・・・読飛し手段、 7・・・構文解析再開位置設定手段、 8・・・コンパイラ、 9・・・入力記号列、 21・・遷移テーブル、 22・・読飛し情報テーブルである。
る構文エラー時の読飛し処理方式の構成を示すブロック
図、 第2図は本実施例の構文解析テーブルによる構文エラー
時の読飛し処理方式が通用された記号列の一般形式、そ
れに対応する構文解析テーブルおよび入力記号列の例を
示す図である。 図において、 1・・・構文解析テーブル生成手段、 2・・・構文解析テーブル、 3・・・構文解析テーブル処理手段、 4・・・エラーメツセージ出力手段、 5・・・読飛しレベル取込み手段、 6・・・読飛し手段、 7・・・構文解析再開位置設定手段、 8・・・コンパイラ、 9・・・入力記号列、 21・・遷移テーブル、 22・・読飛し情報テーブルである。
Claims (1)
- 【特許請求の範囲】 記号列における記号の出現順序を定めた構文規則である
一般形式に従い構文解析テーブルを使用して構文解析処
理を行う処理系において、 一般形式が反映された遷移テーブルと読飛しレベルをも
つ読飛し情報テーブルとからなる構文解析テーブルを生
成する構文解析テーブル生成手段と、 与えられた記号列に対して構文解析処理開始点から前記
遷移テーブルの記述に従い定められた構文解析処理手続
きの実行および制御を行う構文解析テーブル処理手段と
、 この構文解析テーブル処理手段により構文エラーが検出
されたときにエラーメッセージを出力するエラーメッセ
ージ出力手段と、 このエラーメッセージ出力手段によるエラーメッセージ
の出力後に前記読飛し情報テーブルから読飛しレベルを
取り込む読飛しレベル取込み手段と、 この読飛レベル取込み手段により取り込まれた読飛しレ
ベルを基に記号列を読み飛ばす読飛し手段と、 この読飛し手段による記号列の読飛し後に前記遷移テー
ブルの再開位置を定めて前記構文解析テーブル処理手段
にその構文解析処理再開点を知らせる構文解析再開位置
設定手段とを有することを特徴とする構文解析テーブル
による構文エラー時の読飛し処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14085189A JPH036623A (ja) | 1989-06-02 | 1989-06-02 | 構文解析テーブルによる構文エラー時の読飛し処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14085189A JPH036623A (ja) | 1989-06-02 | 1989-06-02 | 構文解析テーブルによる構文エラー時の読飛し処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH036623A true JPH036623A (ja) | 1991-01-14 |
Family
ID=15278212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14085189A Pending JPH036623A (ja) | 1989-06-02 | 1989-06-02 | 構文解析テーブルによる構文エラー時の読飛し処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH036623A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222925A (ja) * | 1993-01-28 | 1994-08-12 | Nec Corp | 自然言語インタフェース方式 |
JPH06242960A (ja) * | 1993-02-12 | 1994-09-02 | Nec Corp | 構文解析によるエラーリカバリ機能を持つ構文解析装置 |
-
1989
- 1989-06-02 JP JP14085189A patent/JPH036623A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222925A (ja) * | 1993-01-28 | 1994-08-12 | Nec Corp | 自然言語インタフェース方式 |
JPH06242960A (ja) * | 1993-02-12 | 1994-09-02 | Nec Corp | 構文解析によるエラーリカバリ機能を持つ構文解析装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103594089A (zh) | 一种语音识别方法及电子设备 | |
JPH036623A (ja) | 構文解析テーブルによる構文エラー時の読飛し処理方式 | |
JP2817786B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
JPS5922140A (ja) | 対話型コンパイル方式 | |
JPH025136A (ja) | 言語処理プログラムのエラー処理方式 | |
JP2001282520A (ja) | プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体 | |
JPH0215339A (ja) | マクロ処理方式 | |
JP3082767B2 (ja) | 翻訳リスト出力制御装置 | |
JPH04248624A (ja) | プログラム変換処理装置 | |
JPH04102922A (ja) | オペランド先取り制御方式 | |
JPH0254368A (ja) | 機械翻訳における翻訳制御方式 | |
JPH03235135A (ja) | プログラムの自動検査方式 | |
JP2797749B2 (ja) | ファイル破壊事前チェック機構 | |
JPH0580992A (ja) | 手続き・関数関連図出力方式 | |
JPH05127916A (ja) | アセンブラ | |
JPH05282138A (ja) | ドキュメンタの文書生成方法 | |
JPH04116721A (ja) | システム定義ディレクティブの解析方式 | |
JPH0588871A (ja) | プログラム開発における共通処理事項検出出力装置 | |
JPH0689183A (ja) | インタプリタ処理方式 | |
JP2001184190A (ja) | フォーマット変換装置及び方法 | |
JPS63228341A (ja) | プログラム構文チエツク方式 | |
JPH04257029A (ja) | エディタ | |
JPH05143354A (ja) | テキストフアイル変換方式 | |
JPH02289072A (ja) | 文書ファイルベリファイ方式 | |
JPH04140850A (ja) | データ処理装置 |