JPS62200426A - 高級言語のマクロ展開方法 - Google Patents

高級言語のマクロ展開方法

Info

Publication number
JPS62200426A
JPS62200426A JP4185386A JP4185386A JPS62200426A JP S62200426 A JPS62200426 A JP S62200426A JP 4185386 A JP4185386 A JP 4185386A JP 4185386 A JP4185386 A JP 4185386A JP S62200426 A JPS62200426 A JP S62200426A
Authority
JP
Japan
Prior art keywords
macro
source program
file
descriptor
level language
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
JP4185386A
Other languages
English (en)
Inventor
Shinji Tsuchida
真二 土田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP4185386A priority Critical patent/JPS62200426A/ja
Publication of JPS62200426A publication Critical patent/JPS62200426A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、高級言語に共通するモジュールをマクロ展
開する高級言語のマクロ展開方法に関するものである。
〔従来の技術〕
従来、高級言語を使用して複数のソースプログラムをコ
ーディングする場合に、各モジュール間に共通する部分
が存在する場合は、モジュール間に共通な部分は、各モ
ジュール毎に同じコーディングを行うかあるいは、モジ
ュール間に共通な部分をあらかじめ1つ作成しておき、
コンパイル時期に、ファイルコピー等により1つのファ
イルに展開する等の方法がとられていた。
〔発明が解決しようとする問題点〕
このため、前者においては、コーディングミスによるバ
グが発生したり、共通部分に変更がでた場合には、関係
するすべてのモジュールを修正しなければならないとと
もに、ソースファイルの容量が極めて大きくなってしま
う等の問題点を有していた。
また後者による方法では、コンパイル毎にファイルコピ
ーを実行しなければならない。また言語特性によっては
同じモジュールを数回コピーしなければ実際に起動しな
いばかりか、コンパイルするまでに煩雑な作業を余儀な
くされる等の問題点を有していた。
この発明は、上記の問題点を解消するためになさたもの
で、高級言語において複数のソースファイルに共通する
モジュールを容易にマクロ展開できる高級言語のマクロ
展開方法を提供することを目的とする。
〔問題点を解決するための手段〕
この発明に係る高級言語のマクロ展開方法は、ソースプ
ログラムファイルのコンパイル時に、ソースプログラム
にマクロ記述子がコーディングされているかを判定して
、マクロ記述子がコーディングされている場合に、対応
する所望のマクロファイルを記憶手段より読み出し、ソ
ースプログラムが展開されたワークファイルにマクロ展
開する。
〔作用〕 この発明においては、ソースプログラムファイルのコン
パイル時に、ソースプログラムにマクロ記述子がコーデ
ィングされているかを判定して、この判定結果に応じて
、マクロ記述子がコーディングされている場合に、対応
する所望のマクロファイルを記憶手段より読み出し、ソ
ースプログラムが展開されワークファイルにマクロ展開
させる。
〔実施例〕
第1図はこの発明の一実施例を示す高級言語のマクロ展
開方法を説明するブロック図であり、1はシステムコン
ソールで、CPU2のシステム動作を表示したり、CP
U1に各種の情報を入力する。3はプログラム入力装置
で、例えばカードリーグで構成される。4は2次記憶装
置で、例えば磁気ディスク装置で構成される。5はメモ
リで、2次記憶装置4に記憶されるソースファイルまた
はモジュールの共通する部分(マクロ)を1つのファイ
ルとして登録するための管理データを記憶する。
第2図はこの発明のマクロ本体を説明する模式図であり
、11はマクロ本体で、マクロ記述子11a 、マクロ
エンド11b 、マクロ名11cより構成されている。
1つのマクロ本体11はマクロ記述子11aの後にマク
ロ名11C1例えばABCが記述され、続いてマクロ1
2が定義され、マクロ終了を示すマクロエンド11bで
終了される。
第3図(a)、(b)はこの発明によるソースプログラ
ムのコーディングを説明する模式図であり、同図(a)
において、21はソースプログラム本体で、その前後に
ソースプログラム記述子21a 、ソースエンド21b
が記述される。ソースプログラム記述子21aの後には
、プログラム名22、例えばXYZ等が記述される。
同図(b)において、31はマクロパラメータで、ソー
スプログラム本体21中に記述される。
マクロパラメータ31はコロン31a 、マクロ名11
C、アンドマーク&、パラメータP、Q等で構成される
。1カラム目がコロン31aの場合は、マクロコール行
であることを示す。アンドマーク&はP、Qがパラメー
タであることを示す。
次に第4図を参照しながらソースプログラムおよびマク
ロの登録動作について説明する。
第4図はこの発明によるソースプログラムおよびマクロ
の登録動作を説明する図であり、第1図と同一のものに
は同じ符号を付している。
この図において、41はファイル管理モジュールで、プ
ログラム入力装置3から入力されるソースプログラムお
よびマクロを認識して2次記憶装置4への登録を管理す
る。
マクロを2次記憶装置4に登録する場合は、プログラム
入力装置3より読み取らせて、CPU2がマクロである
と認識すると、ファイル管理モージュール41の図示し
ない管理テーブルに書き込み、以後2次記憶装置4のア
クセスがファイル管理モジュール41により実行される
同様にソースプログラムを2次記憶装置4に登録する場
合は、プログラム入力装置3より読み取らせて、CPU
2がソースプログラムであると認識すると、ファイル管
理モージュール41の図示しない管理テーブルに書き込
み、以後2次記憶装否4のアクセスがファイル管理モジ
ュール41により実行される。
次に第5図を参照しながらこの発明によるマクロ展開動
作を説明する。
第5図はこの発明によるマクロ展開動作を説明する模式
図であり、第3図(a)、(b)と同一のちには同じ符
号を付している。
この図において、5oはソースプログラムファイル、5
1.52はソースプログラムで、その間にマクロコール
行を示すコロン31aが記されている。53はマクロフ
ァイル、54はマクロで、マク1:y記述子11 a 
、マクロエンド11b 、マクロ名11Cがそれぞれ記
されている。55はワークファイルで、ソースプログラ
ム51a 、マクロ53a 、ソースプログラム52a
がこの順に展開されている。
オペレータより第1図に示したシステムコンソール1か
らプログラムXYZのコンパイルがWi示されると、コ
ンパイラはコンパイルを実行する前に、まず、指定され
たソースプログラム50をアクセスして、マクロコール
命令、すなわち、マクロコール行があるかどうかを判断
し、マクロコール命令がない場合には、例えばソースプ
ログラム51をワークファイル55にソースプログラム
51aとしてムーブし、マクロコール行がソースプログ
ラムファイル50に存在する場合は、マクロ記述子11
aで指示されるマクロファイル53をワークファイル5
5をマクロ54aとしてムーブする。次いで、マクロコ
ール記述子11aの次の行からソースプログラム52を
ワークファイル55にムーブされたマクロ54aの後続
にソースプログラム52aとしてムーブする。マクロ展
開が終了したら、コンパイラはワークファイル55を1
つのソースプログラムとしてコンパイルを開始する。
〔発明の効果〕
以上説明したように、この発明はソースプログラムファ
イルのコンパイル時に、ソースプログラムにマクロ記述
子がコーディングされているかを判定して、マクロ記述
子がコーディングされている場合に、対応する所望のマ
クロファイルを記憶手段より読み出し、ソースプログラ
ムが展開されたワークファイルにマクロ展開するように
したので、各ソースプログラムファイルにマクロファイ
ルをマクロ展開することが可能となり、展開後のファイ
ルアクセスが高速化されるとともに、ソフトウェアの生
産性を向上できる極めて優れた利点を有する。
【図面の簡単な説明】
第1図はこの発明の一実施例を示す高級言語のマクロ展
開方法を説明するブロック図、第2図はこの発明のマク
ロ本体を説明する模式図、第3図(a)、(b)はこの
発明によるソースプログラムのコーディングを説明する
模式図、第4図はこの発明によるソースプログラムおよ
びマクロの登録動作を説明する図、第5図はこの発明に
よるマクロ展開動作を説明する模式図である。 図中、1はシステムコンソール、2はCPU、3はプロ
グラム入力装置、4は2次記憶装置、5はメモリ、11
はマクロ本体、Ilaはマクロ記述子、11bはマクロ
エンド、11Cはマクロ名、12.54はマクロ、21
はソースプログラム本体、21aはソースプログラム記
述子、21bはソースエンド、31はマクロパラメータ
、31aはコロン、41はファイル管理モジュール、5
0はソースプログラムファイル、51゜52はソースプ
ログラム、53はマクロファイル、55はワークファイ
ルである。 第1図 ム 第2図 1r 第3図 (a)

