JPH0581038A - Compiler - Google Patents

Compiler

Info

Publication number
JPH0581038A
JPH0581038A JP24227391A JP24227391A JPH0581038A JP H0581038 A JPH0581038 A JP H0581038A JP 24227391 A JP24227391 A JP 24227391A JP 24227391 A JP24227391 A JP 24227391A JP H0581038 A JPH0581038 A JP H0581038A
Authority
JP
Japan
Prior art keywords
function
machine language
sentence
processing
statement
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
JP24227391A
Other languages
Japanese (ja)
Inventor
Toshiyuki Noguchi
俊幸 野口
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co 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 IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP24227391A priority Critical patent/JPH0581038A/en
Publication of JPH0581038A publication Critical patent/JPH0581038A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To eliminate a machine word which calls and terminates a function so as to reduce the capacity of the machine word and to improve execution speed by previously detecting that there is a sentence terminating the function immediately after the sentence of the called function where there is no argument. CONSTITUTION:When there is no argument of the sentence for calling the function, a judgement processing for judging whether a sentence next to the sentence which previously calls the function is that which terminates the function or not is executed S106. When it is not the sentence which terminates the function, the generation processing of a call instruction is executed S110. When the next sentence is that which terminates the function, the generation processing of the machine word returning a stack used as the work area of an automatic variable to the beginning is executed S107, and the generation processing of a jump instruction is executed. Then, a processing for jumping the sentence terminating the function is executed S109. Then, a system returns to a syntax analysis processing S101 at every line again, and the generation of the machine word is continued.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はコンパイラに関し、特
に、関数呼出し時の機械語生成における最適化手法に関
わるコンパイラに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a compiler, and more particularly to a compiler relating to an optimization method in machine language generation when a function is called.

【0002】[0002]

【従来の技術】従来の、この種のコンパイラにおいて
は、関数呼出しの文の翻訳において、引き数をスタック
に設定する機械語を生成して、戻り番地をスタックに設
定する関数呼出しの機械語を生成し、関数呼出し後に引
き数として使用したスタックを元に戻す機械語を生成し
ているのが一般である。
2. Description of the Related Art In a conventional compiler of this kind, a machine language for setting an argument to a stack is generated in translation of a statement of a function call, and a machine language to call a function for setting a return address to the stack is generated. It is general to generate a machine language that generates and restores the stack used as an argument after calling a function.

【0003】従来のコンパイラにおける記述言語から機
械語に翻訳する流れ図の一例が図3に示される。図3に
おいて、一行ごとの構文解釈処理(ステップ101)に
おいて文を解釈し、ファイルの終了が否かが判断される
(ステップ102)。ステップ102においてファイル
の終了でない場合には、関数の定義の文か否かを確認す
る関数の最初であるか否かが判断されて(ステップ10
3)、もしも、関数の最初である場合には、関数の最初
にその関数で使用する自動変数の作業領域としてスタッ
クを確保する機械語を生成する処理が行われる(ステッ
プ131)。また、ステップ103において関数の最初
でない場合には、実際の記述言語の翻訳に移行してステ
ップ104に進み、関数呼出しの文か否かが判断され
る。
An example of a flowchart for translating a description language into a machine language in a conventional compiler is shown in FIG. In FIG. 3, the sentence is interpreted in the line-by-line syntax interpretation process (step 101), and it is determined whether the file ends (step 102). If it is not the end of the file in step 102, it is judged whether or not it is the first of the function for checking whether or not it is the statement of the function definition (step 10).
3) If it is the first of the function, a process of generating a machine language that secures a stack as a work area of an automatic variable used in the function at the beginning of the function is performed (step 131). If it is not the first of the function in step 103, the actual description language is translated and the process proceeds to step 104 to determine whether or not it is a function call statement.

