JPH04278635A - テキストエディタ - Google Patents

テキストエディタ

Info

Publication number
JPH04278635A
JPH04278635A JP6372791A JP6372791A JPH04278635A JP H04278635 A JPH04278635 A JP H04278635A JP 6372791 A JP6372791 A JP 6372791A JP 6372791 A JP6372791 A JP 6372791A JP H04278635 A JPH04278635 A JP H04278635A
Authority
JP
Japan
Prior art keywords
statement
source program
assignment statement
assignment
variable
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
JP6372791A
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 JP6372791A priority Critical patent/JPH04278635A/ja
Publication of JPH04278635A publication Critical patent/JPH04278635A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はテキストエディタに関し
、特にソースプログラムを最適化する機能を持たせるよ
うに改良したテキストエディタに関する。
【0002】
【従来の技術】一般に、ソースプログラムにおける不要
代入文を削除するための最適化は、ソースプログラムを
コンパイルするときに、最適化機能を搭載したコンパイ
ラによって行なわれている。したがって、従来この種の
最適化機能を有するテキストエディタは存在しなかった
【0003】
【発明が解決しようとする課題】上述したように、従来
のテキストエディタには不要代入文を削除するための最
適化機能が無いので、ソースプログラムをコンパイルす
るときに最適化する必要があるにもかかわらず、コンパ
イラによってはこの種の最適化機能を搭載していないも
のがあるため、使用するコンパイラによって最適化され
る場合と、最適化されない場合とを生じるという欠点が
あった。
【0004】本発明は、使用するコンパイラのいかんに
かかわらず、ソースプログラムから不要代入文削除の最
適化をすることができるテキストエディタを提供するこ
とを目的とする。
【0005】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明においては、ソースプログラムファイルの
作成および編集を行なうテキストエディタにおいて、右
辺の式を左辺の変数に代入する代入文を検出し、制御フ
ロー上で、前記代入文より後方でこの代入文の左辺の変
数を参照する文が無い場合、および前記代入文より後方
でこの代入文の左辺の変数に値を再設定する文が出現し
、かつ前記代入文と前記再設定する文との間にこの代入
文の左辺の変数を参照する文が無い場合に、前記代入文
をソースプログラムから削除する不要代入文削除最適化
手段をとを有している。
【0006】
【作用】本発明はこのように構成されているので、アル
ゴリズム上無意味な代入文をソースプログラムから削除
することができる。
【0007】
【実施例】以下本発明の実施例を図面によって説明する
。図1は本発明の一実施例の構成を示すブロック図であ
る。同図において、1はソースプログラム、2はソース
プログラム1を保持するテキストバッファ、3はソース
プログラム1に含まれる不要代入文を削除する不要代入
文削除最適化手段、4は従来のテキストエディタのテキ
スト編集手段の機能に加えて、入出力インタフェース5
から入力された利用者からの指示によってソースプログ
ラム1に関する最適化を実行するために不要代入文削除
最適化手段3を起動するテキスト編集手段、5は入出力
インタフェースである。
【0008】次に、上記実施例の動作について説明する
。入出力インタフェース5から不要代入文削除の指示が
入力されると、テキスト編集手段4はソースプログラム
1をテキストバッファ2に出力して不要代入文削除最適
化手段3を起動する。不要代入文削除最適化手段3はテ
キストバッファ2からソースプログラム1を入力し、図
2のフローチャートに示す手順に従って最適化処理を実
行する。以下、図2のフローチャートを参照して不要代
入文削除最適化手段3の動作を説明する。不要代入文削
除最適化手段3は、先ず、ソースプログラム1中に分岐
文およびラベルが現われる度にソースプログラム1を区
切って基本ブロックに分割する基本ブロック分割処理を
行ない(ステップ2−1)、分割した基本ブロック相互
間の制御移行を解析する制御フロー解析と、ソースプロ
グラム1中の変数への値の設定と変数の参照関係を解析
する制御フロー解析を行なう(ステップ2−2)。
【0009】次に、ステップ2−3における不要代入文
条件判定処理について、図3および図4に示す具体例を
参照して説明する。図3(a)は最適化をする前のソー
スプログラム1−1を、同図(b)このソースプログラ
ム1−1を最適化した結果を示す。不要代入文削除最適
化手段3は制御フローの先頭からソースプログラム1を
調べ、左辺の変数Vaに右辺の式C+Vbを代入する代
入文3−1を検出し、次いで、制御フロー上で代入文3
−1より後方にあって変数Vaに値を再設定する文3−
2を検出する。ステップ2−2のフロー解析処理の結果
、図3(a)の例では、代入文3−1と代入文3−2と
の間で変数Vaが一度も参照されていないことが分かっ
ているので、代入文3−1を不要代入文と判定し、ステ
ップ2−4の最適化プログラム生成処理によって代入文
3−1が削除されて図3(b)に示す最適化後のソース
プログラム1−1が得られる。
【0010】次に、図4の例について説明する。同図(
a)は最適化をする前のソースプログラム1−2を、同
図(b)はこのソースプログラム1−2を最適化した結
果を示す。不要代入文削除最適化手段3は制御フローか
ら左辺の変数Vxに、右辺の式C1を代入する代入文3
−5を検出し、代入文3−5が属する基本ブロックの終
わりまでの間に変数Vxの値を参照する文が無いので、
制御フロー上で代入文3−5が属する基本ブロックより
後方の基本ブロックにも代入文3−5の値を参照する文
が無い場合(本例はこの条件に合致するものとする)は
、代入文3−5を不要代入文として判定し、ステップ2
−4の最適化プログラム生成処理によって代入文3−5
が削除されて同図(b)に示す最適化後のソースプログ
ラム1−2が得られる。次にステップ2−4で不要代入
文を削除したソースプログラム1をテキストバッファ2
に出力して処理を終了する。したがって、以上のような
実施例の構成によれば、アルゴリズム上無意味な代入文
をソースプログラムから削除することができる。
【0011】
【発明の効果】以上説明したように、本発明によれば最
適化機能を持たないコンパイラによってコンパイルする
場合にも、あらかじめテキストエディタによって最適化
を行なってソースプログラムを修正しておくことにより
、最適化されたプログラムを得ることができるので、使
用するコンパイラに左右されることなく全てのプログラ
ムの実行速度を速めることができる。
【図面の簡単な説明】
【図1】本発明の一実施例における機能ブロック図、

図2】不要代入文削除最適化手段における処理手順を示
すフローチャート、
【図3】最適化前後のソースプログラムの例、
【図4】
最適化前後のソースプログラムの別の例である。
【符号の説明】
1    ソースプログラム、 2    テキストバッファ、 3    不要代入文削除最適化手段、4    テキ
スト編集手段、 5    入出力インタフェース。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  ソースプログラムファイルの作成およ
    び編集を行なうテキストエディタにおいて、右辺の式を
    左辺の変数に代入する代入文を検出し、制御フロー上で
    、前記代入文より後方でこの代入文の左辺の変数を参照
    する文が無い場合、および前記代入文より後方でこの代
    入文の左辺の変数に値を再設定する文が出現し、かつ前
    記代入文と前記再設定する文との間にこの代入文の左辺
    の変数を参照する文が無い場合に、前記代入文をソース
    プログラムから削除する不要代入文削除最適化手段を含
    むことを特徴とするテキストエディタ。
JP6372791A 1991-03-06 1991-03-06 テキストエディタ Pending JPH04278635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6372791A JPH04278635A (ja) 1991-03-06 1991-03-06 テキストエディタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6372791A JPH04278635A (ja) 1991-03-06 1991-03-06 テキストエディタ

Publications (1)

Publication Number Publication Date
JPH04278635A true JPH04278635A (ja) 1992-10-05

Family

ID=13237725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6372791A Pending JPH04278635A (ja) 1991-03-06 1991-03-06 テキストエディタ

Country Status (1)

Country Link
JP (1) JPH04278635A (ja)

Similar Documents

Publication Publication Date Title
US7784039B2 (en) Compiler, compilation method, and compilation program
JPH0721033A (ja) 言語処理装置及びその方法
US5522074A (en) Vectorization system for vectorizing loop containing condition induction variables
CN103838616A (zh) 基于树型程序分支的计算机程序即时编译方法
JPH04278635A (ja) テキストエディタ
JP3606654B2 (ja) コンパイラ装置
JP2636665B2 (ja) 実行情報採取装置
US6944852B2 (en) Compiler
JPH04181432A (ja) 最適化テキスト編集方式
JP2585793B2 (ja) コンパイラシステム
JPH04323731A (ja) 最適化テキスト編集方式
JPH04274519A (ja) プログラム高速化自動実行方式
JPH0744397A (ja) プログラム処理高速化方式
JPH0546404A (ja) 分岐命令削除最適化方式
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
JPH03233725A (ja) 自動コメント生成方式
JPH0644082A (ja) 最適化テキスト作成方式
JPS62203237A (ja) 式解析処理方式
JP6906155B2 (ja) リバースエンジニアリング可能なソフトウェア自動生成装置
JPH05100866A (ja) コンパイル・リンク方式
JPH05204699A (ja) デバッグ時識別子探索方式
JPH03144830A (ja) 並列処理方式
JPH0561687A (ja) コンパイラの処理方式
JPH05341973A (ja) プログラム解析装置
JPS6297031A (ja) 仮数部のビツト数整合方式