JPH03282939A - 変数領域名の生成処理方式 - Google Patents

変数領域名の生成処理方式

Info

Publication number
JPH03282939A
JPH03282939A JP2084709A JP8470990A JPH03282939A JP H03282939 A JPH03282939 A JP H03282939A JP 2084709 A JP2084709 A JP 2084709A JP 8470990 A JP8470990 A JP 8470990A JP H03282939 A JPH03282939 A JP H03282939A
Authority
JP
Japan
Prior art keywords
macro
serial number
variable area
name
input source
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
JP2084709A
Other languages
English (en)
Inventor
Tatsuya Murata
達哉 村田
Masahiro Nakamura
正博 中村
Hiroyuki Matsuyama
松山 浩之
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
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP2084709A priority Critical patent/JPH03282939A/ja
Publication of JPH03282939A publication Critical patent/JPH03282939A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [概要〕 コンパイル処理装置が入力ソース中のマクロを展開する
ときに実行する変数領域名の生成処理方式に関し、 デバッグ処理に好適な一意の変数領域名を生成できるよ
うにすることを目的とし、 入力ソースに記述されるマクロの出現回数に対応して設
定される全通番を管理する全通番管理テーブルと、入力
ソースに記述される同一マクロの出現回数に対応して設
定される通番をマクロ単位毎に管理する通番管理テーブ
ルとを備え、入力ソースに記述されるマクロを展開する
ときに、マクロの変数領域名の文字列に対して、全通番
管理テーブンvov管理する全通番か、通番管理テーブ
ルの管理する通番のいずれか一方を付加することで、意
の変数領域名を生成するよう構成する。
〔産業上の利用分野〕
本発明は、コンパイル処理装置が入力ソース中のマクロ
を展開するときに実行する変数領域名の生成処理方式に
関し、特に、デバッグ処理に好適な一意の変数領域名を
生成できるようにする変数領域名の生成処理方式に関す
るものである。
入力ソース中に記述されるマクロ(部品と呼ばれること
もある)を展開するために、コンパイル処理装置は、マ
クロの変数領域名を生成していく必要がある。この生成
される変数領域名は、生成される出力ソースにおいて一
意である必要があるとともに、デパック処理に好適なも
のとして生成される必要がある。
〔従来の技術〕
従来のコンパイル処理装置では、最も単純な方法として
、固定の名前により変数領域名を生成するという方法を
採るものがある。また、この固定名と乱数発生手段によ
り発生される乱数値との合成により変数領域名を生成す
るという方法を採るものがある。また、最も一般的には
、この固定名と入力ソース中に出現するマクロの出現回
数に対応して設定される通番との合成により変数領域名
を生成するという方法が採られている。
〔発明が解決しようとする課題] しかしながら、固定名だけによる変数領域名の生成処理
では、入力ソース中に同一マクロが複数回記述されると
、生成される変数領域名が一意にならないことになる。
一意でないことが検出されるとコンパイル処理装置が定
義エラーを表示するので、これに対応して、ユーザは変
数領域名の修正処理を実行しなくてはならないという問
題点があった。この問題点は、同一マクロが複数回記述
されなくても、異なるマクロでもって同一の変数領域名
を使用する場合にも起こることである。また、固定名と
乱数値との合成による変数領域名の生成処理でも、同一
の変数領域名が生成されてしまうことが起こるために、
固定名だけによる変数領域名の生成処理が抱えていた問
題点を解消できた訳ではない。
これに対して、固定名と通番との合成による変数領域名
の生成処理は、一意になることが保証されることから変
数領域名の修正処理を強いられるという問題点は起こら
ないものの、デバッグ処理に従って、入力ソースのマク
ロを追加したり削除したりすると、本来は同じである筈
の変数領域名が変更させられてしまうことになるという
問題点があった。すなわち、例えば、当初の入力ソース
においては、マクロAの変数領域の「項目」に対して「
項目05」と変数領域名が与えられる場合にそのマクロ
Aの記述の前に別のマクロが追加されるようなことが起
こると、その「項目05Jは「項目06」になってしま
うことになるのである。またこの方法による変数領域名
は、同しマクロが複数回記述されるときにあって、同一
種類の変数領域名に対して連続する通番が与えられない
という問題点があった。すなわち、最初のマクロAの変
数領域の「項目」に対して「項目05」と変数領域名が
与えられる場合に、次のマクロAの変数領域の「項目」
に対しては「06」以外の通番が与えられることになっ
てしまうことになる。
このようなことで、固定名と通番との合成による変数領
域名の生成処理では、デバッグ処理の効率を著しく低下
させるという問題点があった。
本発明はかかる事情に鑑みてなされたものであって、コ
ンパイル処理装置において、デバッグ処理に好適な一意
の変数領域名を生成できるようにする新たな変数領域名
の生成処理方式の提供を目的とするものである。
[課題を解決するための手段] 第1図は本発明の原理構成図である。
図中、1は本発明を具備するコンパイル処理装置、2は
コンパイル処理装置1が翻訳対象とする入力ソース、3
はコンパイル処理装置1が生成する出力ソース、4は入
力ソース2中に記述されるマクロを管理するマクロ管理
装置である。
コンパイル処理装置1は、入力ソース解析部10、出力
ソース生成部11、通番取得処理部12、変数名生成部
13、全通番管理テーブル14及び通番管理テーブル1
5を備える。
この入力ソース解析部10は、入力ソース2の解析処理
を実行し、出力ソース生成部11は、入力ソース解析部
lOの解析結果に応して出力ソース3を生成し、全通番
管理テーブル14は、入力ソース2に記述されるマクロ
の出現回数に対応して設定される全通番を管理するよう
処理し、通番管理テーブル15は、入力ソース2に記述
される同一マクロの出現回数に対応して設定される通番
をマクロ単位毎に管理するよう処理し、通番取得処理部
12は、全通番管理テーブル14に全通番を設定すると
ともに、通番管理テーブル15に通番を設定するよう処
理し、変数名生成部13は、一意の変数領域名を生成し
て出力ソース生成部11に通知するよう処理する。
〔作用〕
本発明では、通番取得処理部12は、入力ソース2に新
たなマクロの呼び出し記述がある度毎に全通番管理テー
ブル14の管理する全通番を1つずつカウントアツプし
ていくとともに、そのマクロが今まで記述されたことの
ない新規なマクロである場合には、通番管理テーブル1
5を生成して通番の“1”を設定し、また、そのマクロ
が今まで記述されたことのあるマクロである場合には、
そのマクロ用に生成されている通番管理テーブル15の
通番を1つカウントアツプする。
変数名生成部13は、呼び出されたマクロを展開する際
に必要とされる変数領域名を生成する処理を実行するも
のであって、そのマクロの指定に従って、対応の変数領
域名文字列と全通番管理テーブル14の全通番とを合成
することで一意の変数領域名を生成するか、対応の変数
領域名文字列と通番管理テーブル15の通番とを合成す
ることで一意の変数領域名を生成して、出力ソース生成
部11に通知していくよう処理する。
異なるマクロで同一の変数領域名が使用されていない場
合には、通番管理テーブル15の通番を付することで生
成される変数領域名が一意なものとなる。この変数領域
名は、入力ソースの修正に従って、入力ソース2にそれ
とは異なる別のマクロが追加され、あるいは削除される
ようなことがあっても、変更させられてしまうことはな
い。また、同一マクロの同一種類の変数領域名に対して
連続する通番が与えられる。これから、この変数領域名
を用いることで、翻訳処理およびデバッグ処理を効率的
に実行できるようになる。
一方、異なるマクロで同一の変数領域名が使用されてい
る場合には、全通番管理テーブル14の全通番を付する
ことで生成される変数領域名が一意なものとなる。この
変数領域名は完全に一意になることが保証されるので、
通番管理テーブル15の通番を付することでは対応でき
ない場合に対処できることになる。
このように、本発明を用いることで、コンパイル処理装
置1が入力ソース2中のマクロの展開の際に、デバッグ
処理に好適な一意の変数領域名を生成できるようになる
のである。
〔実施例〕
以下、実施例に従って本発明の詳細な説明する。
第2図に、第1図で説明した通番取得処理部12が実行
する処理の一実施例、第3図に、第1図で説明した変数
名生成部13が実行する処理の一実施例を図示する。
この処理を実行するにあたって、本発明のコンパイル処
理装置lは、第4図に示すように、第1図で説明した全
通番情報を展開する全通番テーブル21と、入力ソース
2に記述されるマクロ種別毎に生成されて、第1図で説
明した通番情報を展開するマクロ名テーブル22とを作
業領域20に備えるとともに、これらの全通番テーブル
21及びマクロ名テーブル22の展開値を設定するため
のマクロテーブル23を備えるよう構成される。
次に、第2図及び第3図のフローチャートに従って、本
発明の処理について詳細に説明する。最初に、第2図の
フローチャートに従って、通番取得処理部12の処理に
ついて説明する。
この第2図のフローチャートに示すように、本発明のコ
ンパイル処理装置1が備える通番取得処理部12は、先
ず最初に、ステップ1で、入力ソース2より抽出された
マクロに一意名変数の指定があるのか否かを判断する。
一意名変数の指定がなければそのまま処理を終了する。
一方、一意名変数の指定があるときには、ステップ2に
進んで、全通番テーブル21の全通番に“ビを加算して
、その加算した全通番を新たな全通番として全通番テー
ブル21に設定する。そして、続くステップ3で、抽出
した入力ソース2のマクロに関してのマクロ名テーブル
22が登録されているのか否か、すなわち、抽出したマ
クロがそれまでに記述されているマクロであるのか否か
を判断する。
このステップ3の判断で、マクロ名テーブル22が登録
されていないと判断するときには、ステップ4に進んで
、抽出したマクロのための新たなマクロ名テーブル22
を生成する。一方、ステップ3の判断で、マクロ名テー
ブル22が登録査れていると判断するときには、ステッ
プ5に進んで登録されているそのマクロ名テーブル22
を特定・参照する。そして、続くステップ6で、ステッ
プ5を経由しているときには、特定されたマクロ名テー
ブル22の通番に“l”を加算して、その加算した通番
を新たな通番としてその特定されたマクロ名テーブル2
2に登録するとともに、ステップ4を経由しているとき
には、1”という通番をその生成されたマクロ名テーブ
ル22に登録して処理を終了する。
このようにして、全通番テーブル21は、マクロが人力
ソース2から抽出される度毎に1ずつカウントアツプす
る全通番を管理し、マクロ名テーブル22は、対応する
マクロが入力ソース2から抽出される度毎に1ずつカウ
ントアツプする通番を管理するよう処理することになる
次に、第3図のフローチャートに従って、変数名生成部
13の処理について説明する。
この第3図のフローチャートに示すように、本発明のコ
ンパイル処理装置1が備える変数名生成部13は、先ず
最初に、ステップ10で、入力ソース2より抽出したマ
クロの指定する変数種別を検出する。この検出した変数
種別が全通番による一意名変数の生成処理を指定すると
きには、ステップ11に進んで、その抽出されたマクロ
の指定に従って、対応の変数領域名文字列と全通番テー
ブル21の全通番とを合成(マクロテーブル23に設定
して合成する)することで一意の変数領域名を生成して
、第1図で説明した出力ソース生成部11に通知する。
一方、この検出した変数種別が通番による一意名変数の
生成処理を指定するときには、ステップ12に進んで、
その抽出されたマクロの指定に従って、対応の変数領域
名文字列と対応のマクロ名テiプル220通番とを合成
(マクロテーブル23に設定して合成する)することで
一意の変数領域名を生成して、第1図で説明した出力ソ
ース生成部11に通知する。
このステップ12で生成される変数領域名は、異なるマ
クロで同一の変数領域名が使用されていない場合には、
一意なものとなることが保証される。この変数領域名は
、デバッグ処理に従って、入力ソース2にそれとは異な
る別のマクロが追加され、あるいは削除されるようなこ
とがあっても、変更させられてしまうことがないという
特性を有する。一方、ステップ11で生成される変数領
域名は、異なるマクロで同一の変数領域名が使用されて
いる場合にあっても、一意なものとなることが保証され
る。従って、ステップ12で生成される変数領域名では
一意なものとすることができない場合にあっても対処で
きるという特性を有する。
このようにして、第5図(a)に示すように、入力ソー
ス2が最初にマクロAを呼び出し、この呼び出されたマ
クロAがマクロBとマクロCとを呼び出して入力ソース
2に復帰し、次に、入力ソース2がマクロCを呼び出し
、続いて、入力ソース2がマクロAを呼び出し、この呼
び出されたマクロAがマクロBとマクロCとを呼び出し
て入力ソース2に復帰する場合を例にして説明するなら
ば、第5図(b)に示すように、マクロ名テーブル22
0通番は、対応するマクロが出現する度毎にカウントア
ツプしていくのに対して、全通番テーブル21の全通番
は、いずれかのマクロが出現する度毎にカウントアツプ
していくことになる。
本発明では、このようにして生成される2種類の一意な
変数領域名を使い分けることで、出力ソースの生産性お
よびデバッグ処理の効率を著しく高めることができるよ
うになる。
〔発明の効果〕 以上説明したように、本発明を用いることで、コンパイ
ル処理装置が入力ソース中のマクロの展開の際に、デバ
ッグ処理に好適な一意の変数領域名を生成できるように
なるのである。
【図面の簡単な説明】
第1図は本発明の原理構成図、 第2図は通番取得処理部が実行する処理の一実施例、 第3図は変数名生成部が実行する処理の一実施例、 第4図は本発明が備えるテーブルの説明図、第5図は通
番及び全通番の説明図である。 図中、1はコンパイル処理装置、2は入力ソース、3は
出力ソース、1oは入力ソース解析部、11は出力ソー
ス生成部、12は通番取得処理部、13は変数名生成部
、14は全通番管理テーブル、15は通番管理テーブル
、2oは作業領域、21は全通番テーブル、22はマク
ロ名テーブル、23はマクロテーブルである。

