JPH05120025A - Inline development method for source program - Google Patents

Inline development method for source program

Info

Publication number
JPH05120025A
JPH05120025A JP3282401A JP28240191A JPH05120025A JP H05120025 A JPH05120025 A JP H05120025A JP 3282401 A JP3282401 A JP 3282401A JP 28240191 A JP28240191 A JP 28240191A JP H05120025 A JPH05120025 A JP H05120025A
Authority
JP
Japan
Prior art keywords
source program
source
object module
inline
program
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
JP3282401A
Other languages
Japanese (ja)
Inventor
Osamu Yokogawa
修 横川
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP3282401A priority Critical patent/JPH05120025A/en
Publication of JPH05120025A publication Critical patent/JPH05120025A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To provide the inline development method of a source program, which executes the inline development of the source program by means of a linkage editor for improving the execution speed of a whole program composed of the plural source programs. CONSTITUTION:The source programs 1, 2, 3, 4 and 5 are compiled and an object module 7 with debug information is generated. Then, they are linked with the linkage editor 8. At that time, the reference relation of the source programs 1, 2, 3, 4 and 5 is analyzed. The source program which is referred to only from one source program is inline-developed in the source program being a reference source and an optimized new source program 10 is prepared.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ソースプログラムのイ
ンライン展開方法に関し、特に実行型式のロードモジュ
ールを作成するリンケージエディタが複数オブジェクト
モジュール間の関係を分析して、複数のオブジェクトモ
ジュールの元となった複数のソースプログラムをインラ
イン展開して、現在のプログラムよりも実行速度の早い
プログラムとするためのソースプログラムのインライン
展開方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for inline expansion of a source program, and more particularly, to a source of a plurality of object modules by analyzing a relationship between a plurality of object modules by a linkage editor for creating an execution type load module. Also, the present invention relates to an inline expansion method of a source program for expanding a plurality of source programs inline to make the program faster in execution speed than the current program.

【0002】[0002]

【従来の技術】従来、この種のプログラムの実行速度を
早くするためのソースプログラムのインライン展開方法
は、コンパイラの文法としてインライン展開文が用意さ
れていて利用者が容易にソースプログラム中に記述する
手法や、コンパイラ自身の最適化機能によって自動分析
されインライン展開する方法、またはソースプログラム
インライン展開機能を持つ最適化ツールによってソース
プログラムをインライン展開する方法などがあった。
2. Description of the Related Art Conventionally, an inline expansion method of a source program for increasing the execution speed of this type of program has been prepared by an inline expansion statement as a grammar of a compiler so that a user can easily describe it in the source program. There was a method and a method of inline expansion that was automatically analyzed by the optimization function of the compiler itself, or a method of inline expansion of a source program by an optimization tool that has a source program inline expansion function.

【0003】[0003]

【発明が解決しようとする課題】上述した従来のソース
プログラムのインライン展開方法にでは、コンパイラで
そのインライン展開を行おうとした場合、コンパイラが
最適化できる範囲は1つのソースプログラム内だけであ
り、インライン展開文は利用者が始めから意識して設計
しておかなければならないという問題がある。またソー
スプログラムの最適化ツールは、複数ソースプログラム
で作成されたプログラムにも対応することのできる物が
あるが、コンパイラから専用の情報を生成してもらう
か、または最適化ツール自身でコンパイラと同等のソー
ス解析情報を生成しなければ処理できず、それらの情報
は他の目的に使用する情報でないという欠点があると共
に、ソースプログラムを生成する機能までの短機能しか
なく、実行型式のロードモジュールを生成する機能が無
いという欠点もある。
According to the above-described conventional inline expansion method for a source program, when the compiler attempts to perform the inline expansion, the compiler can optimize only within one source program. There is a problem that the expanded sentence must be designed by the user from the beginning. There are some source program optimization tools that can support programs created by multiple source programs, but you can either generate dedicated information from the compiler, or you can use the optimization tool itself to make it equivalent to the compiler. There is a drawback that it cannot be processed unless the source analysis information of is generated, and that information is not information used for other purposes, and there is only a short function up to the function of generating the source program. It also has the drawback of not having a function to generate.

