JPH04181432A - 最適化テキスト編集方式 - Google Patents

最適化テキスト編集方式

Info

Publication number
JPH04181432A
JPH04181432A JP30860090A JP30860090A JPH04181432A JP H04181432 A JPH04181432 A JP H04181432A JP 30860090 A JP30860090 A JP 30860090A JP 30860090 A JP30860090 A JP 30860090A JP H04181432 A JPH04181432 A JP H04181432A
Authority
JP
Japan
Prior art keywords
source program
program
text
constant
optimization
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
JP30860090A
Other languages
English (en)
Inventor
Kazuyo Masuda
増田 和代
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP30860090A priority Critical patent/JPH04181432A/ja
Publication of JPH04181432A publication Critical patent/JPH04181432A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は電子計算機システムのエディタにおける最適化
テキスト編集方式に関する。
[従来の技術] 従来、定数伝播の最適化は最適化機能を搭載したコンパ
イラによってプログラムをコンパイルするときに行われ
ていたが、最適化機能を搭載していないコンパイラによ
ってプログラムをコンパイルした場合は最適化されなか
った。
[発明が解決しようとする課題1 上述した従来のシステムは、コンパイラによって最適化
機能を搭載しているものと搭載していないものとがあり
、最適化機能を搭載いていないコンパイラによってコン
パイルしたプログラムは最適化されないという欠点があ
る。
[課題を解決するための手段] 本発明の最適化テキスト編集方式は、ソースプログラム
の作成と編集を行うテキストエディタにおいて、ソース
プログラムを保持するテキストバッファを持ち、入出力
インタフェースを通してプログラミング言語で記述され
たソースプログラムを入力して編集を行った後テキスト
バッファに出力して定数伝播最適化手段を起動するテキ
スト編集手段と、 テキストバッファからソースプログラムを入力し分岐文
およびラベルの出現ごとにソースプログラムを区切って
基本ブロックに分割して基本ブロック間の制御移行を解
析する制御フロー解析とソースプログラム中の変数の値
の設定と参照の関係を解析するデータフロー解析とを行
った後右辺の定数を左辺の変数に代入する代入文を検出
し制御フロー上でその代入文より後にその代入文の左辺
と同し変数の参照が出現した場合でその代入文と変数の
参照の出現との間でデータフロー解析の結果よりその変
数が設定されないと判定されたときにその変数の参照を
代入文の右辺の定数の参照に置き換える最適化を行い最
適化したソースプログラムをテキストバッファに出力す
る定数伝播最適化手段とを有している。
[実施例] 次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例を構成するブロック図である
本実施例の最適化テキス)W集方式は、入出力インター
フェース1と、 テキスト編集手段2と、 テキストバッファ3と、 定数伝播最適化手段5と、 から構成される。
テキストバッファ3は、 ソースプログラム4 を含む。
第2図は定数伝播最適化手段5の処理を示すフローチャ
ート図である。
第3図は定数伝播の最適化を行う前のソースプログラム
と最適化を行った後のソースプログラムを示す図である
次に、本実施例の全体的な動作を具体的に説明する。
テキストエディタにおいてテキスト編集手段2を起動す
る。
テキスト編集手段2は、入出力インタフェースlを通し
てプログラミング言語のソースプログラムを入力し、編
集を行うと共に利用者の指示によりソースプログラム4
をテキストバッファ3に出力して定数伝播最適化手段5
を起動する。
定数伝播最適化手段5は、テキストバッファ3からソー
スプログラム4を入力する。
基本ブロック分割処理2−1は、入力したソースプログ
ラム4を分岐文およびラベルで区切り基本ブロックに分
割する。
次にフロー解析処理2−2は、基本ブロック間の制御移
行を解析する制御フロー解析とソースプログラム4内の
変数に対して値の設定と参照の関係の解析を行う。
定数伝播条件判定処理2−3は、制御フローの先頭から
ソースプログラムを調べ左辺が変数、右辺が定数で右辺
を左辺に代入する代入文3−1を検出し、次いで制御フ
ロー上で代入文3−1より後の文でVaを参照している
文3−2を検出し、フロー解析処理2−2の結果から代
入文3−1と文3−2との間でVaO値が設定されない
かを調べて、設定されないときVaに対して定数伝播が
可能であると判定する。
最適化プログラム生成処理2−4は、定数伝播条件判定
処理2−3でVaに対して伝播可能と判定された場合、
文3−2のVaを代入文3−1のCで置き換えた文3−
3を性成する。
文3−2を文3−3に置き換えたソースプログラム4を
テキストバッファ3に出力する。
L発明の効果] 以上説明したように本発明は、最適化機能を持たない二
1ニバイラによって二1ンバイルしても、予めソースプ
ロゲラ1.を修正して最適化を行っておくので、変数の
参照をその変数に代入された定数の参照に置き換える定
数伝播の最適化を行ったプログラムを得ることができ、
プログラムの実行速度が速くなるという効果がある。
【図面の簡単な説明】
第1図は本発明の最適化テキスト編集方式の一実施例を
示す構成図である。 第2図は定数伝播最適化手段で行われる処理のフローチ
ャート図である。 第3図は定数伝播の最適化を行う前のソースプログラム
と最適化を行った後のソースプログラムを示す図である
。 第1図に於いて、 1・・・入出力インターフェース 2・・・テキスト編集手段 3・・・テキスト編集手段 4・・・ソースプログラム 、5・・・定数伝播B適化手段 第1 図 第2図