【0004】ステップ104において、翻訳対象の文
が、関数呼出しの文であれば引き数があるか否かの判断
が行われて(ステップ105)、引き数がなければ、戻
り番地をスタックに設定する関数呼出しの機械語(以
後、コール命令と称す)を生成する処理が行われる(ス
テップ110)。そして、一行ごとの構文解析処理(ス
テップ101)に戻り、機械語生成が続行される。ま
た、ステップ105において引き数がある場合には、そ
の引き数の内容をスタックに設定する機械語を生成する
処理(ステップ120)と、引き数として使用されたス
タックを元に戻す機械語を生成する処理(ステップ12
2)が、前記コール命令を生成する処理(ステップ12
1)の前後において実行される。そして、再度一行ごと
の構文解析処理(ステップ101)に戻り、機械語生成
が続行される。
In step 104, if the sentence to be translated is a function call sentence, it is judged whether or not there is an argument (step 105). If there is no argument, the return address is set in the stack. A process for generating a machine language for calling a function (hereinafter, called a call instruction) is performed (step 110). Then, the process returns to the line-by-line parsing process (step 101), and the machine language generation is continued. If there is an argument in step 105, a process for generating a machine language for setting the contents of the argument in the stack (step 120) and a machine language for restoring the stack used as the argument are generated. Processing (step 12)
2) process for generating the call instruction (step 12)
It is executed before and after 1). Then, the process returns to the line-by-line syntactic analysis process (step 101), and the machine language generation is continued.

【0005】また、ステップ104において、関数呼出
しの文でない場合には、関数からの復帰の文であるか否
かが判断されて(ステップ130)、関数を終了する文
であれば、現在翻訳している関数内において、前述した
自動変数の作業領域として使用されるスタックを確保す
る機械語を生成する処理(ステップ131)により、確
保したスタックを元に戻す機械語を生成する処理(ステ
ップ132)が行われて、関数からの復帰を行う機械語
(以後、リターン命令と称す)を生成する処理(ステッ
プ133)が行われる。そして、一行ごとの構文解析処
理(ステップ101)に戻り、機械語生成が続行され
る。ステップ130において、関数を終了する文でない
場合には、その他の処理(ステップ140)が行われ
て、一行ごとの構文解析処理(ステップ101)に戻
り、機械語生成が続行される。なお、ステップ140に
おけるその他の処理については、本発明の範囲外である
ため、その説明は省略する。また、ファイルの終了であ
れば機械語生成を終了する。
In step 104, if the sentence is not a function call sentence, it is judged whether or not it is a return sentence from the function (step 130), and if it is a sentence for ending the function, it is currently translated. Within the function, a process for generating a machine language that secures the stack used as the work area of the automatic variable described above (step 131), and a process for generating a machine language that restores the secured stack (step 132) Then, a process for generating a machine language for returning from the function (hereinafter referred to as a return instruction) is performed (step 133). Then, the process returns to the line-by-line parsing process (step 101), and the machine language generation is continued. If the statement does not terminate the function in step 130, other processing (step 140) is performed, the process returns to the line-by-line syntax analysis processing (step 101), and machine language generation is continued. Note that the other processing in step 140 is outside the scope of the present invention, and therefore description thereof is omitted. If the file ends, the machine language generation ends.

【0006】次に、上述した従来のコンパイラにより生
成された機械語例が図4(a)および(b)に示され
る。図4(a)は、一般的な構造のプログラムを翻訳し
たもので、特に関数の最初の処理と、関数の呼出し処理
と、関数の最後の処理に着目して表現されている。図4
(b)は、前述したプログラムにより、関数の最後にお
いて引き数を持たない関数が呼出された場合の一例であ
る。
Next, an example of a machine language generated by the above-mentioned conventional compiler is shown in FIGS. 4 (a) and 4 (b). FIG. 4A is a translation of a program having a general structure, and is expressed by focusing on the first processing of a function, the calling processing of the function, and the last processing of the function. Figure 4
(B) is an example of a case where a function having no argument is called at the end of the function by the program described above.

