JP2000259424A - 予約語無効化システム - Google Patents

予約語無効化システム

Info

Publication number
JP2000259424A
JP2000259424A JP11062682A JP6268299A JP2000259424A JP 2000259424 A JP2000259424 A JP 2000259424A JP 11062682 A JP11062682 A JP 11062682A JP 6268299 A JP6268299 A JP 6268299A JP 2000259424 A JP2000259424 A JP 2000259424A
Authority
JP
Japan
Prior art keywords
character string
reserved word
reserved
information
processing unit
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
JP11062682A
Other languages
English (en)
Inventor
Kazuhiro Ito
和宏 伊藤
Kazutake Ban
一毅 伴
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11062682A priority Critical patent/JP2000259424A/ja
Publication of JP2000259424A publication Critical patent/JP2000259424A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】本発明は原始プログラムの予約語無効化コンパ
イルシステムに関連、データベース言語の文法拡張によ
る予約語追加の影響により、原始プログラムの文が文法
逸脱あるいは文の意味の意味変化を引き起こす問題を解
決をするものである。 【解決手段】文字列抽出手順201で文法拡張による追
加予約語文字列集合を抽出対象文字列集合として追加予
約語文字列に一致する名前を抽出し、予約語情報変更手
順202により予約語情報テーブルの内容を変更、抽出
した名前に一致する予約語文字列を無効化することによ
って、解析手順203で文法拡張による影響を抑止した
データベース言語原始プログラムの解析を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータベース言語原
始プログラムのコンパイルにおいて、コンパイラが使用
する予約語情報を変更することで、任意の予約語文字列
が予約語ではなくなり、文字列のもつ機能を無効化する
ことに関する。
【0002】
【従来の技術】プログラミング言語の文法拡張では、予
約語集合の変更をコンパイラの内部メモリにもつ予約語
情報テーブルに反映する。コンパイラは予約語情報テー
ブルを検索し、文字列が予約語であるかどうかを判断す
る。
【0003】従来のコンパイル方式は、特開平5−21
0510号公報に記載のように、予約語登録手順により
任意の文字列を予約語とすることで、予約語文字列とし
ての機能を有効化している。
【0004】
【発明が解決しようとする課題】前述した従来のコンパ
イル方式では、予約語を削除することで予約語機能を無
効化する点について配慮されていない。コンパイラは文
法拡張後、変更された予約語情報テーブルを使用してコ
ンパイルを行うため、文法拡張前の既存原始プログラム
に対するコンパイルにおいて、文中の文字列の意味が変
化することで文が文法を逸脱するか、又は文の意味が変
化するという問題がある。
【0005】データベース言語により定義されたスキー
マの名前は情報スキーマとしてシステムに登録されてい
るため、名前として使用していた非予約語文字列が文法
拡張後に予約語文字列となる場合には、スキーマを再定
義すれば、この問題を回避できるが、変更したスキーマ
に影響する既存原始プログラムをすべて修正、再コンパ
イルしなければならない。
【0006】本発明の目的は、データベース言語の文法
拡張の影響による文の文法逸脱および文の意味変化を抑
止することにある。
【0007】
【課題を解決するための手段】上記課題を解決するする
ため、本発明のコンパイルシステムは任意の文字列に一
致する名前を抽出する文字列抽出手段と、予約語集合の
任意の予約語文字列を別の文字列へ置換する予約語文字
列置換手段と、任意の予約語文字列を予約語集合から削
除する予約語文字列削除手段を有する。文法拡張によっ
て追加された予約語文字列集合を文字列抽出手段におい
て抽出対象文字列集合とし、結果抽出された名前に一致
する予約語文字列を予約語置換手段あるいは予約語削除
手段で置換あるいは削除し、該文字列の予約語としての
機能を無効化する。
【0008】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。
【0009】図1は本発明によるコンパイルシステムの
構成を示す図である。本コンパイルシステムはコンパイ
ラ101、キーボード110、文字列集合情報作成プログ
ラム111、補助記憶装置112により構成される。コ
ンパイラ101は任意の文字列に一致する名前を抽出す
る文字列抽出プログラム102、予約語情報テーブルの
内容を変更する予約語情報変更プログラム103、解析
プログラム106とを有する。
【0010】予約語情報変更プログラム103は予約語
文字列置換プログラム104および予約語文字列置換プ
ログラム105からなる。コンパイラ101は内部メモ
リ107に予約語情報テーブル109、名標辞書作成用
予約語情報テーブル108とを有する。補助記憶装置1
12は原始プログラムソース113、予約語情報テーブ
ルライブラリ114、情報スキーマ115、名標辞書11
6、抽出対象文字列集合情報117、抽出結果文字列集合
情報118、置換文字列集合情報119、削除文字列集合
情報120とを有する。
【0011】文字列集合情報作成プログラム111はキ
ーボード110より文字列を入力し、抽出対象文字列集
合情報117、置換文字列集合情報119、 削除文字列
集合情報120を作成する。文字列抽出プログラム10
2は原始プログラム113および予約語情報テーブル1
09および予約語情報テーブルライブラリ114および
情報スキーマ115および抽出対象文字列集合情報11
7を参照、名標辞書116を作成参照、名標辞書作成用予
約語情報テーブル108および抽出結果文字列集合情報
118を作成する。文字列抽出プログラム102は解析
プログラム106を呼ぶ。
【0012】また予約語文字列置換プログラム104は
置換文字列集合情報119を参照、予約語情報テーブル
109を変更する。予約語文字列変更手段105は削除
文字列集合情報120を参照、予約語情報テーブル10
9を変更する。解析プログラム106は、予約語情報テ
ーブル109あるいは名標辞書作成用予約語情報テーブ
ル108を参照検索し、原始プログラム113のコンパ
イルを行う。
【0013】図2は予約語無効化によるコンパイルの処
理の過程を示す図である。図2において、201は任意
の文字列に一致する名前を抽出する文字列抽出手順、2
02は予約語情報テーブルの内容を変更する予約語情報
変更手順、203は原始プログラム解析手順を示す。
【0014】文字列抽出手順201は任意の文字列に一
致する原始プログラム中で使用されている名前の文字列
を抽出する。文法拡張によって追加された予約語文字列
集合を抽出対象文字列集合とすれば、追加予約語文字列
に一致する名前を抽出する。
【0015】予約語情報変更手順202は原始プログラ
ム解析手順203が使用する予約語情報テーブルの内容
を変更する。文法拡張によって追加された予約語文字列
集合を変更文字列集合とすれば、追加予約語文字列の予
約語としての機能を無効化する。文法拡張によって追加
された予約語文字列集合を抽出対象文字列集合とした文
字列抽出手順201により抽出された結果を変更文字列
集合とすれば、追加予約語文字列のうち文法拡張の影響
を受ける文字列のみ予約語としての機能を無効化する。
【0016】原始プログラム解析手順203は原始プロ
グラム中に記述された文を解析する。解析において文の
文字列が予約語情報中の文字列に一致するかどうかの判
定処理を図3により説明する。
【0017】図3は任意の文字列が予約語であるかどう
かを判定する処理の過程を示す図である。図3におい
て、301は原始プログラム解析最小単位である字句を
切り出す字句切出し処理部、302は切り出した文字列
の文字列長を取得する文字列長取得処理部、303は文
字列が予約語であるかどうかを判定する予約語文字列判
定処理部、304はコンパイラが使用する予約語情報テ
ーブルを示す。
【0018】字句切出し処理部301は原始プログラム
中の文を解析最小単位である字句として切り出す。切り
出した字句が文字列であるなら文字列長取得処理部30
2は文字列長を取得する。予約語文字列判定処理部30
3は予約語情報テーブル304を参照検索し、文字列が
予約語であるかどうかを判定する。
【0019】原始プログラム解析手順203が使用する
予約語情報テーブルの詳細について図4により説明す
る。
【0020】図4は予約語情報テーブルの構成を示す図
である。図4において、401は予約語情報を文字列長
により管理する予約語情報インデクステーブル、402
は各々の予約語文字列がもつ予約語情報を示す。
【0021】予約語情報テーブルは予約語情報インデク
ステーブル401と予約語情報402から構成される。
文字列長が等しい予約語情報が文字列の昇順にポインタ
でチェインされている。予約語情報インデクステーブル
からのポインタは、各文字列長の先頭予約語情報をポイ
ントしている。
【0022】文字列抽出手順201の詳細について図5
により説明する。
【0023】図5は任意の文字列に一致する名前を抽出
する過程を示す図である。図5において、501はコン
パイラの内部メモリに予約語情報テーブルを作成する予
約語情報複写処理部、502は名標辞書を作成する名標
辞書作成処理部、503は名標辞書中に含まれている抽
出対象文字列を検索、抽出する抽出文字列検索処理部、5
04は結果の文字列情報を作成する抽出結果文字列情報
作成処理部、505は世代別の予約語情報をもつ予約語
情報テーブルライブラリ、506はデータベース言語に
より定義されたスキーマの名前として使用されている名
前の情報を保持する情報スキーマ、507は原始プログ
ラム中で名前として使用されている文字列の情報を保持
する名標辞書、508は抽出対象文字列集合情報、509
は情報スキーマあるいは名標辞書中に含まれていた文字
列の情報を保持する抽出結果文字列集合情報を示す。
【0024】抽出を名標辞書から行う場合、予約語情報
複写処理部501では予約語情報テーブルライブラリ5
05からある世代の予約語情報テーブルをコンパイラの
内部メモリに名標辞書作成用予約語情報テーブルとして
コピーする。名標辞書作成処理部502は原始プログラ
ムを解析し、名標辞書506を作成し原始プログラム中
で名前として使用されている文字列情報を保持する。名
前として使用されている文字列が予約語と衝突し解析が
失敗した場合には、予約語情報複写処理部501により、
使用している情報より一世代前の予約語情報テーブルを
名標辞書作成用予約語情報テーブルとして使用し、ふた
たび解析を行う。これを解析が成功するまで繰り返し、
名標辞書506を作成する。
【0025】抽出文字列検索処理部503は抽出対象文
字列集合情報508に含まれている文字列が原始プログ
ラム中で名前として使用されているかどうかを名標辞書
506を参照検索することで抽出する。抽出結果文字列
情報作成処理部504は抽出結果文字列集合情報509
を作成し、名標辞書506と抽出対象文字列集合情報5
08両方に含まれる文字列情報を保持する。抽出を情報
スキーマから行う場合、抽出文字列検索処理部503は
抽出対象文字列集合情報508に含まれている文字列が
スキーマの名前として使用されているかどうかを情報ス
キーマ507を参照検索することで抽出する。抽出結果
文字列情報作成処理部504は抽出結果文字列集合情報
509を作成し、情報スキーマ507と抽出対象文字列
集合情報508両方に含まれる文字列情報を保持する。
抽出を情報スキーマから行うかあるいは名標辞書から行
うかは、システムあるいは利用者の指定によるものとす
る。
【0026】予約語情報変更手順202の詳細について
図6および図7により説明する。
【0027】図6は予約語集合の任意の予約語文字列を
別の文字列へ置換する処理の過程を示す図である。
【0028】図6において、601は予約語情報テーブ
ル中の文字列を検索する文字列検索処理部、602は予
約語文字列を予約語集合から削除する予約語情報削除処
理部、603は予約語文字列を予約語集合へ追加する予
約語情報追加処理部、604は置換文字列集合情報、60
5はコンパイラが使用する予約語情報テーブルを示す。
【0029】置換文字列集合情報604は置換対象文字
列と置換後文字列の組みの集合である。置換対象文字列
が予約語であるかどうか、文字列検索処理部601は予
約語情報テーブル605を参照検索することで判断す
る。予約語文字列であれば予約語情報削除処理部602
は予約語情報テーブル605中の該予約語情報を削除し
ポインタを更新する。予約語文字列追加処理部603は
該文字列の置換語文字列情報をもとに予約語情報を作成
し、文字列長により予約語情報テーブル605中の挿入
位置を探し予約語情報を挿入しポインタを更新する。
【0030】図7は任意の予約語文字列を予約語集合か
ら削除する処理の過程を示す図である。図7において、
701は予約語情報テーブル中の文字列を検索する文字
列検索処理部、702は予約語文字列を予約語集合から
削除する予約語情報削除処理部、703は削除文字列集
合情報、704はコンパイラが使用する予約語情報テー
ブルを示す。
【0031】削除文字列集合情報703は削除文字列の
集合である。削除対象文字列が予約語であるかどうか、
文字列検索処理部701は予約語情報テーブル704を
参照検索することで判断する。予約語文字列であれば予
約語情報削除処理部702は予約語情報テーブル704
中の該予約語情報を削除しポインタを更新する。
【0032】
【発明の効果】本発明によれば、文法拡張によって追加
された予約語文字列集合を抽出対象文字列集合とするこ
とで、文法拡張の影響を事前に検知することが可能とな
る。さらに文字列抽出手段と予約語文字列置換手段およ
び予約語文字列削除手段を自動連動することで、文法拡
張の影響による文の文法逸脱および文の意味変化を抑止
することが可能となる。
【図面の簡単な説明】
【図1】本発明によるコンパイルシステムの構成を示す
図である。
【図2】本発明の一実施例の予約語無効化によるコンパ
イルの処理の過程を示す図である。
【図3】任意の文字列が予約語であるかどうかを判定す
る処理の過程を示す図である。
【図4】予約語情報テーブルの構成を示す図である。
【図5】任意の文字列に一致する名前を抽出する過程を
示す図である。
【図6】予約語集合の任意の予約語文字列を別の文字列
へ置換する処理の過程を示す図である。
【図7】任意の予約語文字列を予約語集合から削除する
処理の過程を示す図である。
【符号の説明】
101…コンパイラ、 102…文字列
抽出プログラム、103…予約語情報変更プログラム、
104…予約語文字列置換プログラム、105…予約
語文字列削除プログラム、106…解析プログラム、1
07…内部メモリ、108…名標辞書作成用予約語情報
テーブル、109…予約語情報テーブル、 11
0…キーボード、111…文字列集合情報作成プログラ
ム、112…補助記憶装置、 113…原
始プログラム、114…予約語情報テーブルライブラ
リ、115…情報スキーマ、 116…名
標辞書、117…抽出対象文字列集合情報、 118
…抽出結果文字列集合情報、119…置換文字列集合情
報、 120…削除文字列集合情報、201…文
字列抽出手順、 202…予約語情報変更手
順、203…解析手順、 301…字
句切出し処理部、302…文字列長取得処理部、
303…予約語文字列判定処理部、304…予約語情
報テーブル、401…予約語情報インデクステーブル、
402…予約語情報、501…予約語情報複写処理部、
502…名標辞書作成処理部、503…抽出文
字列検索処理部、504…抽出結果文字列集合情報作成
処理部、505…予約語情報テーブルライブラリ、50
6…名標辞書、507…情報スキーマ、 508
…抽出対象文字列集合情報、509…抽出結果文字列集
合情報、 601…文字列検索処理部、602…予
約語情報削除処理部、603…予約語情報追加処理部、
604…置換文字列集合情報、 605…予約語情報テ
ーブル、701…文字列検索処理部、 702…予約
語情報削除処理部、703…削除文字列集合情報、 7
04…予約語情報テーブル。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データベース言語原始プログラムのコンパ
    イルにおいて、任意の文字列に一致する名前を抽出する
    文字列抽出手段と、予約語集合の任意の予約語文字列を
    別の文字列へ置換する予約語文字列置換手段と、任意の
    予約語文字列を予約語集合から削除する予約語文字列削
    除手段を有することを特徴とする予約語無効果。
