JPH06236263A - Cobolプログラムのデータ構造展開方式 - Google Patents

Cobolプログラムのデータ構造展開方式

Info

Publication number
JPH06236263A
JPH06236263A JP5044579A JP4457993A JPH06236263A JP H06236263 A JPH06236263 A JP H06236263A JP 5044579 A JP5044579 A JP 5044579A JP 4457993 A JP4457993 A JP 4457993A JP H06236263 A JPH06236263 A JP H06236263A
Authority
JP
Japan
Prior art keywords
data
data item
analysis unit
program
analysis
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
Application number
JP5044579A
Other languages
English (en)
Other versions
JP2764782B2 (ja
Inventor
Kokuhou Hi
國寶 費
Tadao Mori
忠夫 森
Shinji Nishitani
真二 西谷
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.)
ADVANCED SYST KENKYUSHO KK
Original Assignee
ADVANCED SYST KENKYUSHO KK
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 ADVANCED SYST KENKYUSHO KK filed Critical ADVANCED SYST KENKYUSHO KK
Priority to JP5044579A priority Critical patent/JP2764782B2/ja
Publication of JPH06236263A publication Critical patent/JPH06236263A/ja
Application granted granted Critical
Publication of JP2764782B2 publication Critical patent/JP2764782B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 本発明は、COBOL言語で記述されたアプ
リケーション・プログラムを対象に、種々の解析処理に
おいて共通して利用可能な汎用性のあるプログラム構造
の記述形式を提供し、解析ツールの開発負荷を軽減する
ことを目的とする。 【構成】 本発明は、字句解析部1と、構文解析部2
と、該構文解析部2の処理結果から上記アプリケーショ
ン・プログラム中の命令定義部分を対象としてデータ項
目の命令文中での参照及び更新関係を解析するデータ項
目解析部3と、該データ項目解析部3の解析処理で得ら
れる情報に基づいて、上記命令文におけるデータ項目名
の参照及び更新関係をテーブルで構成されるデータ構造
に基づいて展開したデータフローテーブル10を作成す
るデータフローテーブル作成処理部4とからなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、COBOL言語で記述
された既存アプリケーション・プログラムの再構築、再
設計、部品化再利用、メンテナンスなどを行なうための
アプリケーション・プログラムに対する各種解析処理の
前処理として、アプリケーション・プログラムのデータ
フローを構造化して展開するデータ構造展開方式に関す
る。
【0002】
【従来の技術及び発明が解決しようとする課題】アプリ
ケーション・プログラムの再構築、再設計、部品化再利
用、メンテナンスなどを行なう場合、それぞれの処理に
対応する各種解析ツールを用いて必要な解析処理を行な
う。
【0003】従来、この種の解析ツールは、各ツ−ル間
に共通して利用可能なデータ構造が確立されておらず、
プログラム構造の記述をそれぞれ独自の形式で行なって
いた。そのため、アプリケーション・プログラムの解析
処理を行なう場合において、解析処理、及び展開処理、
展開形式などを最初から開発することが必要になり、時
間的にも労力的にも多大な負荷がかかるという欠点があ
った。
【0004】また、既に同様の解析処理が行なわれたこ
とのあるアプリケーション・プログラムについて、かか
る既存の解析結果を流用する場合であっても、プログラ
ム構造の記述が流用した解析ツ−ルの記述形式に依存す
ることになり、汎用性がなくなるという欠点があった。
【0005】本発明は、COBOL言語で記述されたア
プリケーション・プログラムを対象に、上記従来の課題
を解決し、種々の解析処理において共通して利用可能な
汎用性のあるプログラム構造の記述形式を提供し、様々
な解析ツールの開発負荷を軽減することを課題としてい
る。
【0006】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は、COBOL言語で記述されたアプリケー
ション・プログラムのソースプログラムをデータ構造に
基づいて展開するCOBOLプログラムのデータ構造展
開方式において、上記COBOL言語で記述されたアプ
リケーション・プログラムのソースプログラムを字句に
分解する字句解析部と、該字句解析部の字句解析処理で
得られた字句の並びに対して構文解析をする構文解析部
と、該構文解析部の構文解析処理の結果から、上記アプ
リケーション・プログラム中の命令定義部分を対象と
し、データ項目の命令文中での参照及び更新関係を解析
するデータ項目解析部と、該データ項目解析部の解析処
理で得られる情報に基づいて、上記命令文におけるデー
タ項目名の参照及び更新関係をテーブルで構成されるデ
ータ構造に基づいて展開したデータフローテーブルを作
成するデータフローテーブル作成処理部とからなること
を特徴とする。
【0007】かかるデータ構造展開方式において、デー
タフローテーブルは、アプリケーション・プログラム中
の命令文によるデータ項目名の参照または更新関係を示
すと共に該命令文のプログラム中での定義位置を登録し
てなるデータテーブルと、該データテーブルによって参
照または更新関係を示したデータ項目名と該データ項目
名を参照または更新している命令文との関係を示す検索
テーブルとからなることを特徴とする。
【0008】
【実施例】以下は、本発明の実施例について、図面を参
照して詳細に説明する。図1は、本発明の一実施例にか
かるCOBOLプログラムのデータ構造展開方式の構成
を示すブロック図である。
【0009】本実施例のCOBOLプログラムのデータ
構造展開方式は、COBOL言語で記述されたアプリケ
ーション・プログラムのソースプログラムを入力し、デ
ータ構造展開処理を行なって、データフローテーブル1
0に展開する。作成したテーブルは、図示しない所定の
記憶装置に記憶する。
【0010】ここで、データフローテーブル10は、ア
プリケーション・プログラム中の命令文によるデータ項
目名の参照または更新関係を示すと共に該命令文のプロ
グラム中での定義位置を登録してなるデータテーブル1
1と、データテーブル11によって参照または更新関係
を示したデータ項目名と該データ項目名を参照または更
新している命令文との関係を示す検索テーブル12とか
らなる。図9に、データフローテーブル10の例を示
す。また図9に示したデータフローテーブル10に展開
したアプリケーション・プログラムのCOBOL言語で
記述されたソースプログラムを図10に示す。
【0011】図1に示すように、本実施例によるデータ
構造展開処理は、入力したソースプログラムを構文上の
基本要素である字句に分解する字句解析部1と、字句解
析部1の解析によって得られた字句列に対して構文解析
をする構文解析部2と、構文解析部2の解析結果に基づ
いてデータ項目の関係を解析するデータ項目解析部3
と、データ項目解析部3の解析処理で得られる情報に基
づいてデータフローテーブル10を作成するデータフロ
ーテーブル作成部4とからなる。
【0012】図2に上記データ構造展開処理の流れを示
す。まず、字句解析部1がアプリケーション・プログラ
ムのソースプログラムのファイルを入力すると、入力し
たソースプログラムを字句に分解する(ステップS
1)。そして、構文解析部2が、字句列に対して構文解
析をい、構文エラーの処理、命令文の種類及び構造の識
別をする(ステップS2)。
【0013】次に、データ項目解析部3が、構文解析部
2によって構文解析処理を施された字句列から命令文を
順次検査して、命令文中のデータ項目の参照関係または
更新関係の有無を検出し、データ項目情報を作成する
(ステップS3)。
【0014】次に、データフローテーブル作成部4が、
データ項目解析部3の解析処理で得られたデータ項目情
報に基づいて、上記命令文におけるデータ項目名の参照
及び更新関係をテーブルで構成されるデータ構造に基づ
いて展開したデータフローテーブルを作成する(ステッ
プS4)。
【0015】以上の各処理は、入力したプログラムファ
イルの全ての命令文について処理を終るまで繰り返し行
なう(ステップS5)。
【0016】上記データ項目解析部3は、図3に示すよ
うに、入力ファイルの命令文中の参照データ項目を他の
データ項目名から識別する参照データ項目識別手段31
と、同命令文中の更新データ項目を他のデータ項目名か
ら識別する更新データ項目識別手段32とからなる。こ
れによって、命令文における参照データ項目及び更新デ
ータ項目の有無と、これらのデータ項目を有する各命令
文のアプリケーション・プログラムにおける物理的な定
義位置とからなるデータ項目情報を作成する。ここで、
参照データ項目とは命令文で参照しているデータ項目名
を言い、更新データ項目とは命令文で更新しているデー
タ項目名を言う。
【0017】図4に、データ項目解析部3の処理の流れ
を示す。データ項目解析部3は、構文解析の施されたソ
ースプログラムの字句列を入力すると、まず参照データ
項目識別手段31によって、字句解析処理及び構文解析
処理によって得られた情報に基づいて、命令文中に参照
データ項目があるかどうかを判定する(ステップS
1)。そして、参照データ項目がある場合は当該命令文
中の参照データ項目をデータ項目情報に加える(ステッ
プS2)。この識別処理は、命令文中に参照データ項目
がなくなるまで繰り返し行なう。
【0018】次に、更新データ項目識別手段32によっ
て、字句解析処理及び構文解析処理によって得られた情
報に基づいて、命令文中に更新データ項目があるかどう
かを判定する(ステップS3)。そして、更新データ項
目がある場合は当該命令文中の更新データ項目をデータ
項目情報に加える(ステップS4)。この識別処理は、
命令文中に更新データ項目がなくなるまで繰り返し行な
う。
【0019】以上の識別処理の後、データ項目解析部3
は、識別した命令文のアプリケーション・プログラム中
での定義位置を検出しデータ項目情報に加える(ステッ
プS5)。上記各処理によって識別したデータ項目名及
びその定義位置からなるデータ項目情報は作業用メモリ
などに記憶させておく。
【0020】上記データフローテーブル作成部4は、図
5に示すように、記憶装置の記憶領域にテーブルを格納
する領域を確保するテーブル領域確保手段41と、デー
タ項目解析部3で作成したデータ項目情報を読込む読込
み手段42と、テーブル領域確保手段41によって確保
された領域に読込み手段42で読取った所定の情報を登
録する登録手段43とからなる。
【0021】図6に、データフローテーブル作成部4の
処理の流れを示す。データ項目解析部3によってデータ
項目情報が作成されると、データフローテーブル作成部
4は、テーブル領域確保手段41によって、記憶装置の
記憶領域中にデータテーブル11及び検索テーブル12
の領域を確保する(ステップS1)。
【0022】次に、読込み手段42によってデータ項目
情報を読込み、登録手段43によって、プログラム中で
の命令文の定義位置とデータ項目を参照しているかまた
は更新しているかといった情報を、命令文ごとにデータ
テーブル11に登録する(ステップS2)。
【0023】次に、データフローテーブル作成部4は、
登録手段43によって、ステップS2でデータテーブル
11に登録したデータ項目のデータテーブル11におけ
る登録位置を示す参照ポインタを検索テーブル12に登
録する(ステップS3)。この参照ポインタによって、
検索テーブル12において参照データ項目または更新デ
ータ項目とこれらのデータ項目名を参照または更新して
いる命令文との関係を示すことができる。すなわち、上
記データ項目名をキーとして、参照ポインタによって検
索テーブル12の中の登録位置を計算することによっ
て、上記データ項目名と命令文との関係を表すこととな
る。
【0024】以上のデータフローテーブル作成部4によ
る処理は、データ項目解析部3によって識別された参照
データ項目または更新データ項目がデータ項目情報に残
っているうちは繰り返し行なう。そして、参照データ項
目または更新データ項目がなくなった時点で処理を終了
する(ステップS4)。
【0025】
【発明の効果】以上説明したように本発明は、COBO
L言語で記述されたアプリケーション・プログラムのソ
ースプログラムをデータフローテーブルに展開すること
としたため、かかるアプリケーション・プログラムの構
造を汎用的に記述することができ、データ項目名の参照
または更新関係を示すと共に、参照または更新関係を示
したデータ項目名と該データ項目名を参照または更新し
ている命令文との関係を示すことができることにより、
各種解析ツール間のデータ交換や新たな解析ツールの開
発が容易になり、時間的及び労力的な負荷を軽減するこ
とができるという効果がある。
【0026】また、アプリケーション・プログラムのプ
ログラム構造を記述する手段としてデータフローテーブ
ルを採用したことにより、プログラム解析時に処理の流
れをデータフロー解析する場合に、データ項目名の参照
または更新関係を追跡することが容易にでき、かつ、デ
ータ項目名に着目して該当する命令文を検索することが
容易にできるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例にかかるCOBOLプログラ
ムのデータ構造展開方式の構成を示すブロック図であ
る。
【図2】図1のデータ構造展開方式の処理の流れを示す
フローチャートである。
【図3】図1のデータ項目解析部の機能を示す機能ブロ
ック図である。
【図4】図3のデータ項目解析部の処理の流れを示すフ
ローチャートである。
【図5】図1のデータフローテーブル作成部の機能を示
す機能ブロック図である。
【図6】図5のデータフローテーブル作成部の処理の流
れを示すフローチャートである。
【図7】データフローテーブルの例を示す図である。
【図8】COBOL言語で記述されたアプリケーション
・プログラムのソースプログラムの例を示す図である。
【符号の説明】
1 字句解析部 2 構文解析部 3 データ構造解析部 4 データフローテーブル作成部 10 データフローテーブル 11 データテーブル 12 検索テーブル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 COBOL言語で記述されたアプリケー
    ション・プログラムのソースプログラムをデータ構造に
    基づいて展開するCOBOLプログラムのデータ構造展
    開方式において、 上記COBOL言語で記述されたアプリケーション・プ
    ログラムのソースプログラムを字句に分解する字句解析
    部と、 上記字句解析部の字句解析処理で得られた字句の並びに
    対して構文解析をする構文解析部と、 上記構文解析部の構文解析処理の結果から、上記アプリ
    ケーション・プログラム中の命令定義部分を対象とし、
    データ項目の命令文中での参照及び更新関係を解析する
    データ項目解析部と、 上記データ項目解析部の解析処理で得られる情報に基づ
    いて、上記命令文におけるデータ項目名の参照及び更新
    関係をテーブルで構成されるデータ構造に基づいて展開
    したデータフローテーブルを作成するデータフローテー
    ブル作成処理部とからなることを特徴とするCOBOL
    プログラムのデータ構造展開方式。
  2. 【請求項2】 データフローテーブルが、アプリケーシ
    ョン・プログラム中の命令文によるデータ項目名の参照
    または更新関係を示すと共に該命令文のプログラム中で
    の定義位置を登録してなるデータテーブルと、該データ
    テーブルによって参照または更新関係を示したデータ項
    目名と該データ項目名を参照または更新している命令文
    との関係を示す検索テーブルとからなることを特徴とす
    る請求項1に記載するCOBOLプログラムのデータ構
    造展開方式。