【0007】図4(a)および(b)において、機械語
301は、図3における処理(ステップ131)におい
て生成された機械語、機械語302は、処理(ステップ
140)において生成された機械語、機械語303は、
処理(ステップ120)において生成された機械語、機
械語304は、処理(ステップ121)において生成さ
れた機械語、機械語305は、処理(ステップ122)
において生成された機械語、機械語306は、処理(ス
テップ140)において生成された機械語、機械語30
7は、処理(ステップ132)において生成された機械
語、そして機械語308は、処理(ステップ133)に
おいて生成された機械語である。
4A and 4B, a machine language 301 is a machine language generated in the processing (step 131) in FIG. 3, and a machine language 302 is a machine language generated in the processing (step 140). , Machine language 303 is
The machine language and machine language 304 generated in the process (step 120) are the machine language and machine language 305 generated in the process (step 121), and the process (step 122).
The machine language and the machine language 306 generated in the above are the machine language and the machine language 30 generated in the processing (step 140).
7 is a machine language generated in the process (step 132), and machine language 308 is a machine language generated in the process (step 133).

【0008】図4(a)および(b)より明らかなよう
に、従来技術におけるコンパイラの場合においては、関
数の最後の引き数を持たない関数を呼出す場合には、呼
出された関数から戻った後、本来は何も実行するべきも
のがないので呼出された関数から呼出した側の関数に戻
らずに、直接この呼出した関数の親の関数に戻ることが
できれば、実行時間の短縮に結び付くものと考えられ
る。その発想から見ると、前述した図4(b)のプログ
ラムは、最適化が不十分であると判断される。
As is apparent from FIGS. 4 (a) and 4 (b), in the case of the compiler of the prior art, when calling a function that does not have the last argument of the function, the function returned from the called function is returned. After that, there is nothing that should be executed originally, so if it is possible to directly return to the parent function of this called function without returning to the calling function from the called function, it will lead to a reduction in execution time. it is conceivable that. From the idea, it is judged that the above-mentioned program of FIG. 4 (b) is insufficiently optimized.

【0009】[0009]

【発明が解決しようとする課題】上述した従来のコンパ
イラにおいては、関数呼出し時に引き数を使用しない文
の機械語を生成する場合、関数呼出しの文の直後に関数
を終了する文があっても、通常の関数呼出し処理と同様
な機械語を生成して、その後改めて関数を終了するとい
う機械語を生成するという処理手順がとられる。このた
めに、前述したように、関数の最後に引き数を持たない
関数を呼出す場合に、機械語の最適化が不十分であると
いう欠点がある。
In the conventional compiler described above, when a machine language of a statement that does not use an argument is generated when a function is called, even if there is a statement that ends the function immediately after the statement of the function call. A processing procedure of generating a machine language similar to the normal function call processing and then generating a machine language for ending the function again is used. For this reason, as described above, when calling a function having no argument at the end of the function, there is a drawback that the optimization of the machine language is insufficient.

【0010】[0010]

【課題を解決するための手段】本発明のコンパイラは、
関数呼出し時の引き数の受渡し領域、関数呼出し後の戻
り番地の設定領域および関数内で定義する自動変数の作
業領域として、スタックを使用するコンパイラの関数呼
出し部の機械語生成処理において、少なくとも、引き数
の有無を検出する処理手順と、関数呼出しの文の直後に
関数を終了する文の有無を検出する処理手順と、戻り番
地をスタックに設定せずに呼出し関数に直接分岐する機
械語を生成する処理手順と、を有している。
The compiler of the present invention is
At least in the machine language generation process of the function call part of the compiler that uses the stack as the argument passing area at the time of function call, the return address setting area after the function call, and the work area of the automatic variable defined in the function, The processing procedure to detect the presence or absence of arguments, the processing procedure to detect the presence or absence of the statement that terminates the function immediately after the statement of the function call, and the machine language that branches directly to the calling function without setting the return address in the stack And a processing procedure to generate.

【0011】[0011]

【実施例】次に、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0012】図1は本発明の一実施例による機械語生成
方法の流れ図である。
FIG. 1 is a flow chart of a machine language generation method according to an embodiment of the present invention.

