JPH0218502B2 - - Google Patents
Info
- Publication number
- JPH0218502B2 JPH0218502B2 JP3132582A JP3132582A JPH0218502B2 JP H0218502 B2 JPH0218502 B2 JP H0218502B2 JP 3132582 A JP3132582 A JP 3132582A JP 3132582 A JP3132582 A JP 3132582A JP H0218502 B2 JPH0218502 B2 JP H0218502B2
- Authority
- JP
- Japan
- Prior art keywords
- optimization
- user
- optimization information
- translation
- processing section
- 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.)
- Expired
Links
- 238000005457 optimization Methods 0.000 claims description 42
- 230000002452 interceptive effect Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、ユーザと対話することによつてソー
ス・プログラムからだけでは分らない最適化情報
を得ることにより、効果的なオブジエクト・プロ
グラムを作成できるようにした会話型コンパイ
ラ・システムに関するものである。
ス・プログラムからだけでは分らない最適化情報
を得ることにより、効果的なオブジエクト・プロ
グラムを作成できるようにした会話型コンパイ
ラ・システムに関するものである。
従来のコンパイラの最適化技法においては、あ
くまでもソース・プログラムから静的解析によつ
て得られる最適化情報をもとにして最適化を行い
効率的なオブジエクト・プログラムを作成した。
コンパイラにおける最適化処理を行う場合、ソー
ス・プログラムから得られる最適化情報以外の情
報が判ると、より効果的なオブジエクト・プログ
ラムを作成できる場合がある。ところで、ソー
ス・プログラムの作成者は、作成者であるので、
そのソース・プログラムに関して広い知識をもつ
ているものと考えられ、その知識をコンパイラに
反映させることが出来れば、より効果的なオブジ
エクト・プログラムを作成することが可能とな
る。
くまでもソース・プログラムから静的解析によつ
て得られる最適化情報をもとにして最適化を行い
効率的なオブジエクト・プログラムを作成した。
コンパイラにおける最適化処理を行う場合、ソー
ス・プログラムから得られる最適化情報以外の情
報が判ると、より効果的なオブジエクト・プログ
ラムを作成できる場合がある。ところで、ソー
ス・プログラムの作成者は、作成者であるので、
そのソース・プログラムに関して広い知識をもつ
ているものと考えられ、その知識をコンパイラに
反映させることが出来れば、より効果的なオブジ
エクト・プログラムを作成することが可能とな
る。
本発明は、上記の考察に基づくものであつて、
ソース・プログラムの知識をコンパイラに反映で
きるようにした会話型コンパイラ・システムを提
供することを目的としている。
ソース・プログラムの知識をコンパイラに反映で
きるようにした会話型コンパイラ・システムを提
供することを目的としている。
そしてそのため本発明の会話型コンパイラ・シ
ステムは、 ソース・プログラムをオブブジエクト・プログ
ラムに翻訳する翻訳処理部と、 ユーザと会話するユーザ会話処理部と、 上記翻訳処理部および上記ユーザ会話処理部に
よつてアクセスされる記憶手段と、 ユーザ端末と を具備する会話型コンパイラ・システムであつ
て、 上記翻訳処理部は、最適化を行う手段を有する
と共に、最適化処理を行うための最適化情報が得
られなかつたとき、最適化情報種別を持つ最適化
情報要求を記憶手段に書込むように構成され、 上記ユーザ会話処理部は、上記記憶手段を検索
して最適化情報要求を取込み、当該最適化情報要
求の最適化情報種別および最適化情報値の入力を
促すメツセージを上記ユーザ端末に送り、ユーザ
端末から送られてきた最適化情報値を上記記憶手
段に書き込むように構成されている ことを特徴とするものである。
ステムは、 ソース・プログラムをオブブジエクト・プログ
ラムに翻訳する翻訳処理部と、 ユーザと会話するユーザ会話処理部と、 上記翻訳処理部および上記ユーザ会話処理部に
よつてアクセスされる記憶手段と、 ユーザ端末と を具備する会話型コンパイラ・システムであつ
て、 上記翻訳処理部は、最適化を行う手段を有する
と共に、最適化処理を行うための最適化情報が得
られなかつたとき、最適化情報種別を持つ最適化
情報要求を記憶手段に書込むように構成され、 上記ユーザ会話処理部は、上記記憶手段を検索
して最適化情報要求を取込み、当該最適化情報要
求の最適化情報種別および最適化情報値の入力を
促すメツセージを上記ユーザ端末に送り、ユーザ
端末から送られてきた最適化情報値を上記記憶手
段に書き込むように構成されている ことを特徴とするものである。
以下、本発明を図面を参照しつつ説明する。
第1図は本発明の会話型コンパイラ・システム
の1実施例の概要を示す図、第2図は本発明の処
理の概要を示す図、第3図は本発明の翻訳処理部
の処理概要を示すフローチヤート・第4図は本発
明のユーザ会話処理部の処理の概要を示すフロー
チヤートである。
の1実施例の概要を示す図、第2図は本発明の処
理の概要を示す図、第3図は本発明の翻訳処理部
の処理概要を示すフローチヤート・第4図は本発
明のユーザ会話処理部の処理の概要を示すフロー
チヤートである。
第1図において、1は処理装置、2は会話型コ
ンパイラ、3−1はユーザ会話処理部、3−2は
翻訳処理部、4はユーザ端末、4−1はキー・ボ
ード、4−2はデイスプレイ、5はインタラクテ
イブ用データをそれぞれ示している。
ンパイラ、3−1はユーザ会話処理部、3−2は
翻訳処理部、4はユーザ端末、4−1はキー・ボ
ード、4−2はデイスプレイ、5はインタラクテ
イブ用データをそれぞれ示している。
処理装置1は会話型コンパイラ2を有しており
会話型コンパイラ2はユーザ会話処理部3−1お
よび翻訳処理部3−2を有している。ユーザ会話
処理部3−1は、インタラクテイブ用データ5の
翻訳制御情報を読取り、この翻訳制御情報に従つ
てユーザに対して最適化情報値の入力を促し、ユ
ーザの入力した最適化情報値を翻訳制御情報に埋
込み、この翻訳制御情報をインタラクテイブ用デ
ータ5に格納する。最適化情報とは、最適化のた
めの情報を意味している。翻訳処理部3−2は、
ソース・プログラムをオブジエクト・プログラム
に変換するものであり、並列実行認識(ベクトラ
イズ)および最適化(オブブテイマイズ)の機能
を有している。本明細書における最適化という語
は、ベクトライズおよびオブテイマイズを含む概
念である。翻訳処理部3−2は、インタラクテイ
ブ用データ5の中のソース・プログラム又は翻訳
制御情報付きソース・プログラムを読出して、こ
れをコンパイルしている。そして最適化情報が必
要となると、この旨を示す翻訳制御情報をインタ
ラクテイブ用データ5の中の対応する位置に書込
む。図示しないが、実際にはソース・プログラム
を格納するソース・データ・セツトが存在してお
り、ユーザによつてコンパイルすべきソース・プ
ログラムが指定されると、そのソース・プログラ
ムがインタラクテイブ用データ5に移される。キ
ー・ボード4−1およびデイスプレイ4−2はユ
ーザ端末を構成しており、キー・ボード4−1か
らデータが入力され、デイスプレイ4−2にはデ
ータが表示される。
会話型コンパイラ2はユーザ会話処理部3−1お
よび翻訳処理部3−2を有している。ユーザ会話
処理部3−1は、インタラクテイブ用データ5の
翻訳制御情報を読取り、この翻訳制御情報に従つ
てユーザに対して最適化情報値の入力を促し、ユ
ーザの入力した最適化情報値を翻訳制御情報に埋
込み、この翻訳制御情報をインタラクテイブ用デ
ータ5に格納する。最適化情報とは、最適化のた
めの情報を意味している。翻訳処理部3−2は、
ソース・プログラムをオブジエクト・プログラム
に変換するものであり、並列実行認識(ベクトラ
イズ)および最適化(オブブテイマイズ)の機能
を有している。本明細書における最適化という語
は、ベクトライズおよびオブテイマイズを含む概
念である。翻訳処理部3−2は、インタラクテイ
ブ用データ5の中のソース・プログラム又は翻訳
制御情報付きソース・プログラムを読出して、こ
れをコンパイルしている。そして最適化情報が必
要となると、この旨を示す翻訳制御情報をインタ
ラクテイブ用データ5の中の対応する位置に書込
む。図示しないが、実際にはソース・プログラム
を格納するソース・データ・セツトが存在してお
り、ユーザによつてコンパイルすべきソース・プ
ログラムが指定されると、そのソース・プログラ
ムがインタラクテイブ用データ5に移される。キ
ー・ボード4−1およびデイスプレイ4−2はユ
ーザ端末を構成しており、キー・ボード4−1か
らデータが入力され、デイスプレイ4−2にはデ
ータが表示される。
第2図は本発明の処理の概要を示すものであ
る。
る。
ユーザが会話型コンパイラ2を起動するとソ
ース・データ・セツト内のソース・プログラム
がメニユー形式で表示される。ユーザはコンパ
イルすばきソース・プログラムを指定する。
ース・データ・セツト内のソース・プログラム
がメニユー形式で表示される。ユーザはコンパ
イルすばきソース・プログラムを指定する。
の処理が終了すると、デイスプレイ画面は
ソース画面とメツセージ画面に分割される。こ
のとき、ソース画面はEDITモードであり、ま
たメツセージ画面には何も表示されない。ユー
ザがFORTVEコマンドを入力すると、翻訳
(コンパイル)が開始される。FORTVEコマ
ンドとはコンパイラ開始コマンドと考えて良
い。
ソース画面とメツセージ画面に分割される。こ
のとき、ソース画面はEDITモードであり、ま
たメツセージ画面には何も表示されない。ユー
ザがFORTVEコマンドを入力すると、翻訳
(コンパイル)が開始される。FORTVEコマ
ンドとはコンパイラ開始コマンドと考えて良
い。
コンパイルが終了すると、ソース画面には翻
訳制御情報付きソース・リストが表示され、メ
ツセージ画面にはエラー・メツセージや会話型
コンパイラ2からのメツセージが表示される。
訳制御情報付きソース・リストが表示され、メ
ツセージ画面にはエラー・メツセージや会話型
コンパイラ2からのメツセージが表示される。
翻訳制御情報の項目の追加や修正、メツセー
ジに基づくソース修正などを行い、終了したら
の操作を行い、再びコンパイルを行う。
ジに基づくソース修正などを行い、終了したら
の操作を行い、再びコンパイルを行う。
エラー修正又はチエーン・アツプ作業の終了
後、ENDキーを押下すると、コンパイル処理
は終了する。このとき、指定があれば、修正さ
れたソース・プログラムのソース・データ・セ
ツトへのセーブも行う。また、翻訳および実行
のジヨブをサブミツトすることも出来る。
後、ENDキーを押下すると、コンパイル処理
は終了する。このとき、指定があれば、修正さ
れたソース・プログラムのソース・データ・セ
ツトへのセーブも行う。また、翻訳および実行
のジヨブをサブミツトすることも出来る。
第3図は翻訳処理部3−2の処理の概要を示す
ものである。第3図を説明する前に、翻訳制御情
報について更に詳細に説明する。翻訳制御情報と
は、翻訳処理部3−2における最適化処理の助け
となる最適化情報を記載した行である。最適化情
報は情報種別と情報値との対であり、翻訳制御情
報は次のように形式化することが出来る。
ものである。第3図を説明する前に、翻訳制御情
報について更に詳細に説明する。翻訳制御情報と
は、翻訳処理部3−2における最適化処理の助け
となる最適化情報を記載した行である。最適化情
報は情報種別と情報値との対であり、翻訳制御情
報は次のように形式化することが出来る。
KEY parm1(inf1),parm2(inf2),……ここで
「KEY」とは翻訳制御情報であることを識別する
ためのキー・ワードであり、parm1,parm2など
は最適化情報種別であり、inf1,inf2などは種別
に対応する最適化情報値である。この翻訳制御情
報は、注釈行あるいは特殊な文と考えて良い。
「KEY」とは翻訳制御情報であることを識別する
ためのキー・ワードであり、parm1,parm2など
は最適化情報種別であり、inf1,inf2などは種別
に対応する最適化情報値である。この翻訳制御情
報は、注釈行あるいは特殊な文と考えて良い。
翻訳処理部3−2は第3図に示すような処理を
も行う。
も行う。
必要な最適化情報をソース・プログラムから
得られない場合には、最適化情報の必要性を認
識する。
得られない場合には、最適化情報の必要性を認
識する。
インタラクテイブ用データ5を検索し、
parm(inf)を入力する。
parm(inf)を入力する。
parm(inf)があるか否かを調べる。
ありの場合にはの処理を行い、なしの場合
にはの処を行う。
にはの処を行う。
pmrm(φ)をインタラクテイブ用データ5
に出力する。なおφは空集合を表わしている。
に出力する。なおφは空集合を表わしている。
parm(inf)を仮定する。infとして仮定値が
与えられる場合にはの処理を行い、infとし
て仮定値が与えられない場合にはユーザからの
次のコマンドを待つ。
与えられる場合にはの処理を行い、infとし
て仮定値が与えられない場合にはユーザからの
次のコマンドを待つ。
最適化処理を行う。
第4図はユーザ会話処理部の動作概要を示すも
のである。ユーザ会話処理部3−1では下記のよ
うな処理が行われる。
のである。ユーザ会話処理部3−1では下記のよ
うな処理が行われる。
インタラクテイブ用データ5を検索し、
parm(φ)を入力する。
parm(φ)を入力する。
ユーザに対して促進メツセージを出力する。
ユーザからの最適化情報値infを入力する。
インタラクテイブ用データ5に対してparm
(inf)を出力する。
(inf)を出力する。
最適化情報の取得を具体例で以て説明する。い
ま、下記のようなソース・プログラムをオブジエ
クト・プログラムに変換する場合を考える。
ま、下記のようなソース・プログラムをオブジエ
クト・プログラムに変換する場合を考える。
DO 10 I=1,N
A(I)=A(I+K)−D(I)*S
E(I)=C(I)−X
10 Y=Y+E(I)*F(I)
このような場合、会話型コンパイラ2は、定数
Kが正であるが、或は負であるかをユーザに尋ね
る。K≧0である場合には上記のDOループはベ
クトル命令で実行可能であり、K<0の場合には
ベクトル命令で実行不可である。
Kが正であるが、或は負であるかをユーザに尋ね
る。K≧0である場合には上記のDOループはベ
クトル命令で実行可能であり、K<0の場合には
ベクトル命令で実行不可である。
次に下記のようなソース・プログラムをオブジ
エクト・プログラムに変換する場合を考える。
エクト・プログラムに変換する場合を考える。
DO 20 I=1,N
IF (A(I).GF.0.0)
GO TO 20
T=B(I) **2+A(I)**2
A(I)=SQRT (T)
20 CONTINUE
このような場合には、A(I)が0.0以上である
確率をユーザに尋ねる。この確率が70%以上の場
合には、オブテイマイズすることが可能である。
確率をユーザに尋ねる。この確率が70%以上の場
合には、オブテイマイズすることが可能である。
会話型コンパイラ2は、その外にユーザにソー
ス・プログラムの修正を指示することや強制ベク
トル化の可否を尋ねること、ベクトル長を尋ねる
ことが出来る。
ス・プログラムの修正を指示することや強制ベク
トル化の可否を尋ねること、ベクトル長を尋ねる
ことが出来る。
以上の説明から明らかなように、本発明は、ソ
ース・プログラム作成者の知識をコンパイラに反
映することが出来るので、効果的なオブジエク
ト・プログラムを作成することが出来る。
ース・プログラム作成者の知識をコンパイラに反
映することが出来るので、効果的なオブジエク
ト・プログラムを作成することが出来る。
第1図は本発明の会話型コンパイラ・システム
の1実施例の概要を示す図、第2図は本発明の処
理の概要を示す図、第3図は本発明の翻訳処理部
の処理概要を示すフローチヤート、第4図は本発
明のユーザ会話処理部の処理の概要を示すフロー
チヤートである。 1……処理装置、2……会話型コンパイラ、3
−1……ユーザ会話処理部、3−2……翻訳処理
部、4……ユーザ端末、4−1……キー・ボー
ド、4−2……デイスプレイ、5……インタラク
テイブ用データ。
の1実施例の概要を示す図、第2図は本発明の処
理の概要を示す図、第3図は本発明の翻訳処理部
の処理概要を示すフローチヤート、第4図は本発
明のユーザ会話処理部の処理の概要を示すフロー
チヤートである。 1……処理装置、2……会話型コンパイラ、3
−1……ユーザ会話処理部、3−2……翻訳処理
部、4……ユーザ端末、4−1……キー・ボー
ド、4−2……デイスプレイ、5……インタラク
テイブ用データ。
Claims (1)
- 【特許請求の範囲】 1 ソース・プログラムをオブジエクト・プログ
ラムに翻訳する翻訳処理部と、 ユーザと会話するユーザ会話処理部と、 上記翻訳処理部および上記ユーザ会話処理部に
よつてアクセスされる記憶手段と、 ユーザ端末と を具備する会話型コンパイラ・システムであつ
て、 上記翻訳処理部は、最適化を行う手段を有する
と共に、最適化処理を行うための最適化情報が得
られなかつたとき、最適化情報種別を持つ最適化
情報要求を記憶手段に書込むように構成され、 上記ユーザ会話処理部は、上記記憶手段を検索
して最適化情報要求を取込み、当該最適化情報要
求の最適化情報種別および最適化情報値の入力を
促すメツセージを上記ユーザ端末に送り、ユーザ
端末から送られてきた最適化情報値を上記記憶手
段に書き込むように構成されている ことを特徴とする会話型コンパイラ・システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3132582A JPS58149545A (ja) | 1982-02-27 | 1982-02-27 | 会話型コンパイラ・システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3132582A JPS58149545A (ja) | 1982-02-27 | 1982-02-27 | 会話型コンパイラ・システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58149545A JPS58149545A (ja) | 1983-09-05 |
JPH0218502B2 true JPH0218502B2 (ja) | 1990-04-25 |
Family
ID=12328107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3132582A Granted JPS58149545A (ja) | 1982-02-27 | 1982-02-27 | 会話型コンパイラ・システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58149545A (ja) |
-
1982
- 1982-02-27 JP JP3132582A patent/JPS58149545A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS58149545A (ja) | 1983-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0769832B2 (ja) | プログラミング演算の効果と従属性とを表現する方法及び装置 | |
JPH0916382A (ja) | プログラム開発支援システム | |
JPH0218502B2 (ja) | ||
US5724559A (en) | Method for displaying ISPF panels in a VM non-ISPF environment | |
CA2281396A1 (en) | Method and apparatus for storing data as liquid information | |
JPS59183441A (ja) | 拡張言語のデバツグ処理方式 | |
JP2977642B2 (ja) | Fortranコンパイル処理装置 | |
JPH04113452A (ja) | フレーム編集方式 | |
JP3279706B2 (ja) | オンライン・コンパイル方式 | |
CN115421702A (zh) | 一种动态表单实现代码开发的方法 | |
CN112579088A (zh) | 面向异构混合编程的一站式程序编译方法 | |
JPS63188242A (ja) | プログラムエラ−情報の生成、管理方式 | |
JPS6339037A (ja) | プログラム呼出し処理方式 | |
JPS63228341A (ja) | プログラム構文チエツク方式 | |
JPH05108321A (ja) | フアイル定義情報コーデイングの自動表示生成方法 | |
JPH02100732A (ja) | プログラム文法チェック方式 | |
JPH05143354A (ja) | テキストフアイル変換方式 | |
JPH03122721A (ja) | 未定義シンボル実行方式 | |
JPS60120437A (ja) | ロボット言語実行方法 | |
JPH08263272A (ja) | 共通ルーチンのライブラリ登録方法およびそのための装置 | |
JPH09305411A (ja) | コンパイル型プログラムのプログラム実行装置 | |
JPH02253336A (ja) | プログラム起動方式 | |
Hari et al. | CHILL toolset for C-DOT DSS | |
JPH05324290A (ja) | グラフィカルユーザインタフェース作成システム | |
Pollicini | The Fortran 77 Source Polisher |