JPH0279127A - フォートラン・コンパイル処理方式 - Google Patents

フォートラン・コンパイル処理方式

Info

Publication number
JPH0279127A
JPH0279127A JP23111788A JP23111788A JPH0279127A JP H0279127 A JPH0279127 A JP H0279127A JP 23111788 A JP23111788 A JP 23111788A JP 23111788 A JP23111788 A JP 23111788A JP H0279127 A JPH0279127 A JP H0279127A
Authority
JP
Japan
Prior art keywords
program
module
fortran
quoted
attribute 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
JP23111788A
Other languages
English (en)
Inventor
Minoru Tanaka
稔 田中
Sanae Miyama
深山 早苗
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
Original Assignee
Fujitsu 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 filed Critical Fujitsu Ltd
Priority to JP23111788A priority Critical patent/JPH0279127A/ja
Publication of JPH0279127A publication Critical patent/JPH0279127A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 モジュールと引用プログラムとからなるフォートランの
プログラムを実装できるようにするためのフォートラン
・コンパイル処理方式に関し、コ、ンバイル処理の低下
を招くことな(、プログラムの実装を実現できるように
することを目的とし、 モジュールめ構文意味解析により求められるモジュール
定義の属性情報を、薄形式で格納して管理する翻訳情報
ライブラリと、引用プログラムの構文意味解析時に、引
用プログラム中に記述されるモジュール引用のための引
用文を検出する引用文検出部と、この引用文検出部が引
用文を検出したときに、翻訳情報ライブラリが管理する
属性情報を引用プログラムに展開するライブラリ情報展
開部とを備えるフォートラン・コンパイル処理方式に従
って、モジュールを持つフォートランのプログラムの実
装を実現するよう構成する。
〔産業上の利用分野〕
本発明は、モジュールとこれを引用するプログラムとか
らなるフォートランのプログラムを実装できるようにす
るためのフォートラン・コンパイル処理方式に関するも
のである。
次期フォートラン言語規格となるフォートラン8Xでは
、新たなる機能としてモジュールとUSE文という概念
が導入されることとなった。このモジュールとは、他の
プログラム単位で共通的に用いられることになる型宣言
の情報や手続きの情報等のような属性情報を定義するも
のであり、USE文とは、そのモジュールを引用するた
めの手段である。このtJsE文を使ってモジュールを
引用すると、モジュール内で定義した属性情報を、あた
かも引用側のプログラム(以下、引用プログラムという
)で定義した属性情報の如く扱えることになる。このよ
うなモジュールの概念は、フォートランでは全く新しい
機能であることから、このモジュールの実現方式につい
て新たに検討していく必要がある。
〔従来の技術〕
フォートラン8Xのモジュールという概念は、フォート
ランにとっては全く新しい概念である。
従って、モジュールの実現方式についても従来技術はな
いというのが現状である。これから、ここでは、本出願
人が検討を加えたいくつかのモジュールの実現方式につ
いて説明することにする。
モジニールの実現方式の1つとして考えられるものに、
引用プログラムをコンパイルしていく際に、モジュール
のソースプログラムを参照していくという方式を採るこ
とが考えられる。また他の実現方式として考えられるも
のに、リンケージエディタで結合編集していく際に、引
用プログラムのオブジェクトプログラムがモジュールの
オブジェクトプログラムを参照していくという方式を採
ることが考えられる。更に別の実現方式として考えられ
るものに、実行していく際に、引用プログラムのロード
モジュールがモジュールのロードモジュールを参照して
いくという方式を採ることが考えられる。
〔発明が解決しようとする課題〕
しかしながら、第1番目に説明した方式では、モジュー
ルをUSEする度毎にモジュールのソースプログラムを
コンパイルしていかなくてはならないことから、コンパ
イラの処理効率を著しく低下させてしまうことになると
いう問題点がでてくることになる。また第2及び第3番
目に説明した方式では、引用プログラムをコンパイルし
ていく際に、モジュールで定義されている属性情報につ
いての情報が得られないままコンパイル処理を実行しな
ければならないことから、コンパイラに大きな負荷がか
かることになるという問題点がでてくることになる。
本発明はかかる事情に鑑みてなされたものであって、コ
ンパイル処理の低下を招くことなくモジュールと引用プ
ログラムとからなるフォートランのプログラムを実装で
きるようにするフォートラン・コンパイル処理方式の提
供を目的とするものである。
〔課題を解決するための手段〕
第1図は本発明の原理構成図である。
図中、1はフォートラン・モジュールを実現するための
フォートラン・コンパイル処理装置、2はモジュールと
引用プログラムとからなるフォートランの原始プログラ
ムを格納する原始プログラムファイル、3は原始プログ
ラムに対応する目的プログラムを格納する目的プログラ
ムファイルである。原始プログラムファイル2に格納さ
れるモジュールは属性情報を定義し、一方、原始プログ
ラムファイル2に格納される引用プログラムは引構文を
備えることで、この定義されたモジュールの属性情報を
引用することになる。
10は構文意味解析部であって、原始プログラムファイ
ル2に格納されるモジュールと引用プログラムの構文意
味解析を実行するもの、11は翻訳情報ライブラリであ
って、構文意味解析部10により求められるモジュール
の属性情報を薄形式で格納して管理するもの、12は構
文意味解析部10が備える引用文検出部であって、引用
プログラムの構文意味解析時に、引用プログラム中に記
述される引用文を検出するもの、13はライブラリ情報
展開部であって、引用文検出部12が引用文を検出した
ときに、翻訳情報ライブラリ11が管理する属性情報を
解析中の引用プログラムに展開するものである。
(作用) 本発明では、先ず、モジュールの原始プログラムをコン
パイルすることで、モジュールの属性情報を翻訳情報ラ
イブラリ11に格納するよう処理する。そして、引用プ
ログラムをコンパイルする際に引用文があるときには、
この翻訳情報ライブラリ11に格納されている属性情報
を参照して、コンパイル処理を実行するよう処理する。
このように、本発明によれば、翻訳情報ライブラリ11
を使って引用プログラムのコンパイルを実行することで
、フォートラン・コンパイル処l装置1のコンパイル処
理の低下を招くことなくモジュールと引用プログラムと
の対応関係がとれることになり、フォートラン・モジュ
ールの実装を現実のものとすることができる。
〔実施例〕
以下、実施例に従って本発明の詳細な説明する。
実施例の具体的な説明に入る前に、第2図に従って、本
発明の開示のために用いるフォートランで記述されたモ
ジュールと引用プログラムの一例について説明する。こ
こで、第2図(A)はモジュールの一例であり、第2図
CB)は引用プログラムの一例である。
最初に、第2図(A)に示す“Xパと名付けられたモジ
ュールについて説明する。このモジュールでは、宣言文
により“A゛′と°′B″が整数型で、“C”が実数型
であることが宣言される。そして、C0NTA I N
S文に続<5UBROUTINE文で手続き(図中では
、” S U B 1 ”と名付けている)を指定して
、整数型のパラメータの“ビ′の値が“10′”で、整
数型のパラメータのj′”の値が“5゛で、“°K”が
整数型で、かつ°“K”が°゛■゛と°゛J″のいずれ
か大きい方であるところの、 K=MAX (1,J) であると定義される。このようにして定義されるモジュ
ールパX”の宣言情報や手続き情報等といった属性情報
が、引用プログラムによって引用されることになるので
ある。なお、手続きは、C0NTA I NS文に続<
FUNCTION文によっても指定することが可能であ
る。また、手続きを複数個指定する場合には、FUNC
T I ON文、または5UBROUTINE文を先頭
としたプログラム単位を形成することになる。
第2図(B)に示す、°″5UB2’と名付けられた引
用プログラムについて説明する。この引用プログラムで
は、USE文によってモジエール“Xパを引用すること
を宣言し、PRINT文で“°に゛を書式の指定なしで
印刷し、代入文で“A”に値“10°゛をセットし、“
B”に値“20”をセットし、C”に°’A*B”をセ
ットし、そして、WRITE文で” A + B ”と
”c”を6番のユニットに書式の指定なしで印刷するこ
とを指示するものである。
次に、本発明のフォートラン・コンパイル処理装置が実
行する第3図に示すフローチャートに従って、本発明に
よるモジエールの実現方式について説明する。
本発明では、引用される側であるモジュールのコンパイ
ル処理を最初に行うことになる。第3図では、先にコン
パイルされることになるモジュールのコンパイル処理を
、ステップ1ないしステップ4で示しである。すなわち
、ステップ1で、モジュール中の宣言文に対して構文解
析し意味解析することで、宣言文に対する簿を作成する
。ここで、簿とは、オブジェクトの名前及び属性情報を
保持する票のことである。従って、この処理により、第
2図(A)の例で説明するならば、モジュール“Xパの
オブジェクトの°A°゛と“B“°が整数型で、C”が
実数型であるという簿が作成されることになる。
続いてステップ2で、モジュール中の手mきに対して構
文解析し意味解析することで、手続きに対する簿を作成
することになる。この手続き中に宣言文があれば、ステ
ップ3で示すように宣言文に対する簿を作成し、そして
、実行文があれば、ステップ4で示すようにそれらに対
する簿を作成するのである。従って、これらの処理によ
り、第2図(A)の例で説明するならば、モジュール“
X°゛のオブジェクトの整数型のパラメー・夕のI”の
値が’i o”で、整数型のパラメータの”J”の値が
5”で、”K”が整数型で、かつ”K”が、 K=MAX  (1,J) であるという簿が作成されることになる。
このようにして作成される簿は、引用プログラムから参
照可能となるようにするために、外付けの格納場所であ
る翻訳情報ライブラリ11にと格納される。
モジュールのコンパイル処理を終了すると、本発明では
、続いて、引用プログラムのコンパイル処理を行うこと
になる。第3図では、後からコンパイルされることにな
る引用プログラムのコンパイル処理を、ステップ5ない
しステップ7で示しである。すなわち、ステップ5で、
引用プログラム中の手続きに対して構文解析し意味解析
することで、手続きに対する簿を作成する。従って、こ
の手続き中に宣言文や実行文があれば、それに応じて簿
が作成されることになる。なお、第2図(B)の引用プ
ログラムでは手続きは記述していない。
続いてステップ6で、モジュールを引用するための03
8文を検出すると、第4図に図示するように、翻訳情報
ライブラリ11に格納されであるモジュールの属性情報
を参照するよう処理することになる。すなわち、すでに
構文意味解析することで求められているモジュールの属
性情報のオブジェクトを、そのまま展開して利用するよ
う処理するのである。
最後に、ステップ7で、引用プログラム中の実行文に対
して構文解析し意味解析することで、それらに対する簿
を作成する。従って、この処理により、第2図(B)の
例で説明するならば、に関しての簿が作成されることに
なる。
そして、ステップ5ないしステップ7で簿が作成される
と、それを使って、最終的な目的プログラムを生成する
よう処理する。
このように、本発明では、モジュールの属性情報を翻訳
情報ライブラリに格納し、引用プログラムがこの翻訳情
報ライブラリを参照することで、モジュールと引用プロ
グラムとの対応関係をとって、フォートラン・モジュー
ルの実装を実現するのである。
〔発明の効果〕
以上に説明したように、本発明のフォートラン・コンパ
イル処理方式を用いることで、次期フォートラン言語規
格となるフォートラン8Xの新機能であるモジュールを
実装できることになる。しかも、この実装にあたって、
フォートラン・コンパイル処理装置のコンパイル処理効
率の低下を招くことがない。そして、モジュールのコン
パイルは一度でよいので、計算機資源の効率的な使用も
確保できることになる。
【図面の簡単な説明】
第1図は本発明の原理構成図、 第2図は本発明の処理内容の説明のために用いるプログ
ラムの一例、 第3図は本発明が実行するフローチャート、第4図は翻
訳情報ライブラリの参照の説明図である。 図中、1はフォートラン・コンパイル処理装置、2は原
始プログラムファイル、3は目的プログラムファイル、
10は構文意味解析部、11は翻訳情報ライブラリ、1
2は引用文検出部、13はライブラリ情報展開部である

