JPH02214933A - プログラム容量削減方式 - Google Patents

プログラム容量削減方式

Info

Publication number
JPH02214933A
JPH02214933A JP3661289A JP3661289A JPH02214933A JP H02214933 A JPH02214933 A JP H02214933A JP 3661289 A JP3661289 A JP 3661289A JP 3661289 A JP3661289 A JP 3661289A JP H02214933 A JPH02214933 A JP H02214933A
Authority
JP
Japan
Prior art keywords
program
specific processing
module
capacity
processing module
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
JP3661289A
Other languages
English (en)
Inventor
Reiko Kaneda
金田 玲子
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 JP3661289A priority Critical patent/JPH02214933A/ja
Publication of JPH02214933A publication Critical patent/JPH02214933A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラム容量削減方式に関し、特にモジュー
ル分割された翻訳形式プログラムを結合(リンク)して
実行形式プログラムを出力する際のプログラム容量削減
方式に関する。
〔従来の技術〕
従来、モジュール分割された翻訳形式プログラム(以下
、単にモジュールという)を結合する場合には、リンカ
は原始プログラムにおいて記述されていた使用する可能
性のあるすべてのモジュールを無条件に結合しており、
実行形式プログラムが使用しない機能をもつモジュール
をも結合するようになっていた。
例えば、第4図に示すように、特定処理を行うモジュー
ル(以下、特定処理用モジュールという)Xを呼び出す
モジュールUと特定処理用モジュールYを呼び出すモジ
ュール■と特定処理用モジュールZを呼び出すモジュー
ルWとを結合する場合、リンカは、第5図に示すように
、モジュールUの下位(アドレスで見て。以下同様)に
特定処理用モジュールXを、特定処理用モジュールXの
下位にモジュールVを、モジュールVの下位に特定処理
用モジュールYを、特定処理用モジュールYの下位にモ
ジュールWを、モジュールWの下位に特定処理用モジュ
ールZを順次結合していた。
ところで、例えば初期設定処理や人出力エラー処理等の
特定処理は、かならずしも常に実行さ−U−なげればな
らない処理ではないにもかかわらず、プログラム容量は
比較的大きい。このため、特定処理を使用しない場合に
まで、特定処理用モジュールを結合した実行形式プログ
ラムを生成すると、実行形式プログラムのプログラム容
量か不要な特定処理用プログラムによって大きくなり、
ファイル容量も増大する。
〔発明が解決しようとする課題〕
」二連した従来のモジュール結合方式では、原始プログ
ラムにおいて記述されていた使用する可能性のあるすべ
てのモジュールを無条件に結合するようになっていたの
で、特定処理を使用しない場合には不要な特定処理用モ
ジュールによって実行形式プログラムのプログラム容量
およびファイル容量が増大するとい・う欠点がある。
本発明の目的は、−1−述の点に鑑み、特定処理を行わ
ないとコンパイラによって判断された場合やコンパイル
時の指定によって特定処理用モジュールを結合しないと
判断された場合に特定処理用モジュールを結合しないこ
とができようにして、実行形式プログラムのプログラム
容量およびファイル容量を削減することができるように
したプログラム容計削減方式を提供することにある。
〔課題を解決するための手段〕
本発明のプログラム容量削減方式は、原始プログラムを
入力し特定処理を使用しない旨の判断に基づいて特定処
理用モジュール名の内部人口上と制?fflを戻す記述
とからなるプログラム容量削減コードを生成し翻訳形式
プログラムの中に付加して出力するプログラム容量削減
コード生成手段を含む言語処理プログラムと、指定され
た翻訳形式プログラムを結合する際に内部人口上を外部
人口上より優先的に結合するリンカとを有する。
〔作用] 本発明のプログラム容量削減方式では、言語処理プログ
ラムのプログラム容量削減コード生成手段が原始プログ
ラムを入力し特定処理を使用しない旨の判断に基づいて
特定処理用モジュール名の内部人口上と制御を戻す記述
とからなるプログラム容量削減コードを生成し翻訳形式
プログラムの中に付加して出力し、リンカが指定された
翻訳形式プログラムを結合する際に内部人口上を外部人
口上より優先的に結合する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係るプログラム容量削減
方式の構成を示すブロック図である。本実施例のプログ
ラム容量削減方式は、特定処理の要否を指定する記述を
含む原始プログラムlと、プログラム容量削減コード生
成手段2を含むコンパイラ(言語処理プログラム)3と
、複数のモジュール(翻訳形式プログラム)4と、複数
のモジュール4を結合するリンカ5と、リンカ5から出
力される実行形式プログラム6とから構成されている。
なお、モジュール4には、コンパイラ3により出力され
た翻訳形式プロゲラJ、ばかりでなくソフトウェアンス
テムが提供している実行形式プログラム6に必要なサブ
ルーチン等が含まれている。
第2図を参照すると、プログラム容量削減コード生成手
段2における処理は、特定処理不使用指定有無判定ステ
ップ21と、プログラム容量削減コード生成ステップ2
2とからなる。
次に、このように構成された本実施例のプログラム容量
削減方式の動作について説明する。
特定処理を行わない場合、原始プログラム1の先頭に特
定処理用モジュールの入口階を指定して特定処理を行わ
ない旨を記述する。
コンパイラ3は、原始プログラム1を入力すると、プロ
グラム容量削減コード生成手段2により、原始プログラ
ム1の先頭の記述に基づいて特定処理が不使用であるか
否かを判定しくステップ21)、特定処理が不使用であ
る場合には、生成するモジュール4の先頭に特定処理用
モジュール名の内部人口上とこの内部人口上と対応して
何も処理せずC,二部時に制御を呼出し元に戻すような
記述とからなるプログラム容量削減コードを生成する(
ステップ22)。特定処理が不使用でない場合には、コ
ンパイラ3は、プログラム容量削減コードを生成しない
例えば、原始プログラム1を翻訳してモジュールUを出
力する際に特定処理用モジュールXの不使用が指定され
ていた場合には、コンパイラ3は、第3図に示すように
、プログラム容量削減コードとしてrX : RETU
RNJ  (便宜上、原始プログラム1の形式で表記す
る。以下同様)をモジュールUの先頭に出力する。同様
に、原始プログラム1を翻訳してモジュール■およびモ
ジュールWを出力する際に特定処理用モジュールYおよ
び特定処理用モジュールZの不使用が指定されていた場
合には、コンパイラ3は、プログラム容量削減コードと
してrY : RETURNJおよび「Z:RETUR
NJをモジュールVおよびモジュールWの先頭にそれぞ
れ出力する。
複数のモジュール4を結合するように指定されてリンカ
5が起動されると、リンカ5は、内部入目者を外部入口
名よりも優先させて不使用と指定された特定処理用モジ
ュールを結合することなしにモジュール4の結合処理を
行う。
例えば、モジュールUとモジュールVとモジュールWと
を結合するように指定されると、リンカ5は、第3図に
示すように、モジュールU内の特定処理用モジュールX
の呼出しrCALL  XJ(便宜上、原始プログラム
1の形式で表記する。
以下同様)に対してモジュールU内の先頭にある内部人
口上Xを結合する。同様に、リンカ5は、モジュールV
およびモジュールW内の特定処理用モジュールYの呼出
しrcALL  YJおよび特定処理用モジュールZの
呼出しrcALL  ZJに対してモジュール■および
モジュールW内の先頭にある内部入口名Yおよび内部入
口名Wをそれぞれ結合する。この結果、特定処理用モジ
ュールX、特定処理用モジュールYおよび特定処理用モ
ジュールZは結合されないことになる。したがって、実
行形式プログラム6は、プログラム容量およびファイル
容量が大幅に削減されることになる。
このようにして出力された実行形式プログラム6を実行
すると、モジュールU内で特定処理用モジュールXが呼
ばれたときには、第3図に示すように、モジュールU内
の内部入口名Xに一旦制御が渡された後に特定処理は実
行されずにただちに制御が呼出し元に戻されることにな
る。同様に、モジュールVおよびモジュールW内で特定
処理用モジュールYおよび特定処理用モジュールZが呼
ばれたときにも、モジュールVおよびモジュールW内の
内部入口名Yおよび内部入口名Zに一旦制御が渡された
後に特定処理は実行されずにただちに制御が呼出し元に
戻されることになる。
なお、上記実施例では、特定処理の不使用の指定が原始
プログラム1の先頭に記述されるものとして説明したが
、特定処理の不使用の指定をコンパイラ3に対するパラ
メータとして与えるようにしてもよい。
また、特定処理の不使用の指定が原始プログラム1の先
頭に記述され、プログラム容量削減コードがモジュール
4の先頭に生成されるものとしたが、特定処理の不使用
の指定の位置は原始プログラム1の中であればどこでも
よく、またプログラム容量削減コードの生成位置もモジ
ュール4の中であればどこでもよいことはもちろんであ
る。
〔発明の効果〕
以上説明したように本発明は、特定処理を行わないとコ
ンパイラによって判断された場合やコンパイル時の指定
によって特定処理用モジュールを結合しないと判断され
た場合に特定処理用モジュールを結合しないことができ
るようにしたことにより、特定処理を行わない場合の実
行形式プログラムのプログラム容量およびファイル容量
を大幅に削減することができる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例に係るプログラム容量削減方
式の構成を示すブロック図、 第2図は第1図中のプログラム容量削減コード生成手段
における処理を示す流れ図、 第3図は本実施例のプログラム容量削減方式により生成
された実行形式プログラムの一例を示す図、 第4図はモジュール間の呼出し関係の一例を示す図、 第5図は従来のプログラム結合方式により生成された実
行形式プログラムの一例を示す図である。 図において、 ■・・・原始プログラム、 2・・・プログラム容量削減コード生成手段、3・・・
コンパイラ(言語処理プログラム)、4・・・モジュー
ル(翻訳形式プログラム)、5・・・リンカ、 6・・・実行形式プログラム、 U NW・モジュール、 X−Z・特定処理用モジュールである。