【0004】本発明の目的は、このような従来の問題点
を除去して、リンクすると同時にソースプログラムを最
適にインライン展開できるソースプログラムのインライ
ン展開方法を提供しようとするものである。
An object of the present invention is to eliminate such problems of the prior art and to provide an inline expansion method of a source program which can be optimally expanded inline at the same time as linking.

【0005】[0005]

【課題を解決するための手段】上記課題を解決するため
の本発明の第一の解決手段としてのソースプログラムの
インライン展開方法は、入力される複数のソースプログ
ラムデータ群から個々のソースプログラムを翻訳し、前
記各ソースプログラムデータの構成要素からデバッカ用
処理情報と、リンケージエディタ用処理情報としてのオ
ブジェクトモジュールデータとを生成するコンパイラス
テップと、前記複数オブジェクトモジュールデータ群を
結合してロードモジュールデータを生成すると供に、前
記オブジェクトモジュールデータ群の一つが、他のオブ
ジェクトモジュールデータ群内の一つのみからしか参照
されていないことを識別判断した場合に、その参照され
ている側のソースプログラムデータを、参照している側
のソースプログラムデータ内にインライン展開して新た
なソースプログラムデータを作成するリンケージエディ
タステップを含むことを特徴とする。
The inline expansion method of a source program as a first solution of the present invention for solving the above problems is to translate individual source programs from a plurality of input source program data groups. Then, a compiler step for generating the processing information for the debugger and the object module data as the processing information for the linkage editor from the constituent elements of the source program data, and the load module data by combining the plurality of object module data groups At the same time, when it is determined that one of the object module data groups is referenced only by one of the other object module data groups, the source program data of the referenced side is Source program on the referencing side And inlined in the data, characterized in that it comprises a linkage editor step of creating a new source program data.

【0006】上記課題を解決するための本発明の第二の
解決手段としてのソースプログラムのインライン展開方
法は、前記第一の解決手段に、前記リンケージエディタ
ステップがインライン展開して作成した前記新たなソー
スプログラムデータをコンパイルして最適コードを持つ
新たなオブジェクトモジュールデータを生成するステッ
プを含むことを特徴とする。
A method for inline expansion of a source program as a second solution means of the present invention for solving the above-mentioned problem is the new solution created by inline expansion of the linkage editor step to the first solution means. Compiling the source program data to generate new object module data having optimal code.

【0007】上記課題を解決するための本発明の第二の
解決手段としてのソースプログラムのインライン展開方
法は、前記第一の解決手段に、前記最適コードを持つ新
たなオブジェクトモジュールデータから最適コードを持
つ新たなロードモジュールデータを生成するリンケージ
エディタステップを含むことを特徴とする。
A source program inline expansion method as a second solution means of the present invention for solving the above-mentioned problem is that the first solution means is to obtain an optimum code from new object module data having the optimum code. It is characterized by including a linkage editor step for generating new load module data having.

【0008】[0008]

【作用】本発明のソースプログラムのインライン展開方
法は、一般にプログラム開発者がプログラムの実行確認
を行う時に使用するデバッカがソースイメージ情報を得
るために参照するコンパイラの出力情報を、リンケージ
エディタが参照することによって、リンケージエディタ
の本来の機能である複数のオブジェクトモジュールデー
タ群を結合してロードモジュールデータを作成する機能
に加えて、複数ソースプログラムデータ間のCALL/
CALLER関係を分析することによって、複数ソース
プログラムデータ群をインライン展開することを可能に
する。
According to the inline expansion method of the source program of the present invention, the linkage editor generally refers to the output information of the compiler which the debugger used when the program developer confirms the execution of the program to obtain the source image information. Thus, in addition to the function of linking a plurality of object module data groups, which is the original function of the linkage editor, to create load module data, the CALL /
By analyzing the CALLER relationship, it is possible to inline a multi-source program data group.

