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
Application number
JP3132582A
Other languages
English (en)
Other versions
JPS58149545A (ja
Inventor
Yoshuki Tanakura
Fumio Isobe
Toshihiro Hirabayashi
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 JP3132582A priority Critical patent/JPS58149545A/ja
Publication of JPS58149545A publication Critical patent/JPS58149545A/ja
Publication of JPH0218502B2 publication Critical patent/JPH0218502B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

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図において、1は処理装置、2は会話型コ
ンパイラ、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図は本発明の処理の概要を示すものであ
る。
ユーザが会話型コンパイラ2を起動するとソ
ース・データ・セツト内のソース・プログラム
がメニユー形式で表示される。ユーザはコンパ
イルすばきソース・プログラムを指定する。
の処理が終了すると、デイスプレイ画面は
ソース画面とメツセージ画面に分割される。こ
のとき、ソース画面はEDITモードであり、ま
たメツセージ画面には何も表示されない。ユー
ザがFORTVEコマンドを入力すると、翻訳
(コンパイル)が開始される。FORTVEコマ
ンドとはコンパイラ開始コマンドと考えて良
い。
コンパイルが終了すると、ソース画面には翻
訳制御情報付きソース・リストが表示され、メ
ツセージ画面にはエラー・メツセージや会話型
コンパイラ2からのメツセージが表示される。
翻訳制御情報の項目の追加や修正、メツセー
ジに基づくソース修正などを行い、終了したら
の操作を行い、再びコンパイルを行う。
エラー修正又はチエーン・アツプ作業の終了
後、ENDキーを押下すると、コンパイル処理
は終了する。このとき、指定があれば、修正さ
れたソース・プログラムのソース・データ・セ
ツトへのセーブも行う。また、翻訳および実行
のジヨブをサブミツトすることも出来る。
第3図は翻訳処理部3−2の処理の概要を示す
ものである。第3図を説明する前に、翻訳制御情
報について更に詳細に説明する。翻訳制御情報と
は、翻訳処理部3−2における最適化処理の助け
となる最適化情報を記載した行である。最適化情
報は情報種別と情報値との対であり、翻訳制御情
報は次のように形式化することが出来る。
KEY parm1(inf1),parm2(inf2),……ここで
「KEY」とは翻訳制御情報であることを識別する
ためのキー・ワードであり、parm1,parm2など
は最適化情報種別であり、inf1,inf2などは種別
に対応する最適化情報値である。この翻訳制御情
報は、注釈行あるいは特殊な文と考えて良い。
翻訳処理部3−2は第3図に示すような処理を
も行う。
必要な最適化情報をソース・プログラムから
得られない場合には、最適化情報の必要性を認
識する。
インタラクテイブ用データ5を検索し、
parm(inf)を入力する。
parm(inf)があるか否かを調べる。
ありの場合にはの処理を行い、なしの場合
にはの処を行う。
pmrm(φ)をインタラクテイブ用データ5
に出力する。なおφは空集合を表わしている。
parm(inf)を仮定する。infとして仮定値が
与えられる場合にはの処理を行い、infとし
て仮定値が与えられない場合にはユーザからの
次のコマンドを待つ。
最適化処理を行う。
第4図はユーザ会話処理部の動作概要を示すも
のである。ユーザ会話処理部3−1では下記のよ
うな処理が行われる。
インタラクテイブ用データ5を検索し、
parm(φ)を入力する。
ユーザに対して促進メツセージを出力する。
ユーザからの最適化情報値infを入力する。
インタラクテイブ用データ5に対してparm
(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の場合には
ベクトル命令で実行不可である。
次に下記のようなソース・プログラムをオブジ
エクト・プログラムに変換する場合を考える。
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%以上の場
合には、オブテイマイズすることが可能である。
会話型コンパイラ2は、その外にユーザにソー
ス・プログラムの修正を指示することや強制ベク
トル化の可否を尋ねること、ベクトル長を尋ねる
ことが出来る。
〔発明の効果〕
以上の説明から明らかなように、本発明は、ソ
ース・プログラム作成者の知識をコンパイラに反
映することが出来るので、効果的なオブジエク
ト・プログラムを作成することが出来る。
【図面の簡単な説明】
第1図は本発明の会話型コンパイラ・システム
の1実施例の概要を示す図、第2図は本発明の処
理の概要を示す図、第3図は本発明の翻訳処理部
の処理概要を示すフローチヤート、第4図は本発
明のユーザ会話処理部の処理の概要を示すフロー
チヤートである。 1……処理装置、2……会話型コンパイラ、3
−1……ユーザ会話処理部、3−2……翻訳処理
部、4……ユーザ端末、4−1……キー・ボー
ド、4−2……デイスプレイ、5……インタラク
テイブ用データ。

Claims (1)

  1. 【特許請求の範囲】 1 ソース・プログラムをオブジエクト・プログ
    ラムに翻訳する翻訳処理部と、 ユーザと会話するユーザ会話処理部と、 上記翻訳処理部および上記ユーザ会話処理部に
    よつてアクセスされる記憶手段と、 ユーザ端末と を具備する会話型コンパイラ・システムであつ
    て、 上記翻訳処理部は、最適化を行う手段を有する
    と共に、最適化処理を行うための最適化情報が得
    られなかつたとき、最適化情報種別を持つ最適化
    情報要求を記憶手段に書込むように構成され、 上記ユーザ会話処理部は、上記記憶手段を検索
    して最適化情報要求を取込み、当該最適化情報要
    求の最適化情報種別および最適化情報値の入力を
    促すメツセージを上記ユーザ端末に送り、ユーザ
    端末から送られてきた最適化情報値を上記記憶手
    段に書き込むように構成されている ことを特徴とする会話型コンパイラ・システム。
JP3132582A 1982-02-27 1982-02-27 会話型コンパイラ・システム Granted JPS58149545A (ja)

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)

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