JPH07160492A - 資源アクセスプログラムのチェック装置 - Google Patents

資源アクセスプログラムのチェック装置

Info

Publication number
JPH07160492A
JPH07160492A JP30946493A JP30946493A JPH07160492A JP H07160492 A JPH07160492 A JP H07160492A JP 30946493 A JP30946493 A JP 30946493A JP 30946493 A JP30946493 A JP 30946493A JP H07160492 A JPH07160492 A JP H07160492A
Authority
JP
Japan
Prior art keywords
array
program
source program
specified
attribute
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
JP30946493A
Other languages
English (en)
Inventor
Takao Chihara
隆夫 千原
Toshihiko Sugimoto
敏彦 杉本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP30946493A priority Critical patent/JPH07160492A/ja
Publication of JPH07160492A publication Critical patent/JPH07160492A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 資源をアクセスするプログラムのチェックを
行なう装置に関し、日本語システムを対象として記述さ
れたプログラムで英数字システムをアクセスするものそ
のままオブジェクトプログラム生成する。 【構成】 ソースプログラム100を読み込み、既存の
資源102に含まれる配列104とソースプログラム1
00内で定義された配列106とが転記または比較する
命令108を検索し、両配列104,106を指定する
配列対指定手段10と、指定された既存配列104の要
素属性を既存の資源102における配列定義の部分から
抽出する配列情報抽出手段12と、プログラム内定義の
配列106の要素属性をソースプログラム100の内容
から特定する配列情報特定手段14と、抽出された要素
属性と特定された要素属性とが異なるときに、指定され
た既存配列104の要素属性が指定されたプログラム内
定義配列106の要素属性へ変更された内容にソースプ
ログラム100を書き替えるプログラム書替手段16
と、を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、既存の資源をアクセス
するプログラムのチェックを行なう装置に関するもので
ある。
【0002】データベースをアクセスするアプリケーシ
ョンプログラムのコンパイル時には、データベース側と
プログラム側との間でデータの型と長さとが一致してい
るか否かがチェックされる。
【0003】
【従来の技術】日本語の取り扱えるリレーショナルデー
タベースを対象としてソースプログラムが作成され、英
数字のみを取り扱う既存のリレーショナルデータベース
に用意されたいずれかの表のいずれかの列(カラム)へ
日本語の文字列を転記する命令が同ソースプログラムで
記述されていた場合、リレーショナルデータベースマネ
ジメントシステム用に提供のコンパイラ(例えば、4G
Lコンパイラ)へそのソースプログラムが引き渡される
と、転記元の日本語文字列と転記先のデータベース列と
の間でデータの型と長さが不一致となることから、この
転記命令のエラーが指摘され、コンパイルが失敗する
(比較命令が記述された場合も同様)。
【0004】例えば、英字が格納されるものと定義され
たデータベース列のNAMEへ日本語の文字列”太郎”
を格納する命令がソースプログラムで記述されていた場
合には、日本語文字列”太郎”とデータベース列NAM
Eのデータ型が一致しないので、コンパイルエラーが発
生する。
【0005】そこで従来においては、英数文字を日本語
文字として再定義する変数(いわば、日本語文字と英数
文字との仲介役を果たす変数で、C言語のunionに
相当)が用意され、これを介して文字列の転記や比較が
行なわれていた。
【0006】
【発明が解決しようとする課題】しかしながら、再定義
変数の領域が余分に必要となり、また、この再定義変数
との間でデータを転送する処理が追加されることからソ
ースプログラムのステップ数が増加する。
【0007】そして、再定義変数にデータベースの表定
義が直接的に反映されない(プログラマが記述する)の
で、転記元と転記先や両比較対象の同一性を完全に保証
できず、プログラムの信頼性が低下する。
【0008】さらに、再定義する変数が再定義される変
数の直後に記述されるので、データフォーマットが理解
しにくいものとなり、したがって、プログラムの可読性
が低下する。
【0009】そのうえ、データ名に修飾部分を付け加え
てデータ名を一意化する記述が行なわれるので、プログ
ラム入力のタイプ量が増加し、このため、プログラムの
生産性が低下する。
【0010】本発明は上記従来に事情に鑑みてなされた
ものであり、その目的は、日本語を取り扱えるデータベ
ースシステムを対象として転記命令や比較命令が記述さ
れたソースプログラムで英数字のみを取り扱うデータベ
ースシステムをアクセスするものからそのままオブジェ
クトプログラムを生成することが可能となる装置を提供
することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明にかかる装置は図1のように構成されてお
り、同図の装置は、ソースプログラム100を読み込
み、既存の資源102に含まれる配列104とソースプ
ログラム100内で定義された配列106とが転記また
は比較の対象となる命令108を検索し、両配列10
4,106を指定する配列対指定手段10と、指定され
た既存配列104の要素属性を既存の資源102におけ
る配列定義の部分から抽出する配列情報抽出手段12
と、指定されたプログラム内定義配列106の要素属性
をソースプログラム100の内容から特定する配列情報
特定手段14と、抽出された要素属性と特定された要素
属性とが異なるときに、指定された既存配列104の要
素属性が指定されたプログラム内定義配列106の要素
属性へ各々変更された内容にソースプログラム100を
書き替えるプログラム書替手段16と、を有している。
【0012】
【作用】資源102をリレーショナルデータベースと
し、配列104をリレーショナルデータベース102に
おいて定義された列(カラム)の英数文字列とし、配列
106を日本語文字列とし、命令108は日本語文字列
106を英数文字列104へ格納する転記命令とした場
合、配列対指定手段10は、ソースプログラム100を
読み込んで転記命令108を検索し、英数文字列配列1
04と日本語文字列106を指定する。
【0013】配列情報抽出手段12は配列対指定手段1
0により指定された英数文字列104のデータ型(英数
文字の配列)をデータベース102の配列定義の部分か
ら抽出する。
【0014】また、配列情報特定手段14は配列対指定
手段10により指定された日本語文字列106のデータ
型(日本語文字の配列)をソースプログラム100の内
容から特定する。
【0015】さらにプログラム書替手段16は、配列情
報抽出手段12が抽出した属性と配列情報特定手段14
が特定した要素属性とが異なるか否かを判断し、文字列
104が英数文字の配列で、文字列106が日本語文字
の配列であることから、要素属性が異なる旨の判断を行
なう。
【0016】そして、英数文字列104の属性を日本語
文字列106の属性へ変更された内容にソースプログラ
ム100を書き替え必要に応じて長さを揃える。例えば
英数文字列104が20桁で、日本語文字列106が1
0桁であった場合、文字列104を10桁の日本語文字
列に変換する。
【0017】したがって、前記のコンパイラ(例えば、
リレーショナルデータベースマネジメントシステム用に
提供された4GLコンパイラ:インタプリタであっても
良い)は、転記元となる日本語文字列106と転記先と
なる英数文字列104のデータ型(及び長さ)が一致す
ることから、転記命令108でエラー検出を行なうこと
がない。
【0018】このため、ソースプログラム100を修正
することなくそのままコンパイルすることで、目的のア
プリケーションプログラムを直ちに生成することが可能
となる。
【0019】
【実施例】図2において、RDBMS(リレーショナル
データベースマネジメントシステム)200は英数字の
みを取り扱い、データベース202(データベース名D
B)を管理する。このDB202にはカラムNAME
1,NAME2が用意されており、それらは英数字で2
0桁と定義されている。
【0020】そして、ソースプログラム204には資源
定義の部分と処理定義の部分が設けられており、資源定
義の部分ではデータベース名DBが記述され、その記述
により、データベース202が選択される。
【0021】また、処理定義の部分には2つの転記命令
が記述されており、最初の転記命令{ 転記 N”太
郎”→NAME1 }により日本語文字列”太郎”がデ
ータベースカラムNAME1へ転記され、次の転記命令
{ 転記 ”TARO”→NAME2 }により英数文
字列”TARO”がデータベースカラムNAME2へ転
記される。
【0022】さらに、プログラム生成システム206
(4GLコンパイラ)はソースプログラム204を読み
込んでデータベース202のカラム定義を参照し、オブ
ジェクトプログラム208を生成する。
【0023】図3ではプログラム生成システム206の
構成が説明されており、同図において、プログラム生成
システム206はプログラム入力部300,資源定義情
報取り込み部302,カラム定義情報記憶部304,転
記命令解析部306,属性変換候補抽出部308,属性
変換部310,属性変換情報記憶部312,オブジェク
トプログラム生成部314を有している。
【0024】これらのうち、プログラム入力部300は
ソースプログラム204を読み込み、資源定義の部分か
らデータベース202の名称DBを特定して資源定義情
報取り込み部302に通知し、処理定義の部分から転記
命令を取り出して転記命令解析部306に通知する。
【0025】データベース名DBがプログラム入力部3
00から通知されると、資源定義情報取り込み部302
はデータベース名DBをRDBMS200に引き渡して
そのカラム定義を要求し、RDBMS200からデータ
ベース202のカラム定義に関する情報を受け取る。
【0026】この例ではカラムNAME1,NAME2
がともに英数字20桁であることを示すカラム定義の情
報を資源定義情報取り込み部302がRDBMS200
から受け取り、それらはカラム定義情報記憶部304で
記憶される。
【0027】また転記命令解析部306はプログラム入
力部300から通知された転記命令を解析し、日本語文
字列をデータベースカラムへ格納する転記命令を選択
し、その命令を他の命令とともに属性変換候補抽出部3
08へ通知する。
【0028】属性変換候補抽出部308は転記命令解析
部306から通知された転記命令のうち、転記命令解析
部306が選択されたものの内容を調べ、日本語文字列
が格納されるデータベースカラムの名称を抽出し、これ
とその命令とを他に関する情報とともに属性変換部31
0へ通知する。
【0029】この例では、ソースプログラム204の処
理定義部分に記述された2つの転記命令のうち、最初の
転記命令{ 転記 N”太郎”→NAME1 }が日本
語文字列”太郎”を名称NAME1のデータベースカラ
ムへ転記するので、その転記命令を転記命令解析部30
6が選択して属性変換候補抽出部308へ他方の転記命
令に関する情報とともに通知し、属性変換候補抽出部3
08はカラム名NAME1を通知された最初の転記命令
から抽出し、そのカラム名NAME1と最初の転記命令
を他方の転記命令に関する情報とともに属性変換部31
0へ通知する。
【0030】属性変換部310は属性変換候補抽出部3
08からカラム名,転記命令及び他の情報が通知された
ときにカラム定義情報記憶部304の記憶内容を全て読
み出し、属性変換候補抽出部308から通知されたカラ
ム名と一致するカラム名が含まれるカラム定義の情報を
検索する。
【0031】さらに、属性変換候補抽出部308から通
知された転記命令を参照し、検索したカラム定義の情報
についてのみ属性変換が可能であるか否かを調べ、可能
であるときには、検索したカラム定義の情報を転記元と
同様に日本語文字列で同一長さのデータベースカラムで
あることを示すものへ変換し、他のカラム定義情報とと
もに属性変換情報記憶部312へ書き込み、処理の終了
をオブジェクトプログラム生成部314へ通知する。
【0032】この例では、カラムNAME1に関する定
義情報{ NAME1 $英数字#桁数 20 },N
AME2に関する定義情報{ NAME2 $英数字
#桁数 20 }のうち、日本語文字列”太郎”の転記
先となるカラムNAME1の定義情報{ NAME1
$英数字 #桁数 20 }のみが{ NAME1$日
本語 #桁数 10 }へ変換される。
【0033】オブジェクトプログラム生成部314は属
性変換部310から処理の終了が通知されたときにソー
スプログラム204をプログラム入力部300から取り
込み、最初に、ソースプログラム204の書式をチェッ
クする。
【0034】次に、ソースプログラム204から全ての
転記命令を逐次検索し、転記命令を検索する毎に属性変
換情報記憶部312をアクセスして該当するカラム定義
の情報を取り出し、この情報をソースプログラム204
(中間ファイル)に用意したデータ項目定義の記述部分
し(図2参照)へ挿入する。
【0035】その後、全転記命令の検索が終了してカラ
ム定義情報の挿入処理が完了すると、エラー発生の有無
が調べられ、エラーが発生していた場合には、オブジェ
クトプログラム208を生成することなく、エラーが発
生したソースプログラム204上の位置とエラー原因と
を出力して処理を終了する。
【0036】またエラーが発生していなかった場合に
は、データ項目定義の記述部分へカラム定義の情報が挿
入されたソースプログラム204をコンパイルしてオブ
ジェクトプログラム208を生成し、ファイル出力す
る。
【0037】以上のように、英数字20桁のデータベー
スカラムNAME1へ日本語文字列”太郎”を転記する
命令が日本語システムを前提のソースプログラム204
に記述されていた場合であっても、このデータベースカ
ラムNAME1を日本語文字列10桁とする内容へソー
スプログラム204が自動的に書き替えられるので、ソ
ースプログラム204の修正作業が不要となる。
【0038】したがって、既存のプログラム資産(ソー
スプログラム204)を英字システム(RDBMS20
2)用にそのまま流用でき、このため、プログラムの生
産性をさらに高めることが可能となる。
【0039】また、特殊な変数を用意して英字システム
との互換性を確保する難解な記述が行なわれないので、
変数の記憶資源を節約しながら、ソースプログラム20
4の流通性及び保守性を著しく高めることが可能とな
る。
【0040】そのうえ、ソースプログラム204やオブ
ジェクトプログラム208にデータベース202の表定
義内容が直接的に反映されるので、転記元と転記先(比
較対象についても同様)の同一性を確実に保証でき、こ
のため、プログラムの信頼性を低下させることがない。
【0041】
【発明の効果】以上説明したように本発明によれば、特
殊な変数や記述を挿入することなく日本語システム用の
ソースプログラムを英字システムアクセス用のものとし
てそのまま流用できるので、変数の記憶資源を節約しな
がらソースプログラムの生産性,流通性,保守性を高
め、その信頼性を維持することが可能となる。
【図面の簡単な説明】
【図1】発明の原理説明図である。
【図2】実施例の全体構成説明図である。
【図3】実施例におけるプログラム生成システムの構成
説明図である。
【符号の説明】
200 RDBMS 202 データベース 204 ソースプログラム 206 プログラム生成システム 208 オブジェクトプログラム 300 プログラム入力部 302 資源定義情報取り込み部 304 カラム定義情報記憶部 306 転送命令解析部 308 属性変換候補抽出部 310 属性変換部 312 属性変換情報記憶部 314 オブジェクトプログラム生成部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラム(100)を読み込
    み、既存の資源(102)に含まれる配列(104)と
    ソースプログラム(100)内で定義された配列(10
    6)とが転記または比較の対象となる命令(108)を
    検索し、両配列(104,106)を指定する配列対指
    定手段(10)と、 指定された既存配列(104)の要素属性を既存の資源
    (102)における配列定義の部分から抽出する配列情
    報抽出手段(12)と、 指定されたプログラム内定義配列(106)の要素属性
    をソースプログラム(100)の内容から特定する配列
    情報特定手段(14)と、 抽出された要素属性と特定された要素属性とが異なると
    きに、指定された既存配列(104)の要素属性が指定
    されたプログラム内定義配列(106)の要素属性へ変
    更された内容にソースプログラム(100)を書き替え
    るプログラム書替手段(16)と、 を有する、 ことを特徴とした資源アクセスプログラムのチェック装
    置。
JP30946493A 1993-12-09 1993-12-09 資源アクセスプログラムのチェック装置 Pending JPH07160492A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30946493A JPH07160492A (ja) 1993-12-09 1993-12-09 資源アクセスプログラムのチェック装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30946493A JPH07160492A (ja) 1993-12-09 1993-12-09 資源アクセスプログラムのチェック装置

Publications (1)

Publication Number Publication Date
JPH07160492A true JPH07160492A (ja) 1995-06-23

Family

ID=17993312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30946493A Pending JPH07160492A (ja) 1993-12-09 1993-12-09 資源アクセスプログラムのチェック装置

Country Status (1)

Country Link
JP (1) JPH07160492A (ja)

Similar Documents

Publication Publication Date Title
KR890002329B1 (ko) 테이블형 언어 번역기
US5752020A (en) Structured document retrieval system
US20040167917A1 (en) Database processing method and system
JPH05505050A (ja) 変更ファイルから情報を検索するためにデータベースコンポーネントファイルを探索する方法及び装置
JPH08194719A (ja) 検索装置および辞書/テキスト検索方法
JPH02271468A (ja) データ処理方法
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
JPH11110416A (ja) データベースからドキュメントを検索するための方法および装置
US20020194169A1 (en) Database processing method
US20220004708A1 (en) Methods and apparatus to improve disambiguation and interpretation in automated text analysis using structured language space and transducers applied on automatons
JPH07146880A (ja) 文書検索装置及び方法
JPH07160492A (ja) 資源アクセスプログラムのチェック装置
KR100327114B1 (ko) 문장골격을 기반으로 한 자동번역 시스템 및 그 방법
JPH05128159A (ja) キーワード抽出方法及び装置
JPH02253474A (ja) テキストベース検索方法
JPH03268064A (ja) データ検索装置及びデータ検索方法
JP3018579B2 (ja) 名前検索処理装置
JP3294966B2 (ja) 機械翻訳装置
JPH07281879A (ja) アプリケーションプログラム編集装置
JPS61150069A (ja) 翻訳編集装置
JPH02171832A (ja) データチェック方式
JPH0227476A (ja) 情報検索方式
JPS63238622A (ja) 関連検索方式
JPH01195534A (ja) 翻訳方式
JPH09231116A (ja) データベース言語再発行装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020108