【0009】また、プログラムを実行可能なロードモジ
ュールデータとする作業は、必ず行わねばならない作業
であるため、リンクと同時にソースプログラムを最適な
インライン展開することができることを特徴としてい
る。
Further, since the work of making a program into executable load module data is a work that must be performed without fail, it is characterized in that the source program can be optimally inline-expanded at the same time as linking.

【0010】さらに、第二、第三の解決手段の本発明
は、単にソースプログラムデータをインライン展開して
生成するにとどまらず、さらに生成した新たなソースプ
ログラムを再コンパイルして、リンクすることによって
最適なコードとなったオブジェクトモジュールデータお
よびロードモジュールデータを生成する機能を有し、そ
の段階を選択できるように作用するものである。
Furthermore, the present invention of the second and third solving means is not limited to simply generating the source program data by inline expansion, but by recompiling and linking the newly generated source program. It has a function of generating the object module data and the load module data which are the optimum code, and operates so that the stage can be selected.

【0011】[0011]

【実施例】次に本発明の実施例について図面を参照しつ
つ以下に説明する。図1は本発明の一実施例の処理順序
を表わすブロック図である。この図1における本発明の
処理は、ユーザによって作成されたソースプログラム
A,B,C,X,Yであるプログラム1,2,3,4,
5がコンパイラ6に入力される。このコンパイラ6から
は、プログラム1,2,3,4,5を翻訳して相対アド
レスで表された機械語命令型式のプログラムである、オ
ブジェクトモジュールA,B,C,X,Yのオブジェク
トモジュール群7が出力される。このオブジェクトモジ
ュール群7を用いてリンケージエディタ8は、各オブジ
ェクトモジュールを結合させ、さらにモジュール間の記
号による相互参照を取りつつ、指定されたプログラム・
セグメントの置き換え,削除,追加を行い、かつ指定さ
れたモジュールにオーバレイ機能を与えて主記憶装置内
から取り出すことのできるプログラム・コードであるロ
ードモジュール9を作成すると共に、出力ソースプログ
ラム10を出力する。また、図2はリンケージエディタ
8の処理内容の一部を示すプログラム構造解析機構であ
り、図3はリンケージエディタ8の処理内容の一部を示
すインライン展開機構のフローチャート図である。以上
の処理順序において以下図2,3を参照しつつ、プログ
ラム1,2,3,4,5のインライン展開方法の処理動
作を説明する。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the processing sequence of an embodiment of the present invention. The processing of the present invention in FIG. 1 is performed by programs 1, 2, 3, 4, which are source programs A, B, C, X, Y created by the user.
5 is input to the compiler 6. Object modules A, B, C, X, and Y, which are machine language instruction type programs in which programs 1, 2, 3, 4, and 5 are translated from the compiler 6 and are represented by relative addresses. 7 is output. The linkage editor 8 uses the object module group 7 to combine the object modules, and further obtains a designated program by combining symbols between the modules.
A load module 9, which is a program code that can replace, delete, and add a segment, and gives an overlay function to a designated module to extract it from the main storage device, and outputs an output source program 10. .. 2 is a program structure analysis mechanism showing a part of the processing contents of the linkage editor 8, and FIG. 3 is a flow chart of an inline expansion mechanism showing a part of the processing contents of the linkage editor 8. In the above processing sequence, the processing operation of the inline expansion method of the programs 1, 2, 3, 4, and 5 will be described below with reference to FIGS.

【0012】コンパイラ6はプログラム1,2,3,
4,5の翻訳処理を行い、それぞれに対応したオブジェ
クトモジュールA,B,C,X,Yを出力する。このと
きデバッカでプログラムの実行テストを行う時に必要と
なる文番号情報/名標情報等のデバック情報をも出力す
る。次にリンケージエディタ8は、コンパイラ6から出
力されたオブジェクトモジュール群7からリンク処理を
行いロードモジュール9を生成する。またその過程でリ
ンケージエディタ8は入力オブジェクトモジュール群7
から、図2で示す各オブジェクトモジュールのCALL
関係A1を識別判断し、メインであるオブジェクトモジ
ュールAから参照されるサブオブジェクトモジュール群
を全て結合することができる。例えば、定義名「A」た
るオブジェクトモジュールAはサブオブジェクトモジュ
ールB,X,Yを参照しており、さらにサブオブジェク
トモジュールBはサブオブジェクトモジュールCを参照
している。また、サブオブジェクトモジュールCは何ら
他のオブジェクトモジュールを参照しておらず、サブオ
ブジェクトモジュールYはサブオブジェクトモジュール
Xを参照している。またこリンクと共に、プログラム構
造解析機構A2によって、各外部定義名が何れのモジュ
ールによって参照されているかを示す、オブジェクトモ
ジュールのCALLER関係A3を求めている。オブジ
ェクトモジュールのCALLER関係A3で参照元が1
個しかない場合はその親のソースプログラムに、参照し
ているサブオブジェクトモジュールのソースプログラム
をインライン展開可能であると判断する。この例では、
ソースプログラムCはソースプログラムBからしか参照
されなく、ソースプログラムBはソースプログラムAか
らしか参照されないのでソースプログラムAにソースプ
ログラムB,Cを段階的にインライン展開可能であると
判定する。同様に、ソースプログラムYはソースプログ
ラムAからしか参照されないため、ソースプログラムY
をソースプログラムAにインライン展開は可能であると
判定する。
The compiler 6 uses the programs 1, 2, 3,
4 and 5 are translated, and the corresponding object modules A, B, C, X and Y are output. At this time, debug information such as statement number information / name tag information necessary for performing a program execution test with the debugger is also output. Next, the linkage editor 8 performs a link process from the object module group 7 output from the compiler 6 to generate a load module 9. Further, in the process, the linkage editor 8 inputs the input object module group 7
From the CALL of each object module shown in FIG.
The relation A1 can be discriminated and determined, and all the sub-object module groups referred to by the main object module A can be combined. For example, the object module A having the definition name "A" refers to the sub-object modules B, X, and Y, and the sub-object module B refers to the sub-object module C. Further, the sub-object module C does not refer to any other object module, and the sub-object module Y refers to the sub-object module X. Along with this link, the program structure analysis mechanism A2 seeks the CALLER relation A3 of the object module, which indicates by which module each external definition name is referenced. Reference source is 1 in CALLER relation A3 of object module
If there is only one, it is determined that the source program of the referenced sub-object module can be inline-expanded to the parent source program. In this example,
Since the source program C is referenced only by the source program B and the source program B is referenced only by the source program A, it is determined that the source programs B and C can be expanded inline in the source program A in stages. Similarly, since the source program Y is referenced only by the source program A, the source program Y
Is determined to be possible for inline expansion to the source program A.

【0013】しかし、ソースプログラムXはソースプロ
グラムY及びソースプログラムAから参照されているの
で、ソースプログラムXのインライン展開はできる条件
ではないと判断する。
However, since the source program X is referred to by the source program Y and the source program A, it is determined that the inline expansion of the source program X is not possible.

【0014】ここで行われた判定条件は、図3における
ステップB1の判断に使用される。
The determination conditions made here are used for the determination in step B1 in FIG.

【0015】図3は、参照する側のソースプログラムを
ネストが浅いとし、参照される側のソースプログラムを
ネストが深いとして、参照する側の主ソースプログラム
中の内部サブルーチンとして参照される側のソースプロ
グラムを配置し、ソースプログラムのインライン展開を
行う方法を示したものである。
In FIG. 3, assuming that the source program on the referencing side has a shallow nest and the source program on the referencing side has a deep nest, the source on the side referred to as an internal subroutine in the main source program on the referencing side. It shows a method of arranging programs and performing inline expansion of source programs.