JP11062682A 1999-03-10 1999-03-10 予約語無効化システム Pending JP2000259424A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11062682A JP2000259424A (ja) 1999-03-10 1999-03-10 予約語無効化システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11062682A JP2000259424A (ja) 1999-03-10 1999-03-10 予約語無効化システム

Publications (1)

Publication Number Publication Date
JP2000259424A true JP2000259424A (ja) 2000-09-22

Family

ID=13207313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11062682A Pending JP2000259424A (ja) 1999-03-10 1999-03-10 予約語無効化システム

Country Status (1)

Country Link
JP (1) JP2000259424A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149194A (ja) * 2003-11-17 2005-06-09 Honda Motor Co Ltd ソースプログラム変換システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149194A (ja) * 2003-11-17 2005-06-09 Honda Motor Co Ltd ソースプログラム変換システム
JP4613003B2 (ja) * 2003-11-17 2011-01-12 本田技研工業株式会社 ソースプログラム変換方法

Similar Documents

Publication Publication Date Title
JP4694111B2 (ja) 用例ベースの機械翻訳システム
US7567902B2 (en) Generating speech recognition grammars from a large corpus of data
US20060217963A1 (en) Translation memory system
US20140039879A1 (en) Generic system for linguistic analysis and transformation
US20050137853A1 (en) Machine translation
EP0839357A1 (en) Method and apparatus for automated search and retrieval processing
JPH0242572A (ja) 共起関係辞書生成保守方法
Eshghi et al. Dylan: Parser for dynamic syntax
Tonella et al. Restructuring multilingual web sites
Li et al. Incremental clone detection and elimination for erlang programs
US11080024B2 (en) In-line code adornments
JP2000259424A (ja) 予約語無効化システム
Koskimies et al. The design of a language processor generator
KR20090011974A (ko) 컴파일 대상 파일 추출 방법
JP4635585B2 (ja) 質問応答システム、質問応答方法及び質問応答プログラム
Thurmair METAL: Computer Integrated Translation
Begel et al. XGLR—an algorithm for ambiguity in programming languages
Christensen Danish knowledge patterns and word sketches for semi-automatic extraction of terminological information
JP3419748B2 (ja) 辞書作成装置および方法と辞書作成プログラムを記録した記録媒体
Begel et al. Language analysis and tools for ambiguous input streams
JPH11282844A (ja) 文書作成方法および情報処理装置および記録媒体
Groves Using simple English sentences to call procedures
Reinke Towards a closer integration of termbases, translation memories, and parallel corpora-a translation-oriented view
JPH0752391B2 (ja) 複数データベース記述を含む原始プログラムの翻訳方式
JPH05216922A (ja) 辞書編集装置