Claims (1)

  1. 【特許請求の範囲】 入力ソースを翻訳処理することで、対応の出力ソースを
    生成するよう処理するコンパイル処理装置において、 入力ソースに記述されるマクロの出現回数に対応して設
    定される全通番を管理する全通番管理テーブル(14)
    と、 入力ソースに記述される同一マクロの出現回数に対応し
    て設定される通番をマクロ単位毎に管理する通番管理テ
    ーブル(15)とを備え、 入力ソースに記述されるマクロを展開するときに、該マ
    クロの変数領域名の文字列に対して、上記全通番管理テ
    ーブル(14)の管理する全通番か、上記通番管理テー
    ブル(15)の管理する通番のいずれか一方を付加する
    ことで、一意の変数領域名を生成するよう処理すること
    を、 特徴とする変数領域名の生成処理方式。
JP2084709A 1990-03-30 1990-03-30 変数領域名の生成処理方式 Pending JPH03282939A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2084709A JPH03282939A (ja) 1990-03-30 1990-03-30 変数領域名の生成処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2084709A JPH03282939A (ja) 1990-03-30 1990-03-30 変数領域名の生成処理方式

Publications (1)

Publication Number Publication Date
JPH03282939A true JPH03282939A (ja) 1991-12-13

Family

ID=13838195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2084709A Pending JPH03282939A (ja) 1990-03-30 1990-03-30 変数領域名の生成処理方式