Claims (1)

  1. 【特許請求の範囲】 属性情報を定義するモジュールとこのモジュールの属性
    情報を引用する引用プログラムとからなるフォートラン
    で記述された原始プログラムを用意し、この用意された
    原始プログラムを構文解析し意味解析することで、所定
    の目的プログラムにとコンパイルしていくためのフォー
    トラン・コンパイル処理方式であって、 モジュールの構文意味解析により求められる属性情報を
    薄形式で格納して管理する翻訳情報ライブラリ(11)
    と、 引用プログラムの構文意味解析時に、引用プログラム中
    に記述されるモジュール引用のための引用文を検出する
    引用文検出部(12)と、 この引用文検出部(12)が引用文を検出したときに、
    上記翻訳情報ライブラリ(11)が管理する属性情報を
    引用プログラムに展開するライブラリ情報展開部(13
    )とを備えることで、 モジュールと引用プログラムとからなるフォートランの
    プログラムを実装できるようにしたことを特徴とするフ
    ォートラン・コンパイル処理方式。
JP23111788A 1988-09-14 1988-09-14 フォートラン・コンパイル処理方式 Pending JPH0279127A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23111788A JPH0279127A (ja) 1988-09-14 1988-09-14 フォートラン・コンパイル処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23111788A JPH0279127A (ja) 1988-09-14 1988-09-14 フォートラン・コンパイル処理方式