【0016】ステップB1でインライン展開が可能条件
であるか否かを判断し、さらに、ステップB2では、参
照関係のある2つのソースプログラムの各記述言語が同
一言語でない場合、プログラム記述文法が異なるためソ
ースプログラムをそのまま結合することができないか
ら、インライン展開不可能として本処理のインライン展
開を行わず終了する。ステップB2以降は、ネストの深
いソースプログラムを内部サブルーチンの書き出しに変
換する処理と、2つのソースプログラム中の外部参照名
の重なり、および一方のソースプログラムにのみ外部参
照定義文がある場合のその定義文削除または移し替えを
行い、1つのソースプログラムとして結合して矛盾のな
い記述に変換する処理を行う。ステップB3では結合す
る2つのソースプログラムそのものを作業用に読み込む
処理であり、ステップB4では結合する2つのソースプ
ログラムで使用されている名標/文番号を高速に判別す
るためにデバック情報を読み込む処理である。ステップ
B5およびステップB6は、2つのソースプログラムに
同一の外部参照名がある場合、ネストの深いソースプロ
グラム中にある外部参照定義文を削除する処理である。
ステップB7およびステップB8は2つのソースプログ
ラム中の何れかに単独の外部参照名がある場合に、ネス
トの深いソースプログラムにある外部参照名定義文をネ
ストの浅いソースプログラムに移動させる処理である。
ステップB9はネストの深いソースプログラムの書き出
し部分をサブルーチン型式に書き換える処理であり、ス
テップB10は、2つのソースプログラムをインライン
展開して結合して1つのソースプログラムD1として、
最終的に出力する処理である。
In step B1, it is determined whether or not the inline expansion is possible, and in step B2, if the description languages of the two source programs having the reference relationship are not the same language, the program description grammars are different. Since the source programs cannot be combined as they are, inline expansion is not possible and this process ends without performing inline expansion. From step B2, the process of converting a deeply-nested source program into the writing of an internal subroutine, the overlap of external reference names in two source programs, and the definition when only one source program has an external reference definition statement Sentences are deleted or transferred, combined as one source program, and converted into a consistent description. Step B3 is a process for reading the two source programs themselves to be combined for work, and step B4 is a process for reading debug information in order to quickly identify the name / sentence numbers used in the two source programs to be combined. Is. Steps B5 and B6 are processing for deleting an external reference definition statement in a deeply-nested source program when two source programs have the same external reference name.
Steps B7 and B8 are processing for moving the external reference name definition statement in the deeply-nested source program to the shallowly-nested source program when there is a single external reference name in either of the two source programs.
Step B9 is a process of rewriting the writing portion of the deeply-nested source program into a subroutine type, and step B10 is an inline expansion of two source programs to combine them into one source program D1.
This is the final output process.

【0017】次に上記実施例の応用例例について、図4
を参照しつつ以下に説明する。なお、図4もリンケージ
エディタ8の処理内容の一部フローチャートを示す。
FIG. 4 shows an example of application of the above embodiment.
Will be described below with reference to. Note that FIG. 4 also shows a partial flowchart of the processing contents of the linkage editor 8.

【0018】始めにステップC1で上記ステップB1で
生成したソースプログラムD1のみの作成で終了するの
か、それとも作成したソースプログラムD1をコンパイ
ルしてさらにオブジェクトモジュールD2を作成するか
否を選択させる。オブジェクトモジュールD2を作成す
る場合には、生成したソースプログラムD1を入力して
翻訳するようにコンパイラの起動(ステップC2)を行
い、そのソースプログラムをコンパイルして新しいオブ
ジェクトモジュールD2を生成させる制御を行う。
First, in step C1, a selection is made as to whether to finish by creating only the source program D1 generated in step B1 or to compile the created source program D1 and further create an object module D2. When creating the object module D2, the compiler is activated (step C2) so that the generated source program D1 is input and translated, and the source program is compiled to control the generation of a new object module D2. ..

