JP3190773B2 - 言語処理プログラムのコンパイル処理方法 - Google Patents

言語処理プログラムのコンパイル処理方法

Info

Publication number
JP3190773B2
JP3190773B2 JP24342893A JP24342893A JP3190773B2 JP 3190773 B2 JP3190773 B2 JP 3190773B2 JP 24342893 A JP24342893 A JP 24342893A JP 24342893 A JP24342893 A JP 24342893A JP 3190773 B2 JP3190773 B2 JP 3190773B2
Authority
JP
Japan
Prior art keywords
optimization
information
code
combination
intermediate code
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 - Fee Related
Application number
JP24342893A
Other languages
English (en)
Other versions
JPH07105012A (ja
Inventor
洋彦 小野
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 JP24342893A priority Critical patent/JP3190773B2/ja
Priority to US08/312,904 priority patent/US5606697A/en
Priority to DE69427564T priority patent/DE69427564T2/de
Priority to EP94115464A priority patent/EP0646864B1/en
Publication of JPH07105012A publication Critical patent/JPH07105012A/ja
Application granted granted Critical
Publication of JP3190773B2 publication Critical patent/JP3190773B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F8/44Encoding
    • G06F8/443Optimisation

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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、言語処理プログラムの
コンパイル処理方式に関する。
【0002】
【従来の技術】マイクロコンピュータ用のプログラムの
開発は、開発者がソースプログラムを作成し、言語処理
プログラム(コンパイラ等)にソースプログラムを入力
し、マイクロコンピュータ用の機械語命令列に翻訳し、
マイクロコンピュータ上のメモリに置き、実行させる。
高級言語で記述されたソースプログラムは、コンパイラ
により翻訳され、目的機械語列に変換される。
【0003】従来のコンパイル処理方式を図4のブロッ
ク図により説明する。コンパイラ102aは、ソースプ
ログラム101を構文解析部103で解析し、最適化前
の第1の中間コード情報104を作成する。最適化処理
部105aにより、中間コード情報を最適化のために最
適化の情報解析を行ない、最適化解析情報107を生成
し、それを参照して中間コード最適化し、最適化後の第
2の中間コード108を生成する。コード生成部109
aにおいて、最適化された中間コード情報108を機械
語命令列に変換して、出力ファイル111aを作成す
る。
【0004】最適化機能とは、コード生成部109aに
おいて出力する機械語命令を少なくまたは出力した命令
の実行する性能を向上させるために、中間コード情報を
修正、削除し改良する機能である。最適化機能部での修
正、削除では入力となる中間コード情報と改良後の中間
コード情報が同等の機能を有する必要がある。最適化機
能には、種々の最適化機能が存在するので詳細は、図書
「コンパイラ原理・技法・ツール」(サイエンス社A.
V.エイホ著原田賢一訳)の10章に記載されている。
【0005】例えば、共通部分式の最適化では、同等の
演算式の結果を保持し、再計算を行なわなくすることに
より、出力機械語命令列のサイズ、実行性能が向上す
る。これ以外は、ループの最適化、レジスタ割付け、分
岐最適化等、種々の最適化が存在する。この最適化機能
には、命令の短縮する最適化と実行性能の向上する最適
化が存在する。実行性能の向上する最適化には出力機械
語命令裂のサイズの増加をともなう最適化である。ま
た、最適化機能は、コンパイラの起動時のオプション指
定により、機能指定が可能である。例えば複数の最適化
機能のうち共通部分式の削除のみ起動することが可能で
ある。複数の最適化機能を組み合わせて、最適化を行う
場合、サイズの増加することがある。
【0006】コンパイラの最適化処理部105aは、は
じめに構文解析部103で変換された中間情報104か
ら最適化に必要な最適化を行なうための、中間情報を解
析した情報を作成する。その解析情報とは、レジスタ割
付けの最適化では、データフロー情報と呼ぶ変数が参
照、設定された範囲情報のことであり、分岐最適化で
は、中間情報中の分岐命令位置とラベル位置の情報であ
る。この情報解析には通常処理時間が長かかる。
【0007】ここで対象とするマイクロコンピュータ用
のコンパイラはマイクロコンピュータの有する制限され
たROM領域内に、ソースプログラムからコンパイルさ
れた出力機械語命令列を組み込む必要がある。また組み
込まれた出力機械語命令列の実行時には、十分な実行性
能を有する必要がある。コンパイラ使用者は、コンパイ
ラに各種の最適化機能を指定して、出力機械語命令列サ
イズと実行性能を調査しながら、コンパイルし、開発を
行なう必要がある。実行性能を向上させるループ最適化
や関数のインライン最適化はプログラムの出力サイズを
増加させる場合がある。
【0008】コンパイラは、マイクロコンピュータが持
たない演算命令や、データ長の演算を既存の命令で代用
する機械語命令をその場に出力する場合と前述のランタ
イムライブラリをライブラリ呼びだしを行なう場合があ
る。
【0009】コンパイラの最適化の一種類でランタイム
ライブラリを呼ぶことにより、プログラムの出力サイズ
を小さくする最適化がある。ランタイムライブラリを使
用してのコード出力最適化は、出力サイズは小さくなる
が、ライブラリの呼び出しが起こるため、実行性能が低
下する。プログラム開発者は、プログラムを配置するR
OM領域のサイズ内でプログラムの実行性能が開発者の
要求以上のものを何回もコンパイルして開発する必要が
あるり、非常に多くの時間を必要とする。また、最適化
を伴うコンパイラの処理時間は、入力ファイルが大きく
なればなるほど、長くなる。
【0010】特開昭59−20051号公報に示される
プログラム実行方式は、構文解析後の中間コード最適化
するための情報を保持し、プログラム実行時にその中間
コードと最適化情報から最適な実行コードを生成するこ
とが目的である。
【0011】
【発明が解決しようとする課題】上述したようにプログ
ラム開発者は、ROMのサイズ以内で、プログラムの実
行性能が開発者の要求以上になるコンパイラへの最適化
の指定を、何回もコンパイルして、確認する必要があ
り、開発時間が長くなる欠点が存在した。また対象とす
るソースファイルが大きい場合、最適化を伴うコンパイ
ル時間がとても長くなり、何回も確認するにはさらに開
発時間が長くなり欠点が存在した。
【0012】本発明の目的は、これらの欠点を除き、最
適化処理時間を大幅に短縮した言語処理プログラム,コ
ンパイル処理方式を提供することにある。
【0013】
【課題を解決するための手段】本発明の構成は、入力し
たソースプログラムを解析し最適化前中間コードを生成
する第1のステップと、前記最適化前中間コードの最適
化情報を解析し最適化解析情報を生成する第2のステッ
プと、前記最適化解析情報を参照し1つの前記最適化前
中間コードから最適化の組み合わせの異なる複数の最適
化中間コードを生成し、前記最適化中間コードをそれぞ
れ機械語命令列の出力ファイルに変換する第3のステッ
プとを有し、1回のコンパイルで同等の機能を有し最適
化の組み合わせの異なる複数の機械語命令列出力ファイ
ルを得るようにしたことを特徴とする。
【0014】
【実施例】図1は本発明の一実施例を説明するブロック
図である。コンパイラ102は入力ソースファイル10
1を入力し、構文解析部103で最適化前の中間コード
104を生成する。最適化部105は、中間コード10
4を解析し、最適化解析情報107を生成し、最適化組
合せテーブル106に従い最適化した中間コード108
を生成する。最適化された中間コードは複数存在する場
合がある。コード生成部109は、最適化された中間コ
ードを機械語命令列の出力ファイル111に出力する。
さらに出力ファイルのコードサイズ情報とその場合の最
適化の組合せ情報110を出力する。
【0015】最適化組合せテーブル106にはコンパイ
ラの最適化の個々の最適化の指定の組合せが設定されて
いる。最適化テーブルには、サイズを小さくする最適化
群(共通部分式の削除、分岐最適化、レンジ割付けな
ど)と実行性能を向上させる最適化群(ループの最適
化、関数のインライン化など)との組合せが入ってい
る。例えば、サイズを小さくする最適化の指定、実行性
能を向上させる最適化を指定、サイズを小さくする最適
化と実行性能を向上させる最適化のすべての指定の3種
類が設定された場合で説明する。
【0016】図2(a)は図1の動作の処理フローチャ
ートにより、本方式のコンパイル処理の説明を行なう。
まず、ステップ301で入力ファイルを読込み構文解析
を行ない中間コード104を作成する。次に最適化部1
05では、ステップ302で最適化される前の中間コー
ド104を入力し、最適化のための解析情報107を生
成する。最適化解析情報は、最適化を行なうための解析
情報であり、この情報を参照して個々の最適化を行な
う。
【0017】次に、ステップ303で最適化の組合せテ
ーブルに最適化の組合せがあるかを判断する。その組合
せがあれば以下の組合せ指定の最適化を行なう。組合せ
がなければ、コード生成を行なう。次にステップ304
で前述の最適化テーブルの指定により、特定の最適化を
起動し、最適化された第2の中間コード108を生成す
る。
【0018】最適化の組合せにより複数の中間コードが
存在する。一般に最適化は、処理時間がかかる。この要
因は、最適化のための中間コード情報解析が主たる処理
時間である。本実施例では、複数の最適化を行なうが、
一度解析された最適化情報を再度利用して最適化を行な
うため、最適化時間が大幅に短縮される。
【0019】最適化の組合せ指定により複数の最適化さ
れた第2の中間コード108を作成した後、コード生成
部109によりコード生成を行なう。この場合、最適化
された中間コードがある間、コード生成を行ない、ステ
ップ305で中間コード有無をチェックし、中間コード
があれば、以下のコード生成処理を行ない、なければ処
理を終了する。
【0020】その中間コード情報があれば、ステップ3
06で通常のコード生成部と同じく、最適化された中間
コードを機械語命令列に変換する。次に、変換した機械
語命令列のコードサイズの情報と最適化の組合せ指定情
報をプログラム開発者にメッセージとして出力する。本
実施例では、サイズ縮小のみの最適化の場合とそのサイ
ズ、実行性能向上のみの最適化とそのサイズ、サイズ縮
小と実行性能向上のすべての場合とそのサイズ情報が出
力される。さらに、ステップ308で変換した機械語命
令列を出力ファイルに出力する。
【0021】プログラム開発者は、コンパイル結果のコ
ードサイズ情報と最適化の組合せ指定情報により開発に
適する出力ファイルを選択して開発を行なうことができ
る。
【0022】図2(b)は本発明の第2の実施例の処理
フロチャートである。本実施例のコンパイルの出力方法
が第1の実施例と異なる。最適化組合せテーブル106
には、第1の実施例と同様なコンパイラの最適化の個々
の最適化の指定の組合せが設定されている。
【0023】本実施例では、第1の実施例と同様に、ス
テップ301で入力ファイルを読込み構文解析を行ない
第1の中間コードを生成する。最適化部105では、最
適化される前の中間コード104を入力し、ステップ3
02で最適化のための解析情報107を生成する。最適
化解析情報は、最適化を行なうための解析情報であり、
この情報を参照して個々の最適化を行なう。
【0024】次に、ステップ303で最適化の組合せテ
ーブルに最適化の組合せがあるかを判断し、その組合せ
があれば以下の組合せ指定の最適化とコード生成を行な
い、なければ処理を終了する。次のステップ304で、
前述の最適化テーブルの指定により、特定の最適化を起
動し、最適化された第2の中間コード108を生成す
る。
【0025】一般に最適化には処理時間がかかる。この
要因は、最適化のための中間コードの情報解析が主たる
処理時間である。本実施例では第1の実施例と同様に複
数の最適化を行なうが、一度解析された最適化情報を再
度利用して最適化を行なうため、最適化時間が大幅に短
縮される。
【0026】次のステップ306aで通常のコード生成
部と同じく、最適化された中間コード機械語命令列に変
換する。さらに、ステップ307で機械語命令列への変
換時に、変換した機械語命令列のコードサイズの情報と
最適化の組合せ指定情報をプログラム開発者にメッセー
ジとして出力する。本実施例では、サイズ縮小のみの最
適化の場合とそのサイズ、実行性能向上のみの最適化と
そのサイズ、サイズ縮小と実行性能向上のすべての場合
とそのサイズ情報が出力される。そしてステップ308
で変換した機械語命令列を出力ファイルに出力する。
【0027】本実施例では最適化の組合せ指定により生
成された中間コードに対してコード生成を行なうため、
第1の実施例に比べその処理が高速になる。この場合も
第1の実施例と同様にプログラム開発者は、コンパイル
結果のコードサイズ情報と最適化の組合せ指定情報によ
り、開発に適する出力ファイルを選択して開発を行な
う。
【0028】図は本発明の効果を示す処理時間のタイ
ミング図を示す。従来例では、3つのコンパイルをそれ
ぞれ行い3種類の最適化の組合せを行なった場合の処理
時間である。一方、本発明の実施例では、種類の最適化
の組合せを行なった場合一度解析された最適化情報を再
度利用して最適化を行うので構文解析、情報解析の時間
が一度でよく、処理時間が図のように短縮される。
【0029】
【発明の効果】以上説明したように本発明によれば、従
来最適化のための中間コードの情報解析の主要処理時間
が複数回実施され最適化を行なったが、本発明では一度
解析された最適化情報を再度利用して最適化を行なうた
め、最適化処理時間が大幅に短縮されると共に、入力ソ
ースファイルが長い場合、従来方式では個々の情報解析
に時間がとられ、さらに処理時間が長くなったが、本発
明では、1度の方法解析のみで最適化が可能なので処理
時間が長くならないという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のコンパイラ処理方式のシス
テム構成を示すブロック図。
【図2】本実施例のコンパクト処理方式の二例を示す処
理のフロチャート。
【図3】本発明の効果を示すタイミング図。
【図4】従来のコンパイラ処理方式のシステム構成を示
すブロック図。
【符号の説明】
101 入力ソースファイル 102,102a コンパイラ 103 構文解析部 104 最適化前中間コード 105,105a 最適化部 106 最適化組合せテーブル 107 最適化解析情報 108 最適化後中間コード 109,109a コード生成部 110 出力ファイル情報出力部 111,111a 出力ファイル 301 構文解析 302 最適化情報解析 303 最適化組合せ判定 304 最適化 305 中間コード判定 306,306a 機械語命令の生成 307 出力ファイル情報出力 308 ファイル出力

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力したソースプログラムを解析し最適
    化前中間コードを生成する第1のステップと、前記最適
    化前中間コードの最適化情報を解析し最適化解析情報を
    生成する第2のステップと、前記最適化解析情報を参照
    し1つの前記最適化前中間コードから最適化の組み合わ
    せの異なる複数の最適化中間コードを生成し、前記最適
    化中間コードをそれぞれ機械語命令列の出力ファイルに
    変換する第3のステップとを有し、 1回のコンパイルで同等の機能を有し最適化の組み合わ
    せの異なる複数の機械語命令列出力ファイルを得るよう
    にしたことを特徴とする言語プログラムのコンパイル処
    理方法
  2. 【請求項2】 前記第3のステップで行われる最適化中
    間コードの生成は、最適化の組み合わせを指定した最適
    化組み合わせテーブルの指定に基づき、複数の最適化中
    間コードを生成することを特徴とする請求項1記載の言
    語プログラムのコンパイル処理方法。
JP24342893A 1993-09-30 1993-09-30 言語処理プログラムのコンパイル処理方法 Expired - Fee Related JP3190773B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP24342893A JP3190773B2 (ja) 1993-09-30 1993-09-30 言語処理プログラムのコンパイル処理方法
US08/312,904 US5606697A (en) 1993-09-30 1994-09-30 Compiler system for language processing program
DE69427564T DE69427564T2 (de) 1993-09-30 1994-09-30 Optimierender Kompilierer
EP94115464A EP0646864B1 (en) 1993-09-30 1994-09-30 Optimising compiler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24342893A JP3190773B2 (ja) 1993-09-30 1993-09-30 言語処理プログラムのコンパイル処理方法

Publications (2)

Publication Number Publication Date
JPH07105012A JPH07105012A (ja) 1995-04-21
JP3190773B2 true JP3190773B2 (ja) 2001-07-23

Family

ID=17103730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24342893A Expired - Fee Related JP3190773B2 (ja) 1993-09-30 1993-09-30 言語処理プログラムのコンパイル処理方法

Country Status (4)

Country Link
US (1) US5606697A (ja)
EP (1) EP0646864B1 (ja)
JP (1) JP3190773B2 (ja)
DE (1) DE69427564T2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6074433A (en) * 1995-08-25 2000-06-13 Fujitsu Limited Optimization control apparatus and optimization control method for array descriptions
FR2742892B1 (fr) * 1995-12-21 1998-02-13 Bull Sa Systeme de protection de logiciel pour ordinateur ecrit en langage interprete
CA2166254C (en) * 1995-12-28 2000-02-01 Robert James Blainey Improving memory layout based on connectivity considerations
GB9600823D0 (en) * 1996-01-16 1996-03-20 British Telecomm Distributed processing
US5812854A (en) * 1996-03-18 1998-09-22 International Business Machines Corporation Mechanism for integrating user-defined instructions with compiler-generated instructions and for optimizing the integrated instruction stream
US5960200A (en) * 1996-05-03 1999-09-28 I-Cube System to transition an enterprise to a distributed infrastructure
JP3237693B2 (ja) * 1996-08-19 2001-12-10 日本電気株式会社 言語処理装置および言語処理方法
JP3196675B2 (ja) * 1996-12-27 2001-08-06 日本電気株式会社 言語処理方式
US5940620A (en) * 1997-03-07 1999-08-17 Ncr Corporation Compiler with intermediate compiling mechanism
US6260191B1 (en) * 1997-04-07 2001-07-10 Hewlett-Packard Company User controlled relaxation of optimization constraints related to volatile memory references
US5911073A (en) * 1997-12-23 1999-06-08 Hewlett-Packard Company Method and apparatus for dynamic process monitoring through an ancillary control code system
EP0943990A3 (en) * 1998-02-27 2004-12-22 Texas Instruments Incorporated Method and system of providing dynamic optimization information in a code interpretive runtime environment
JP3246438B2 (ja) * 1998-04-01 2002-01-15 日本電気株式会社 可変ターゲットコンパイル処理方法、その処理装置、そのプログラムの記憶媒体および変換テーブルの記憶媒体
US6189141B1 (en) 1998-05-04 2001-02-13 Hewlett-Packard Company Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control
US6164841A (en) * 1998-05-04 2000-12-26 Hewlett-Packard Company Method, apparatus, and product for dynamic software code translation system
US6148437A (en) * 1998-05-04 2000-11-14 Hewlett-Packard Company System and method for jump-evaluated trace designation
JP2001075816A (ja) * 1999-09-08 2001-03-23 Sony Corp プログラム変換装置及び方法、プログラム製造装置、並びにプログラム記録媒体
JP2002024029A (ja) * 2000-07-11 2002-01-25 Toshiba Corp コンパイラ、コンパイル方法及びコンパイルプログラムを記録したコンピュータ読み取り可能な記録媒体
US7000227B1 (en) * 2000-09-29 2006-02-14 Intel Corporation Iterative optimizing compiler
US7007271B2 (en) * 2002-04-18 2006-02-28 Sun Microsystems, Inc. Method and apparatus for integrated instruction scheduling and register allocation in a postoptimizer
JP3847672B2 (ja) * 2002-07-03 2006-11-22 松下電器産業株式会社 コンパイラ装置及びコンパイル方法
KR20060009843A (ko) * 2003-04-16 2006-02-01 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 기계를 이용한 파일 처리 방법, 컴퓨터 프로그램 제품 및파일을 처리하도록 프로그래밍된 기계
US7340732B2 (en) * 2003-11-26 2008-03-04 Sun Microsystems, Inc. Updating profile frequency for procedure inlining
TW200725413A (en) * 2005-12-30 2007-07-01 Tatung Co Ltd Method for automatically translating extended activity diagram into hardware component graph
US7873953B1 (en) * 2006-01-20 2011-01-18 Altera Corporation High-level language code sequence optimization for implementing programmable chip designs
US8079023B2 (en) * 2007-03-22 2011-12-13 Microsoft Corporation Typed intermediate language support for existing compilers
US9582396B2 (en) * 2009-10-23 2017-02-28 Novell, Inc. Techniques for generating an executable debugger script
US9996325B2 (en) 2013-03-06 2018-06-12 Qualcomm Incorporated Dynamic reconfigurable compiler
US9027007B2 (en) * 2013-03-06 2015-05-05 Qualcomm Incorporated Reducing excessive compilation times
AU2016228166A1 (en) * 2016-09-13 2018-03-29 Canon Kabushiki Kaisha Visualisation for guided algorithm design to create hardware friendly algorithms
US10726175B1 (en) * 2019-03-04 2020-07-28 Xilinx, Inc. Systems for optimization of read-only memory (ROM)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5920051A (ja) * 1982-07-26 1984-02-01 Mitsubishi Electric Corp プログラム実行方法
JPH0685148B2 (ja) * 1986-03-07 1994-10-26 株式会社日立製作所 配列デ−タフロ−解析装置
JP2834171B2 (ja) * 1989-02-06 1998-12-09 株式会社日立製作所 コンパイル方法
JP3039953B2 (ja) * 1989-04-28 2000-05-08 株式会社日立製作所 並列化装置
US5339419A (en) * 1990-06-25 1994-08-16 Hewlett-Packard Company ANDF compiler using the HPcode-plus compiler intermediate language
IL100986A (en) * 1991-02-27 1997-01-10 Digital Equipment Corp Method for compiling code
US5450585A (en) * 1991-05-15 1995-09-12 International Business Machines Corporation Compiler with delayed conditional branching
EP0586557A4 (en) * 1991-05-24 1995-04-12 British Tech Group Usa COMPILER OPTIMIZATION FOR COMPUTERS.
US5515535A (en) * 1991-11-05 1996-05-07 Thinking Machines Corporation System and method for parallel variable optimization
US5448737A (en) * 1992-03-17 1995-09-05 International Business Machines Corporation System and method for optimizing computer code using a compact data flow representation
US5481708A (en) * 1992-06-05 1996-01-02 Borland International, Inc. System and methods for optimizing object-oriented compilations
JP3280449B2 (ja) * 1993-03-01 2002-05-13 富士通株式会社 コンパイル装置
US5548761A (en) * 1993-03-09 1996-08-20 International Business Machines Corporation Compiler for target machine independent optimization of data movement, ownership transfer and device control
US5475842A (en) * 1993-08-11 1995-12-12 Xerox Corporation Method of compilation optimization using an N-dimensional template for relocated and replicated alignment of arrays in data-parallel programs for reduced data communication during execution
US5375242A (en) * 1993-09-29 1994-12-20 Hewlett-Packard Company Compiler architecture for cross-module optimization
US5548754A (en) * 1995-02-07 1996-08-20 International Business Machines Corporation Optimization of SQL queries using early-out join transformations

Also Published As

Publication number Publication date
EP0646864B1 (en) 2001-06-27
EP0646864A1 (en) 1995-04-05
US5606697A (en) 1997-02-25
JPH07105012A (ja) 1995-04-21
DE69427564T2 (de) 2002-05-16
DE69427564D1 (de) 2001-08-02

Similar Documents

Publication Publication Date Title
JP3190773B2 (ja) 言語処理プログラムのコンパイル処理方法
US5586328A (en) Module dependency based incremental compiler and method
US7823139B2 (en) Method and system for translating programming languages
JP2811990B2 (ja) プログラム処理装置及びプログラム処理方法
EP0905617B1 (en) Method for generating a java bytecode data flow graph
US7657878B2 (en) Compiler, method of compiling and program development tool
JPH05257709A (ja) 並列化判別方法およびそれを用いた並列化支援方法
US6345384B1 (en) Optimized program code generator, a method for compiling a source text and a computer-readable medium for a processor capable of operating with a plurality of instruction sets
US5812854A (en) Mechanism for integrating user-defined instructions with compiler-generated instructions and for optimizing the integrated instruction stream
JP2007141173A (ja) コンパイルシステム、デバッグシステムおよびプログラム開発システム
EP0428560A4 (en) Machine process for translating programs in binary machine language into another binary machine language
JPH1097430A (ja) 最適化のためにアセンブリコードルーチンをソースコードルーチンに挿入する方法およびそのシステム
US20060200796A1 (en) Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
JP3651774B2 (ja) コンパイラ及びそのレジスタ割付方法
JP2003196106A (ja) プログラム変換方法、コンピュータ装置及びプログラム
JP2003177924A (ja) プログラム変換装置、プログラム変換方法、及び当該プログラム変換装置を実現するプログラム
JP4719415B2 (ja) 情報処理システム及びコード生成方法
JP2001125792A (ja) 最適化促進装置
JP2007226589A (ja) プログラム変換システム
JPH10340193A (ja) 言語処理装置、言語処理方法およびその記録媒体
JP3323147B2 (ja) コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体
JP2956591B2 (ja) ループ外への条件付き飛び出しがあるループの並列化方法及び装置
JP3018783B2 (ja) コンパイル方式
JP2638278B2 (ja) コンパイル処理方式
JPH0561687A (ja) コンパイラの処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees