JPH04273534A - プリコンパイル方式 - Google Patents

プリコンパイル方式

Info

Publication number
JPH04273534A
JPH04273534A JP3033856A JP3385691A JPH04273534A JP H04273534 A JPH04273534 A JP H04273534A JP 3033856 A JP3033856 A JP 3033856A JP 3385691 A JP3385691 A JP 3385691A JP H04273534 A JPH04273534 A JP H04273534A
Authority
JP
Japan
Prior art keywords
database access
language
source program
description
file
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
JP3033856A
Other languages
English (en)
Inventor
▲高▼島田 正哉
Masaya Takashimada
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.)
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Solution Innovators Ltd
Original Assignee
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Software Hokkaido 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 HOKKAIDO NIPPON DENKI SOFTWARE KK, NEC Software Hokkaido Ltd filed Critical HOKKAIDO NIPPON DENKI SOFTWARE KK
Priority to JP3033856A priority Critical patent/JPH04273534A/ja
Publication of JPH04273534A publication Critical patent/JPH04273534A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プリコンパイル方式に
関し、特に、データベースアクセス言語記述を含む原始
プログラム中に含まれる探索型データベースアクセス記
述についてインデックス情報を生成するプリコンパイル
方式に関する。
【0002】
【従来の技術】従来のプリコンパイル方式は、図7に示
すように入力装置からデータベースアクセス言語記述を
含む原始プログラムを受け取る原始プログラム入力手段
31と、原始プログラム中のデータベースアクセス言語
記述を探索し、そのデータベースアクセス言語記述を構
成する各文字列をある一定の規則を持った内部コード変
換テーブルに従って内部コードに変換する語彙解析手段
32と、データベースアクセス言語がそのデータベース
アクセス言語の文法規則上、有効なものであるか診断す
る文法解析手段331と、データベースアクセス言語記
述内に出現する表や例が該データベースファイル上に存
在し、かつその表を利用する権限を有するかを診断する
意味解析手段332と、該データベースファイルに対し
、そのデータベースアクセス言語記述に従った動作を行
う純粋なホスト言語文を生成するホスト言語文生成手段
341と、前記ホスト言語文生成手段により生成された
ホスト言語文を原始プログラム中に埋め込み、中間プロ
グラムを生成する再生成手段342と、前記再生成手段
により、生成された中間プログラムを出力装置に出力す
る中間プログラム出力手段35とを備えて構成されてい
る。
【0003】この従来のプリコンパイル方式では、原始
プログラム入力手段31により、原始プログラムファイ
ル1からデータベースアクセス言語を含むホスト言語プ
ログラムを読み出す。語彙解析手段32では、ある一定
の規則をもつ内部コード変換テーブル7を参照し、原始
プログラムを内部コードに変換し、内部コードファイル
3に出力している。
【0004】構文解析である文法解析手段331では、
語彙解析手段32によって生成された内部コードのつな
がりから、その記述が文法上、正しいものか否かを解析
している。次に構文解析である意味解析手段332では
、データベースアクセス記述のうち、指定されている表
や列がデータベースファイル2中に実在している否かを
解析している。
【0005】情報生成の一つであるホスト言語文生成手
段341では、構文解析によってその妥当性が証明され
たデータベースアクセス記述を、純粋なホスト言語文に
変換し、生成文ファイル5に出力している。生成ファイ
ル5に出力されたホスト言語文は、再生成手段342に
よって、原始プログラムと結合され、中間プログラム出
力手段35に渡される。中間プログラム出力手段35で
は、再生成手段342から渡された中間プログラムを中
間プログラムファイル6に出力している。
【0006】
【発明が解決しようとする課題】上述した従来のプリコ
ンパイル方式は、原始プログラム内のデータベースアク
セス言語を純粋なホスト言語文に変換するだけであるた
め、生成された中間プログラム中にデータベースファイ
ルに対する探索型処理が存在しかつ高速性を求める場合
、利用者がデータベースファイル内の列定義情報に対し
、キー指定を行う必要がある。
【0007】しかし、キー指定を行うとデータベースフ
ァイルに半永久的なインデックスファイルが生成される
ため、利用者はあらかじめ、データベースファイルの大
きさを考慮した上で、キー指定列の選択を行わなければ
ず、利用者の負荷が増大するという欠点を有している。
【0008】また、利用者はキーの有無を把握した上で
プログラムを作る必要があるという問題も有している。
【0009】本発明の目的は、プリコンパイル時にキー
指定の必要な列を選び出すことにより、プログラム実行
時に、一時的なインデックスが生成できるような情報を
与え、利用者があらかじめキー指定が必要な列を選び出
すという負荷を低減し、また利用者がキーの有無を認識
しておく必要がなくなるというプリコンパイル方式を提
供することにある。
【0010】
【課題を解決するための手段】本発明のプリコンパイル
方式は、入力装置からデータベースアクセス言語記述を
含む原始プログラムを受け取る原始プログラム入力手段
と、原始プログラム中のデータベースアクセス言語記述
を探索し、そのデータベースアクセス言語を構成する各
文字列をある一定の規則を持った内部コード変換テーブ
ルに従って内部コードに変換する、語意解析手段と、デ
ータベースアクセス言語記述が、そのデータベースアク
セス言語の文法規則上、有効なものであるか診断する文
法解析手段と、データベースアクセス言語記述内に出現
する表や列が該データベースファイル上に実在し、かつ
その表を利用する権限を有するか診断する意味解析手段
と、そのデータベースアクセス言語記述が探索型である
場合、探索条件の内容に従ってインデック情報を生成す
るインデックス情報生成手段と、該データベースファイ
ルに対し、そのデータベースアクセス言語記述に従った
動作を行う純粋なホスト言語文を生成するホスト言語文
生成手段と、前記ホスト言語文生成手段により生成され
たホスト言語文を原始プログラム中に埋め込み、中間プ
ログラムを生成する再生成手段と、前記再生成手段によ
り生成された中間プログラムを、出力装置に出力する中
間プログラム出力手段とを備えて構成されている。
【0011】
【実施例】次に本発明の実施例について、図面を参照し
て説明する。
【0012】図1は本発明の一実施例を示すブロックで
ある。図1において本発明実施例は原始プログラム中に
含むまれるデータベースアクセス言語記述を解析し、純
粋なホスト言語ソースに変換するプリコンパイル方式で
、入力装置からのデータベースアクセス言語記述を含む
原始プログラムを受け取る原始プログラム入力手段11
と、原始プログラム中のデータベースアクセス言語記述
を探索し、そのデータベースアクセス言語を構成する各
文字列をある一定の規則を持った内部コード変換テーブ
ル7に従って内部コードに変換する、語意解析手段12
と、データベースアクセス言語記述が、そのデータベー
スアクセス言語の文法規則上、有効なものであるか診断
する文法解析手段131と、データベースアクセス言語
記述内に出現する表や列がデータベースファイル2上に
実存し、かつその表を利用する権限を有するか診断する
意味解析手段132と、そのデータベースアクセス言語
記述が探索型である場合、探索条件の内容に従ってイン
デックス情報を生成するインデックス情報生成手段14
1と、データベースファイル2に対し、そのデータベー
スアクセス言語記述に従った動作を行う純粋なホスト言
語文を生成するホスト言語文生成手段142と、ホスト
言語文生成手段142により生成されたホスト言語文を
原始プログラム中に埋め込み、中間プログラムを生成す
る再生成手段143と、再生成手段143により生成さ
れた中間プログラムを、出力装置に出力する中間プログ
ラム出力手段15とを含む。
【0013】まず、原始プログラム入力手段11は、原
始プログラムファイル1から利用者の原始プログラムを
取り出している。取り出された原始プログラムは、語彙
解析において、ある一定の規則を持った内部コード変換
テーブル7に従って内部コードに変換され、内部コード
ファイル3に格納される。内部コードファイル3に格納
された内部コードは、構文解析13のうち、文法解析手
段131によって、データベースアクセス言語の文法規
則に従って、文法的診断が施される。文法的診断の結果
、不正がなければ、次に意味解析手段132によってデ
ータベースファイル2と照合され、意味的診断が施され
ている。
【0014】情報生成14内のインデックス情報生成手
段141では、意味解析手段132から渡されたデータ
ベースアクセス言語記述が探索型か否かを判断し、探索
型ならば、探索条件内に指定されている表名および列名
をインデックス情報ファイル4に出力している。情報生
成14内のホスト言語文生成手段142では、与えられ
たデータベースアクセス言語記述に従って、その動作を
行うための純粋なホスト言語文を生成し、生成文ファイ
ル5内に格納している。情報生成14内の再生成手段1
43では、ホスト言語文生成手段142によって生成さ
れた生成文ファイル5と、利用者から与えられて原始プ
ログラムファイル1とから中間プログラムを生成してい
る。
【0015】最後に、中間プログラム出力手段15では
、再生成手段143で生成された中間プログラムを中間
プログラムファイル6で出力している。
【0016】図2〜図6は、本実施例のプリコンパイル
方式における動作の一例を示すSQLプリコンパイル説
明図である。
【0017】まず、原始プログラム入力手段11では、
原始プログラムファイル1から原始プログラムを取り出
し、語彙解析手段12で原始プログラム中のSQL記述
を図2に示すように、内部コード変換テーブル7に従っ
て内部コードに変換し、内部コードファイル3に格納し
ている。
【0018】文法解析手段131では、内部コードに変
換されたSQL記述をSQLの文法規則に従って解析し
ている。
【0019】次に、意味解析手段132では、図3に示
すように、SQL記述内の表および列記述と、データベ
ースファイル2内に存在している定義情報と照合し、記
述されている表および列が実存しているか診断している
【0020】図3では、“SELECT  T1.SA
LA  INTO  :S  FROM  T1  W
HERE  T1.LNO=‘015’”というSQL
記述内の表および列記述である“T1”、“SALA”
および“LNO”がデータベースファイル2内に存在し
ているので、次の情報生成14へ移る。
【0021】情報生成14内のインデックス情報生成手
段141では、内部コードの内、探索条件節コードをキ
ーとして、内部コードファイルを検索し、探索条件を検
出すると、その探索条件を構成している表名および列名
をインデックス情報ファイル4へ出力している。
【0022】図4で示すようにインデックス情報生成手
段141では探索条件節コード‘52’を検索しその後
に続く“T1.LNO=‘015’”の内、表名である
“T1”およびその構成列である“LNO”をインデッ
クス情報ファイル4へ出力している。
【0023】情報生成14内のホスト言語文生成手段1
42では、図5で示すように、SQL記述をアーギュメ
ントのデータ値として持つ、“SQL”という実行ルー
チンを呼び出すホスト言語文を生成し、生成文ファイル
5に出力している。
【0024】次に、再生成手段143では、ホスト言語
文生成手段142で生成されたホスト言語文を、図6の
ように、原始プログラム中に埋め込み、中間プログラム
出力手段15で、中間プログラムファイル6に出力して
いる。
【0025】
【発明の効果】以上説明したように、本発明のプリコン
パイル方式は利用者プログラム実行の前処理であるプリ
コンパイル時に、その原始プログラム中に存在している
探索型データベースアクセス言語記述で探索条件として
使用している表名および列名の情報を、プログラム実行
時に一時的なインデックスファイルが生成できるように
インデックス情報ファイルに出力することにより、実行
時に動的インデックスファイルを生成するのに必要な情
報が得られ、利用者があらかじめ、データベースファイ
ルを大きさを考慮した上で、キー指定列の選択を行った
り、キーの有無を把握した上でプログラムを作るといっ
た利用者の負荷を低減させることができるという効果を
有している。
【図面の簡単な説明】
【図1】本発明の一実施例であるプリコンパイル方式を
示すブロック図である。
【図2】本実施例のプリコンパイル方式における語彙解
析手段の動作を示すSQLプリコンパイル説明図である
【図3】本実施例のプリコンパイル方式における意味解
析手段の動作を示すSQLプリコンパイル説明図である
【図4】本実施例のプリコンパイル方式におけるインデ
ックス情報生成手段の動作を示すSQLプリコンパイル
説明図である。
【図5】本実施例のプリコンパイル方式におけるホスト
言語文生成手段の動作を示すSQLプリコンパイル説明
図である。
【図6】本実施例のプリコンパイル方式における再生成
手段および中間プログラム出力手段の動作を示すSQL
プリコンパイル説明図である。
【図7】従来のプリコンパイル方式を示す図である。
【符号の説明】
1    原始プログラムファイル 2    データベースファイル 3    内部コードファイル 4    インデックス情報ファイル 5    生成文ファイル 6    中間プログラムファイル 7    内部コード変換テーブル 11    原始プログラム入力手段 12    語彙解析手段 13    構文解析 131    文法解析手段 132    意味解析手段 14    情報生成 141    インデックス情報生成手段142   
 ホスト言語文生成手段 143    再生成手段 15    中間プログラム出力手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  原始プログラム中に含まれるデータベ
    ースアクセス言語記述を解析し、純粋なホスト言語ソー
    スに変換するプリコンパイル方式において、入力装置か
    らデータベースアクセス言語記述を含む原始プログラム
    を受け取る原始プログラム入力手段と、原始プログラム
    中のデータベースアクセス言語記述を探索し、そのデー
    タベースアクセス言語を構成する各文字列をある一定の
    規則を持った内部コード変換テーブルに従って内部コー
    ドに変換する、語意解析手段と、データベースアクセス
    言語記述が、そのデータベースアクセス言語の文法規則
    上、有効なものであるか診断する文法解析手段と、デー
    タベースアクセス言語記述内に出現する表や列が該デー
    タベースファイル上に実在し、かつその表を利用する権
    限を有するか診断する意味解析手段と、そのデータベー
    スアクセス言語記述が探索型である場合、探索条件の内
    容に従ってインデック情報を生成するインデックス情報
    生成手段と、該データベースファイルに対し、そのデー
    タベースアクセス言語記述に従った動作を行う純粋なホ
    スト言語文を生成するホスト言語文生成手段と、前記ホ
    スト言語文生成手段により生成されたホスト言語文を原
    始プログラム中に埋め込み、中間プログラムを生成する
    再生成手段と、前記再生成手段により生成された中間プ
    ログラムを、出力装置に出力する中間プログラム出力手
    段とを有することを特徴とするプリコンパイル方式。