Claims (2)

    【特許請求の範囲】
  1. (1)入力される複数の高級言語のソースプログラムフ
    ァイルおよびマクロファイルを記憶する記憶手段を有し
    、コンパイル指定に応じて1つのソースプログラムを作
    成する装置において、前記ソースプログラムファイルの
    コンパイル時に、前記ソースプログラムにマクロ記述子
    がコーディングされているかを判定して、前記マクロ記
    述子がコーディングされている場合に、対応する所望の
    マクロファイルを前記記憶手段より読み出し、前記ソー
    スプログラムが展開されたワークファイルにマクロ展開
    することを特徴とする高級言語のマクロ展開方法。
  2. (2)ソースプログラム展開後は、ワークファイルをコ
    ンパイルすることを特徴とする特許請求の範囲第(1)
    項記載の高級言語のマクロ展開方法。
JP4185386A 1986-02-28 1986-02-28 高級言語のマクロ展開方法 Pending JPS62200426A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4185386A JPS62200426A (ja) 1986-02-28 1986-02-28 高級言語のマクロ展開方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4185386A JPS62200426A (ja) 1986-02-28 1986-02-28 高級言語のマクロ展開方法

Publications (1)

Publication Number Publication Date
JPS62200426A true JPS62200426A (ja) 1987-09-04