Claims (1)

  1. 【特許請求の範囲】 原始プログラムを入力し特定処理を使用しない旨の判断
    に基づいて特定処理用モジュール名の内部入口名と制御
    を戻す記述とからなるプログラム容量削減コードを生成
    し翻訳形式プログラムの中に付加して出力するプログラ
    ム容量削減コード生成手段を含む言語処理プログラムと
    、 指定された翻訳形式プログラムを結合する際に内部入口
    名を外部入口名より優先的に結合するリンカと を有することを特徴とするプログラム容量削減方式。
JP3661289A 1989-02-16 1989-02-16 プログラム容量削減方式 Pending JPH02214933A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3661289A JPH02214933A (ja) 1989-02-16 1989-02-16 プログラム容量削減方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3661289A JPH02214933A (ja) 1989-02-16 1989-02-16 プログラム容量削減方式

Publications (1)

Publication Number Publication Date
JPH02214933A true JPH02214933A (ja) 1990-08-27

Family

ID=12474625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3661289A Pending JPH02214933A (ja) 1989-02-16 1989-02-16 プログラム容量削減方式

Country Status (1)

Country Link
JP (1) JPH02214933A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04163624A (ja) * 1990-10-26 1992-06-09 Daikin Ind Ltd 汎用化アプリケーションシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04163624A (ja) * 1990-10-26 1992-06-09 Daikin Ind Ltd 汎用化アプリケーションシステム

