JPH02178845A - データベース操作言語のプリコンパイル方式 - Google Patents

データベース操作言語のプリコンパイル方式

Info

Publication number
JPH02178845A
JPH02178845A JP33426288A JP33426288A JPH02178845A JP H02178845 A JPH02178845 A JP H02178845A JP 33426288 A JP33426288 A JP 33426288A JP 33426288 A JP33426288 A JP 33426288A JP H02178845 A JPH02178845 A JP H02178845A
Authority
JP
Japan
Prior art keywords
program
dml
database
declaration
execution
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
JP33426288A
Other languages
English (en)
Inventor
Keiichi Sugawara
菅原 啓一
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 JP33426288A priority Critical patent/JPH02178845A/ja
Publication of JPH02178845A publication Critical patent/JPH02178845A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データベース操作言語(DML:Datab
aseManupilation Language)
のプリコンパイル方式に利用され、特に、プログラム変
数の宣言文と、実行文のコンパイルを独立して行うこと
ができるプログラム言語中に記述されたデータベース操
作言語のプリコンパイル方式に関する。
〔概要〕
本発明は、データベース操作言語のプリコンパイルを行
う手段を備えたデータベースのプリコンパイル方式にお
いて、 データベースと利用者プログラム間の情報の受渡しを行
うためのプログラム変数の宣言に関する情報を前記デー
タベースに格納し、実行に関する情報の解析時にその格
納された情報を参照して与えられた情報の検査を行うよ
うにすることにより、プログラムの宣言部分と実行部分
とをそれぞれ独立して実行できるうようにし、処理効率
の向上を図ったものである。
〔従来の技術〕
従来、この種のデータベース操作言語のプリコンパイル
方式では、プログラム変数の解析結果は主記憶装置にの
み記憶していたため、プログラム変数の宣言文と実行文
を独立してコンパイルできる言語のプログラム中に記述
されたデータベース操作言語のプリコンパイルは不可能
な構成となっていた。
〔発明が解決しようとする問題点〕
前述した従来のデータベース操作言語<DML)のプリ
コンパイル方式は、プログラム変数の宣言の解析結果を
主記憶装置にのみ記憶しているため、プログラムの宣言
部分と実行部分のコンパイルをそれぞれ独立して行える
言語において、実行部分に記述されたデータベース操作
言語のプリコンパイルの際、宣言部分の解析結果が存在
せず、データベース操作言語に記述されたプログラム変
数の妥当性の検査ができないため、プログラムの宣言部
分と実行部分とをそれぞれ独立して実行できず、処理効
率の向上を図ることができない欠点があった。
本発明の目的は、前記の欠点を除去することにより、デ
ータベース操作言語で記述されたプログラム変数の妥当
性の検査ができ、プログラムの宣言部分と実行部分とを
それぞれ独立して実行でき、処理効率の向上を図ること
ができるデータベース操作言語のプリコンパイル方式を
提供することにある。
〔問題点を解決するための手段〕
本発明は、データベース操作言語のプリコンパイル処理
を行うプリコンパイル手段を備えたデータベース操作言
語のプリコンパイル方式において、前記プリコンパイル
手段は、データベースと利用者プログラム間の情報の受
渡しを行うためのプログラム変数の宣言に関する情報を
前記データベースに格納し、実行に関する情報の解析時
にその格納された情報を参照し与えられた情報の検査を
行うプログラム変数解析手段を含むことを特徴とする。
〔作用〕
プログラム変数解析手段は、データベース操作言語のプ
ログラムについて、まずその宣言部分の情報について解
析し、プログラム変数に関する情報をデータベースに格
納する。そして実行部分の解析時において、与えられた
情報中のプログラム変数に関する情報について、前記デ
ータベースに格納された情報を参照して適当であるかど
うかの検査を行う。
従って、実行部分のみのプリコンパイルでもプログラム
変数の妥当性を検査できるため、プログラムの宣言部分
と実行部分とをそれぞれ独立してコンパイルすることが
できるようになり、処理効率の向上を図ることが可能と
なる。
〔実施例〕
以下、本発明の実施例について図面を参照して説明する
第1図は、本発明の一実施例を示すブロック構成図であ
る。
本実施例は、データベース操作言語のプリコンパイル処
理を行うプリコンパイル手段(第1図のブロック図で示
す全体装置)を備えたデータベース操作言語のプリコン
パイル方式において、前記プリコンパイル手段は、デー
タベースと利用者プログラム間の情報の受渡しを行うた
めのプログラム変数の宣言に関する情報を前記データベ
ースに格納し、実行に関する情報の解析時にその格納さ
れた情報を参照し与えられた情報の検査を行うプログラ
ム変数解析手段としての、DML宣言解析手段4および
DML実行解析手段5を含んでいる。
なお、第1図において、1は全体の制御を行う制御手段
、2はプログラムがDML文であるかホスト言語文であ
るかを識別しそれぞれの解析手段に通知するDMI別手
投手段はデータベースアクセス手段、8はホスト言語文
を生成する生成手段、9はDML文をホスト言語文に変
換するDML変換手段、および9は主記憶装置である。
本発明の特徴は、第1図において、プログラム変数解析
手段としての、DML宣言解析手段4およびDML実行
解析手段5を設けたことにある。
次に、本実施例の動作について第2図(a)および(b
)に示す流れ図を参照して説明する。ここで、第2図(
a)はDML文の解析手順を示し、第2図(b)はホス
ト言語文の生成手順を示す。
制御手段1は、解析手段2と生成手段8を呼び出し、プ
リコンパイルを行う。
解析手段2は、ホスト言語およびデータベース操作言語
の記述されたプログラム(以下単にプログラムという。
)から1命令を取り出し、それがDML文であるか、ホ
スト言語文であるか識別する。DML文であれば入力し
た命令をDML識別手段3に通知するくステップSl)
DML識別手段3は、通知されたDML文がプログラム
変数の宣言文(以下、DML宣言文という。)であるか
、データベースに接近する命令(以下DML実行文とい
う。)であるかを判定しくステップS2) 、DML宣
言文の場合はDML宣言解析手段4にDML文を通知し
くステップS3)、DML実行文の場合はDML実行解
析手段5にDML文を通知する(ステップS4)。
DML宣言解析手段4は、通知されたDML宣言文の解
析を行い、例えば変数名やデータタイプといったプログ
ラム変数の属性情報をデータベースアクセス手段6に通
知するとともに、主記憶装置7に記憶させる(ステップ
S5)。
DML実行解析手段5は、通知されたDML実行文の解
析を行いDML実行文をホスト言語文に変換するための
情報を主記憶装置7に記憶させる。
このとき、DML実行文中にプログラム変数が記述され
ていれば、データベースアクセス手段6によりデータベ
ースを検索して当該プログラム変数の属性情報を得て、
プログラム変数の属性が適当なものであるか検査する(
ステップS6)。
データベースアクセス手段6は、DML宣言解析手段4
または、DML実行解析手段5の指定に従いデータベー
スを更新または検索する(ステップS7)。
一方、生成手段8は、解析手段2の一連の動作により得
た解析結果を元にホスト言語文を生成する。ただし、命
令がDML文の場合、DML変換手段9に生成を依頼す
る(ステップ511)。
DML変換手段9は、生成を依頼されたDML文の主記
憶装置7に記憶されている解析結果を参照して、DML
文に対応するホスト言語文を生成する (ステップ51
2)。
次に、第1表、第2表および第3表に示す具体例を参照
して説明する。
第1表および第2表によると、プログラムAは、宣言部
AJeclareと実行部A−eXecL+teとから
なる。
また、A−declareとA−e)(ecuteとは
独立してコンパイル可能であるとする。また、プログラ
ム中にDML文を記述する場合は、命令の先頭にrDM
L」と記述するものとする。
宣言部A−declareには、データベースと情報の
やりとりを行うプログラム変数の宣言と、プログラムA
のみで使用されるプログラム変数の宣言とがある。また
、実行部A−ey、ecuteには、データベースを検
索するDML実行文と、結果を出力するホスト言語文が
記述されている。
つ0 第1表 (宣言部 A−cleclare)制御手段1
は、解析手段2を呼び出し、次に生成手段8を呼び出す
解析手段2は、プログラムから1命令ずつ入力し全ての
命令の処理を完了した時点で解析手段2の処理を終える
ものとする。解析手段2が起動されると、プログラムか
ら先頭の命令を入力し、DML文が判定する。
■ 最初に入力した命令はrDMLJが記述されていな
いため、ホスト言語文と判断する。
■ 次にプログラムから1命令を人力すると、rDML
Jが記述されており、rDML文である」と判断し、D
ML識別手段3を起動する。
■ DMJ別手段3は、通知されたDML文がDML宣
言文であると判断しDML宣言解析手段4を起動する。
■ DML宣言解析手段4は、DML宣言文を解析し、
プログラム変数名NAMAEとデータタイプとを知り、
データベースアクセス手段6を起動してデータベース1
0に登録する。同時に、主記憶装置7にも記憶させる。
このときデータベース10に登録する情報の一例を第3
表に示す。
第3表 プログラム変数の属性 以下の命令も同様に■〜■の処理を繰り返して全ての命
令を解析する。
生成手段8は、全ての命令に対してホスト言語文を生成
した時点で処理を終える。
生成手段8が起動されると、 ■ 最初の命令はホスト言語文であり、何も変更せずに
出力する。
■ 次の命令はDML宣言文であるので、DML生成手
段9を起動してプログラム変数名NAMAEを宣言する
ホスト言語文を生成する。
以下の命令も同様にして生成する。
このようにして、宣言部A−declareのプリコン
パイルを行った結果、プログラム変数NAMAEの属性
情報がデータベースに登録される。
次に、実行部A−executeのプリコンパイルを行
う。
前記と同様に解析手段2が起動される。
解析手段2は、1命令ずつ入力し、DML文かホスト言
語文かの識別を行いながら解析をし、DML実行文を見
つけたとするとDML実行解析手段5を起動する。
DML実行解析手段5は、まずDML実行文を解析しプ
ログラム変数NAMAE(!:JYUSHOが使用され
ていることを知る。次に、DML実行文解析手段5は、
プログラム変数の妥当性を検査する。
■ プログラム変数NAMAEの属性を得るためにデー
タベースアクセス手段6を起動して属性が文字列である
ことを知り、プログラム変数NAMAEは適当であると
判断する。
■ プログラム変数JYUSHOの属性を得るために、
データベースアクセス手段6を起動して属性を得ようと
するが、データベースに登録されていないため属性はあ
られず、プログラム変数JYUSHOは不適当と判断す
る。
解析手段2で異常が検出されたため、生成手段8は起動
されない。
〔発明の効果〕
以上説明したように、本発明は、プログラム変数の属性
情報をデータベースに登録することによって、実行部分
のみのプリコンパイルでもプログラム変数の妥当性の検
査を行えるようになるため、プログラムの宣言部分と実
行部分とをそれぞれ独立してコンパイルすることができ
、処理効率を向上できる効果がある。
また、プログラムの処理ロジックを変更したい場合も宣
言部をプリコンパイルする必要がなくなり、変更点が局
所化される効果もある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック構成図。 第2図(a)および(b)はその動作を示す流れ図。 1・・制御手段、2・・・解析手段、3・・DML識別
手段、4・・・DML宣言解析手段、5・・・DML実
行解析手段、6・・・データベースアクセス手段、7・
主記憶装置、訃・・生成手段、9・・DML生成手段、
10・・・データベース、81〜S7、Sll−S12
・・・ステップ。

Claims (1)

  1. 【特許請求の範囲】 1、データベース操作言語のプリコンパイル処理を行う
    プリコンパイル手段を備えたデータベース操作言語のプ
    リコンパイル方式において、 前記プリコンパイル手段は、 データベースと利用者プログラム間の情報の受渡しを行
    うためのプログラム変数の宣言に関する情報を前記デー
    タベースに格納し、実行に関する情報の解析時にその格
    納された情報を参照し与えられた情報の検査を行うプロ
    グラム変数解析手段を含むことを特徴とするデータベー
    ス操作言語のプリコンパイル方式。
JP33426288A 1988-12-29 1988-12-29 データベース操作言語のプリコンパイル方式 Pending JPH02178845A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33426288A JPH02178845A (ja) 1988-12-29 1988-12-29 データベース操作言語のプリコンパイル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33426288A JPH02178845A (ja) 1988-12-29 1988-12-29 データベース操作言語のプリコンパイル方式

Publications (1)

Publication Number Publication Date
JPH02178845A true JPH02178845A (ja) 1990-07-11

Family

ID=18275377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33426288A Pending JPH02178845A (ja) 1988-12-29 1988-12-29 データベース操作言語のプリコンパイル方式

Country Status (1)

Country Link
JP (1) JPH02178845A (ja)

Similar Documents

Publication Publication Date Title
US5956512A (en) Computer program debugging in the presence of compiler synthesized variables
US6219831B1 (en) Device and method for converting computer programming languages
US5371747A (en) Debugger program which includes correlation of computer program source code with optimized object code
JPH02178845A (ja) データベース操作言語のプリコンパイル方式
JPH07182179A (ja) オブジェクト指向データベース管理装置
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
US6311227B1 (en) Procedure calling method
KR970011897B1 (ko) 언어해석 처리장치
JP2728504B2 (ja) 入力命令文検査装置
JPS62274433A (ja) リレ−シヨナル・デ−タベ−ス管理システムの部分コンパイル方式
Nagornaya Syntactically correct multilevel structured program design
JPH01232428A (ja) データベース問い合わせ処理装置
Walden Macro memories, 1964–2013
Patnaik et al. Implementation of CSP-S for description of distributed algorithms
JPH04205422A (ja) プログラム自動翻訳結合及び選択方法
Noll Jens Katelaan
JPH10214194A (ja) クラス定義取り込み方式
JPH0498322A (ja) コンパイラの作成方法
JPH02222032A (ja) 加減算命令の最適化方式
JPH07244601A (ja) 関係データベースのアクセス方法および装置
JPH04344932A (ja) 分散プログラミング方法
JPH07141165A (ja) 情報処理装置
JPS63138426A (ja) プログラム生成方式
JPS63269229A (ja) 文字列操作系命令コンパイル処理方式
JPH07105014A (ja) 言語処理システムのシンボル処理方式