JPS63138426A - プログラム生成方式 - Google Patents

プログラム生成方式

Info

Publication number
JPS63138426A
JPS63138426A JP28551486A JP28551486A JPS63138426A JP S63138426 A JPS63138426 A JP S63138426A JP 28551486 A JP28551486 A JP 28551486A JP 28551486 A JP28551486 A JP 28551486A JP S63138426 A JPS63138426 A JP S63138426A
Authority
JP
Japan
Prior art keywords
program
source
relationship
data
information
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
JP28551486A
Other languages
English (en)
Inventor
Kaoru Umezawa
梅澤 薫
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 JP28551486A priority Critical patent/JPS63138426A/ja
Publication of JPS63138426A publication Critical patent/JPS63138426A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、任意のプログラム言語で記述されたソースプ
ログラムを翻訳し適用コンピュータ上で動作可能な命令
の集まりであるオブジェクトプログラムを生成するコン
パイラのプログラム生成方式に関する。
〔従来の技術〕
従来のこの種のプログラム生成方式は、ソースプログラ
ムと呼ばれるプログラム言語で記述されたフラットなソ
ースステートメントを入力し、それを解析するために種
々の内部制御表を作り、ソースプログラムの単位で一括
してオブジェクトプログラムを生成する。
〔発明が解決しようとする問題点〕
作成された直後のプログラムには幾つかの誤りが存在す
るのが一般的である。プログラムのディバッグとはこの
誤りを修正する作業であるが、通常誤りの範囲は部分的
であり全般的な変更は少ない、しかしながら、従来技術
においては、たとえソースプログラムの1ステツプの修
正であってもそのプログラムの全体の再翻訳が必要であ
り、前回の翻訳と99%以上同じ処理を繰返し行なう結
果となる場合が少なくない、従って、前回のソースプロ
グラムを部分的に修正した更新バージョンの翻訳である
にもかかわらず、 ■前回のソースプログラムの更新と関連のない部分の翻
訳処理まで繰返し行なわないと翻訳できない点で処理資
源の浪費をしている。
■ソースプログラムの部分的更新時における翻訳処理の
ターンアラウンドが遅い。
といった問題点があった。
本発明はこのような従来の問題点を解決したもので、そ
の目的は、部分更新されたソースプログラムの翻訳時に
は、変更により影響の及ぶ範囲のみの翻訳で済むように
して、処理資源の浪費を少なくし、翻訳時間の短縮化を
可能とした高性能なプログラム生成方式を提供すること
にある。
〔問題点を解決するための手段〕
本発明は上記目的を達成するために、 ソースプログラムを翻訳し適用コンピュータ上で実行可
能な命令の集まりであるオブジェクトプログラムを生成
するコンパイラのプログラム生成方式において、 (1)コンパイラが入力ソースプログラムを翻訳する過
程で認識するプログラム構造、データ構造、プログラム
とデータとの関係情報を、その情報のタイプにより類別
可能な複数の対象タイプに属する実現値として保持し、
対象間の関係付けに対してもその情報の関係タイプによ
る類別可能な複数の関係付はタイプに属する実現値とし
て保持するプログラムデータベースと、 (2)下記(ア)、(イ)、(つ)の手段を含む対象ア
クセス手段と、 (ア)前記プログラムデータベースに保持される対象を
、対象の属するタイプ、タイプ内の実現値を一意に識別
するキーにより識別可能とする対象識別手段 (イ)前記プログラムデータベースの対象の属性情報を
更新する対象属性更新手段 (つ)前記プログラムデータベースの対象の関係情報を
更新する対象関係更新手段 (3)下記(1)、(オ)の手段を有する変更モニタ手
段と、 (1)ra末装置との入出力制御を行ない、その指示を
解析し、指示に対し内部処理部分の制御を行なう制御手
段 (オ)ソースセンテンスの文法上及び構造上の妥当性を
解析する解析手段 (4)前記プログラムデータベースを前記対象アクセス
手段を用いて関係情報をたどって検索しソース更新の影
響を受ける対象を認識する変更範囲認識手段と、 (5)ソースステートメントを再配置レベルでオブジェ
クト化可能なアセンブリステートメントに翻訳するオブ
ジェクトスケルトン生成手段と、(6)下記(力)、(
キ)の手段を含み、オブジェクトスケルトンを機械コー
ドに変換しそれらを配置するアセンブル手段と、 (力)全オブジェクトスケルトンを人力し、それらをコ
ード化し格納記憶域に配置する再生成手段 (キ)更新部分のオブジェクトスケルトンと前記格納記
憶域の内容とを入力し更新部分のオブジェクトスケルト
ンをコード化して一時格納域に展開し、格納記憶域に格
納されているオブジェクトの中で更新部分の前オブジェ
クトスケルトンが展開していた領域に変更なし前オブジ
ェクトスケルトンが展開したオブジェク、トとの関連の
一貫性を保ち前記一時格納域に展開したオブジェクトを
再展開する変更生成手段 を含み、新規作成のソースプログラムを翻訳する場合に
は、その翻訳過程で認識したプログラム構造、データ構
造、プログラムとデータとの関係情報を前記プログラム
データベースに保持させ、ソースプログラムの更新バー
ジランの翻訳時には、前回の翻訳時に得た情報を前記プ
ログラムデータベースから前記対象アクセス手段を利用
して活用することで更新の関連部分のみの翻訳処理によ
りオブジェクト生成を行なう。
(作用〕 新規作成のソースプログラムの翻訳時には、変更モニタ
手段の制御手段による各部の制御により、ソースプログ
ラムを翻訳した過程で認識されるプログラム構造、デー
タ構造、プログラムとデータとの関係情報がプログラム
データベースに格納され、そのソースプログラムの一部
を変更したソースプログラムの翻訳時には、影響範囲!
!識手段により認識されたそのソース更新によって影響
を受ける範囲のみの翻訳でオブジェクト生成が行なわれ
る。
〔実施例〕
次に、本発明の実施例について図面を参照し説明する。
第1図は、本発明の実施例の構成図であり、始めにこの
構成図に従って本実施例の構成の概要を説明し、次にプ
ログラムデータベース(以下PDBと称す)の構造をプ
ログラム言語C0BOLの例で述べ、次に、C0BOL
の場合の本発明の実施例の詳細を制御の流れに従って述
べる。
■ 構成概要 第1図において、1はキーボード、ディスプレイ等を有
する端末装置、2は利用者とのインクフェイスをモニタ
する変更モニタ手段であり、制御手段2−1.解析手段
2−2から構成される。制御手段2−1は、端末装置l
との入出力制御を行い、その指示を解析し、指示に対し
内部処理部分の制御を行う利用者インクフェイスを制御
する手段であり、解析手段2−2は、ソースセンテンス
の文法上の妥当性及び対象アクセス手段(後述)を使っ
て文脈上の妥当性を評価する手段である。
3は対象アクセス手段であり、対象識別手段3−1.対
象属性更新手段3−2.対象関係更新手段3−3を含む
、対象識別手段3−1は、PDB7内の任意の識別可能
な対象を検索する手段である。対象属性更新手段3−2
は、対象にローカルな属性データ及び対象間の関係付け
に存在する属性データを記述するデータを更新する手段
である。
対象関係更新手段3−3は、自/他の対象タイプとの関
係付けの為のデータを更新する手段である。
関係付けには、幾つかのタイプが存在し名前がある。
4は変更範囲認識手段であり、変更モニタ手段2からの
変更箇所とその解析結果を第4図に示すトランザクシラ
ン表に得て、対象アクセス手段3を使って変更の及ぼす
対象範囲を得る。すなわち影響を受ける対象群を関係情
報をたどることで解決する。
5はオブジェクトスケルトン生成手段であり、ソースセ
ンテンスからアセンブリセンテンスへの翻訳を行なう、
翻訳されたアセンブリセンテンスは、その言語構造と共
にPDB7“に保持される。
6はアセンブル手段であり、再生成手段6−1と変更生
成手段6−2とから構成され、どちらかを選択できる。
再生成手段6−1は、オブジェクトスケルトンすなわち
アセンブリ言語からの再配置(アセンブル)によりオブ
ジェクトプログラムを生成する手段であり、変更生成手
段6−2は、オブジェクトの再配置を行なわずにアセン
ブリセンテンスレベルで変更のある部分のオブジェクト
のみを更新する手段である。
■ C0BOLのPDB 本発明は、プログラム言語及びPDBにいかなるデータ
を保持するかに依存しないが、その構造と本発明の適用
上の有効性レベルとには関係があり、次に記述する例は
、有効な例の一つである。
実施例としては、C0BOL言語の場合について述べる
初めに、PDHの構造について述べる。
第2図はC0BOLのソース言語構造の例を示し、同図
(alはデータ定義構造を、同図(blはプログラムコ
ード構造を示す、第2図の四角は対象のタイプを表し、
四角の中の名称は対象のタイプの名称であり、四角と四
角とを結ぶ線は関係付はタイプを表し、付記した名称は
関係付は名である。対象タイプには固有の属性があり、
関係付けにも属性がありうる。どのような構造をPDB
7に保持するかは、前述のように有効性のレベルと関係
があり、プログラム言語にも依存するが、本実施例では
、ソースセンテンスレベルの構造と、アセンブリセンテ
ンスレベルの構造と、最終形式である記憶域レベルの構
造とをPDB7に保持することで、任意のソースセンテ
ンスの部分翻訳が可能になるPDHの例を以下に述べる
第2図によれば、データ定義に関連するタイプには、プ
ログラム、セクション、アイテムがあり、プログラムの
コードに関連するタイプには、ソースセンテンスがある
。関係付けのタイプにはアイテムとアイテムとの間には
、“アイテム−含む一アイテム°があり、集団アイテム
と基本アイテム/集団アイテムとの関係付けを表現する
。プログラムコードに関連する関係付けには、“ソース
センテンス−実行−ソースセンテンス゛の関係付けのタ
イプがあり、これはPERFORM命令等のように別の
段落に制御を渡すソースセンテンスとソースセンテンス
との間の関係付けがその関係付はタイプの実現値となり
うる。データ定義とプログラムコードにも種々の関係付
けがあり、“ソースセンテンス−参照−アイテム°の関
係付けは、ファイルのデータアイテムあるいはプログラ
ム中の一時変数を処理する命令との間の関係付けの実現
値となりうる。
第3図は、アセンブリ言語の構造の例を示し、同図(a
lはオブジェクトスケルトン構造を、同図中)はオブジ
ェクト構造を示す。また、図中の四角は対象のタイプを
示し、矢印は関係のタイプを示す。
例えば、“アセンブリセンテンス”タイプには、対象識
別名(ID名と呼ぶ)として、段落基が対応し、属性と
して命令の種類が対応する。関係情報として°アセンブ
リセンテンスー実行−アセンブリセンテンス°は、他の
サブルーチンを呼出す場合に対応し、 “アセンブリセ
ンテンス−展開−記憶域”は成るアセンブリ命令が機械
コードにどのように対応したかを表現する。この場合、
関係付けに対する属性として記憶域からの“相対位置゛
“大きさ゛等がありうる。オブジェクト構造は、一般的
にフラットな構造となる。
第6図に、本実施例のソースに関連する対象タイプの種
類、対象の識別キー、対象タイプの属性。
対象の関係タイプの種類、関係タイプの属性の実現値の
説明を示す、第7図はオブジェクトに対するそれらを記
述する。
■ 処理方式詳細 次に、処理方式の詳細を、処理の動作の流れに従って説
明する。
[II−1)新規生成プログラムの場合(1)制御手段
2−1は、端末装置f等から利用者の指示、プログラム
ソースを入力すると、対象識別手段3−1を利用しPD
B7に既に同名のプログラムが登録されているか否かを
訓べ、登録されていれば、そのことを端末装置1に返却
し、同音異義基プログラムの生成である−ことを知らせ
る。
同音異義名のプログラム生成をあえて利用者が指示した
場合、あるいはPDB7に同名プログラムが見つからな
い場合は新規生成プログラムとみなし次の処理を行なう
(ii )制御手段2−1は端末装置1からソースセン
テンスを入力すると、解析手段2−2にそれを渡し、そ
の文法上の妥当性の評価を行なわせる。
これに応答し、解析手段2−2は、まず渡されたソース
センテンスの文法を解析し、例えば!F命令ならIF命
令の文法形式を満足して記述されているかをその言語対
応に判定する処理等を行なう。
次に解析手段2−2は、この制御の流れの範囲でソース
センテンスの構造上/文脈上の妥当性評価を行なう、こ
れは、前記文法解析結果から得たソースセンテンスの属
性情報を元に、そのソースセンテンスが記述されるにふ
されしい文脈にあるかどうかを判断する。そして、解析
手段2−2は渡されたソースセンテンスが言語の文法上
/文脈上妥当であれば、そのソースセンテンスの対象識
別名(ID名)、属性情報、関係情報をPDBV内のソ
ースセンテンス対象タイプの格納域に、対象属性更新手
段3−2.対象関係更新手段3−3を使ワて登録する処
理を行なう、上記の妥当性評価に際しては、当該ウース
プログラムにおける以前のソースセンテンスが既にPD
B7に登録されていればその対象との関係情報を活用す
る。また、この制御の流れでは判断出来ない文脈上の記
述については、第4図のトランザクション表に示すよう
に後評価を行なうためにこのソースセンテンスを記録し
ておく6例えば、ソースセンテンスが命令でそれがデー
タ定義を参照している時にそのデータ定義がPDB7に
対象タイプがデータ定義アイテムとして登録されている
かどうかを対象アクセス手段を使ってPDB7の対象の
存在評価を行なうことが可能であり、且つ、参照が正し
い型で参照しているかどうかを評価することが可能であ
る。他方、例えばソースセンテンスがPERFORM命
令等のとき他の段落を呼出すが、段落基に対応するソー
スセンテンスがPDB7にあるかどうかを評価する処理
は全ソースセンテンスをPDB7に登録した後でないと
評価できないので、このときはトランザクション表に記
録する。
上記のような処理はソースセンテンスが無くなるまで繰
返し行なわれる。
(iii )制御手段2−1は、(ii )の処理を全
て完了すると、PDBT中の第4図に示したトランザク
シラン表の中で後評価として残っている構造上評価があ
るか否かを調べ、あればそれを取出し、解析手段2−2
に渡し、後評価として残っている文脈/構造評価を行な
う、そして、後評価結果が妥当で゛なければ、端末装置
1上にそれを表示して利用者に知らせ、これを第4図の
トランザクション表の後評価として指定されたデータの
終了まで繰返し、終わりに達したら次の処理を行なう。
(iv)次に制御手段2−1は、PDB7よりソースレ
ベルのデータ構造、プログラム構造を保持する対象タイ
プのID、属性、関係情報を順次対象アクセス手段3を
使い取出し、オブジェクトスケルトン生成手段5へ渡す
、オブジェクトスケルトン生成手段5はソースセンテン
スをその適用システムのアセンブリ言語のセンテンスへ
変換する。
外部高級言語レベルのソース命令をよりプリミティブな
命令の集合に変換すると同時に、ソースセンテンスとオ
ブジェクトスケルトンへの関係付けを“ソースセンテン
ス−展開−オブジェクトセンテンス′に保持する処理を
行なう。
データ定義のソースセンテンスについては、データアイ
テムのソース情報を記憶域等の物理的な対象に変換し、
記憶域対象タイプの属性情報として保持する。
上記処理が全て完了すると、オブジェクトスケルトンと
してアセンブリレベルでソースセンテンスが翻訳される
と同時に、オブジ・エフトスケルトンの構造がその妥当
性を評価されてPDB7に保持され、また、ソースセン
テンスとオブジェクトセンテンスへの関係付けがPDB
7に保持される。
(v)次に、制御手段2−1は、PDB7よりオブジェ
クトスケルトンレベルのデータ構造、プログラムコード
を保持する対象タイプのID、IQ性関係付けを順次対
象アクセス手段°3により取出し、アセンブル手段6に
渡す、アセンブル手段6では、新規作成の場合には、再
生成手段6−1にこのデータを渡し機械コードにアセン
ブルさせる。再生成手段6−1は、アセンブル言語を機
械コードに翻訳すると同時に、機械コードを記憶域に配
置するが、このデータは“プログラム−展開−記憶域゛
の関係付はデータとしてPDB7に保持する。
上記処理が全て完了すると、オブジェクトとして、機械
コードレベルでアセンブリセンテンスが翻訳されると同
時に、オブジェクトの構造がPDB7に格納され、オブ
ジェクトスケルトンとの関係付けがPDB7に保持され
る。
従って、新規作成のプログラムの翻訳においては、オブ
ジェクトへの翻訳を行なうと同時に、プログラムのソー
スレベルの言語構造、アセンブリセンテンスレベルの言
語構造1機械語レベルの構造と、それらの間の関係情報
をPDB7に保持する処理が行なわれる。
m−1))更新生成処理の場合 以下で述べる変更部分のみによる部分翻訳が本発明の最
も有効な例である。
(i)制御手段2−1は、端末装置1より利用者のプロ
グラム更新指示を受取ると、対象識別手段3−1を用い
てPDB7に同名のプログラムが登録されているかを調
べ登録されていなければ、それを端末装置1に表示して
利用者に知らせる。登録されていれば、そのプログラム
のソースレベルの情報を保持している対象タイプのルー
ト対象タイプであるプログラム対象タイプからその実現
値のID、属性情報、関係情報を対象アクセス手段3を
使って得ると共に、プログラムに保持している他タイプ
への関連情報を得て、それにより、データ定義センテン
ス、プログラムソースセンテンス対象タイプの実現値を
対象アクセス手段3によりアクセスして得て、それらを
端末装置1上に表示する。
(ii)制御手段2−1は、利用者のプログラム更新部
分を指示する情報を端末装置から得ると、その更新デー
タにより、処理可能なソースセンテンスに構成あるいは
分解して、それを解析手段2−2に渡して、文法上の妥
当性の評価を行なわせる。
評価結果が妥当でなければそれを端末装置1に表示して
利用者に知らせ、妥当であれば、第4図のトランザクシ
ラン表に更新のタイプ等を登録し、これを更新データの
最後まで繰返す0次に全更新データが妥当であれば、ソ
ースセンテンスの構造上、すなわち、文脈上の妥当性評
価を行なうために解析手段2−2をトランザクション表
の内容を付けて呼出す、この評価は前述の新規生成と同
様に対象アクセス手段3を使って既にPDB7に登録済
みの対象のID名、属性、関係情報を得ることで判断で
きる場合は、この処理の流れで判断し、全更新データの
更新の後でなければ判断できない場合については、この
ソースセンテンスをトランザクシラン表に記録し後評価
を行なう、評価結果が妥当であれば、次の更新ソースの
処理を行ない、妥当でなければその結果を制御手段2−
1を介して端末利用者に返却する。
(iii )制御手段2−1は、(1))の処理を全て
完了すると、PDB7のトランザクション表の中で後評
価として残っている構造上評価があるか否かを調べ、あ
ればそれを取出し、解析手段2−2に渡し構造評価を行
なう、この後評価結果が妥当でなければ端末装置1上に
それを表示して利用者に知らせ、これをトランザクショ
ン表の後評価すべきデータの終了まt繰返し、終わりに
達したら次の処理を行なう。
(iv )制御手段2−1は次に、このソース更新によ
り影響を受ける他の対象の認識処理を行なうために変更
範囲認識手段4を呼出し、トランザクション表にこの対
象10を記録する。変更範囲認識手段4では、対象アク
セス手段3を使い変更のある対象と関連する他の対象を
得る処理を行なう。
これにより、見掛けは変更なくとも、事実上再翻訳が必
要なソース対象群を認識する0例えば、データ定義ソー
スセンテンスに変更があった場合には、それ以降のデー
タ定義を参照しているソースセンテンス対象を認識する
ために、アイテム対象タイプの変更アイテム以降に定義
されているアイテムと、それらアイテムと゛アイテム対
象じ一アイテム゛の逆関係で関係付く他のアイテム対象
を対象識別手段3−1により検索し、前記アイテムとこ
れらのアイテムを参照するソースセンテンスを゛ソース
センテンスー参照−アイテム°の関係付けの逆関係を対
象識別手段3−1を使って検索することで得て、それら
をソースセンテンス対象の再翻訳を行なうためにその対
象のID名をトランザクシコン表に登録する処理を行な
う、逆関係の検索は関係付けのデータとして保持してい
る他の対象タイプのID名を対象関係更新手段3−3で
得て、そのID名で対象識別手段3−1を使って対象を
検索することで得られる。同様に、ソースセンテンス対
象に対する更新についても、そのソースセンテンスが他
のソースセンテンスへ影響を及ぼすような関係付けがあ
るかどうかが評価され、あればその再翻訳を指示するた
めにトランザクション表に登録する。この処理をトラン
ザクション表の最後まで繰返すが、成る影響のある対象
が見つかった場合その対象に関連する関係付けについて
も再帰的に調べ全てをトランザクション表に登録する。
(v)制御手段2−1は次に、トランザクション表に記
録されているデータ定義、ソースセンテンス対象を取出
し、それをオブジェクトスケルトン生成手段5に渡しオ
ブジェクトスケルトンの生成を行ない、それをPDB7
に登録すると共に、ソースセンテンス対象に付いている
“アイテム−展開−記憶域′、°ソースセンテンスー展
開−オブジェクトコードセンテンス゛関係材けの実現値
である旧オブジェクトスケルトンへの関係付けを得て、
旧オブジェクトスケルトンの削除と関係付けの更新を行
なう、更新したオブジェクトスケルトン対象のID名は
、トランザクション表に記録し、これを全てのトランザ
クション表に登録されている対象について行なう。
(vi)制御手段2−1は次に、オブジェクトスケルト
ンをオブジェクトに展開する処理を行なうためにアセン
ブル手段6を呼出すが、この方法には二通りあり利用者
にどちらか一方を指示させる。
アセンブル手段6は、利用者が変更生成を指示した場合
には、変更生成手段6−2を呼出し、再生成を指示した
場合には、再生成手段6−1を呼出す、再生成手段6−
1は前述の新規生成の場合のオブジェクトスケルトンか
らの再展開を行なう。
変更生成については次の(vi)のようになる。
(vi )変更生成手段6−2は、トランザクション表
のオブジェクトスケルトン対象を順次取出し、°アセン
ブリセンテンスー展開−記憶域”関係付はタイプの前実
現値の属性であるオブジェクトの開始位置、大きさと、
新オブジェクトの開始位置。
大きさとを比較して、第5図falに示すように、前大
きさより新大きさが大の場合には、次に利用可能な記憶
域の終わりへ割り当てた領域で新オブジェクトを実行さ
せるため、旧オブジェクトの最初の命令を新オブジェク
トを割り当てた領域へのブランチ命令に変え、新オブジ
ェクトを旧記憶域の最後の次の記憶域に割当て、旧オブ
ジェクトの最後の命令の次に旧オブジェクトの次の命令
を実行するようにブランチ命令を加えて展開することで
解決する。また、第5図(blに示すように、前オブジ
ェクトと新オブジェクトの大きさが同じ場合には、旧オ
ブジェクトの位置に新オブジェクトを展開して解決する
。更に、第5図(C1に示すように、旧オブジェクトが
新オブジェクトより大の場合には、旧と新が同じ場合の
処理と同じように旧オブジェクトの位置に新オブジェク
トを展開し、旧が新より大きいときと同様にブランチ命
令を加える。
以上述べた処理により、任意のソースセンテンスが更新
された場合にそれにより影響がある他のソースセンテン
スを識別しそれらをオブジェクト化しアセンブルするこ
とで新オブジェクトの生成が可能になる。
〔発明の効果〕
以上説明したように、本発明を適用することで次の効果
を得ることができる。
■部分更新されたソースプログラムを翻訳する場合、変
更により影響の及ぼす範囲のみの翻訳で済むため、高性
能な翻訳処理が可能になる。
■更新が及ぼす他のソースセンテンスへの影響。
オブジェクトレベルへの影響等が゛明確に認識されるの
でそれを確認することで高品質プログラム生成が可能に
なる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、 第2図は本発明の実施例におけるプログラムソース構造
例を示す図、 第3図は本発明の実施例におけるプログラムオブジェク
ト構造例を示す図、 第4図は本発明の実施例におけるトランザクシタン表の
内容例を示す図、 第5図は本発明の実施例における変更生成処理の説明図
、 第6図は第2図で示したプログラム言語C0BOLのソ
ースレベル構造の中で保持する詳細情報を示す図及び、 第7図は%3図で示したプログラム言語C0BOLのオ
ブジェクト構造の中で保持する詳細情報を示す図である
。 第1図において、1・・・端末装置、2・・・変更モニ
タ手段、2−1・・・制御手段、2−2・・・解析手段
、3・・・対象アクセス手段、3−1・・・対象識別手
段、3−2・・・対象属性更新手段、3−3・・・対象
関係更新手段、4・・・変更範囲認識手段、5・・・オ
ブジェクトスケルトン生成手段、6・・・アセンブル手
段、6−1・・・再生成手段、6−2・・・変更生成手
段。

Claims (1)

  1. 【特許請求の範囲】 ソースプログラムを翻訳し適用コンピュータ上で実行可
    能な命令の集まりであるオブジェクトプログラムを生成
    するコンパイラのプログラム生成方式において、 (1)コンパイラが入力ソースプログラムを翻訳する過
    程で認識するプログラム構造、データ構造、プログラム
    とデータとの関係情報を、その情報のタイプにより類別
    可能な複数の対象タイプに属する実現値として保持し、
    対象間の関係付けに対してもその情報の関係タイプによ
    る類別可能な複数の関係付けタイプに属する実現値とし
    て保持するプログラムデータベースと、 (2)下記(ア)、(イ)、(ウ)の手段を含む対象ア
    クセス手段と、 (ア)前記プログラムデータベースに保持される対象を
    、対象の属するタイプ、タイプ内の実現値を一意に識別
    するキーにより識別可能とする対象識別手段 (イ)前記プログラムデータベースの対象の属性情報を
    更新する対象属性更新手段 (ウ)前記プログラムデータベースの対象の関係情報を
    更新する対象関係更新手段 (3)下記(エ)、(オ)の手段を有する変更モニタ手
    段と、 (エ)端末装置との入出力制御を行ない、その指示を解
    析し、指示に対し内部処理部分の制御を行なう制御手段 (オ)ソースセンテンスの文法上及び構造上の妥当性を
    解析する解析手段 (4)前記プログラムデータベースを前記対象アクセス
    手段を用いて関係情報をたどって検索しソース更新の影
    響を受ける対象を認識する変更範囲認識手段と、 (5)ソースステートメントを再配置レベルでオブジェ
    クト化可能なアセンブリステートメントに翻訳するオブ
    ジェクトスケルトン生成手段と、 (6)下記(カ)、(キ)の手段を含み、オブジェクト
    スケルトンを機械コードに変換しそれらを配置するアセ
    ンブル手段と、 (カ)全オブジェクトスケルトンを入力し、それらをコ
    ード化し格納記憶域に配置する再生成手段 (キ)更新部分のオブジェクトスケルトンと前記格納記
    憶域の内容とを入力し更新部分のオブジェクトスケルト
    ンをコード化して一時格納域に展開し、格納記憶域に格
    納されているオブジェクトの中で更新部分の前オブジェ
    クトスケルトンが展開していた領域に変更なし前オブジ
    ェクトスケルトンが展開したオブジェクトとの関連の一
    貫性を保ち前記一時格納域に展開したオブジェクトを再
    展開する変更生成手段 を含み、新規作成のソースプログラムを翻訳する場合に
    は、その翻訳過程で認識したプログラム構造、データ構
    造、プログラムとデータとの関係情報を前記プログラム
    データベースに保持させ、ソースプログラムの更新バー
    ジョンの翻訳時には、前回の翻訳時に得た情報を前記プ
    ログラムデータベースから前記対象アクセス手段を利用
    して活用することで更新の関連部分のみの翻訳処理によ
    りオブジェクト生成を行なうプログラム生成方式。
JP28551486A 1986-11-29 1986-11-29 プログラム生成方式 Pending JPS63138426A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28551486A JPS63138426A (ja) 1986-11-29 1986-11-29 プログラム生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28551486A JPS63138426A (ja) 1986-11-29 1986-11-29 プログラム生成方式

Publications (1)

Publication Number Publication Date
JPS63138426A true JPS63138426A (ja) 1988-06-10

Family

ID=17692513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28551486A Pending JPS63138426A (ja) 1986-11-29 1986-11-29 プログラム生成方式

Country Status (1)

Country Link
JP (1) JPS63138426A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0336625A (ja) * 1989-07-04 1991-02-18 Toshiba Corp プログラム開発システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55116144A (en) * 1979-03-01 1980-09-06 Fujitsu Ltd Correction system for execute form program
JPS5827242A (ja) * 1981-08-12 1983-02-17 Fujitsu Ltd プログラム間制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55116144A (en) * 1979-03-01 1980-09-06 Fujitsu Ltd Correction system for execute form program
JPS5827242A (ja) * 1981-08-12 1983-02-17 Fujitsu Ltd プログラム間制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0336625A (ja) * 1989-07-04 1991-02-18 Toshiba Corp プログラム開発システム

Similar Documents

Publication Publication Date Title
US5898872A (en) Software reconfiguration engine
US6219831B1 (en) Device and method for converting computer programming languages
US20040158820A1 (en) System for generating an application framework and components
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
CN111143330B (zh) 一种多模态数据库解析引擎的实现方法及装置
JP2644728B2 (ja) データディクショナリ・ディレクトリシステム
CN115757462B (zh) 一种面向对象的数据库动态接口生成方法及操作方法
CN114064601B (zh) 存储过程转换方法、装置、设备和存储介质
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
CN117033418A (zh) 语句重写方法、***及装置
JPH06282576A (ja) ネットワーク型データベースのリレーショナルアクセス方式
CN113885970B (zh) 一种基于脚本生成报表数据的方法、***及介质
CN116955393A (zh) 一种数据处理方法、装置、电子设备及存储介质
JPS63138426A (ja) プログラム生成方式
GB2420638A (en) Method of substituting code fragments in Internal Representation
CN114153909B (zh) 一种基于Velocity模板引擎的数据库表结构翻译方法和装置
Kokol et al. PROMIS: a software metrics tool generator
CN116756184B (zh) 数据库实例处理方法、装置、设备、存储介质及程序产品
JP2942414B2 (ja) 仮想データベース方式
KR100353452B1 (ko) 교환시스템의 데이타 베이스 생성방법
JP2000322295A (ja) データベースストアドサブプログラム用プログラミング支援方法ならびに装置
JP2004252536A (ja) プログラム開発支援装置
JPH06231181A (ja) 分散データベース制御方式
CN117632997A (zh) 一种跨数据库平台的命令行界面及读写操作方法