Similar Documents

Publication Publication Date Title
JPH01306923A (ja) 異種言語間連絡方式
JPH02214933A (ja) プログラム容量削減方式
JPH01277934A (ja) パラメータリスト参照方法の切換え方式
GB2377777A (en) Computer apparatus for implementing a workflow
JPS6378231A (ja) 部分的プログラム結合方式
US5765148A (en) Database processing apparatus and database processing method for variable length objects, and computer-readable memory medium for storing database processing program
JPH03240837A (ja) デバッグ情報生成装置
JPH05134880A (ja) デイジタル計算機
JPH0240720A (ja) 目的プログラム出力指示方式
JPH06332724A (ja) オブジェクト指向型システムにおける論理的単位の実装方式、及び実行多重度制御方式、並びに実行優先度制御方式
JPH03257533A (ja) メッセージ・レベルのテーラリング処理方法
JPH02214942A (ja) 親ロードモジュールへの制御移行機能の作成方式
JPH02133825A (ja) コンパイル方式
JPH04278632A (ja) ソフトウェア変換・再構成方法
JPS63184136A (ja) 最適化処理方式
JPH02130637A (ja) ソースコード翻訳方式
JPH0561991A (ja) プログラム言語翻訳装置
JPS58166455A (ja) 関係型デ−タベ−ス・システム
JPH0342727A (ja) プリコンパイラによる名前生成方式
JPH01128136A (ja) コンパイル処理装置
JPH0390935A (ja) エキスパートシステム構築ツール
JPH01121939A (ja) プログラム変換方式
JPS6175448A (ja) プログラム実行制御方式
JPH02205930A (ja) インタフェースチェック処理方法
JPH09160762A (ja) プログラム変換方式