JP3033856A 1991-02-28 1991-02-28 プリコンパイル方式 Pending JPH04273534A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3033856A JPH04273534A (ja) 1991-02-28 1991-02-28 プリコンパイル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3033856A JPH04273534A (ja) 1991-02-28 1991-02-28 プリコンパイル方式

Publications (1)

Publication Number Publication Date
JPH04273534A true JPH04273534A (ja) 1992-09-29

Family

ID=12398150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3033856A Pending JPH04273534A (ja) 1991-02-28 1991-02-28 プリコンパイル方式

Country Status (1)

Country Link
JP (1) JPH04273534A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0836514A (ja) * 1994-07-22 1996-02-06 Nec Corp リレーショナルデータベースの管理方式
JP2009230578A (ja) * 2008-03-24 2009-10-08 Fujitsu Ltd 検索キー最適化装置及び検索キー最適化プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0836514A (ja) * 1994-07-22 1996-02-06 Nec Corp リレーショナルデータベースの管理方式
JP2009230578A (ja) * 2008-03-24 2009-10-08 Fujitsu Ltd 検索キー最適化装置及び検索キー最適化プログラム

Similar Documents

Publication Publication Date Title
US8515733B2 (en) Method, device, computer program and computer program product for processing linguistic data in accordance with a formalized natural language
JPH11110416A (ja) データベースからドキュメントを検索するための方法および装置
JP2005165958A (ja) 情報検索システム、情報検索支援システム及びその方法並びにプログラム
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
CN112948419A (zh) 查询语句处理方法及装置
JPH0261763A (ja) 機械翻訳装置
JPH0344764A (ja) 機械翻訳装置
JPH04273534A (ja) プリコンパイル方式
KR960025181A (ko) 한글정보 검색에 관한 검색문 동적변환 방법
JPH07244669A (ja) 文書検索方式
JP4313967B2 (ja) 自然言語変換システム
JP2942414B2 (ja) 仮想データベース方式
JPH0320866A (ja) テキストベース検索方式
JPH0561902A (ja) 機械翻訳システム
JPH07121379A (ja) 複数言語混在コンパイラ
WO2001024053A2 (en) System and method for automatic context creation for electronic documents
JPH02207303A (ja) プラントのマンマシンインタフエース
JP3197110B2 (ja) 自然言語解析装置および機械翻訳装置
JPH0561679A (ja) 対話型インターフエイス方式
JP3267168B2 (ja) 自然言語変換システム
JP2752025B2 (ja) 機械翻訳装置
JP2002157246A (ja) 知識獲得支援システム用辞書作成方法、知識獲得支援システム
CN113326286A (zh) 一种支持多方言sql血缘解析的语义分析方法
JP2001125898A (ja) 言語解析処理の方法、システム
Vander Mey et al. SYMPLE: a general syntax directed macro preprocessor