Family

ID=12619810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4185386A Pending JPS62200426A (ja) 1986-02-28 1986-02-28 高級言語のマクロ展開方法

Country Status (1)

Country Link
JP (1) JPS62200426A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571431B2 (en) 2003-04-29 2009-08-04 Microsoft Corporation Processing macro information and displaying via GUI in different tools

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571431B2 (en) 2003-04-29 2009-08-04 Microsoft Corporation Processing macro information and displaying via GUI in different tools

Similar Documents

Publication Publication Date Title
JPS62200426A (ja) 高級言語のマクロ展開方法
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JP2786689B2 (ja) コンパイラ処理方法
JPH0390933A (ja) ソフトウェアプログラム自動生成方式
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
KR100229567B1 (ko) 오버레이 코딩시 좌표값과 텍스트값 생성방법
JP2590083B2 (ja) ソース・プログラム翻訳処理方法
JPS6020275A (ja) マルチプロセサの簡易プログラミングシステム
JPH0690669B2 (ja) 文字列操作系命令コンパイル処理方式
JPS61206041A (ja) プログラム言語の拡張方法
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH0654472B2 (ja) マイクロコンピユ−タ
JPS6220007A (ja) 数値制御装置の命令追加方式
JPH02100732A (ja) プログラム文法チェック方式
JPH01211131A (ja) 共用データ領域参照方式
JPH07200271A (ja) プログラム資源管理装置
JPS61264441A (ja) コンパイル処理方式
JPS63200243A (ja) デバッグ方法及びその装置
JPH0358225A (ja) ファイル編集方式
JPS63157240A (ja) デイジタル制御装置
JPH02193226A (ja) 挿入ソースプログラム展開処理装置
JPH03255533A (ja) プログラミング言語処理システムにおけるシンボル管理方式
JPH01296346A (ja) エラー情報ファイルによる部分コンパイル方式
JPH02178845A (ja) データベース操作言語のプリコンパイル方式
JPH1027153A (ja) バス転送装置