JPH06236262A - Cobolプログラムのデータ構造展開方式 - Google Patents
Cobolプログラムのデータ構造展開方式Info
- Publication number
- JPH06236262A JPH06236262A JP5044578A JP4457893A JPH06236262A JP H06236262 A JPH06236262 A JP H06236262A JP 5044578 A JP5044578 A JP 5044578A JP 4457893 A JP4457893 A JP 4457893A JP H06236262 A JPH06236262 A JP H06236262A
- Authority
- JP
- Japan
- Prior art keywords
- command
- source image
- definition
- data item
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 3
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】 本発明は、COBOL言語で記述されたアプ
リケーション・プログラムを対象に、種々の解析処理に
おいて共通して利用可能な汎用性のあるプログラム構造
の記述形式を提供し、解析ツールの開発負荷を軽減する
ことを目的とする。 【構成】 本発明は、字句解析部1と、構文解析部2
と、該構文解析部2の処理結果から上記アプリケーショ
ン・プログラムの情報をデータ構造に基づいて展開した
ソース・イメージテーブル10を作成するソース・イメ
ージテーブル作成部3と、該ソース・イメージテーブル
10を参照しながら、データ項目定義を木構造で構成さ
れるデータ構造に基づいて展開したデータ項目定義テー
ブル11を作成するデータ項目定義テーブル作成部4
と、該ソース・イメージテーブル10を参照しながら、
命令定義を木構造で構成されるデータ構造に基づいて展
開した制御構造テーブル12を作成する制御構造テーブ
ル作成部5とからなる。
リケーション・プログラムを対象に、種々の解析処理に
おいて共通して利用可能な汎用性のあるプログラム構造
の記述形式を提供し、解析ツールの開発負荷を軽減する
ことを目的とする。 【構成】 本発明は、字句解析部1と、構文解析部2
と、該構文解析部2の処理結果から上記アプリケーショ
ン・プログラムの情報をデータ構造に基づいて展開した
ソース・イメージテーブル10を作成するソース・イメ
ージテーブル作成部3と、該ソース・イメージテーブル
10を参照しながら、データ項目定義を木構造で構成さ
れるデータ構造に基づいて展開したデータ項目定義テー
ブル11を作成するデータ項目定義テーブル作成部4
と、該ソース・イメージテーブル10を参照しながら、
命令定義を木構造で構成されるデータ構造に基づいて展
開した制御構造テーブル12を作成する制御構造テーブ
ル作成部5とからなる。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、COBOL言語で記述
された既存アプリケーション・プログラムの再構築、再
設計、部品化再利用、メンテナンスなどを行なうための
アプリケーション・プログラムに対する各種解析処理の
前処理としてアプリケーション・プログラムをデータ構
造に基づいて展開するデータ構造展開方式に関する。
された既存アプリケーション・プログラムの再構築、再
設計、部品化再利用、メンテナンスなどを行なうための
アプリケーション・プログラムに対する各種解析処理の
前処理としてアプリケーション・プログラムをデータ構
造に基づいて展開するデータ構造展開方式に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】アプリ
ケーション・プログラムの再構築、再設計、部品化再利
用、メンテナンスなどを行なう場合、それぞれの処理に
対応する各種解析ツールを用いて必要な解析処理を行な
う。
ケーション・プログラムの再構築、再設計、部品化再利
用、メンテナンスなどを行なう場合、それぞれの処理に
対応する各種解析ツールを用いて必要な解析処理を行な
う。
【0003】従来、この種の解析ツールは、各ツ−ル間
に共通して利用可能なデータ構造が確立されておらず、
プログラム構造の記述をそれぞれ独自の形式で行なって
いた。そのため、アプリケーション・プログラムの解析
処理を行なう場合において、解析処理、及び展開処理、
展開形式などを最初から開発することが必要になり、時
間的にも労力的にも多大な負荷がかかるという欠点があ
った。
に共通して利用可能なデータ構造が確立されておらず、
プログラム構造の記述をそれぞれ独自の形式で行なって
いた。そのため、アプリケーション・プログラムの解析
処理を行なう場合において、解析処理、及び展開処理、
展開形式などを最初から開発することが必要になり、時
間的にも労力的にも多大な負荷がかかるという欠点があ
った。
【0004】また、既に同様の解析処理が行なわれたこ
とのあるアプリケーション・プログラムについて、かか
る既存の解析結果を流用する場合であっても、プログラ
ム構造の記述が流用した解析ツ−ルの記述形式に依存す
ることになり、汎用性がなくなるという欠点があった。
とのあるアプリケーション・プログラムについて、かか
る既存の解析結果を流用する場合であっても、プログラ
ム構造の記述が流用した解析ツ−ルの記述形式に依存す
ることになり、汎用性がなくなるという欠点があった。
【0005】本発明は、COBOL言語で記述されたア
プリケーション・プログラムを対象に、上記従来の課題
を解決し、種々の解析処理において共通して利用可能な
汎用性のあるプログラム構造の記述形式を提供し、様々
な解析ツールの開発負荷を軽減することを課題としてい
る。
プリケーション・プログラムを対象に、上記従来の課題
を解決し、種々の解析処理において共通して利用可能な
汎用性のあるプログラム構造の記述形式を提供し、様々
な解析ツールの開発負荷を軽減することを課題としてい
る。
【0006】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は、COBOL言語で記述されたアプリケー
ション・プログラムのソースプログラムをデータ構造に
基づいて展開するCOBOLプログラムのデータ構造展
開方式において、上記COBOL言語で記述されたアプ
リケーション・プログラムのソースプログラムを字句に
分解する字句解析部と、該字句解析部の字句解析処理で
得られた字句の並びに対して構文解析をする構文解析部
と、該構文解析部の構文解析処理の結果から上記アプリ
ケーション・プログラムの命令文本体、各種定義、命令
文の命令種別、命令構造、参照及び更新データ項目など
の構成要素からなる情報をデータ構造に基づいて展開し
たソース・イメージテーブルを作成するソース・イメー
ジテーブル作成部と、該ソース・イメージテーブル作成
部で作成したソース・イメージテーブルを参照しなが
ら、上記アプリケーション・プログラムのデータ項目定
義部分を対象とし、該データ項目定義を木構造で構成さ
れるデータ構造に基づいて展開したデータ項目定義テー
ブルを作成するデータ項目定義テーブル作成部と、該ソ
ース・イメージテーブル作成部で作成したソース・イメ
ージテーブルを参照しながら、上記アプリケーション・
プログラムの命令定義部分を対象とし、該命令定義を木
構造で構成されるデータ構造に基づいて展開した制御構
造テーブルを作成する制御構造テーブル作成部とからな
ることを特徴とする。
め、本発明は、COBOL言語で記述されたアプリケー
ション・プログラムのソースプログラムをデータ構造に
基づいて展開するCOBOLプログラムのデータ構造展
開方式において、上記COBOL言語で記述されたアプ
リケーション・プログラムのソースプログラムを字句に
分解する字句解析部と、該字句解析部の字句解析処理で
得られた字句の並びに対して構文解析をする構文解析部
と、該構文解析部の構文解析処理の結果から上記アプリ
ケーション・プログラムの命令文本体、各種定義、命令
文の命令種別、命令構造、参照及び更新データ項目など
の構成要素からなる情報をデータ構造に基づいて展開し
たソース・イメージテーブルを作成するソース・イメー
ジテーブル作成部と、該ソース・イメージテーブル作成
部で作成したソース・イメージテーブルを参照しなが
ら、上記アプリケーション・プログラムのデータ項目定
義部分を対象とし、該データ項目定義を木構造で構成さ
れるデータ構造に基づいて展開したデータ項目定義テー
ブルを作成するデータ項目定義テーブル作成部と、該ソ
ース・イメージテーブル作成部で作成したソース・イメ
ージテーブルを参照しながら、上記アプリケーション・
プログラムの命令定義部分を対象とし、該命令定義を木
構造で構成されるデータ構造に基づいて展開した制御構
造テーブルを作成する制御構造テーブル作成部とからな
ることを特徴とする。
【0007】かかるデータ構造展開方式において、ソー
ス・イメージテーブルは、アプリケーション・プログラ
ム中の命令文どうしの関係を示すと共に対応する命令文
を格納した領域のアドレスを登録してなるコマンドテー
ブルと、該対応する命令文の種類に応じて該命令文の構
成を示す情報を登録した命令文テーブルとからなり、上
記コマンドテーブルが必要に応じて上記命令文テーブル
をポインタ参照することを特徴とする。
ス・イメージテーブルは、アプリケーション・プログラ
ム中の命令文どうしの関係を示すと共に対応する命令文
を格納した領域のアドレスを登録してなるコマンドテー
ブルと、該対応する命令文の種類に応じて該命令文の構
成を示す情報を登録した命令文テーブルとからなり、上
記コマンドテーブルが必要に応じて上記命令文テーブル
をポインタ参照することを特徴とする。
【0008】データ項目定義テーブルは、アプリケーシ
ョン・プログラム中のデータ項目定義文やサブデータ定
義文どうしの関係を示す定義テーブルからなり、該定義
テーブルが必要に応じてコマンドテーブルをポインタ参
照する。制御構造テーブルは、アプリケーション・プロ
グラム中の命令文の制御構造を示す構造テーブルからな
り、該構造テーブルが必要に応じてコマンドテーブルを
ポインタ参照すること特徴とする。
ョン・プログラム中のデータ項目定義文やサブデータ定
義文どうしの関係を示す定義テーブルからなり、該定義
テーブルが必要に応じてコマンドテーブルをポインタ参
照する。制御構造テーブルは、アプリケーション・プロ
グラム中の命令文の制御構造を示す構造テーブルからな
り、該構造テーブルが必要に応じてコマンドテーブルを
ポインタ参照すること特徴とする。
【0009】
【実施例】以下、本発明の実施例について図面を参照し
て詳細に説明する。図1は、本発明の一実施例にかかる
COBOLプログラムのデータ構造展開方式の構成を示
すブロック図である。
て詳細に説明する。図1は、本発明の一実施例にかかる
COBOLプログラムのデータ構造展開方式の構成を示
すブロック図である。
【0010】本実施例のCOBOLプログラムのデータ
構造展開方式は、COBOL言語で記述されたアプリケ
ーション・プログラムのソースプログラムを入力し、デ
ータ構造展開処理を行なって、ソース・イメージテーブ
ル10、データ項目定義テーブル11、制御構造テーブ
ル12の各展開形式に分けてそれぞれ展開する。作成し
た各テーブルは、図示しない所定の記憶装置に記憶す
る。
構造展開方式は、COBOL言語で記述されたアプリケ
ーション・プログラムのソースプログラムを入力し、デ
ータ構造展開処理を行なって、ソース・イメージテーブ
ル10、データ項目定義テーブル11、制御構造テーブ
ル12の各展開形式に分けてそれぞれ展開する。作成し
た各テーブルは、図示しない所定の記憶装置に記憶す
る。
【0011】ここで、ソース・イメージテーブル10
は、アプリケーション・プログラム中の命令文どうしの
関係を示すと共に対応する命令文を格納した領域のアド
レスを登録してなるコマンドテーブル10aと、対応す
る命令文の種類に応じてその命令文の構成を示す情報を
登録した命令文テーブル10bとからなる。そして、コ
マンドテーブル10aは、必要に応じて命令文テーブル
10bをポインタ参照することができる。図9に、ソー
ス・イメージテーブル10の例を示す。
は、アプリケーション・プログラム中の命令文どうしの
関係を示すと共に対応する命令文を格納した領域のアド
レスを登録してなるコマンドテーブル10aと、対応す
る命令文の種類に応じてその命令文の構成を示す情報を
登録した命令文テーブル10bとからなる。そして、コ
マンドテーブル10aは、必要に応じて命令文テーブル
10bをポインタ参照することができる。図9に、ソー
ス・イメージテーブル10の例を示す。
【0012】また、データ項目定義テーブル11は、ア
プリケーション・プログラム中のデータ項目定義文やサ
ブデータ定義文どうしの関係を示す定義テーブル11a
からなり、定義テーブル11aが必要に応じてコマンド
テーブル10aをポインタ参照することができる。図1
0に、データ項目定義テーブル11の例を示す。図示の
ように、データ項目定義テーブル11は、構造化された
定義テーブル11aの組み合わせによって構成されてい
る。本実施例では、定義テーブル11aは木構造をな
し、アプリケーション・プログラムの命令文の階層構造
を示している。なお、各定義テーブル11aはポインタ
によってコマンド・テーブル10aにアクセスすること
ができるため、データ項目定義テーブル11はソース・
イメージテーブル10との関係を有して存在することと
なる。
プリケーション・プログラム中のデータ項目定義文やサ
ブデータ定義文どうしの関係を示す定義テーブル11a
からなり、定義テーブル11aが必要に応じてコマンド
テーブル10aをポインタ参照することができる。図1
0に、データ項目定義テーブル11の例を示す。図示の
ように、データ項目定義テーブル11は、構造化された
定義テーブル11aの組み合わせによって構成されてい
る。本実施例では、定義テーブル11aは木構造をな
し、アプリケーション・プログラムの命令文の階層構造
を示している。なお、各定義テーブル11aはポインタ
によってコマンド・テーブル10aにアクセスすること
ができるため、データ項目定義テーブル11はソース・
イメージテーブル10との関係を有して存在することと
なる。
【0013】また、制御構造テーブル12は、アプリケ
ーション・プログラム中の命令文の制御構造を示す構造
テーブル12aからなり、構造テーブル12aが必要に
応じてコマンドテーブル11aをポインタ参照すること
ができる。図11に、制御構造テーブル12の例を示
す。図示のように、制御構造テーブル12は、構造化さ
れた構造テーブル12aの組み合わせによって構成され
ている。本実施例では、構造テーブル12aは木構造を
なし、アプリケーション・プログラムの命令文の階層構
造を示している。なお、各構造テーブル12aはポイン
タによってコマンドテーブル10aにアクセスすること
ができるため、制御構造テーブル12はソース・イメー
ジテーブル10との関係を有して存在することとなる。
ーション・プログラム中の命令文の制御構造を示す構造
テーブル12aからなり、構造テーブル12aが必要に
応じてコマンドテーブル11aをポインタ参照すること
ができる。図11に、制御構造テーブル12の例を示
す。図示のように、制御構造テーブル12は、構造化さ
れた構造テーブル12aの組み合わせによって構成され
ている。本実施例では、構造テーブル12aは木構造を
なし、アプリケーション・プログラムの命令文の階層構
造を示している。なお、各構造テーブル12aはポイン
タによってコマンドテーブル10aにアクセスすること
ができるため、制御構造テーブル12はソース・イメー
ジテーブル10との関係を有して存在することとなる。
【0014】上記図9、図10、図11において、ソー
ス・イメージテーブル10、データ項目定義テーブル1
1、制御構造テーブル12のそれぞれに展開したアプリ
ケーション・プログラムのCOBOL言語で記述された
ソースプログラムを図12に示す。以上の三種類のテー
ブルによる展開形式でソースプログラムを展開すること
により、COBOL言語で記述されたアプリケーション
・プログラムの構造を汎用的に記述するための最低限必
要な形式を確保することができ、かつ、展開以前のソー
スプログラムの記述状態とプログラム構造との関係を示
すことができる。
ス・イメージテーブル10、データ項目定義テーブル1
1、制御構造テーブル12のそれぞれに展開したアプリ
ケーション・プログラムのCOBOL言語で記述された
ソースプログラムを図12に示す。以上の三種類のテー
ブルによる展開形式でソースプログラムを展開すること
により、COBOL言語で記述されたアプリケーション
・プログラムの構造を汎用的に記述するための最低限必
要な形式を確保することができ、かつ、展開以前のソー
スプログラムの記述状態とプログラム構造との関係を示
すことができる。
【0015】図1に示すように、上記データ構造展開処
理は、入力したソースプログラムを構文上の基本要素で
ある字句に分解する字句解析部1と、字句解析部1の解
析によって得られた字句列に対して構文解析をする構文
解析部2と、構文解析部2の解析結果に基づいてソース
・イメージテーブル10を作成するソース・イメージテ
ーブル作成部3と、ソース・イメージテーブル作成部3
で作成したソース・イメージテーブル10を参照してデ
ータ項目定義テーブル11を作成するデータ項目定義テ
ーブル作成部4と、ソース・イメージテーブル作成部3
で作成したソース・イメージテーブル10を参照して制
御構造テーブル12を作成する制御構造テーブル作成部
5とからなる。
理は、入力したソースプログラムを構文上の基本要素で
ある字句に分解する字句解析部1と、字句解析部1の解
析によって得られた字句列に対して構文解析をする構文
解析部2と、構文解析部2の解析結果に基づいてソース
・イメージテーブル10を作成するソース・イメージテ
ーブル作成部3と、ソース・イメージテーブル作成部3
で作成したソース・イメージテーブル10を参照してデ
ータ項目定義テーブル11を作成するデータ項目定義テ
ーブル作成部4と、ソース・イメージテーブル作成部3
で作成したソース・イメージテーブル10を参照して制
御構造テーブル12を作成する制御構造テーブル作成部
5とからなる。
【0016】図2に上記データ構造展開処理の流れを示
す。まず、字句解析部1がアプリケーション・プログラ
ムのソースプログラムのファイルを入力すると、入力し
たソースプログラムを字句に分解する(ステップS
1)。そして、構文解析部2が、字句列に対して構文解
析をい、構文エラーの処理、命令文の種類及び構造の識
別をする(ステップS2)。
す。まず、字句解析部1がアプリケーション・プログラ
ムのソースプログラムのファイルを入力すると、入力し
たソースプログラムを字句に分解する(ステップS
1)。そして、構文解析部2が、字句列に対して構文解
析をい、構文エラーの処理、命令文の種類及び構造の識
別をする(ステップS2)。
【0017】次に、ソース・イメージテーブル作成部3
が、構文解析部2によって構文解析処理を施された字句
列から命令文を順次検査して、その種類や構造に応じて
ソース・イメージテーブル10に記録する(ステップS
3)。以上の各処理は、入力したプログラムファイルの
全てのソースプログラムについて処理を終るまで繰り返
し行なう(ステップS4)。
が、構文解析部2によって構文解析処理を施された字句
列から命令文を順次検査して、その種類や構造に応じて
ソース・イメージテーブル10に記録する(ステップS
3)。以上の各処理は、入力したプログラムファイルの
全てのソースプログラムについて処理を終るまで繰り返
し行なう(ステップS4)。
【0018】ソース・イメージテーブル10が作成され
ると、データ項目定義テーブル作成部4が、ソース・イ
メージテーブル10に記録されている命令文のうちデー
タ項目定義に関するものを参照し、データ項目定義の階
層的な構造を表わす木構造で構成されたデータ項目定義
テーブル11に記録する(ステップS5)。
ると、データ項目定義テーブル作成部4が、ソース・イ
メージテーブル10に記録されている命令文のうちデー
タ項目定義に関するものを参照し、データ項目定義の階
層的な構造を表わす木構造で構成されたデータ項目定義
テーブル11に記録する(ステップS5)。
【0019】また、制御構造テーブル作成部5が、ソー
ス・イメージテーブル10に記録されている命令文のう
ちアプリケーション・プログラムの命令文定義に関する
ものを参照し、命令文の階層的な制御構造を表わす木構
造で構成された制御構造テーブル12に記録する(ステ
ップS6)。
ス・イメージテーブル10に記録されている命令文のう
ちアプリケーション・プログラムの命令文定義に関する
ものを参照し、命令文の階層的な制御構造を表わす木構
造で構成された制御構造テーブル12に記録する(ステ
ップS6)。
【0020】上記ソース・イメージテーブル作成部3
は、図3に示すように、記憶装置の記憶領域にテーブル
を格納する領域を確保するコマンドテーブル領域確保手
段31及び命令テーブル領域確保手段32と、確保され
た領域に命令文に関する所定の情報を登録する基本情報
登録手段33及び構成情報登録手段34とからなる。
は、図3に示すように、記憶装置の記憶領域にテーブル
を格納する領域を確保するコマンドテーブル領域確保手
段31及び命令テーブル領域確保手段32と、確保され
た領域に命令文に関する所定の情報を登録する基本情報
登録手段33及び構成情報登録手段34とからなる。
【0021】図4に、ソース・イメージテーブル作成部
3の処理の流れを示す。ソース・イメージテーブル作成
部3が構文解析の施されたソースプログラムの字句列を
入力すると、まずコマンドテーブル領域確保手段31に
よって、記憶装置の記憶領域中にコマンドテーブル10
aの領域を確保する(ステップS1)。そして、基本情
報登録手段33によって、ソースプログラムの命令文ご
とに、ソース・イメージの1行文字列、定義命令や実行
命令などの命令種別、命令構造に関する情報、参照デー
タ項目名や更新データ項目名などの命令構成要素などか
らなる基本情報をコマンドテーブル10aに登録する
(ステップS2)。
3の処理の流れを示す。ソース・イメージテーブル作成
部3が構文解析の施されたソースプログラムの字句列を
入力すると、まずコマンドテーブル領域確保手段31に
よって、記憶装置の記憶領域中にコマンドテーブル10
aの領域を確保する(ステップS1)。そして、基本情
報登録手段33によって、ソースプログラムの命令文ご
とに、ソース・イメージの1行文字列、定義命令や実行
命令などの命令種別、命令構造に関する情報、参照デー
タ項目名や更新データ項目名などの命令構成要素などか
らなる基本情報をコマンドテーブル10aに登録する
(ステップS2)。
【0022】次に、命令テーブル領域確保手段32によ
って、記憶装置の記憶領域中に、コマンドテーブル10
aに登録された命令文の種別に応じた命令テーブル10
bの領域を確保する(ステップS3)。そして、構成情
報登録手段34によって、命令文の構成を表す情報を命
令テーブル10bに登録する(ステップS4)。以上の
各処理は、ソースプログラムの全ての命令文についてコ
マンドテーブル10aと命令テーブル10bの登録が終
了するまで、命令文ごとに順次繰り返して行なう。
って、記憶装置の記憶領域中に、コマンドテーブル10
aに登録された命令文の種別に応じた命令テーブル10
bの領域を確保する(ステップS3)。そして、構成情
報登録手段34によって、命令文の構成を表す情報を命
令テーブル10bに登録する(ステップS4)。以上の
各処理は、ソースプログラムの全ての命令文についてコ
マンドテーブル10aと命令テーブル10bの登録が終
了するまで、命令文ごとに順次繰り返して行なう。
【0023】上記データ項目定義テーブル作成部4は、
図5に示すように、記憶装置の記憶領域にテーブルを格
納する領域を確保する定義テーブル領域確保手段41
と、ソース・イメージテーブル10にアクセスして所定
の情報を読み込む読み込み手段42と、ソース・イメー
ジテーブル10から読み取った情報を検査する検査手段
43と、定義テーブル領域確保手段41によって確保さ
れた領域に読み込み手段42で読み取った所定の情報を
登録する登録手段44とからなる。
図5に示すように、記憶装置の記憶領域にテーブルを格
納する領域を確保する定義テーブル領域確保手段41
と、ソース・イメージテーブル10にアクセスして所定
の情報を読み込む読み込み手段42と、ソース・イメー
ジテーブル10から読み取った情報を検査する検査手段
43と、定義テーブル領域確保手段41によって確保さ
れた領域に読み込み手段42で読み取った所定の情報を
登録する登録手段44とからなる。
【0024】図6に、データ項目定義テーブル作成部4
の処理の流れを示す。ソース・イメージテーブル作成部
3がソース・イメージテーブル10を作成すると、デー
タ項目定義テーブル作成部4は、定義テーブル領域確保
手段41によって記憶装置の記憶領域に定義テーブル1
1aの領域を確保する(ステップS1)。そして、読み
込み手段42によって、ソース・イメージテーブル10
のコマンドテーブル10aを読み込んでデータ項目を定
義している命令文を識別し、登録手段44によって、そ
の命令文の次データ項目、サブデータ項目、親データ項
目などのデータ項目定義情報と、コマンドテーブル10
aへアクセスするためのポインタとを定義テーブル11
aに登録する(ステップS2)。
の処理の流れを示す。ソース・イメージテーブル作成部
3がソース・イメージテーブル10を作成すると、デー
タ項目定義テーブル作成部4は、定義テーブル領域確保
手段41によって記憶装置の記憶領域に定義テーブル1
1aの領域を確保する(ステップS1)。そして、読み
込み手段42によって、ソース・イメージテーブル10
のコマンドテーブル10aを読み込んでデータ項目を定
義している命令文を識別し、登録手段44によって、そ
の命令文の次データ項目、サブデータ項目、親データ項
目などのデータ項目定義情報と、コマンドテーブル10
aへアクセスするためのポインタとを定義テーブル11
aに登録する(ステップS2)。
【0025】次に、検査手段43によって、読み込み手
段42で読み取ったソース・イメージテーブル10のコ
マンドテーブル10aにデータ項目定義情報が残ってい
るかどうか検査し、残っている場合は、次に処理するデ
ータ項目がサブデータ項目であるかどうか検査する(ス
テップS3、S4)。
段42で読み取ったソース・イメージテーブル10のコ
マンドテーブル10aにデータ項目定義情報が残ってい
るかどうか検査し、残っている場合は、次に処理するデ
ータ項目がサブデータ項目であるかどうか検査する(ス
テップS3、S4)。
【0026】処理するデータ項目定義情報が残ってお
り、かつ次に処理するデータ項目がサブデータ項目であ
るときは、登録手段44によって、それまで処理してい
たデータ項目の定義テーブル11aの下階層であるサブ
クラスの定義テーブル11aを用意して、データ項目定
義情報とコマンドテーブル10aへのポインタとを登録
する(ステップS5)。
り、かつ次に処理するデータ項目がサブデータ項目であ
るときは、登録手段44によって、それまで処理してい
たデータ項目の定義テーブル11aの下階層であるサブ
クラスの定義テーブル11aを用意して、データ項目定
義情報とコマンドテーブル10aへのポインタとを登録
する(ステップS5)。
【0027】一方、処理するデータ項目定義情報が残っ
ており、次に処理するデータ項目がサブデータ項目でな
いときは、さらに、検査手段43によって、それまで処
理していたデータ項目定義がサブクラスの定義テーブル
11aに登録されているかどうか検査する(ステップS
6)。そして、サブクラスの定義テーブル11aに登録
されている場合は、最上位の階層の定義テーブル11a
と同階層の定義テーブル11aを用意して、データ項目
定義情報とコマンドテーブル10aへのポインタとを登
録する(ステップS7)。また、サブクラスでない定義
テーブル11aに登録されている場合は、それまで処理
していた定義テーブル11aの下階層の定義テーブル1
1aを用意して、データ項目定義情報とコマンドテーブ
ル10aへのポインタとを登録する(ステップS8)。
ており、次に処理するデータ項目がサブデータ項目でな
いときは、さらに、検査手段43によって、それまで処
理していたデータ項目定義がサブクラスの定義テーブル
11aに登録されているかどうか検査する(ステップS
6)。そして、サブクラスの定義テーブル11aに登録
されている場合は、最上位の階層の定義テーブル11a
と同階層の定義テーブル11aを用意して、データ項目
定義情報とコマンドテーブル10aへのポインタとを登
録する(ステップS7)。また、サブクラスでない定義
テーブル11aに登録されている場合は、それまで処理
していた定義テーブル11aの下階層の定義テーブル1
1aを用意して、データ項目定義情報とコマンドテーブ
ル10aへのポインタとを登録する(ステップS8)。
【0028】以上の各処理を、読み込み手段42で読み
取ったソース・イメージテーブル10のコマンドテーブ
ル10aにデータ項目定義情報がなくなるまで繰り返し
て行なう。そして、コマンドテーブル10aにデータ項
目定義情報がなくなった場合は、データ項目定義テーブ
ル作成処理を終了する(ステップS3)。
取ったソース・イメージテーブル10のコマンドテーブ
ル10aにデータ項目定義情報がなくなるまで繰り返し
て行なう。そして、コマンドテーブル10aにデータ項
目定義情報がなくなった場合は、データ項目定義テーブ
ル作成処理を終了する(ステップS3)。
【0029】上記制御構造テーブル作成部5は、図7に
示すように、記憶装置の記憶領域にテーブルを格納する
領域を確保する構造テーブル領域確保手段51と、ソー
ス・イメージテーブル10にアクセスして所定の情報を
読み込む読み込み手段52と、ソース・イメージテーブ
ル10から読み取った情報を検査する検査手段53と、
構造テーブル領域確保手段51によって確保された領域
に読み込み手段52で読み取った所定の情報を登録する
登録手段54とからなる。
示すように、記憶装置の記憶領域にテーブルを格納する
領域を確保する構造テーブル領域確保手段51と、ソー
ス・イメージテーブル10にアクセスして所定の情報を
読み込む読み込み手段52と、ソース・イメージテーブ
ル10から読み取った情報を検査する検査手段53と、
構造テーブル領域確保手段51によって確保された領域
に読み込み手段52で読み取った所定の情報を登録する
登録手段54とからなる。
【0030】図8に、制御構造テーブル作成部5の処理
の流れを示す。ソース・イメージテーブル作成部3がソ
ース・イメージテーブル10を作成すると、制御構造テ
ーブル作成部5は、構造テーブル領域確保手段51によ
って記憶装置の記憶領域に構造テーブル12aの領域を
確保する(ステップS1)。そして、読み込み手段52
によって、ソース・イメージテーブル10のコマンドテ
ーブル10aを読み込んで命令を定義している命令文を
識別し、登録手段54によって、その命令文の次テーブ
ル、サブテーブル、親テーブルなどの制御構造情報と、
コマンドテーブル10aへアクセスするためのポインタ
とを構造テーブル12aに登録する(ステップS2)。
の流れを示す。ソース・イメージテーブル作成部3がソ
ース・イメージテーブル10を作成すると、制御構造テ
ーブル作成部5は、構造テーブル領域確保手段51によ
って記憶装置の記憶領域に構造テーブル12aの領域を
確保する(ステップS1)。そして、読み込み手段52
によって、ソース・イメージテーブル10のコマンドテ
ーブル10aを読み込んで命令を定義している命令文を
識別し、登録手段54によって、その命令文の次テーブ
ル、サブテーブル、親テーブルなどの制御構造情報と、
コマンドテーブル10aへアクセスするためのポインタ
とを構造テーブル12aに登録する(ステップS2)。
【0031】次に、検査手段53によって、読み込み手
段52で読み取ったソース・イメージテーブル10のコ
マンドテーブル10aに制御構造情報が残っているかど
うか検査し、残っている場合は、当該命令文が制御構造
を有しているかどうか検査する(ステップS3、S
4)。
段52で読み取ったソース・イメージテーブル10のコ
マンドテーブル10aに制御構造情報が残っているかど
うか検査し、残っている場合は、当該命令文が制御構造
を有しているかどうか検査する(ステップS3、S
4)。
【0032】処理する制御構造情報が残っており、かつ
当該命令文が制御構造を有しているときは、登録手段5
4によって、それまで処理していた構造テーブル12a
の下階層であるサブクラスの構造テーブル12aを用意
して、制御構造情報とコマンドテーブル10aへのポイ
ンタとを登録する(ステップS5)。
当該命令文が制御構造を有しているときは、登録手段5
4によって、それまで処理していた構造テーブル12a
の下階層であるサブクラスの構造テーブル12aを用意
して、制御構造情報とコマンドテーブル10aへのポイ
ンタとを登録する(ステップS5)。
【0033】一方、処理する制御構造情報が残ってお
り、当該命令文が制御構造を有していないときは、さら
に、検査手段53によって、当該命令文が制御構造中の
命令文であるかどうか検査する(ステップS6)。そし
て、当該命令文が制御構造中の命令文である場合は、最
上位の階層の構造テーブル12aと同階層の構造テーブ
ル12aを用意して、制御構造情報とコマンドテーブル
10aへのポインタとを登録する(ステップS7)。ま
た、当該命令文が制御構造中の命令文でない場合は、そ
れまで処理していた構造テーブル12aの下階層の構造
テーブル12aを用意して、制御構造情報とコマンドテ
ーブル10aへのポインタとを登録する(ステップS
8)。
り、当該命令文が制御構造を有していないときは、さら
に、検査手段53によって、当該命令文が制御構造中の
命令文であるかどうか検査する(ステップS6)。そし
て、当該命令文が制御構造中の命令文である場合は、最
上位の階層の構造テーブル12aと同階層の構造テーブ
ル12aを用意して、制御構造情報とコマンドテーブル
10aへのポインタとを登録する(ステップS7)。ま
た、当該命令文が制御構造中の命令文でない場合は、そ
れまで処理していた構造テーブル12aの下階層の構造
テーブル12aを用意して、制御構造情報とコマンドテ
ーブル10aへのポインタとを登録する(ステップS
8)。
【0034】以上の各処理を、読み込み手段52で読み
取ったソース・イメージテーブル10のコマンドテーブ
ル10aに制御構造情報がなくなるまで繰り返して行な
う。そして、コマンドテーブル10aに制御構造情報が
なくなった場合は、制御構造テーブル作成処理を終了す
る(ステップS3)。
取ったソース・イメージテーブル10のコマンドテーブ
ル10aに制御構造情報がなくなるまで繰り返して行な
う。そして、コマンドテーブル10aに制御構造情報が
なくなった場合は、制御構造テーブル作成処理を終了す
る(ステップS3)。
【0035】
【発明の効果】以上説明したように本発明は、COBO
L言語で記述されたアプリケーション・プログラムのソ
ースプログラムをソース・イメージテーブル、データ項
目定義テーブル、制御構造テーブルの三種類のテーブル
による展開形式で展開することとしたため、かかるアプ
リケーション・プログラムの構造を汎用的に記述するた
めの最低限必要な形式を確保することができ、かつ、展
開以前のソースプログラムの記述状態とプログラム構造
との関係を示すことができることにより、各種解析ツー
ル間のデータ交換や新たな解析ツールの開発が容易にな
り、時間的及び労力的な負荷を軽減することができると
いう効果がある。
L言語で記述されたアプリケーション・プログラムのソ
ースプログラムをソース・イメージテーブル、データ項
目定義テーブル、制御構造テーブルの三種類のテーブル
による展開形式で展開することとしたため、かかるアプ
リケーション・プログラムの構造を汎用的に記述するた
めの最低限必要な形式を確保することができ、かつ、展
開以前のソースプログラムの記述状態とプログラム構造
との関係を示すことができることにより、各種解析ツー
ル間のデータ交換や新たな解析ツールの開発が容易にな
り、時間的及び労力的な負荷を軽減することができると
いう効果がある。
【図1】本発明の一実施例に係るCOBOLプログラム
のデータ構造展開方式の構成を示すブロック図である。
のデータ構造展開方式の構成を示すブロック図である。
【図2】図1のデータ構造展開方式の処理の流れを示す
フローチャートである。
フローチャートである。
【図3】図1のソース・イメージテーブル作成部の機能
を示す機能ブロック図である。
を示す機能ブロック図である。
【図4】図3のソース・イメージテーブル作成部の処理
の流れを示すフローチャートである。
の流れを示すフローチャートである。
【図5】図1のデータ項目定義テーブル作成部の機能を
示す機能ブロック図である。
示す機能ブロック図である。
【図6】図5のデータ項目定義テーブル作成部の処理の
流れを示すフローチャートである。
流れを示すフローチャートである。
【図7】図1の制御構造テーブル作成部の機能を示す機
能ブロック図である。
能ブロック図である。
【図8】図7の制御構造テーブル作成部の処理の流れを
示すフローチャートである。
示すフローチャートである。
【図9】ソース・イメージテーブルの例を示す図であ
る。
る。
【図10】データ項目定義テーブルの例を示す図であ
る。
る。
【図11】制御構造テーブルの例を示す図である。
【図12】COBOL言語で記述されたアプリケーショ
ン・プログラムのソースプログラムの例を示す図であ
る。
ン・プログラムのソースプログラムの例を示す図であ
る。
1 字句解析部 2 構文解析部 3 ソース・イメージテーブル作成部 4 データ項目定義テーブル作成部 5 制御構造テーブル作成部 10 ソース・イメージテーブル 10a コマンドテーブル 10b 命令テーブル 11 データ項目定義テーブル 11a 定義テーブル 12 制御構造テーブル 12a 構造テーブル
Claims (4)
- 【請求項1】 COBOL言語で記述されたアプリケー
ション・プログラムのソースプログラムをデータ構造に
基づいて展開するCOBOLプログラムのデータ構造展
開方式において、 上記COBOL言語で記述されたアプリケーション・プ
ログラムのソースプログラムを字句に分解する字句解析
部と、 上記字句解析部の字句解析処理で得られた字句の並びに
対して構文解析をする構文解析部と、 上記構文解析部の構文解析処理の結果から上記アプリケ
ーション・プログラムの命令文本体、各種定義、命令文
の命令種別、命令構造、参照及び更新データ項目などの
構成要素からなる情報をデータ構造に基づいて展開した
ソース・イメージ・テーブルを作成するソース・イメー
ジテーブル作成部と、 上記ソース・イメージテーブル作成部で作成したソース
・イメージテーブルを参照しながら、上記アプリケーシ
ョン・プログラムのデータ項目定義部分を対象とし、該
データ項目定義を木構造で構成されるデータ構造に基づ
いて展開したデータ項目定義テーブルを作成するデータ
項目定義テーブル作成部と、 上記ソース・イメージテーブル作成部で作成したソース
・イメージテーブルを参照しながら、上記アプリケーシ
ョン・プログラムの命令定義部分を対象とし、該命令定
義を木構造で構成されるデータ構造に基づいて展開した
制御構造テーブルを作成する制御構造テーブル作成部と
からなることを特徴とするCOBOLプログラムのデー
タ構造展開方式。 - 【請求項2】 ソース・イメージテーブルが、アプリケ
ーション・プログラム中の命令文どうしの関係を示すと
共に対応する命令文を格納した領域のアドレスを登録し
てなるコマンドテーブルと、該対応する命令文の種類に
応じて該命令文の構成を示す情報を登録した命令文テー
ブルとからなり、上記コマンドテーブルが必要に応じて
上記命令文テーブルをポインタ参照することを特徴とす
る請求項1に記載のCOBOLプログラムのデータ構造
展開方式。 - 【請求項3】 データ項目定義テーブルが、アプリケー
ション・プログラム中のデータ項目定義文やサブデータ
定義文どうしの関係を示す定義テーブルからなり、該定
義テーブルが必要に応じてコマンドテーブルをポインタ
参照することを特徴とする請求項2に記載のCOBOL
プログラムのデータ構造展開方式。 - 【請求項4】 制御構造テーブルが、アプリケーション
・プログラム中の命令文の制御構造を示す構造テーブル
からなり、該構造テーブルが必要に応じてコマンドテー
ブルをポインタ参照すること特徴とする請求項2に記載
のCOBOLプログラムのデータ構造展開方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5044578A JP2807854B2 (ja) | 1993-02-09 | 1993-02-09 | Cobolプログラムのデータ構造展開方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5044578A JP2807854B2 (ja) | 1993-02-09 | 1993-02-09 | Cobolプログラムのデータ構造展開方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06236262A true JPH06236262A (ja) | 1994-08-23 |
| JP2807854B2 JP2807854B2 (ja) | 1998-10-08 |
Family
ID=12695389
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5044578A Expired - Lifetime JP2807854B2 (ja) | 1993-02-09 | 1993-02-09 | Cobolプログラムのデータ構造展開方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2807854B2 (ja) |
-
1993
- 1993-02-09 JP JP5044578A patent/JP2807854B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2807854B2 (ja) | 1998-10-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5898872A (en) | Software reconfiguration engine | |
| JPH047640A (ja) | クラス継承解決処理方法 | |
| US20040158824A1 (en) | Method and system for generating executable code for formatting and printing complex data structures | |
| CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
| JPH11306046A (ja) | テストケース生成システム及びテストケース生成方法 | |
| JPH06236262A (ja) | Cobolプログラムのデータ構造展開方式 | |
| JP2764782B2 (ja) | Cobolプログラムのデータ構造展開方式 | |
| JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
| JPH04220768A (ja) | テキスト変換方法 | |
| JPH05134854A (ja) | ソフトウエア開発支援装置 | |
| JPH0438522A (ja) | ソフトウェアプログラムシミュレータ | |
| JPH1091418A (ja) | 多国語対応ソフトウェア実現方式 | |
| JPH03282935A (ja) | コンパイル処理装置及びコンパイル処理方式 | |
| Gardner | RayTracer: traceability for software engineering | |
| JPH07168711A (ja) | プログラム管理方法 | |
| JPH0243656A (ja) | オンライントランザクション処理システムの実行環境変更方式 | |
| KR100321777B1 (ko) | 경로지정을이용한문법검사방법 | |
| JPH028935A (ja) | オンライントランザクション処理システムにおける実行環境定義オブジェクトの部分的変更方式 | |
| JPH0752391B2 (ja) | 複数データベース記述を含む原始プログラムの翻訳方式 | |
| JPH0573379A (ja) | データベース管理システム | |
| JPH10161914A (ja) | 埋め込み型sql自動生成方法 | |
| JPH0310327A (ja) | コンパイラ処理方式 | |
| JPH03266037A (ja) | トレースプログラム挿入方式 | |
| Barais | Towards a Generic and Extensible Merge Operator | |
| JPH04270422A (ja) | プリコンパイル処理方式 |