【0019】さらに上記処理の後、ステップC3で上記
オブジェクトモジュールD2からロードモジュールD3
を生成するか否を選択する。ロードモジュールを作成す
る場合は、新しいオブジェクトモジュールD2を入力し
てリンクするようにリンケージエディタを起動(ステッ
プC4)させてロードモジュールを作成する制御を行
う。このように、1回のリンク操作でインライン展開し
た最適化した新たなソースプログラムを作成したり、そ
の最適化したソースプログラムから新たなオブジェクト
モジュールを作成したり、そのオブジェクトモジュール
から最適化したロードモジュールを作成したりする制御
をおこなう。
Further, after the above processing, in step C3 the object module D2 to the load module D3 are loaded.
Select whether to generate. When creating a load module, the linkage editor is activated (step C4) so that a new object module D2 is input and linked, and the load module is controlled. In this way, a new optimized source program that is expanded inline with a single link operation, a new object module is created from the optimized source program, and a load module optimized from the object module is created. Create and control.

【0020】[0020]

【発明の効果】以上説明したように本発明によれば、複
数のソースプログラムからリンケージエディタがリンク
と共に最適なインライン展開して新たなソースプログラ
ムを作成し、さらにその新たなソースプログラムをコン
パイルすることで、より高速動作する最適化されたオブ
ジェクトコードを作成できる。しかも複数のサブルーチ
ンからなる複雑な構造のプログラムを単純化する効果も
合わせ持っている。また、単純化した新たなソースプロ
グラムから連続的にコンパイルとリンクとを行って最適
コード化したオブジェクトモジュールとロードモジュー
ルとをも一度に作成できる効果がる。
As described above, according to the present invention, a linkage editor is optimally inline-expanded with a link from a plurality of source programs to create a new source program, and the new source program is further compiled. With, you can create optimized object code that runs faster. Moreover, it also has the effect of simplifying a program with a complicated structure composed of multiple subroutines. In addition, it is possible to continuously compile and link from a new simplified source program to create an optimally coded object module and load module at the same time.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例の処理ブロック構成図。FIG. 1 is a processing block configuration diagram of an embodiment of the present invention.

【図2】リンケージエディタ8の処理内容の一部を示す
プログラム構造解析機構を示す図。
FIG. 2 is a diagram showing a program structure analysis mechanism showing a part of the processing contents of a linkage editor 8.

【図3】リンケージエディタ8の処理内容の一部を示す
インライン展開機構のフローチャート図。
FIG. 3 is a flowchart of an inline expansion mechanism showing a part of the processing contents of the linkage editor 8.

【図4】リンケージエディタ8の処理内容の一部を示す
次処理制御部のフローチャート図。
FIG. 4 is a flowchart of a next processing control unit showing a part of processing contents of a linkage editor 8.

【符号の説明】[Explanation of symbols]