JP5044579A 1993-02-09 1993-02-09 Cobolプログラムのデータ構造展開方式 Expired - Lifetime JP2764782B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5044579A JP2764782B2 (ja) 1993-02-09 1993-02-09 Cobolプログラムのデータ構造展開方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5044579A JP2764782B2 (ja) 1993-02-09 1993-02-09 Cobolプログラムのデータ構造展開方式

Publications (2)

Publication Number Publication Date
JPH06236263A true JPH06236263A (ja) 1994-08-23
JP2764782B2 JP2764782B2 (ja) 1998-06-11

Family

ID=12695416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5044579A Expired - Lifetime JP2764782B2 (ja) 1993-02-09 1993-02-09 Cobolプログラムのデータ構造展開方式

Country Status (1)

Country Link
JP (1) JP2764782B2 (ja)

Also Published As

Publication number Publication date
JP2764782B2 (ja) 1998-06-11

Similar Documents

Publication Publication Date Title
CN106843840B (zh) 一种基于相似度分析的源代码版本演化注释复用方法
US8719786B2 (en) Method for performing conditionalized N-way merging of source code
JP2644728B2 (ja) データディクショナリ・ディレクトリシステム
US6457176B1 (en) System and method for source code processing
JP2764782B2 (ja) Cobolプログラムのデータ構造展開方式
GB2420638A (en) Method of substituting code fragments in Internal Representation
CN113296748B (zh) 数据对象与数据库的映射方法、系统、服务器及计算机可读存储介质
JP3292160B2 (ja) Cobol言語のソースプログラムのコンバージョン方法及び装置並びに記録媒体
JP2807854B2 (ja) Cobolプログラムのデータ構造展開方式
JP2722040B2 (ja) 手続き型言語プログラム・コンポーネントの分離方式
JPH04148336A (ja) Fortranプログラム文法解析方式
JPH03282935A (ja) コンパイル処理装置及びコンパイル処理方式
JP3419483B2 (ja) 自然言語処理装置及びその方法
JPH028935A (ja) オンライントランザクション処理システムにおける実行環境定義オブジェクトの部分的変更方式
JPH06231181A (ja) 分散データベース制御方式
KR100279731B1 (ko) 칠 언어에 대한 제어 흐름 표시방법
JP2003177923A (ja) ポーティング支援システムにおける予約語変換方法
CN115167917A (zh) Cobol程序扩展设备和方法
JPH0752391B2 (ja) 複数データベース記述を含む原始プログラムの翻訳方式
JPH09251378A (ja) クラスライブラリ更新方法および装置
JPS59231649A (ja) コンパイルリスト出力処理方式
JPH02278340A (ja) コンパイル方式
JPH07244601A (ja) 関係データベースのアクセス方法および装置
JP2000132405A (ja) インライン展開処理装置及び方法
JPH02205930A (ja) インタフェースチェック処理方法