【0013】図1において明らかなように、、次の文が
関数を終了する文であるか否かを判断する処理(ステッ
プ106)と、自動変数の定義領域として使用されたス
タックを元に戻す機械語を生成する処理(ステップ10
7)と、呼出す関数に直接分岐される命令(以後、ジャ
ンブ命令と称す)を生成する処理(ステップ108)
と、関数を終了する文を読みとばす処理(ステップ10
9)が、付加されている点が、本発明による流れ図の、
図3に示される従来のコンパイラによる流れ図との相違
点である。
As is apparent from FIG. 1, the process of determining whether or not the next statement is a statement for terminating the function (step 106) and the stack used as the definition area of the automatic variable are restored. Processing for generating a machine language (step 10)
7) and a process of generating an instruction (hereinafter referred to as a jumb instruction) which is directly branched to the function to be called (step 108)
And a process of skipping a statement that ends the function (step 10
9) is added to the flow chart according to the present invention.
This is a difference from the flowchart of the conventional compiler shown in FIG.

【0014】図1において、一行ごとの構文解釈処理を
行い(ステップ101)、ファイルの終了が否かが判断
する処理を行って(ステップ102)、ファイルの終了
でない場合に、関数の定義の文か否かを確認する関数の
最初か否かを判断し(ステップ103)、関数の最初で
ない場合に関数呼出しの文か否かの判断を行い(ステッ
プ104)、翻訳対象の文が関数呼出しの文であれば引
き数があるか否かの判断を行う処理(ステップ105)
等については、前述の従来技術の場合と同様である。
In FIG. 1, a syntax interpretation process is performed for each line (step 101), and a process for determining whether or not the end of the file is performed (step 102). It is determined whether or not it is the beginning of the function for confirming whether or not it is (step 103), and if it is not the beginning of the function, it is determined whether or not it is a function call sentence (step 104), and the translation target sentence is the function call sentence. If it is a sentence, a process of determining whether or not there is an argument (step 105)
The same applies to the above-described conventional technique.

【0015】本発明の従来技術との相違点の要因は、関
数呼出しの文の引き数がない場合である。この引き数が
ない場合には、先ず、予め関数を呼出す文の次の文が関
数を終了させる文か否かを判断する処理が行われる(ス
テップ106)。このステップ106において関数を終
了させる文でない場合には、従来行われているコール命
令を生成する処理が実行される(ステップ110)。し
かし、次の文が関数を終了させる文の場合には、自動変
数の作業領域として使用したスタックを元に戻す機械語
を生成する処理が行われ(ステップ107)、次いで、
ジャンプ命令を生成する処理が行われて(ステップ10
8)、関数を終了する文を読みとばす処理が実行される
(ステップ109)。そして、再度一行ごとの構文解析
処理(ステップ101)に戻り、機械語生成が続行され
る。
The cause of the difference from the prior art of the present invention is that there is no argument of the function call statement. If this argument is not present, first, a process is executed to determine whether the sentence next to the sentence that calls the function is a sentence that ends the function in advance (step 106). If it is not the statement that terminates the function in step 106, the conventional process of generating a call instruction is executed (step 110). However, if the next statement is a statement that terminates the function, processing for generating a machine language that restores the stack used as the work area of the automatic variable is performed (step 107), and then
A process for generating a jump instruction is performed (step 10
8) Then, the process of skipping the sentence that ends the function is executed (step 109). Then, the process returns to the line-by-line parsing process (step 101) again, and the machine language generation is continued.