1,2,3,4,5 入力ソースプログラム 6 コンパイラ 7 オブジェクトモジュール 8 リンケージエディタ 9 ロードモジュール 10 出力ソースプログラム 1, 2, 3, 4, 5 Input source program 6 Compiler 7 Object module 8 Linkage editor 9 Load module 10 Output source program

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】入力される複数のソースプログラムデータ
群から個々のソースプログラムを翻訳し、前記各ソース
プログラムデータの構成要素からデバッカ用処理情報
と、リンケージエディタ用処理情報としてのオブジェク
トモジュールデータとを生成するコンパイラステップ
と、 前記複数オブジェクトモジュールデータ群を結合してロ
ードモジュールデータを生成すると供に、前記オブジェ
クトモジュールデータ群の一つが、他のオブジェクトモ
ジュールデータ群内の一つのみからしか参照されていな
いことを識別判断した場合に、その参照されている側の
ソースプログラムデータを、参照している側のソースプ
ログラムデータ内にインライン展開して新たなソースプ
ログラムデータを作成するリンケージエディタステップ
を含むことを特徴とするソースプログラムのインライン
展開方法。
1. An individual source program is translated from a plurality of input source program data groups, and debugger processing information and object module data as linkage editor processing information are obtained from the constituent elements of each source program data. The compiler step of generating and the load module data are generated by combining the plurality of object module data groups, and one of the object module data groups is referred to only by one of the other object module data groups. If it is determined that there is not, a linkage editor step that creates a new source program data by inlining the referenced source program data in the referenced source program data is included. Features Inline expansion method of source program.
【請求項2】前記リンケージエディタステップがインラ
イン展開して作成した前記新たなソースプログラムデー
タをコンパイルして最適コードを持つ新たなオブジェク
トモジュールデータを生成するステップを含むことを特
徴とする請求項1記載のソースプログラムのインライン
展開方法。
2. The linkage editor step includes a step of compiling the new source program data created by inline expansion to generate new object module data having optimum code. Inline expansion method of the source program.
【請求項3】前記最適コードを持つ新たなオブジェクト
モジュールデータから最適コードを持つ新たなロードモ
ジュールデータを生成するリンケージエディタステップ
を含むことを特徴とする請求項1記載のソースプログラ
ムのインライン展開方法。
3. The inline expansion method for a source program according to claim 1, further comprising a linkage editor step of generating new load module data having an optimum code from new object module data having the optimum code.
JP3282401A 1991-10-29 1991-10-29 Inline development method for source program Pending JPH05120025A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3282401A JPH05120025A (en) 1991-10-29 1991-10-29 Inline development method for source program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3282401A JPH05120025A (en) 1991-10-29 1991-10-29 Inline development method for source program

Publications (1)

Publication Number Publication Date
JPH05120025A true JPH05120025A (en) 1993-05-18

Family

ID=17651934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3282401A Pending JPH05120025A (en) 1991-10-29 1991-10-29 Inline development method for source program

Country Status (1)

Country Link
JP (1) JPH05120025A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340193A (en) * 1997-06-06 1998-12-22 Nec Corp Language processor, its method and recording medium
JP2021192318A (en) * 2021-03-23 2021-12-16 北京百度網訊科技有限公司 Method and device for compiling, electronic device, storage medium, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340193A (en) * 1997-06-06 1998-12-22 Nec Corp Language processor, its method and recording medium
JP2021192318A (en) * 2021-03-23 2021-12-16 北京百度網訊科技有限公司 Method and device for compiling, electronic device, storage medium, and program

Similar Documents

Publication Publication Date Title
US5586328A (en) Module dependency based incremental compiler and method
US11579856B2 (en) Multi-chip compatible compiling method and device
US5606697A (en) Compiler system for language processing program
EP0905617B1 (en) Method for generating a java bytecode data flow graph
US6467082B1 (en) Methods and apparatus for simulating external linkage points and control transfers in source translation systems
JPH05508494A (en) Integrated hierarchical representation of computer programs for software development
JP2001166949A (en) Method and device for compiling source code by using symbolic execution
KR20020070809A (en) Optimizing Post-Link Code
Pennings Generating incremental attribute evaluators
JP3318051B2 (en) Translation processing method
JPH05120025A (en) Inline development method for source program
JP3266097B2 (en) Automatic reentrant method and system for non-reentrant program
GB2420638A (en) Method of substituting code fragments in Internal Representation
JPH10187461A (en) Language processing system
Harmer et al. Transformations to Restructure and Re–engineer COBOL Programs
Dausend et al. Towards a comprehensive extension of abstract state machines for aspect-oriented specification
JP2585793B2 (en) Compiler system
JPH05204705A (en) Processing method for detecting undefined parameter
JPH0695890A (en) Name replacement system in compiler
JPH07192034A (en) Interpreter type simulation method
JPH0561687A (en) Processing system for compiler
JPH03144832A (en) Symbolic debugging device for precompiler language program
JPH09274570A (en) Compile method and compiler system
JP3424596B2 (en) Method and apparatus for caching symbol reference information
CN112579088A (en) Heterogeneous hybrid programming-oriented one-stop program compiling method