Claims (1)

  1. 【特許請求の範囲】 ソースプログラムの作成と編集を行うテキストエディタ
    において、ソースプログラムを保持するテキストバッフ
    ァを持ち、入出力インタフェースを通してプログラミン
    グ言語で記述されたソースプログラムを入力して編集を
    行った後テキストバッファに出力して定数伝播最適化手
    段を起動するテキスト編集手段と、 テキストバッファからソースプログラムを入力し分岐文
    およびラベルの出現ごとにソースプログラムを区切って
    基本ブロックに分割して基本ブロック間の制御移行を解
    析する制御フロー解析とソースプログラム中の変数の値
    の設定と参照の関係を解析するデータフロー解析とを行
    った後右辺の定数を左辺の変数に代入する代入文を検出
    し制御フロー上でその代入文より後にその代入文の左辺
    と同じ変数の参照が出現した場合でその代入文と変数の
    参照の出現との間でデータフロー解析の結果よりその変
    数が設定されないと判定されたときにその変数の参照を
    代入文の右辺の定数の参照に置き換える最適化を行い最
    適化したソースプログラムをテキストバッファに出力す
    る定数伝播最適化手段とを含むことを特徴とする最適化
    テキスト編集方式。
JP30860090A 1990-11-16 1990-11-16 最適化テキスト編集方式 Pending JPH04181432A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30860090A JPH04181432A (ja) 1990-11-16 1990-11-16 最適化テキスト編集方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30860090A JPH04181432A (ja) 1990-11-16 1990-11-16 最適化テキスト編集方式

Publications (1)

Publication Number Publication Date
JPH04181432A true JPH04181432A (ja) 1992-06-29

Family

ID=17982992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30860090A Pending JPH04181432A (ja) 1990-11-16 1990-11-16 最適化テキスト編集方式

Country Status (1)

Country Link
JP (1) JPH04181432A (ja)

Similar Documents

Publication Publication Date Title
JPH06314203A (ja) コンパイラの最適化方法および装置
US5522074A (en) Vectorization system for vectorizing loop containing condition induction variables
JPH04181432A (ja) 最適化テキスト編集方式
JP2636665B2 (ja) 実行情報採取装置
JPH04278635A (ja) テキストエディタ
JPH04323731A (ja) 最適化テキスト編集方式
JPH0683597A (ja) オブジェクト指向プログラム開発装置およびオブジェクト指向プログラム開発方法
Otto et al. A language-based tuning mechanism for task and pipeline parallelism
JP2585793B2 (ja) コンパイラシステム
JPS6115236A (ja) オブジエクトリストの部分作成方法
JPH04274519A (ja) プログラム高速化自動実行方式
JPS63276127A (ja) ダイナミック命令生成方式
JPH03144830A (ja) 並列処理方式
JP2682206B2 (ja) 目的プログラムの最適化方式
JPS6297031A (ja) 仮数部のビツト数整合方式
JPH03233725A (ja) 自動コメント生成方式
JPH09319591A (ja) ループ外への条件付き飛び出しがあるループの並列化方式
JP3922699B2 (ja) ループ内不変な式の移動に関する最適化方式およびプログラム
KR950015127A (ko) 칠(chill) 분리 컴파일 방법
JPH0695887A (ja) コンパイラ装置
JPS62169238A (ja) プログラム実行解析ツ−ル
JPH05250149A (ja) プログラム解析方式
JPH0553823A (ja) コンパイラの最適化方式
JPH04352036A (ja) コンパイラにおける並列化処理装置
Brown Feedback-Directed Specialization of C (M. Eng. Thesis Abstract)