【0016】図2に示されるのは、本実施例のコンパイ
ラにより生成された機械語の一例であり、前述した図4
(b)の場合と同様に、プログラムが、引き数を使用し
ない関数の呼出しを行う文の直後に関数を終了させる文
がある場合における機械語生成例である。図4(a)の
機械語と比較して明らかなように、図4(a)における
関数に対するコール命令の機械語304の代りに、関数
に対するジャンプ命令の機械語309が生成され、しか
も、機械語309は、自動変数の作業領域として使用し
たスタックを元に戻す機械語307の後に移動されてい
る。そして、また、従来例におけるリターン命令の機械
語308が省略されている。このように、機械語が変更
され削除されることにより、プログラムの容量はリター
ン命令の分減少し、且つ呼出された関数からの復帰は、
自動的にこの関数を呼出した親の関数に直接復帰するこ
とになり、実行時間もリターン命令1個分減少してい
る。
FIG. 2 shows an example of the machine language generated by the compiler of this embodiment, which is shown in FIG.
Similar to the case of (b), it is a machine language generation example in the case where the program has a statement that terminates the function immediately after the statement that calls the function that does not use the argument. As is clear from comparison with the machine language of FIG. 4A, the machine language 309 of the jump instruction for the function is generated instead of the machine language 304 of the call instruction for the function in FIG. The word 309 has been moved after the machine word 307 that restores the stack used as the working area for the automatic variables. Further, the machine language 308 of the return instruction in the conventional example is omitted. In this way, by changing and deleting the machine language, the capacity of the program is reduced by the return instruction, and the return from the called function is
It automatically returns directly to the parent function that called this function, and the execution time is also reduced by one return instruction.

【0017】[0017]

【発明の効果】以上説明したように、本発明は、呼出す
関数の文に引き数がない場合、呼び出す関数の文の直後
に関数を終了する文があることを事前に検出することに
より、呼出した関数から一旦制御を元に戻して、改めて
関数を終了するという不用な機械語を削除して機械語の
容量を縮小し、且つ実行速度を向上させることができる
という効果がある。
As described above, according to the present invention, when a statement of a function to be called has no arguments, it is detected in advance that there is a statement to end the function immediately after the statement of the function to be called. There is an effect that it is possible to reduce the capacity of the machine language and improve the execution speed by deleting the unnecessary machine language of once returning the control from the function and ending the function again.

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

【図1】本発明の一実施例の機械語生成方法を示す流れ
図である。
FIG. 1 is a flowchart showing a machine language generation method according to an embodiment of the present invention.

【図2】本実施例により生成されたプログラムの機械語
例を示す図である。
FIG. 2 is a diagram showing an example of machine language of a program generated according to the present embodiment.

【図3】従来例の機械語生成方法を示す流れ図である。FIG. 3 is a flowchart showing a conventional machine language generation method.

【図4】従来例により生成されたプログラムの機械語例
を示す図である。
FIG. 4 is a diagram showing an example of machine language of a program generated by a conventional example.

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