Country Status (1)

Country Link
JP (1) JPH03282939A (ja)

Similar Documents

Publication Publication Date Title
US4595981A (en) Method of testing interfaces between computer program modules
CN107918666B (zh) 一种区块链上的数据同步方法和系统
Dalal et al. Model-based testing of a highly programmable system
CN107193543B (zh) 一种批量操作执行方法及装置
JPH03282939A (ja) 変数領域名の生成処理方式
CN119167426A (zh) 多租户数据库的访问控制方法、设备、服务器及存储介质
CN109144486B (zh) 一种无状态化的工作流程实现方法
CN106547519B (zh) 信息处理方法及系统
CN115617348A (zh) 一种关系型时序数据处理方法、装置、设备及存储介质
JPH038021A (ja) 機能実行方式
JPH02165239A (ja) 大規模知識ベースにおけるデータアクセス方式
WO2025043664A1 (zh) 利用知识图谱生成网页表单的方法、装置、计算机设备
JP2002312167A (ja) 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法
EP0592076B1 (en) Compilation mechanism for a simulation model
JPS63115236A (ja) オブジエクト選択方式
JPH02205930A (ja) インタフェースチェック処理方法
JPH11272524A (ja) データ変換装置および記憶媒体
JPH03235122A (ja) フレーム形知識表現処理方式
JPH05282134A (ja) 分割ロードモジュール作成方式
JPH01246628A (ja) 書式情報の自動変更方式
JPH03282826A (ja) 並列化翻訳方式
JPS6375836A (ja) プログラム作成装置
JPH1040129A (ja) バグ管理システム
JPH01205230A (ja) 手続き副プログラム展開方式
JPS63285647A (ja) 出力フアイル名の作成方式