JPH0343833A - 手続き副プログラム展開方式 - Google Patents
手続き副プログラム展開方式Info
- Publication number
- JPH0343833A JPH0343833A JP17936989A JP17936989A JPH0343833A JP H0343833 A JPH0343833 A JP H0343833A JP 17936989 A JP17936989 A JP 17936989A JP 17936989 A JP17936989 A JP 17936989A JP H0343833 A JPH0343833 A JP H0343833A
- Authority
- JP
- Japan
- Prior art keywords
- subprogram
- argument
- array
- procedure
- program
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 239000000284 extract Substances 0.000 claims abstract description 4
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 229940036310 program Drugs 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、FORTRAN言語で記述された原始プログ
ラムにおける手続き副プログラム展開方式に関するもの
である。
ラムにおける手続き副プログラム展開方式に関するもの
である。
手続き副プログラム展開方式においては、展開される手
続き副プログラムの仮引数に配列名が存在する場合、そ
の手続き副プログラムを呼び出すプログラムに展開する
ようなことは行っていなかった。
続き副プログラムの仮引数に配列名が存在する場合、そ
の手続き副プログラムを呼び出すプログラムに展開する
ようなことは行っていなかった。
このような従来の方式では、手続き副プログラムの 仮
引数が配列名を含んでいる場合、その手続き副プログラ
ムを、それを呼び出すプログラムに展開することができ
ないため、手続き副プログラムを呼び出すため オーバ
ヘッドをなくすことができないという欠点がある。本発
明の目的は、仮引数に配列名を含む手続き副プログラム
を、それを呼び出しプログラムに展開することを可能と
し、手続き副プログラムを呼び出すオーバーヘッドをな
くす手続き副プログラム展開方式を提供することにある
。
引数が配列名を含んでいる場合、その手続き副プログラ
ムを、それを呼び出すプログラムに展開することができ
ないため、手続き副プログラムを呼び出すため オーバ
ヘッドをなくすことができないという欠点がある。本発
明の目的は、仮引数に配列名を含む手続き副プログラム
を、それを呼び出しプログラムに展開することを可能と
し、手続き副プログラムを呼び出すオーバーヘッドをな
くす手続き副プログラム展開方式を提供することにある
。
本発明は、FORTRAN言語で記述された原始プログ
ラム中の、手続き副プログラムを、その手続き副プログ
ラムを呼び出す手続きプログラムに展開させる手続き副
プログラム展開方式において、 展開される手続き副プログラムの解析部に、仮引数に配
列名が存在するか否かを解析し、存在している場合には
仮引数で指定されている配列名と配列の寸法を抽出し、
仮引数情報テーブルに格納する仮引数解析手段を含み、
呼び出しプログラム解析部、展開される手続きプログラ
ムの仮引数に対応した実引数で指定されている配列名と
配列の寸法を抽出し、実引数情報テーブルに格納する実
引数解析手段を含み、 プログラム作成部に、前記仮引数情報テーブルおよび、
前記実引数情報テーブルより、前記手続き副プログラム
の仮引数に指定された配列名に対応する配列の型宣言文
および、仮引数に指定された配列名に対応する実引数の
配列とのEQUIVA−LENCE文および、型宣言文
を作成し、前記手続き副プログラムおよび前記手続き副
プログラムが展開された手続きプログラムに挿入する型
室言文/EQUIVALENCE文挿入手段を含むこと
を特徴とする。
ラム中の、手続き副プログラムを、その手続き副プログ
ラムを呼び出す手続きプログラムに展開させる手続き副
プログラム展開方式において、 展開される手続き副プログラムの解析部に、仮引数に配
列名が存在するか否かを解析し、存在している場合には
仮引数で指定されている配列名と配列の寸法を抽出し、
仮引数情報テーブルに格納する仮引数解析手段を含み、
呼び出しプログラム解析部、展開される手続きプログラ
ムの仮引数に対応した実引数で指定されている配列名と
配列の寸法を抽出し、実引数情報テーブルに格納する実
引数解析手段を含み、 プログラム作成部に、前記仮引数情報テーブルおよび、
前記実引数情報テーブルより、前記手続き副プログラム
の仮引数に指定された配列名に対応する配列の型宣言文
および、仮引数に指定された配列名に対応する実引数の
配列とのEQUIVA−LENCE文および、型宣言文
を作成し、前記手続き副プログラムおよび前記手続き副
プログラムが展開された手続きプログラムに挿入する型
室言文/EQUIVALENCE文挿入手段を含むこと
を特徴とする。
次に、本発明の実施例について図面を参照して説明する
。
。
第1図を参照すると、手続き副プログラム展開プログラ
ム1は、原始プログラム2を入力し、手続き副プログラ
ム解析部10の仮引数解析部11で、仮引数に配列名が
存在する手続き副プログラムか否かを解析し、仮引数に
配列名が存在する手続き副プログラムの場合、仮引数で
指定されている配列名と配列の寸法を抽出し、仮引数情
報テーブル12に格納する。呼び出しプログラム解析部
20の実引数解析部21で、実引数に指定されている配
列名と配列の寸法を抽出し、実引数情報テーブル13に
格納する。プログラム作成部30で手続き副プログラム
を、それを呼び出すプログラム解析部した後、型室言文
/EQUIVALENCE文作成挿入部31で前記仮引
数情報テーブル12および、実引数情報テーブル13に
格納された情報より仮引数に指定された配列名に対応す
る配列の型宣言文および、仮引数に指定された配列名に
対応する実引数の配列とのEQUIVALENCE文を
作成し、手続き副プログラムを呼び出すプログラムに挿
入し、原始プログラム3を出力する。
ム1は、原始プログラム2を入力し、手続き副プログラ
ム解析部10の仮引数解析部11で、仮引数に配列名が
存在する手続き副プログラムか否かを解析し、仮引数に
配列名が存在する手続き副プログラムの場合、仮引数で
指定されている配列名と配列の寸法を抽出し、仮引数情
報テーブル12に格納する。呼び出しプログラム解析部
20の実引数解析部21で、実引数に指定されている配
列名と配列の寸法を抽出し、実引数情報テーブル13に
格納する。プログラム作成部30で手続き副プログラム
を、それを呼び出すプログラム解析部した後、型室言文
/EQUIVALENCE文作成挿入部31で前記仮引
数情報テーブル12および、実引数情報テーブル13に
格納された情報より仮引数に指定された配列名に対応す
る配列の型宣言文および、仮引数に指定された配列名に
対応する実引数の配列とのEQUIVALENCE文を
作成し、手続き副プログラムを呼び出すプログラムに挿
入し、原始プログラム3を出力する。
第2図は、第1図の仮引数解析部11で作成される仮引
数情報テーブルの例を示すための図である。
数情報テーブルの例を示すための図である。
第3図は、第1図の実引数解析部12で作成される実引
数情報テーブルの例を示すための図である。
数情報テーブルの例を示すための図である。
第4図は、仮引数に配列名を含む手続き副プログラムの
展開例を示すための図である。
展開例を示すための図である。
展開前の原始プログラム300の主プログラムMAIN
310および、サブルーチン副プログラム5UB340
を入力し、サブルーチン副プログラムSUB 340の
仮引数330から仮引数情報テーブル100を主プログ
ラムMAIN310の実引数320から実引数情報テー
ブル200を作成する。次に、仮引数情報テーブル10
0および、実引数情報テーブル200から仮引数の配列
と実引数の配列との整合をとるためのEQUIVA−L
ENCE文420および、仮引数の配列の型宣言文41
0を作成する。ただし、文410および文420は主プ
ログラムMAIN310で使用されている名標と重なら
ないように名標を変更して作成する。文410および文
420を主プログラムMAIN310に挿入し、展開後
の原始プログラム400を作成する。
310および、サブルーチン副プログラム5UB340
を入力し、サブルーチン副プログラムSUB 340の
仮引数330から仮引数情報テーブル100を主プログ
ラムMAIN310の実引数320から実引数情報テー
ブル200を作成する。次に、仮引数情報テーブル10
0および、実引数情報テーブル200から仮引数の配列
と実引数の配列との整合をとるためのEQUIVA−L
ENCE文420および、仮引数の配列の型宣言文41
0を作成する。ただし、文410および文420は主プ
ログラムMAIN310で使用されている名標と重なら
ないように名標を変更して作成する。文410および文
420を主プログラムMAIN310に挿入し、展開後
の原始プログラム400を作成する。
以上に説明したように本発明は、手続き副プログラムの
仮引数に配列名があっても、それを呼び出す手続きプロ
グラムに展開可能となり、実行時に手続き呼び出しを行
うことで発生するオーバーヘッドをなくすことができる
効果がある。
仮引数に配列名があっても、それを呼び出す手続きプロ
グラムに展開可能となり、実行時に手続き呼び出しを行
うことで発生するオーバーヘッドをなくすことができる
効果がある。
第1図は、本発明の一実施例を示す図、第2図は、本実
施例における仮引数情報テーブルを示す図、第3図は、
実引数情報テーブルを示す図、第4図は、展開前と展開
後の原始プログラムを示す図である。 1・・・・・・手続き副プログラム展開プログラム、2
・・・・・・原始プログラム、3・・・・・・展開され
たプログラム、10・・・・・・展開される手続き副プ
ロゲラ解析部、11・・・・・・仮引数解析部、12・
・・・・J仮引数情報テーブル、13・・・・・・実引
数情報テーブル、20・・・・・・呼び出しプログラム
解析部、21・・・・・・実引数解析部、30・・・・
・・プログラム作成部、31・・・・・・型室言文/E
QUIVALENCE文、100・・・・・・仮引数情
報テーブル、110・・・・・・仮引数の個数、120
・・・・・・仮引数の長さ、130・・・・・・仮引数
、200・・・・・・実引数情報テーブル、210・・
・・・・実引数の個数、220・・・・・・実引数の式
の長さ、230・・・・・・実引数の式、300・・・
・・・展開前の原始プログラム、310・・・・・・主
プログラム、320・・・・・・CALL文、330・
・・・・・5UBROUTINE文、340・・・・・
・サブルーチン副プログラム、400・・・・・・展開
後の原始プログラム、410・・・・・・挿入された型
宣言文、420・・・・・・挿入されたEQUIVAL
ENCE文、430・・・・・・展開された文。
施例における仮引数情報テーブルを示す図、第3図は、
実引数情報テーブルを示す図、第4図は、展開前と展開
後の原始プログラムを示す図である。 1・・・・・・手続き副プログラム展開プログラム、2
・・・・・・原始プログラム、3・・・・・・展開され
たプログラム、10・・・・・・展開される手続き副プ
ロゲラ解析部、11・・・・・・仮引数解析部、12・
・・・・J仮引数情報テーブル、13・・・・・・実引
数情報テーブル、20・・・・・・呼び出しプログラム
解析部、21・・・・・・実引数解析部、30・・・・
・・プログラム作成部、31・・・・・・型室言文/E
QUIVALENCE文、100・・・・・・仮引数情
報テーブル、110・・・・・・仮引数の個数、120
・・・・・・仮引数の長さ、130・・・・・・仮引数
、200・・・・・・実引数情報テーブル、210・・
・・・・実引数の個数、220・・・・・・実引数の式
の長さ、230・・・・・・実引数の式、300・・・
・・・展開前の原始プログラム、310・・・・・・主
プログラム、320・・・・・・CALL文、330・
・・・・・5UBROUTINE文、340・・・・・
・サブルーチン副プログラム、400・・・・・・展開
後の原始プログラム、410・・・・・・挿入された型
宣言文、420・・・・・・挿入されたEQUIVAL
ENCE文、430・・・・・・展開された文。
Claims (1)
- 【特許請求の範囲】 FORTRAN言語で記述された原始プログラム中の
、手続き副プログラムを、その手続き副プログラムを呼
び出す手続きプログラムに展開させる手続き副プログラ
ム展開方式において、 展開される手続き副プログラムの解析部に、仮引数に配
列名が存在するか否かを解析し、存在している場合には
仮引数で指定されている配列名と配列の寸法を抽出し、
仮引数情報テーブルに格納する仮引数解析手段を含み、
呼び出しプログラム解析部、展開される手続きプログラ
ムの仮引数に対応した実引数で指定されている配列名と
配列の寸法を抽出し、実引数情報テーブルに格納する実
引数解析手段を含み、 プログラム作成部に、前記仮引数情報テーブルおよび、
前記実引数情報テーブルより、前記手続き副プログラム
の仮引数に指定された配列名に対応する配列の型宣言文
および、仮引数に指定された配列名に対応する実引数の
配列とのEQUIVA−LENCE文および、型宣言文
を作成し、前記手続き副プログラムおよび前記手続き副
プログラムが展開された手続きプログラムに挿入する型
宣言文/EQUIVALENCE文挿入手段を含むこと
を特徴とする手続き副プログラム展開方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17936989A JPH0343833A (ja) | 1989-07-11 | 1989-07-11 | 手続き副プログラム展開方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17936989A JPH0343833A (ja) | 1989-07-11 | 1989-07-11 | 手続き副プログラム展開方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0343833A true JPH0343833A (ja) | 1991-02-25 |
Family
ID=16064651
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17936989A Pending JPH0343833A (ja) | 1989-07-11 | 1989-07-11 | 手続き副プログラム展開方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0343833A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7179247B2 (en) | 2002-11-18 | 2007-02-20 | Uni-Charm Corporation | Absorbable article with protruding body fluid inflow hole having an elastic side wall |
| JP2008178640A (ja) * | 2007-01-24 | 2008-08-07 | Mina Moriyama | 夜間用生理ナプキン |
-
1989
- 1989-07-11 JP JP17936989A patent/JPH0343833A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7179247B2 (en) | 2002-11-18 | 2007-02-20 | Uni-Charm Corporation | Absorbable article with protruding body fluid inflow hole having an elastic side wall |
| JP2008178640A (ja) * | 2007-01-24 | 2008-08-07 | Mina Moriyama | 夜間用生理ナプキン |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2666847B2 (ja) | 異種言語間連絡方式 | |
| US5768590A (en) | Program generating system for application-specific add-on boards using the language of individuals | |
| JPH0343833A (ja) | 手続き副プログラム展開方式 | |
| JPH0277841A (ja) | 論理型言語におけるバックトラック処理方式 | |
| Mittelbach et al. | The docstrip program | |
| JPH0212528A (ja) | 手続き副プログラム展開方式 | |
| JP3059011B2 (ja) | コンパイル装置 | |
| JP2585793B2 (ja) | コンパイラシステム | |
| JPH0279127A (ja) | フォートラン・コンパイル処理方式 | |
| JP2002073347A (ja) | 例外処理方法及びコンパイラ | |
| JPS63115236A (ja) | オブジエクト選択方式 | |
| Oudshoorn et al. | Generating an implementation of a parallel programming language from a formal semantic definition | |
| JPS59231649A (ja) | コンパイルリスト出力処理方式 | |
| JPH04137073A (ja) | 設計図面作成装置 | |
| JP3141945B2 (ja) | コンパイル装置 | |
| JP2607975B2 (ja) | デバック方式 | |
| JPH07192034A (ja) | インタプリタ型シミュレーション方法 | |
| JPH03212739A (ja) | 手続き副プログラム展開方式 | |
| JP2601541B2 (ja) | Fortran入出力並び処理方式 | |
| JPS63228239A (ja) | マクロ展開のテスト方式 | |
| Chang et al. | Design methodologies for simulation translators (with a case study) | |
| JPH07141178A (ja) | オブジェクトアクセス装置 | |
| JPH06119203A (ja) | デバック行削除装置 | |
| JPS63223830A (ja) | プログラム記述方法 | |
| JPH05216719A (ja) | デバッガのブレイク方法およびデバッガ |