101 1行ごとの構文解析処理 102 ファイルの終了か否かを判断する処理 103 関数の最初か否かを判断する処理 104 関数呼出しの文か否かを判断する処理 105 引き数があるか否かを判断する処理 106 関数呼出しの文の直後が関数を終了する文か
否かを判断する処理 107 関数を終了させるための自動変数の作業領域
として使用したスタックを元に戻す機械語を生成する処
理 108 ジャンプ命令を生成する処理 109 関数を終了する文を読みとばす処理 110、121 コール命令を生成する処理 120 引き数をスタックに設定する機械語を生成す
る処理 122 引き数として使用したスタックを元に戻す機
械語を生成する処理 130 関数を終了するか否かを判断する処理 131 自動変数の作業領域として使用するスタック
を確保する機械語を生成する処理 132 自動変数の作業領域として使用したスタック
を元に戻す機械語を生成する処理 133 リターン命令を生成する処理 140 その他の処理 301 関数内で使用する自動変数の作業領域として
使用するスタックを確保する機械語 302 その他の処理で生成された機械語の1組 303 引き数を使用する関数を呼出すために予め引
き数をスタックに設定する機械語 304 関数を呼出す機械語(コール命令) 305 呼出し関数から復帰後、引き数として使用し
たスタックを元に戻す機械語 306 その他の処理で生成された機械語の1組 307 自動変数の作業領域として関数内で使用した
スタックを元に戻す機械語 308 関数からの復帰をする機械語(リターン命
令) 309 関数への直接ジャンプ命令
101 line-by-line parsing process 102 process for determining whether the file ends 103 process for determining whether it is the beginning of a function 104 process for determining whether it is a function call statement 105 whether there is an argument Process 106 to determine whether the statement immediately after the function call statement is a statement to end the function 107 process to generate a machine language to restore the stack used as the work area of the automatic variable for ending the function 108 Process for generating jump command 109 Process for skipping statement that terminates function 110, 121 Process for generating call command 120 Process for generating machine language for setting argument to stack 122 Based on stack used as argument Process for generating machine language to be returned 130 Process for determining whether function is terminated 131 Process used as work area of automatic variable A process for generating a machine language that secures a memory 132 A process for generating a machine language that restores the stack used as a work area for automatic variables 133 A process for generating a return instruction 140 Other processes 301 Automatic variables used in a function A machine language that secures a stack to be used as a work area for 302 A set of machine languages generated by other processing 303 Machine language that sets arguments in advance to call a function that uses arguments 304 Calls a function Machine language (call instruction) 305 Machine language used to return the stack used as an argument after returning from the calling function 306 A set of machine language generated by other processing 307 Used as a work area for automatic variables in a function Machine language to restore the stack 308 Machine language to return from a function (return instruction) 309 Up instruction

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 関数呼出し時の引き数の受渡し領域、関
数呼出し後の戻り番地の設定領域および関数内で定義す
る自動変数の作業領域として、スタックを使用するコン
パイラの関数呼出し部の機械語生成処理において、少な
くとも、 引き数の有無を検出する処理手順と、 関数呼出しの文の直後に関数を終了する文の有無を検出
する処理手順と、 戻り番地をスタックに設定せずに呼出し関数に直接分岐
する機械語を生成する処理手順と、 を有することを特徴とするコンパイラ。
1. A machine language generation of a function call part of a compiler that uses a stack as an argument passing area when a function is called, a return address setting area after the function is called, and a work area of an automatic variable defined in the function. In the processing, at least the processing procedure to detect the presence or absence of arguments, the processing procedure to detect the presence or absence of the statement that terminates the function immediately after the statement of the function call, and the return address are not set in the stack and directly A processing procedure for generating a branching machine language, and a compiler.
JP24227391A 1991-09-24 1991-09-24 Compiler Pending JPH0581038A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24227391A JPH0581038A (en) 1991-09-24 1991-09-24 Compiler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24227391A JPH0581038A (en) 1991-09-24 1991-09-24 Compiler

Publications (1)

Publication Number Publication Date
JPH0581038A true JPH0581038A (en) 1993-04-02

Family

ID=17086811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24227391A Pending JPH0581038A (en) 1991-09-24 1991-09-24 Compiler

Country Status (1)

Country Link
JP (1) JPH0581038A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006126977A (en) * 2004-10-27 2006-05-18 Matsushita Electric Ind Co Ltd Program conversion device and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006126977A (en) * 2004-10-27 2006-05-18 Matsushita Electric Ind Co Ltd Program conversion device and method
US7856625B2 (en) 2004-10-27 2010-12-21 Panasonic Corporation Program conversion device and method

Similar Documents

Publication Publication Date Title
US5606697A (en) Compiler system for language processing program
JP2001184218A (en) Optimization method in compile of mpi program
US5815716A (en) Method for supporting multiple call interface conventions for computer programs using directives
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
JPH0581038A (en) Compiler
US20040015876A1 (en) Method and structure of implementing a safe pointer
JPH0581069A (en) Debugging method for program
KR100302566B1 (en) Apparatus for interpreting SFC in a control system
JP2679685B2 (en) Core file generation method
JP2001125793A (en) Compiler system, compile method and recording medium
JPH05197561A (en) Compilation system
JPH0962512A (en) Program transformation device and method having description language transformation function from low-class language to high-class language
JPH0619721A (en) Machine language translation optimizing system
JPH05143352A (en) Microprocessor
JPS5960641A (en) System for analyzing access relation
JPH0358232A (en) Preprocessor calling system
JPH0566949A (en) Calling system for function definition compiled code
JPS63316136A (en) Function call processing system
JPH01194053A (en) Processing system for command procedure
JPH04205430A (en) Program execution controller
JPH06314221A (en) Compiling system
JPH08263300A (en) Inline developing system
JPH0736708A (en) In-line expansion system
JPH05143356A (en) Compiler device
JPH0268631A (en) Subprogram generation processing method