JPH03252819A - アセンブラ原始プログラムをcobol原始プログラムに変換する装置 - Google Patents

アセンブラ原始プログラムをcobol原始プログラムに変換する装置

Info

Publication number
JPH03252819A
JPH03252819A JP5094490A JP5094490A JPH03252819A JP H03252819 A JPH03252819 A JP H03252819A JP 5094490 A JP5094490 A JP 5094490A JP 5094490 A JP5094490 A JP 5094490A JP H03252819 A JPH03252819 A JP H03252819A
Authority
JP
Japan
Prior art keywords
data
cobol
storage device
file
section
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
JP5094490A
Other languages
English (en)
Other versions
JP2636058B2 (ja
Inventor
Juichiro Akazawa
赤沢 充一郎
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 JP5094490A priority Critical patent/JP2636058B2/ja
Publication of JPH03252819A publication Critical patent/JPH03252819A/ja
Application granted granted Critical
Publication of JP2636058B2 publication Critical patent/JP2636058B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、アセンブラ原始プログラムを(:0BOL原
始プログラムに変換する装置に関する。
[従来の技術] 従来、この種のプログラム変換は、アセンブラ原始プロ
グラム内の各命令を解析し、フローチャートを作成した
後に、該フローチャートをもとに(:0BOL原始プロ
グラムに書き換えるか、あるいは、アセンブラ原始プロ
グラム内の各命令を解析し、命令単位でCOBOL原始
プログラムに変換していたがいずれも人手によって行な
われていた。
第28図(a) 、 (b)はアセンブラ原始プログラ
ムの一部分を示す図と、その部分の従来の命令毎の変換
によるCOBOL原始プログラム、第29図は第28図
(b)のCOBOL !始プログラムが整理修正された
結果を示す図である。
アセンブラコード511〜514はアセンブラ原始プロ
グラムの一部分、COBOLデータ51r、〜5113
およびCOBOLコード51,4〜51.8は変換され
たCOBOL R始プログラムの一部分である。
ここでは、アセンブラコード511をCOBOLデータ
515およびCOBOLコード5114に、アセンブラ
コード512をCOBOLデータ516〜5114およ
びCOBOLコード51.5〜5116に、アセンブラ
コード513〜514を(:0BOLコード51,7〜
51.6に各々変換した後、第29図に示すようにデー
タ部分、コード部分に並べ替え、さらにCOBOLデー
タ515〜5113については、どこで定義し、どこで
参照しているかを該COBOL原始プログラム内の全て
の行について調べ、データ名の重複、同一データの複数
データ名定義の修正を行っていた。
[発明が解決しようとする課題] 上述した従来のプログラム変換方式は、アセンブラ原始
プログラムの解析を人手により行なうことから、時間が
かかり、また、フローチャートを作成して(:0BOL
原始プログラムへと書き換えるときは、新規にプログラ
ムを作成するのと同程度の労力を必要とし、さらに、命
令単位で変換するときは、データ名の管理に多大の労力
を必要とするという欠点がある。
本発明の目的はアセンブラ原始プログラムからCOBO
L原始プログラムへの変換を自動的に行なうプログラム
変換装置を提供することである。
[課題を解決するための手段] 本発明のアセンブラ原始プログラムをCOBOL N始
プログラムに変換する装置は、 第1の記憶装置と。
アセンブラ原始プログラムからアセンブラ命令を含むレ
コードを1つづつ読出し、該レコードの内容がデータに
関する命令の場合はそのデータ名とデータ長が書込まれ
たデータ表を作成し、ファイルに関する命令の場合はそ
のファイル名とバッファ名とバツファ長が書込まれたフ
ァイル表を作成して第1の記憶装置2格納するデータ表
ファイル表作成手段と、 $2の記憶装置と、 前記アセンブラ原始プログラムから前記レコードを1つ
づつ読出して第2の記憶装置に格納するレコード読出し
手段ヒ、 第2の記憶装置に格納されたレコードの指定されたアド
レスから検索を開始し、始めに検出した、アセンブラの
区切り文字’(J 、’)J 、’、J 。
「・」、「’」の中の1つを出力する区切り文字抽出手
段と、 第2の記憶装置上の区切り文字抽出手段が出力したアド
レスから区切り文字までの文字列を抽出して出力する文
字列抽出手段と、 第3の記憶装置と、 前記文字列抽出手段が出力した文字列から該レコードの
オペランドを所定の規約に従って(:0BOLのアドレ
ス表現に変換し、アドレス表現表として第3の記憶装置
上に設定するアドレス表現変更手段と、 第4の記憶装置と、 前記アドレス表現表ごと2.該レコードのアセンブラ命
令に対応する(:0BOL命令とそれにともなって書込
まれる固定値と、格納位置を示すアドレスを出力する命
令指定手段と、 前記アドレス表現表と命令指定手段とからCOBOLコ
一ド部と、COBOLデ一タ部を編成して第4の記憶装
置に格納する文字列格納手段と、前記データ表のデータ
名とデータ長とをCOBOLのデータ形式に変換するデ
ータ変換手段と、第5および第6の記憶装置と、 前記COBOLコ一ド部を第5の記憶装置へ、COBO
Lデ一タ部を第6の記憶装置へ格納し、全レコードのC
OBOLコ一ド部、COBOLデータ部の格納終了褌前
記データ変換手段を介してC0DOLのデータ形式に変
換されたデータ表の内容を第6の記憶装置へ格納するフ
ァイル格納手段と、 第7の記憶装置と、 予め決められているCOBOLの見出し部、環境部、デ
ータ部、ベースデータ節、ワークデータ節1手続部を表
示する文字列が格納されている内部テーブルと、 全レコードのCOBOLコ一ド部、COBOLデ一タ部
の格納終了後、該アセンブラ原始プログラムに該当する
COBOLの見出し部と環境部を表示する文字列を内部
テーブルから読出して第7の記憶装置に書込み、前記フ
ァイル表に格納されている全ファイル名を読出してCO
BOLで決められているファイル定義の形式に編集して
第7の記憶装置に書込み、内部テーブルからデータ部を
読出して第7の記憶装置に書込み、前記ファイル表に格
納されている全てのファイル名、バッファ塩、バッファ
長を読出しCOBOLで決められているレコード定義形
式に編集して第7の記憶装置に書込み、次に5内部テー
ブルからベースデータ節とワークデータ節の表示を読出
して第7の記憶装置に書込み、第6の記憶装置から1レ
コード分づつの(:0[10t、デ゛−1り部の内容お
よびデータ変換表で変換されたデータ表の内容を読出し
て第7の記憶装置(書込み、次に内部テーブルから手続
部の表示を読出して第7の記憶装置に書込み、第5の記
憶装置からに0BOI。
コード部をレコード毎に読出して第7の記憶装置に書込
むデータ部コード部合成手段を有している。
[作用] アセンブラ原始プログラムから命令毎のレコードを1つ
づつ読出して該レコードの種類によりファイル族かデー
タ表を作成して格納し、一方該レコード毎に所定の規約
に従ってCOBOLのアドレス表現表を作成し、それを
基にしてCOBOLコ一ド部とCOBOLデ一タ部とを
構成し、全レコードについてCOBOLコ一ド部とCO
BOLデ一タ部をそれぞれのファイルに格納し、次に、
COBOL原始プログラムを編集するファイル上に、該
当するC08OL見出し部および環境部表示を書込み、
ファイル族からファイル名を(:0BOLのファイル定
義形式で書込み、データ部表示を書込んで、ファイル族
からファイル名、バッファ塩、バッファ長をファイル定
義に従って書込み、続いて全てのCOBOLデータ部を
書込み、続いて前記データ表のデータ名、データ長をC
OBOLのデータ表示に変換した結果を書込み、次に、
手続部表示を書込んで、COBOLコ一ト部をレコード
毎に書込むことにより、自動的(アセンブラ原始プログ
ラムをCOBOL原始プログラムに変換イることかでき
る。
[実施例] 次に、本発明の実施例について図面を参照して説明する
第1図は本発明のアセンブラ原始プログラムをCOBO
L原始プログラムに変換する装置の一実施例のブロック
図、第2図、第3図はそれぞれ第1図に示すデータ表9
とファイル族10の構成図、第4図はCOBOL fi
始プログラムバッファ5とアセンブラ原始プログラムバ
ッファ15を示す図、第5図はアセンブラ原始プログラ
ムの構成を示す図、第6図はアドレス表現表の説明図、
第7図はアセンブラプログラムの移送命令の構成を示す
図、8図は移送命令16のGOBOLコード部17を示
す図、第9図はアセンブラプログラムの編集命令19の
構成を示す図、第10図は編集命令19のCOBOLデ
一タ部21を示す図、第11図は編集命令19のCOB
OLコ一ド部22を示す図、第12図はアセンブラプロ
グラムの比較分岐命令25の構成例を示す図、第13図
はCOBOLの比較分岐表、第14区は比較命令25.
のCOBOLデ一タ部27を示す図、第15図は分岐命
令25□のCOBOLコ一ド部28を示す図、第16図
第17図はそれぞれ第1図中のデータ部コード部合成手
段8の内部テーブルの見出し部と環境部の表示を示す図
、第18図、第20図はそれぞれCOBOLのファイル
定義、レコード定義を示す図、第19図、第21図、第
22図はそれぞれデータ部コード部合成手段8のデータ
部表示、ベースデータ節表示、ワークデータ節表示を示
す図、第23図(δ) 、 (b) 、 (c)はそれ
ぞれ第1図中の文字列抽出手段12の処理のフローチャ
ート、原文字列、抽出された文字を示す図、!24図(
a) 、 (b)はそれぞれ第1図中の区切り文字抽出
手段13の処理のフローチャー1・、原文字列を示す図
、第25図(a)。
(b) 、 (c)は第1図中の文字列格納手段18の
処理のフリーチャート、原文字列および格納後の文字列
を示す図、第26図はCOBOL注釈行を示す図、第2
7図はデータ部コート部合成手段8の内部テーブルの手
続部の表示を示す図である。
このプログラム変換装置は、アセンブラ原始プログラム
ファイル1と、データ表ファイル表作成手段6と、デー
タ表9、ファイル表10格納用のバッファ(不図示)と
、プログラム変換手段7と、アドレス表現変換手段11
と、アセンブラ原始プログラムバッファ15と、C0D
OL原始プログラムバツフア5と、文字列抽出手段12
と、区切り文字抽出手段13と、文字列格納手段18と
、COBOLコ一ド部ファイル2と、 COBOLデ一
タ部ファイル3と、データ部コー ド部合成手段8と。
COBOL Jlt!始プログラムファイル4からなる
データ表ファイル表作成手段6はアセンブラ原始プログ
ラムファイル1からアセンブラ原始プログラムをルーコ
ードづつ順次読込み、該レコードがデータ関連の場合は
データ名9.とそのデータ長9□を、ファイル関連の場
合はファイル名104、バッファ塩10□、バッファ長
103をそれぞれの読込み毎にバッファ(不図示〉にデ
ータ表9、ファイル族10として格納する。プログラム
変換手段7はアセンブラ原始プログラム1から第5図に
示す命令毎のレコード23を読出してアセンブラ原始プ
ログラムバッファ15に格納する手段と、ラベル23!
、命令23□、オペランド233の解析を行ない、アド
レス表現変換手段11に、第6図に示”t Cot)0
1.のアドレス表現のため中間形式のアドレス表現表1
4を作成させ、また、文字列格納手段18に対してC0
DOL命令語とそれにともなう固定値および編集のため
のアドレスを指示する手段と、この指示により文字列格
納手段18にアドレス表現表14から第4図に示すCO
BOL原始プログラムバツフア5上に見出し部になるC
OBOLコ一ド部(例えば第8図に示す17)およびC
OB 01.データ部(例えば第10図に示す21)を
編集さf、tの1該C1)801 :I−F部と(:0
BOLデータ部をそれぞれに0BOLコード部ファイル
2とCOBOLデー 、!A部ラフアイル3格納し、さ
らに、全レコードについてC0BO1,コード部とに0
BOL0BOLデータイルへの格納が終わるとデータ表
9に格納されているデータ名9.とデータ長92をCO
BOLのデータ形式に変換してCOBOLデ一タ部ファ
イル3に格納させる手段を有している。
COBOLコ一ド部はCOBOLの手続部以降に格納さ
れる命令に関す64s分であり、GOBOLデータ部は
COBOLのデータ部に格納されるデータ定義(関する
部分である。デ・−=夕部コ・−ド部合成手段8はCO
BOLの見出し部32(1,16図)、環境部33(第
17図)、データ部35(第19図)、ベースデータ節
37(第21図)、ワークデータ節38(第22図)、
手続部52(第27図)を含む内部テーブル(不図示)
を有し、前記全レコードのCOBOLコ一ド部ファイル
2、COBOLデ一タ部ファイル3への格納が終了後、
見出し部32と環境部33を内部テーブルから読出!−
2てCIJI30L 原始プログラムラ2イル・舎(以
下ファイル4と記す)に書込みファイル族10からファ
イル名10.を読出してフ?fル定義、(4(第281
%)形式に編集してファイル4に書込み、データ部35
を内部テーブルから読出してファイル4に書込ゐ、ファ
イル族10からファイル名10I、バラツブ名102、
バッファ長103を読出し、レコード定義36(第20
図)形式に編集してファイル4に書込み、ベースデー・
−夕節37とワ・−クデータ節38を内部テーブルから
読出してファイル4に書込み、COBOLデ一タ部ファ
イル3がらレコード毎のCOBOLデータと(:0BO
I−変換されたデータ表9の内容とを読出してファイル
4に書込み、手続部52を内部テーブルから読出してフ
ァイル4に書込んで、COBOLコ一ド部ファイル2か
らレコード毎のCOBOLコ一ド部をファイル4に書込
む。また、区切り文字抽出手段13はアセンブラ原始プ
ログラム用バッファ15に格納されたレコードの指定さ
れた位置から検索して区切り文字’(J 、 ”)J 
r、、、r・J 、”Jを検出し、その検出した区切り
文字を出力する。文字列抽出手段12はアセンブラ原始
プログラム用バッファ15上のレコードの文字列の中か
ら指定された位置から指示された区切り文字までの文字
列をCOBOL !始プログラムバッファ5内の指定さ
れた位置に書込み、アドレス表現変換手段11&:通知
する。
次に、本実施例の動作に・ついて説明する。
アセンブラ原始プログラムファイル1と、COBOLコ
ードフアイル2、COBOLデ一タ部ファイル3、CO
BOL原始プログラムファイル4C用いられる磁気テー
プをそれぞれの磁気テープ装置に搭載し、データ表9、
ファイル族10が格納される記憶装置(不図示)、、 
COBOL原始プログラムバツフア5、アセンブラ原始
プログラムバッファ15を初期状態にセットし、本実施
例を起動する。まず、データ表作成手段6がアセンブラ
派始プログラム1から1つのレコード23を読出し、そ
の内容によりファイル族10かデータ表9にそれぞれフ
ァイル名100、バッファ名10□、バッファ長103
、データ名98、データ長92を格納する。一方、プロ
グラム変換手段7は同じレコード23を読出し、アセン
ブラ原始プログラムバッファ15に格納し、ラベル23
1.命令232、オペランド233を解析する。
読込んだレコード23が移送命令16(第7図)で、該
移送命令16のrMVXJは1バイトの文字を指定され
たアドレスに移送する命令とすると、プログラム変換手
段7はアドレス表現変換手段11の処理を起動する。ア
ドレス表現変換手段11は移送命令16に対応するアド
レス表現表(表2)を作成のためアセンブラ原始プログ
ラムバッファ15内のバッファ39上の該レコードの操
作開始位置「16」を示してMVI命令用ルーチン(不
図示)を起動する。それにより、区切り文字抽出手段1
3は第24図(a)に示すフローチャートの手順によっ
て動作する。まず、指定された位置(ステップ111に
よる)rlSJ上の文字を読出しくステップ112) 
、該文字「4」が区切り文字か否かを判定する(ステッ
プ113)。区切り文字でないので次のアドレス「17
」上の文字を読出しくステップ115)、該文字’(J
を検出し区切り文字を判定して該区切り文字「(」をア
ドレス表現変換手段11へ返送する(ステップ114)
。アドレス表現変換手段11は該操作開始位置「16」
と区切り文字「(」を文字列抽出手段12に指示する。
文字抽出手段12は第23図(a)に示すフローチャー
トの手順Cより、まず、操作開始位置a=r16J、区
切り文字b=r(Jとすると(ステップ101)、第2
3図(b)に示す例えばアセンブラ原始プログラムバッ
ファ15内のバッファ39上の位fliをr 16J 
、COBOL !始プログラムバッファ5内のバッファ
40の位置「1」をjとする(ステップ102)。バッ
ファ39上の位l rl 6Jの文字「4」を読み「(
」か否かを判定する(ステップ103)。「4」は「(
」でないので、「4」をバッファ40の位置「1」に書
込む(ステップ105)。次に、バッファ39の位置を
「17」、バッファ4oの位置を「2」として(ステッ
プ106)、バッファ39の位置「17」の文字を読む
と「(」でありb=’(」と−致すると判定しくステッ
プ103)、位置「18」とバッファ40をアドレス表
現変換手段11へ返送する(ステップ104)。アドレ
ス表現変換手段11は文字抽出手段12の出力した「4
」が第6図に示すアドレス表現表14のデータ名142
に該当するため、変換表24(表1)を参照して「4」
をrREG4Jに変換してアドレス表現表(表2)に格
納する。rREG44はレジスタ4に対応するデータで
、レジスタと同様の機能を持つポインタデータによりア
クセス可能なデータであることを示す。
表1      表2 また、アドレス表現表(表2)のデータ表現14、該3
項にrDJを設定する。rp」は、データ名1’ RE
 G 4 Jが(:08OL原始プログラムで使用でき
ることを示す。その後、同様にして、区切り文字抽出手
段13から得た操作開始位置「18」と区切り文字「)
jとを文字列抽出手段12に与えることにより文字列「
8」と「19」とを得、アドレス表現表(表2)のデー
タ名または文字列の開始位置を示すオフセット項に「8
」がセットされ、レングス144該当項にはデータ長が
「1」なので「1」がセットされる。また、この区切り
文字「)」が第1アドレスの最終文字でデータがないの
で第1アドレスのワークデータ名(アセンブラに記述さ
れていないためこの変換中に付与するデータ名)14.
、データ値146該当バツフア位置にスペース「△」が
セットされる。アドレス表現変換手段11は次のアドレ
スの操作開始位置即ち位置「21」を区切り文字抽出手
段13に指示することにより区切り文字「°」を得、文
字列抽出手段1zより「C」を得てrc」をアドレス表
現表(表2)の147該当項にセットする。ここで、「
C」はデータ値に定数を有することを示す表示である。
次に、アドレス表現変換手段11は操作開始位置「23
」を区切り文字抽出手段13に指定して区切り文字「j
および操作開始位置「23」を得、区切り文字「゛」 
と操作開始位置「23」を文字列抽出手段12に指定す
ることにより「+ノを得る。「+」は定数を意味するの
でアドレス表現衣(表2)のデータ値14,2該当項に
「◆」をセットする。始めの「゛」以降には定数がある
ためこういうときはオフセット項に「1」を、また「“
」〜「゛」間に定数があるので、そのレングスをレング
ス環にセットする。従って「1」がレングスの項14.
oにセットされ、ワークデータ名の項146には該当が
ないのでスペース「△」がセットされる。このようにし
てアドレス表現衣(表2)が作成されると、プログラム
変換手段7はアセンブラのrMVIJに該当する命令r
sUBsTRING△」とその格納位置「12ノおよび
この命令にともなう固定値「△ INTOJ 、  r
・」とそれらのデータ長と格納位置を文字列格納手段1
8に指示する。文字列格納手段18は第25図(a) 
、 (b) 、 (c)に示すフローチャートにより、
それぞれのメモリまたはバッファの位置、データ長、格
納するC0B(IL原始プログラムバッファ5内のバッ
ファ50上の位置が決められるので1文字づつ格納する
。例えばバッファ41の位置「2」からレングス4のr
REG4Jをバッファ50上の位置24にセットすると
き(ステップ121)、1→i、24→jとしくステッ
プ122)、バッファ4101番目の文字Rをバッファ
50の24番目にセットする(ステップ123)。次に
、4−1=3でrQJより大なので(ステップI24)
、i+1、j+1として(ステップ125)、次の文字
「E」をバッファ50の位置「25」にセットする。こ
のようにしてn=oになるまで操作を繰返してrREG
4Jをセットし、さらに第8図に示すに0BOLコード
部17をバッファ50にセットする。その後%に0BO
L原始プログラムバッファ5に編集した内容即ちCOB
OLコ一ド部17をプログラム変換手段7がCOBOL
コ一ド部ファイル2に格納する。
次に、編集命令19(第9図)のCOBOL変換につい
て説明する。
この命令EDはバックモード10進数をアンバックモー
ド10進数に変換する命令とする。まず、データ表ファ
イル表作成手段6によりファイル族10が作成される。
次に、プログラム変換手段7はアセンブラ原始プログラ
ム用バッファ15に1コ一ド分の文字列’PRW+34
 (4) 、MP2」を読込みアドレス表現変換手段1
1を起動する。アドレス表現変換手段11はアセンブラ
のrEDJ命令用ルーチンを起動して移送命令16のと
きと同様の方法でオペランドを解析し、表3に示すアド
レス表現衣をセットする。アドレス表現衣(表3)がセ
ットされると、プログラム変換手段7が文字列格納手段
18に編集命令19に必要な命令、固定値、格納位置を
示してアドレス表現衣(表3)からCOBOLデ一タ部
21(第10図)およびCOBOLコ一ド部22(第1
1図)をCOBOL原始プログラムバツフア5上に編集
させ、その後、C0DOLデ一タ部21をCOBOLデ
一タ部ファイル3に、COBOLコード部22をに0B
OLコード部ファイル2に格納する。ここで、COBO
Lデ一タ部21、COBOLコ一ド部22のMWC−0
004は4バイト長の文字データ、MWU−0004は
4バイト長のアンパックモート10進数データ、Mlf
C−0004は4バイト長の文字データ、PllP−0
004は4バイト長のパックモード10進数データを表
わす。
表3 注35,4はアセンブラは0から計数し、CI)!3 
OLが1から数えるため34が35,3が4に表示され
る。
次に、比較分岐命令25(第12図)のCOBOL原始
プログラムへの変換について説明する。
比較命令CLCはあるアドレスにある複数バイトのデー
タと他のアドレスにある複数バイトのデ・−夕あるいは
文字列とを比較する命令であり、分岐命令BEは直前の
比較命令により「等しい」εいう条件を満足したときオ
ペランドで示されたアドレスに分岐する命令とする。ま
ず、データ表ファイル表作成手段6により、ファイル表
10を作成する。次に、プログラム変換手段7はアセン
ブラ原始プログラム用バッファ15に1レコード分の文
字列rADW、・C°0本本参*0°」を読込み、アド
レス表現変換手段11を起動する。
表4 アドレス表現変換手段11は移送命令のときと同様の方
法でオペランドを解析し、CLC命令に対応するルーチ
ンを起動して表4に示すアドレス表現表をセットする。
アドレス表現表(表4)がセットされると、プログラム
変換手段7は必要な情報を与えて文字列格納手段18に
(:0BOL原始プログラムバツフア5LにCOBOL
データ部27を組立てさせ、+1:0BOLデ一タ部フ
ァイル3に格納する。;: : テCWD−0001ハ
値’*******本、ヲ持ツ8ハイドの文字データで
あることを示し、そのデータの名前は当該プログラムで
一意となるように記憶装置上で制御する。次に、プログ
ラム変換手段7は第12図に示す次のレコード252を
アセンブラ原始プログラムファイル1よりアセンブラ原
始プログラムバッファ15に読込み、第13図に示す比
較分岐表29をセットする。
表5 ここで比較条件291は表5に示す比較命令変換表によ
り変換され、分岐先29□は第12図の分岐命令25□
のオペランドの値をそのままセットしたものである。そ
の後、プログラム変換手段7は、比較分岐表29および
アドレス表現表(表4)から文字列格納手段18にCO
BOL i始プログラムバッファ5上にCOBOLデ一
タ部27およびCOBOLコ一ド部28を組立てさせ、
それぞれCOBOLデ一タ部ファイル3、COBOLコ
一ド部ファイル2に格納する。上記のようにして一連の
アセンブラ原始プログラムをCOBOLコ一ド部ファイ
ル2、COBOLデ一タ部ファイル3に格納してしまう
と、プログラム変換手段7がデータ表9のデータ名91
、データ長9□をCOBOLのデータ形式に変換してC
OBOLデータ部ファイル3へ格納する。その後、デー
タ部コード部合成手段8はCOBOL R始プログラム
における見出し部32および環境部33をそれぞれ内部
テーブルから読出してファイル4に書込み、ファイル表
10から全レコードについてファイル名10.を読出し
、レコード毎に第18図に示すファイル定義34の形式
に編集してファイル4に書込み、次に、第19図に示す
データ部35を内部テーブルから読出してファイル4に
書込み、ファイル表10からファイル名10I、ファイ
ル名102、バッファ長103を得てレコード定義36
の形式に編集しファイル4に書込む操作を全レコードに
ついて行なう。次に、COBOL原始プログラムにおけ
るベースデータ節37、ワークデータ節38を内部テー
ブルから読出してファイル4に書込む。次に、データ部
コード部合成手段8はCOBOLデ一タ部ファイル3か
らルーコードづつCOBOLデ一タ部を読んでファイル
4に書込み、COBOL 原始プログラムにおける手続
部52を内部テーブルから読出してファイル4に書込み
、COBOLコ一ド部ファイル2からルーコードづつC
OBOLコ一ド部を読出してファイル4に書込む。以上
の処理によりC0DOL原始プログラムがファイル4上
に合成され格納される。
また、プログラム変換手段7は上記の命令以外について
もぞれぞれの命令に対応するルーチンにより上記と同様
の方法によりアセンブラ原始プログラムからCOBOL
原始プログラムへの変換を行なうことができる。ただし
、ハードウェアを直接制御する命令等COBOLでは表
現できないものについては、第26図に示すCOBOL
注釈行31としてCOBOLコード部ファイル2または
C0BQ1.データ部ファイルに書込み、COBOLで
はなく別に処理されることになる。
[発明の効果コ 以上説明したように本発明は、アセンブラ原始プログラ
ムの解析をプログラム変換手段により機械的に行ない、
COBOL 1llX始プログラムのデータ部とコード
部の並べ換えをデータ部コード部合成手段により機械的
に行なうことにより、アセンブラ原始プログラムからC
OBOL原始プログラムへの変換を自動的に短時間で正
確に行なうことができる効果がある。
【図面の簡単な説明】
第1図は本発明のアセンブラ原始プログラムをCOBO
L ffl始プリプログラム換する装置の一実施例のブ
ロック図、第2図、第3図はそれぞれ第1図に示すデー
タ表9とファイル表10の構成図、第4図はC0DOL
原始プログラムバツフア5とアセンブラ原始プログラム
バッファ15を示す図、第5図はアセンブラ原始プログ
ラムの構成を示す図、第6図はアドレス表現衣の説明図
、第7図はアセンブラプログラムの移送命令の構成を示
す図、第8図は移送命令16のCOBOLコ一ド部17
を示す図、第9図はアセンブラプログラムの編集命令1
9の構成を示す図、第10図は編集命令19のCOBO
Lデータ部21を示す図、第11図は編集命令19のC
OBOLコ一ド部22を示す図、第12図はアセンブラ
プログラムの比較分岐命令25の構成例を示す図、第1
3図はCOBOLの比較分岐衣、第14図は比較命令2
5.のCOBOLデ一タ部27を示す図、第15図は分
岐命令252の[;0BOLコ一ド部28を示す図、第
16図声17図はそれぞれ第1図中のデータ部コード部
合成手段8の内部テーブルの見出し部と環境部の表示を
示す図、第18図、′s20図1thソhCOBOL 
+7)7アイル定義、レコード定義を示す図、第19図
、第21図、第22図はそれぞれデータ部コード部合成
手段8のデータ部表示、ペースデータ節表示、ワークデ
ータ節表示を示す図、第23図(a)2(b)、(c)
はそれぞれ第1図中の文字列抽出手段12の処理のフロ
ーチャート、原文字列、抽出された文字を示す図、第2
4図(a) 、 (b)はそれぞれ第1図中の区切り文
字抽出手段13の処理のフローチャート、原文字列を示
す図、第25図(a)。 (b) 、 (c)は第1図中の文字列格納手段18の
処理のフローチャート、原文字列および格納後の文字列
を示す図、第26図はCOBOL注釈行を示す図、第2
7図はデータ部コート部合成手段8の内部テーブルの手
続部の表示を示す図、第28図(a)はアセンブラ原始
プログラムの一部分を示す図、第28図(b)はその部
分の従来の命令毎の変換によるCOBOL原始プログラ
ムの一部分を示′f図、第29図は第28図(b)の(
:0BOL原始プログラムが整理、修正された結果を示
す図である。 1−・アセンブラ原始プログラムファイル、2−COB
OLコード部ファイル、 3− COBOLデ一タ部ファイル、 4=COBOL原始プログラムフアイル、5−COBO
L原始プログラムバッファ、6−・データ表ファイル表
作成手段、 7−・プログラム変換手段、 8・・・データ部コード部合成手段、 9−データ表、91・−データ名、 9□−・データ長、10・−ファイル表、10、−・フ
ァイル名、102−バッファ塩、103−・バッファ長
、 11−・・アドレス表現変換手段、 12−・文字列抽出手段、 13−・区切り文字抽出手段、 14−・アドレス表現衣、 14+、147”−データ表現、 14□、14.−・データ名、 143.14s−オフセット、 144 、141o−レングス、 14g、14++−ワークデータ、 14 e、 、  1412””データ値、5−・アセ
ンブラ原始プログラムバッファ、6−・移送命令、17
・・・COBOLコ一ド部、8−・文字列格納手段、1
9−・・編集命令、1−COBOLデータ部、 2−COBOLコード部、 3−・アセンブラ原始プログラム、 3□−・ラベル、232・−命令、 33−・オペランド、25・−比較分岐命令、5、−・
・比較命令、252・−分岐命令、7−COBOLデー
タ部、 8−・COBOLコ一ド部、29・・・比較分岐表、9
1−・比較条件、292−・分岐先、1−COBOL注
釈行、32−・・見出し部、3−・環境部、34−ファ
イル定義、 5−・データ部、36−・・レコード定義、7−・ベー
スデータ節、 8−ワークデータ節、 9.40,41.50−−バッファ、 2−・手続部。 第 3 図 5 第 図 第 図 17COBOLコ一ド部 ン 9w5fN 第 91 第 回 第 図 第10 m 第 1 凶 第12図 27COBOLデ一タ部 28COBOLコ一ド部 第15図 32見出し部 第16図 第 17図 37ベ一スデータ節 第 1 図 第 2 図 COBOL注釈行 1 第 26図 第 27図 −122− 41パ、ファ m番目

Claims (1)

  1. 【特許請求の範囲】 1、第1の記憶装置と、 アセンブラ原始プログラムからアセンブラ命令を含むレ
    コードを1つづつ読出し、該レコードの内容がデータに
    関する命令の場合はそのデータ名とデータ長が書込まれ
    たデータ表を作成し、ファイルに関する命令の場合はそ
    のファイル名とバッファ名とバツファ長が書込まれたフ
    ァイル表を作成して第1の記憶装置に格納するデータ表
    ファイル表作成手段と、 第2の記憶装置と、 前記アセンブラ原始プログラムから前記レコードを1つ
    づつ読出して第2の記憶装置に格納するレコード読出し
    手段と、 第2の記憶装置に格納されたレコードの指定されたアド
    レスから検索を開始し、始めに検出した、アセンブラの
    区切り文字「(」、「)」、「,」、「・」、「’」の
    中の1つを出力する区切り文字抽出手段と、 第2の記憶装置上の区切り文字抽出手段が出力したアド
    レスから区切り文字までの文字列を抽出して出力する文
    字列抽出手段と、 第3の記憶装置と、 前記文字列抽出手段が出力した文字列から該レコードの
    オペランドを所定の規約に従ってCOBOLのアドレス
    表現に変換し、アドレス表現表として第3の記憶装置上
    に設定するアドレス表現変更手段と、 第4の記憶装置と、 前記アドレス表現表ごとに、該レコードのアセンブラ命
    令に対応するCOBOL命令とそれにともなって書込ま
    れる固定値と、格納位置を示すアドレスを出力する命令
    指定手段と、 前記アドレス表現表と命令指定手段が出力した命令、固
    定値、格納位置から、COBOLコード部と、COBO
    Lデータ部を編集して第4の記憶装置に格納する文字列
    格納手段と、 前記データ表のデータ名とデータ長とをCOBOLのデ
    ータ形式に変換するデータ変換手段と、第5および第6
    の記憶装置と、 前記COBOLコード部を第5の記憶装置へ、COBO
    Lデータ部を第6の記憶装置へ格納し、全レコードのC
    OBOLコード部、COBOLデータ部の格納終了後前
    記データ変換手段を介してCOBOLのデータ形式に変
    換されたデータ表の内容を第6の記憶装置へ格納するフ
    ァイル格納手段と、 第7の記憶装置と、 予め決められているCOBOLの見出し部、環境部、デ
    ータ部、ベースデータ節、ワークデータ節、手続部を表
    示する文字列が格納されている内部テーブルと、 全レコードのCOBOLコード部、COBOLデータ部
    およびデータ表の格納終了後、該アセンブラ原始プログ
    ラムに該当するCOBOLの見出し部と環境部を表示す
    る文字列を内部テーブルから読出して第7の記憶装置に
    書込み、前記ファイル表に格納されている全ファイル名
    を読出してCOBOLで決められているファイル定義の
    形式に編集して第7の記憶装置に書込み、内部テーブル
    からデータ部を読出して第7の記憶装置に書込み、前記
    ファイル表に格納されている全てのファイル名、バッフ
    ァ名、バッファ長を読出しCOBOLで決められている
    レコード定義形式に編集して第7の記憶装置に書込み、
    次に、内部テーブルからベースデータ節とワークデータ
    節の表示を読出して第7の記憶装置に書込み、第6の記
    憶装置から1レコード分づつのCOBOLデータ部の内
    容および変換表で変換されたデータ表の内容を読出して
    第7の記憶装置に書込み、次に内部テーブルから手続部
    の表示を読出して第7の記憶装置に書込み、第5の記憶
    装置からCOBOLコード部をレコード毎に読出して第
    7の記憶装置に書込むデータ部コード部合成手段を有す
    るアセンブラ原始プログラムをCOBOL原始プログラ
    ムに変換する装置。
JP5094490A 1990-03-02 1990-03-02 アセンブラ原始プログラムをcobol原始プログラムに変換する装置 Expired - Lifetime JP2636058B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5094490A JP2636058B2 (ja) 1990-03-02 1990-03-02 アセンブラ原始プログラムをcobol原始プログラムに変換する装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5094490A JP2636058B2 (ja) 1990-03-02 1990-03-02 アセンブラ原始プログラムをcobol原始プログラムに変換する装置

Publications (2)

Publication Number Publication Date
JPH03252819A true JPH03252819A (ja) 1991-11-12
JP2636058B2 JP2636058B2 (ja) 1997-07-30

Family

ID=12872933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5094490A Expired - Lifetime JP2636058B2 (ja) 1990-03-02 1990-03-02 アセンブラ原始プログラムをcobol原始プログラムに変換する装置

Country Status (1)

Country Link
JP (1) JP2636058B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360359B1 (en) 1998-01-30 2002-03-19 Nec Corporation Source converter processing method and machine-readable media storing it
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360359B1 (en) 1998-01-30 2002-03-19 Nec Corporation Source converter processing method and machine-readable media storing it
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program

Also Published As

Publication number Publication date
JP2636058B2 (ja) 1997-07-30

Similar Documents

Publication Publication Date Title
JP4924976B2 (ja) ソフトウェア開発支援システム
JPH04227550A (ja) データ処理装置
JPH0830620A (ja) 構造検索装置
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
JP3205406B2 (ja) 参照対象変数決定処理方法および翻訳処理システム
JP2001060150A (ja) データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体
JPS60218142A (ja) デ−タの動的型変換方式
JPH03252819A (ja) アセンブラ原始プログラムをcobol原始プログラムに変換する装置
JPS60122435A (ja) メモリダンプ方式
JPS61211738A (ja) 原始プログラムの注釈管理方式
JPH0362128A (ja) データ内容の出力方式
JPH09222999A (ja) 木構造チャート変換システム及び変換方法
JPS63226730A (ja) プログラム自動作成方法
JPH01136270A (ja) ワードプロセッサ装置
JPH0322030A (ja) キー値の問い合わせシステム
JP2811804B2 (ja) 変数出力範囲指定方式
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JPH0540638A (ja) 語彙解析編集方式
JPS63148342A (ja) ル−プ実行時間測定方式
JPH03186933A (ja) 言語処理システムのシンボル処理方式
JPH04342043A (ja) ファイル入出力方式
JPH0731594B2 (ja) プログラム情報解析処理装置
JPH08314933A (ja) 構造化文書の処理装置
JPH09259119A (ja) 文書作成装置及びこれに用いる記録媒体
JPH02281334A (ja) テキストファイル自動生成方式