Publications (1)

Publication Number Publication Date
JPH0279127A true JPH0279127A (ja) 1990-03-19

Family

ID=16918558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23111788A Pending JPH0279127A (ja) 1988-09-14 1988-09-14 フォートラン・コンパイル処理方式

Country Status (1)

Country Link
JP (1) JPH0279127A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265771A (ja) * 1992-01-17 1993-10-15 Internatl Business Mach Corp <Ibm> コンパイラおよびコンパイル方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265771A (ja) * 1992-01-17 1993-10-15 Internatl Business Mach Corp <Ibm> コンパイラおよびコンパイル方法

Similar Documents

Publication Publication Date Title
US5778212A (en) Interprocedural analysis user interface
US8423971B2 (en) Generating an application software library
JP2004342108A (ja) コマンドへの入力パラメータに対するリフレクションベース処理
WO2022166669A1 (zh) 一种编译期的hook方法、装置、设备及存储介质
JP5147240B2 (ja) リバーシブルなデザイン・ツリーの変換のための方法とシステム
WO2018161509A1 (zh) 条件编译预处理方法、终端及存储介质
US6381736B1 (en) Method for compile-time type-checking of arguments for externally-specified format strings
JP3196675B2 (ja) 言語処理方式
JPH0279127A (ja) フォートラン・コンパイル処理方式
GB2420638A (en) Method of substituting code fragments in Internal Representation
CN113448874A (zh) 一种单元测试脚本的生成方法及装置
Michalakes FLIC: A translator for same-source parallel implementation of regular grid applications
CN113326048B (zh) 浮点数计算精度处理方法、系统、介质及设备
JP2977642B2 (ja) Fortranコンパイル処理装置
US11983265B2 (en) Automated integration of a source modification engine
KR960024908A (ko) 이동통신시스템 기지국 소프트웨어 패키지 생성방법
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JP2882876B2 (ja) プログラム試験方法
JP3167386B2 (ja) プログラム自動並列化方法
JP3018783B2 (ja) コンパイル方式
JP2002073347A (ja) 例外処理方法及びコンパイラ
CN116243902A (zh) 一种基于Spring和MyBatis数据处理的方法
JPH04148336A (ja) Fortranプログラム文法解析方式
JPH0417028A (ja) プログラム言語の翻訳編集方式
JPH1083328A (ja) 単体テスト用疑似入出力実現方式