JPH1021087A - Compiling method - Google Patents

Compiling method

Info

Publication number
JPH1021087A
JPH1021087A JP8188898A JP18889896A JPH1021087A JP H1021087 A JPH1021087 A JP H1021087A JP 8188898 A JP8188898 A JP 8188898A JP 18889896 A JP18889896 A JP 18889896A JP H1021087 A JPH1021087 A JP H1021087A
Authority
JP
Japan
Prior art keywords
function
compilation
language
names
compiling
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
JP8188898A
Other languages
Japanese (ja)
Inventor
Shigeru Imura
滋 井村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8188898A priority Critical patent/JPH1021087A/en
Publication of JPH1021087A publication Critical patent/JPH1021087A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a compiling method which has realized an efficient compilation. SOLUTION: This method consists of definitions of several functions, definitions of variables, and declarations of types, and all the names (function name, variable name, and type name) are declared and defined before use in principle, thereby compiling a high-level language. At this time, halfway results of the compilation process are held and when an undefined function is detected in the process of other compilation, a corresponding function is picked up among halfway results held in the compilation and used as the declaration of the function.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、コンパイル方法
に関し、例えばC言語及びC++言語のコンパイル(機
械語への翻訳)方法に利用して有効な技術に関するもの
である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a compiling method, and more particularly to a technique effective for compiling (translating into a machine language) a C language and a C ++ language.

【0002】[0002]

【従来の技術】高級言語は、その目的に応じて、科学技
術計算用と事務計算用又はこれを複合した言語等に広く
使われている。このような高級言語と実際にコンピュー
タでの情報処理に用いられる機械語とのギャップは大き
く、かかるギャップを埋めるための処理がコンパイル
(翻訳)である。このようなプログラム言語に関して
は、オーム社、昭和60年12月25日発行「マイクロ
コンピュータハンドブック」第497頁〜第532等が
ある。
2. Description of the Related Art High-level languages are widely used depending on the purpose, such as for scientific and technical calculations and business calculations, or in a combination of these. There is a large gap between such a high-level language and a machine language actually used for information processing in a computer, and a process for filling the gap is compilation (translation). Such a programming language is described in, for example, "Microcomputer Handbook", pp. 497-532, issued by Ohmsha on December 25, 1985.

【0003】高級言語の1つであるC言語は、上記文献
にも示されているように、1972年にアメリカのベル
研究所のリッチャー(D.Ritchie) により、BCP
L,Bなどの言語をもとに、PDP−11(ミニコンピ
ュータのアーキテクチャ)上のTSS(time sharing s
ystem)システムUNIX用の言語として設計されたもの
である。C言語は、システム記述用言語として、UNI
Xとともに発達した言語であり、その特徴としては次の
ことがあげられる。C++言語は、上記C言語の機能を
拡張したものである。
The C language, which is one of the high-level languages, was introduced in 1972 by D. Ritchie of Bell Laboratories in the United States as BCP, as shown in the above-mentioned document.
Based on languages such as L and B, TSS (time sharing s) on PDP-11 (minicomputer architecture)
ystem) It is designed as a language for the system UNIX. C language is UNI as a system description language.
It is a language developed with X, and its features are as follows. The C ++ language is an extension of the functions of the C language.

【0004】豊富な演算子やデータ型と構造的プログ
ラミングを容易にする制御構造を持つとともに、簡潔な
表現方法を採用しており、コンパクトなプログラムが書
ける。プログラムが小さいモジュール(=関数)の集
まりからなり、分割コンパイルが可能である。ビット
操作やアドレスポインタなどが扱え、機械語に近い形の
記述ができる。プリプロセッサがあり、マクロ機能が
使える。小さい言語なので処理も小さくすみ、また、
移植性も高い。
[0006] A compact program can be written by using abundant operators and data types and a control structure for facilitating structural programming, and employing a simple expression method. A program consists of a collection of small modules (= functions) and can be divided and compiled. It can handle bit operations and address pointers, and can describe in a form similar to machine language. It has a preprocessor and can use macro functions. Since it is a small language, processing can be small, and
High portability.

【0005】C言語の演算子とデータ型は、次の通りで
ある。C言語は、極めて豊富な演算子を持ち、通常の算
術・論理・関係演算子の他に、ビット処理用の各種演算
子、「if−then−else」を記述する条件演算
子、オブジェクトのアドレスを取り出す「&」などポイ
ンタ関係の演算子、オブジョクトのバイト数を取り出す
「sizeof」演算子、コンマ演算子、代入演算子な
どがあり、簡潔な表現を可能にしている。ある種の式
は、副作用を持ってもよく、例えば、変数に値を代入す
る操作は、代入式(代入値を値にとる)の副作用を引き
起こされる。例えば、a[i++]=(x+=2);な
る式は、 x=x+2;a[i]=x;i=i+1;と等しい効果
を持つ。
[0005] The C language operators and data types are as follows. The C language has an extremely rich set of operators, in addition to ordinary arithmetic, logical, and relational operators, various operators for bit processing, conditional operators for describing "if-then-else", and object addresses. There is a pointer-related operator such as "&" for extracting the number of bytes, a "sizeof" operator for extracting the number of bytes of an object, a comma operator, an assignment operator, and the like, which enable a simple expression. Certain expressions may have side effects, for example, an operation that assigns a value to a variable causes the side effect of an assignment expression (taking an assigned value as a value). For example, the expression a [i ++] = (x + = 2); has the same effect as x = x + 2; a [i] = x; i = i + 1;

【0006】変数は、記述領域の管理方式の違いにより
4種類に分けられる。すべての関数の外側で宣言し、1
つのソースファイル内では大域的変数の役割を果たす変
数を外部変数(extern) という。動的変数(auto) は、
関数が起動されるごとに生起、消滅する。これに対し
て、静的変数(static) は、プログラムの実行中はずっ
と存在し続ける。レジスタ変数(register) は、高速の
演算レジスタが割り当てられる。
[0006] Variables are classified into four types according to the difference in the description area management method. Declared outside all functions, 1
Variables that serve as global variables in one source file are called external variables (extern). The dynamic variable (auto)
Occurs and disappears each time the function is invoked. In contrast, static variables exist for the duration of a program. A high-speed operation register is assigned to a register variable (register).

【0007】C言語のデータ型は、大きくわけると基本
型と複合型に分類される。複合型は、基本的データ型を
もとに再復帰的に構成される。配列名は、その第0要素
の番地と同義であり、ポインタ変数と配列名とはほとん
ど同様に扱われ、整数との加減や比較も行える。例え
ば、int a[10]と宣言された配列aの要素の総
和は、for(p=a,sum=0;p<=a+9;p
++)sum+= *p;によりsumに得られる。関数
を表す型を関数型といい、関数が返す結果の型を定め
る。いくつかの型の変数の集まりを構造体(structure)
といい、これはPASCALのレコードに当たる。単一
の領域内で型やサイズの異なる種々のデータを保持する
ための変数を共用体(union)という。
The data types of the C language are broadly classified into basic types and composite types. The composite type is constructed recurrently based on the basic data type. The array name is synonymous with the address of the 0th element, and the pointer variable and the array name are treated almost in the same manner, and addition and subtraction and comparison with integers can be performed. For example, the sum of the elements of the array a declared as int a [10] is for (p = a, sum = 0; p <= a + 9; p
++) sum + = * p; The type that represents a function is called the function type, and determines the type of the result returned by the function. A collection of variables of some type is a structure
This is a PASCAL record. A variable that holds various data of different types and sizes in a single area is called a union.

【0008】C言語の文には、単純文(式の後ろに;を
付けたもの)と、複合文(局所宣言の並びとその後に文
の並びを置き、これらを{}でくくったもの、ブロック
ともいう)、条件文(if−then−else)、選
択文(switch)、繰り返し文(while,fo
r,do)、補助制御文(break,goto,re
turnなど)などがある。
[0008] C language statements include a simple statement (an expression followed by ";") and a compound statement (a list of local declarations followed by a statement, and these are enclosed by {}). Block), conditional statement (if-then-else), selection statement (switch), repetition statement (while, fo)
r, do), auxiliary control statements (break, goto, re)
turn, etc.).

【0009】C言語によるプログラムは、いくつかの関
数の定義、変数の定義及び型の宣言とから構成される。
1つのプログラムには必ずmainという名の関数が定
義されていなければならず、プログラムの実行はmai
nから開始される。関数は、関数名と仮引数の後ろに複
合文を書いたものである。関数に対するパラメータ結合
法は、値による呼出しだけであり、副作用を引き起こす
ためにはポインタを用いる。
A program in the C language is composed of several function definitions, variable definitions, and type declarations.
One program must define a function named "main".
n. A function is a compound statement written after the function name and formal parameters. The parameter binding method for functions is only a call by value, and uses pointers to cause side effects.

【0010】関数の定義や複合型のデータ型定義におい
ては再帰的定義が許されており、これにより簡潔明瞭な
関数の定義ができ、またリストや木などのように複雑な
構造を持つ動的データ構造を記述することができる。す
べての名前は使用前に宣言または定義されることが原則
で、その有効範囲はそれが定義されたブロック内(関数
も1つのブロックである)だけである。
A recursive definition is allowed in the definition of a function or a data type definition of a complex type. This allows a simple and clear definition of a function and a dynamic structure having a complicated structure such as a list or a tree. Data structures can be described. In principle, all names are declared or defined before use, and their scope is only within the block in which they are defined (functions are also one block).

【0011】[0011]

【発明が解決しようとする課題】上記のようにプログラ
ムには使用する関数が必ず宣言又は定義されていなけれ
ばないために、プログラムの変更等において煩わしいも
のとなっている。つまり、使用する関数の宣言又は定義
を行わないと、エラーとなってコンパイルの全過程がや
り直しとなってしまうという問題が生じる。
As described above, since a function to be used must be declared or defined in a program, it is troublesome to change the program. That is, if the function to be used is not declared or defined, an error occurs, and the entire compilation process is redone.

【0012】この発明の目的は、効率のよいコンパイル
を実現したコンパイル方法を提供することにある。この
発明の前記ならびにそのほかの目的と新規な特徴は、本
明細書の記述および添付図面から明らかになるであろ
う。
An object of the present invention is to provide a compiling method which realizes efficient compiling. The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.

【0013】[0013]

【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば、下
記の通りである。すなわち、いくつかの関数の定義、変
数の定義及び型の宣言とから構成されて、すべての名前
(関数名、変数名、型名)は使用前に宣言または定義さ
れることを原則とする高級言語のコンパイル方法におい
て、コンパイル処理の途中結果を保持させ、他のコンパ
イルの過程において未定義の関数を検出すると、上記コ
ンパイルにおいて保持された途中結果の中から対応する
関数を拾い出し、それを関数の宣言として利用する。関
数の宣言は、これから使用するかもしれない関数の名前
と型のみを記述することをいう。関数の定義は、「関数
を宣言」し、さらにその関数で何を処理するかを記述す
ることをいう。
The following is a brief description of an outline of a typical invention among the inventions disclosed in the present application. In other words, it consists of several function definitions, variable definitions, and type declarations, and all names (function names, variable names, and type names) must be declared or defined before use. In the language compilation method, the intermediate result of the compilation process is held, and if an undefined function is detected in another compilation process, the corresponding function is picked up from the intermediate result held in the above compilation, and the function is extracted. Use it as a declaration. Declaring a function refers to describing only the name and type of the function that may be used. Defining a function means "declaring a function" and further describing what the function does.

【0014】[0014]

【発明の実施の形態】図1には、この発明に係るコンパ
イル処理を行うための一実施例のシステム構成図が示さ
れている。特に制限されないが、コンパイラは、C言語
及びC++言語で書かれたソースプログラムを入力と
し、コンパイル処理により機械語からなるオブジェクト
プログラムに翻訳された出力を形成するものである。こ
のときのコンパイラは、例えばデータベースファイルを
使用し、各プログラムにおけるコンパイル途中結果であ
る上記関数の宣言に関する情報を保持させておくように
するものである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a system configuration diagram of an embodiment for performing a compiling process according to the present invention. Although not particularly limited, the compiler receives a source program written in the C language and the C ++ language and forms an output translated into an object program composed of a machine language by a compiling process. At this time, the compiler uses, for example, a database file to hold information on the declaration of the function, which is a result of compiling in each program.

【0015】図2には、上記データベースファイルに記
憶された関数の宣言に関する情報を利用したコンパイル
処理の一例を示すPAD(Problem Analysis Diagram)
図が示されている。関数のシンボルを読み込み、それを
関数xとし、シンボル宣言であるなら、xをデータベー
スファイルに登録する(1)、シンボル参照であると、
上記関数xがソースプログラム中に宣言されているかが
判定され、ソースプログラム中に宣言されてないとき
(no)の場合には従来のように直ちにエラーとして処
理するのではなく、上記関数xの宣言情報をデータベー
スファイル中に参照し、そこに他のプログラム等でのコ
ンパイルの途中結果の中に上記対応する関数xが存在す
るなら、上記関数xはかかるソースプログラム中に既に
宣言されたものと解釈して処理する(2)、同図では、
省略されているが、もしも上記データベースファイルの
中にも上記関数xが未定義なら従来のコンパイル方法と
同様に関数未定義エラーとする。
FIG. 2 shows a PAD (Problem Analysis Diagram) showing an example of a compiling process using information on the declaration of a function stored in the database file.
The figure is shown. The function symbol is read, and it is defined as a function x. If it is a symbol declaration, register x in a database file (1). If it is a symbol reference,
It is determined whether the function x is declared in the source program. If the function x is not declared in the source program (no), the function x is not immediately treated as an error as in the related art. Refers to the information in the database file, and if there is the corresponding function x in the result of compiling with another program, the function x is interpreted as having been declared in the source program. (2) In the figure,
Although omitted, if the function x is not defined in the database file, a function undefined error occurs as in the conventional compilation method.

【0016】図3には、C言語によるソースプログラム
の例が示されている。C言語では、BASICのような
プログラム行の概念がないが、説明の便宜のために同図
4ないし7のような仮の行番号を付して説明する。明細
書では、上記数字に括弧を付して(4)〜(7)のよう
に表している。int f(void);では、シンボ
ル(関数)fを宣言し(4)、f()ではそれを参照し
ている(5)。他のシンボル(関数)a,bは例えばi
nt a(void);int b(void);のよ
うな宣言(定義)をしないままに、a();での参照
(6)及びb(1,2L);の参照を行っている
(7)。従来のコンパイル方法では、ソースプログラム
にかかる未宣言のシンボルaやbが存在した場合、エラ
ーとなり、ソースプログラムに上記int a(voi
d);やint b(void);のようにシンボル
a,bの宣言を必要とする。
FIG. 3 shows an example of a source program in C language. In C language, there is no concept of a program line as in BASIC, but for convenience of explanation, description will be given with temporary line numbers as shown in FIGS. In the specification, parentheses are added to the above numbers and are expressed as (4) to (7). int f (void); declares a symbol (function) f (4), and f () refers to it (5). Other symbols (functions) a and b are, for example, i
The reference (6) in a (); and the reference in b (1, 2L); are made without declaration (definition) such as nt a (void); int b (void); ). In the conventional compiling method, if there is an undeclared symbol a or b in the source program, an error occurs, and the int a (voi
d); and int b (void); require declaration of symbols a and b.

【0017】しかしながら、この発明に係るコンパイル
方法では、未宣言のシンボルa,bを検出すると、デー
タベースファイルが参照される。つまり、図4(A)の
ようにデータベースファイルの中に、他のプログラムで
の定義によりシンボル名と属性(引数)が登録されてい
ると、かかる宣言情報をデータベースファイルから取得
し、aとbがソースプログラム中に既に宣言されたもの
と解釈して処理する。したがって、図3のようなソース
プログラムをコンパイルした後では、データベースファ
イルは図4(B)のように既に他のプログラムにおいて
宣言された上記シンボルaとbに加えてこのプログラム
にてシンボルfの宣言が追加登録される。
However, in the compiling method according to the present invention, when undeclared symbols a and b are detected, the database file is referred to. That is, as shown in FIG. 4A, if a symbol name and an attribute (argument) are registered in a database file by definition in another program, such declaration information is acquired from the database file, and a and b Is interpreted as being already declared in the source program. Therefore, after compiling the source program as shown in FIG. 3, the database file contains the declaration of the symbol f in this program in addition to the symbols a and b already declared in another program as shown in FIG. 4B. Is additionally registered.

【0018】上記の実施例から得られる作用効果は、下
記の通りである。 (1) いくつかの関数の定義、変数の定義及び型の宣
言とから構成されてなり、すべての名前(関数名、変数
名、型名)は使用前に宣言または定義されることを原則
とする高級言語のコンパイル方法において、コンパイル
処理の途中結果を保持させ、他のコンパイルの過程にお
いて未定義の関数を検出すると、上記コンパイルにおい
て保持された途中結果の中から対応する関数を拾い出
し、それを関数の宣言として利用することにより、効率
のよいコンパイル処理が実現できるという効果が得られ
る。
The functions and effects obtained from the above embodiment are as follows. (1) Consisting of several function definitions, variable definitions, and type declarations, all names (function names, variable names, and type names) must be declared or defined before use. In the high-level language compilation method, the intermediate result of the compilation process is held, and if an undefined function is detected in another compilation process, the corresponding function is picked up from the intermediate result held in the compilation, and Is used as a function declaration, an effect is obtained that an efficient compilation process can be realized.

【0019】(2) 上記(1)により、プログラムの
開発において、ソースプログラムの一部の修正や変更時
に、変更前の宣言が有効に利用でき全てのシンボルに付
いての見直しをすることなく、追加すべきシンボルだけ
を宣言すればよいから、効率のよいプログラムの修正や
変更が可能になるという効果が得られる。
(2) According to the above (1), in the development of a program, when a part of the source program is modified or changed, the declaration before the change can be effectively used, and without reviewing all the symbols, Since it is only necessary to declare symbols to be added, it is possible to obtain an effect that the program can be efficiently modified or changed.

【0020】以上本発明者よりなされた発明を実施例に
基づき具体的に説明したが、本願発明は前記実施例に限
定されるものではなく、その要旨を逸脱しない範囲で種
々変更可能であることはいうまでもない。例えば、高級
言語は、上記のようにいくつかの関数の定義、変数の定
義及び型の宣言とから構成されてなり、すべての名前
(関数名、変数名、型名)は使用前に宣言または定義さ
れることを原則とするものであれば何であってもよい。
Although the invention made by the inventor has been specifically described based on the embodiments, the invention of the present application is not limited to the above embodiments, and various modifications can be made without departing from the gist of the invention. Needless to say. For example, a high-level language consists of several function definitions, variable definitions, and type declarations as described above, and all names (function names, variable names, and type names) must be declared or used before use. Anything can be used as long as it is defined in principle.

【0021】[0021]

【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記の通りである。すなわち、いくつかの関数の定義、変
数の定義及び型の宣言とから構成されてなり、すべての
名前(関数名、変数名、型名)は使用前に宣言または定
義されることを原則とする高級言語のコンパイル方法に
おいて、コンパイル処理の途中結果を保持させ、他のコ
ンパイルの過程において未定義の関数を検出すると、上
記コンパイルにおいて保持された途中結果の中から対応
する関数を拾い出し、それを関数の宣言として利用する
ことにより、効率のよいコンパイル処理が実現できる。
The effects obtained by typical ones of the inventions disclosed in the present application will be briefly described as follows. In other words, it consists of several function definitions, variable definitions, and type declarations, and all names (function names, variable names, and type names) must be declared or defined before use. In the high-level language compilation method, the intermediate result of the compilation process is held, and if an undefined function is detected in another compilation process, the corresponding function is picked up from the intermediate result held in the compilation, and By using it as a function declaration, efficient compile processing can be realized.

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

【図1】この発明に係るコンパイル処理を行うための一
実施例を示すシステム構成図である。
FIG. 1 is a system configuration diagram showing one embodiment for performing a compiling process according to the present invention.

【図2】図1に示されたデータベースファイルを使用し
たコンパイル処理の一例を示すPAD図である。
FIG. 2 is a PAD diagram showing an example of a compiling process using the database file shown in FIG. 1;

【図3】この発明を説明するためのC言語の一例を示す
ソースプログラム構成図である。
FIG. 3 is a source program configuration diagram showing an example of the C language for describing the present invention.

【図4】この発明の説明するためのデータベースファイ
ルの記録例を示すシンボル構成図である。
FIG. 4 is a symbol configuration diagram showing a recording example of a database file for explaining the present invention.

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

1…シンボル登録処理、2…シンボル取得処理、4…シ
ンボル宣言、5〜7…シンボル参照。
1 ... Symbol registration processing, 2 ... Symbol acquisition processing, 4 ... Symbol declaration, 5-7 ... Symbol reference.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 いくつかの関数の定義、変数の定義及び
型の宣言とから構成され、すべての名前(関数名、変数
名、型名)は使用前に宣言または定義されることを原則
とする高級言語のコンパイル方法において、コンパイル
処理の途中結果を保持させ、他のコンパイルの過程にお
いて未定義の関数を検出すると、上記のコンパイルにお
いて保持された途中結果の中から対応する関数を拾い出
し、それを関数の宣言として利用することを特徴とする
コンパイル方法。
(1) It consists of several function definitions, variable definitions and type declarations. In principle, all names (function names, variable names, type names) are declared or defined before use. In the high-level language compilation method, the intermediate result of the compilation process is held, and if an undefined function is detected in another compilation process, the corresponding function is picked up from the intermediate result held in the above compilation, A compilation method characterized by using it as a function declaration.
【請求項2】 上記高級言語は、C言語及びC++言語
であることを特徴とする請求項1コンパイル方法。
2. The compiling method according to claim 1, wherein said high-level languages are C language and C ++ language.
JP8188898A 1996-06-28 1996-06-28 Compiling method Pending JPH1021087A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8188898A JPH1021087A (en) 1996-06-28 1996-06-28 Compiling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8188898A JPH1021087A (en) 1996-06-28 1996-06-28 Compiling method

Publications (1)

Publication Number Publication Date
JPH1021087A true JPH1021087A (en) 1998-01-23

Family

ID=16231819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8188898A Pending JPH1021087A (en) 1996-06-28 1996-06-28 Compiling method

Country Status (1)

Country Link
JP (1) JPH1021087A (en)

Similar Documents

Publication Publication Date Title
US11036614B1 (en) Data control-oriented smart contract static analysis method and system
US5586328A (en) Module dependency based incremental compiler and method
US8156471B2 (en) Multi-language execution method
Plattner Real-time execution monitoring
EP1636701A2 (en) An intermediate representation for multiple exception handling models
US6330714B1 (en) Method and computer program product for implementing redundant lock avoidance
US6233732B1 (en) Compiling system using intermediate codes to store a plurality of values
JPH1021087A (en) Compiling method
Hannan et al. Higher-order arity raising
Dandanell Rigorous development using RAISE
Plasmeijer Clean: a programming environment based on term graph rewriting
Pettersson et al. DML-a meta-language and system for the generation of practical and efficient compilers from denotational specifications.
JPH09179738A (en) Object-oriented language processing method and processor
Dong et al. An object-oriented denotational semantics of a small programming language
JPH0520093A (en) Method and device for compilation of module
JP3018783B2 (en) Compilation method
JPH1195995A (en) Device and method for analyzing data flow, and recording medium recording computer program therefor
JPH0695890A (en) Name replacement system in compiler
Sastry Efficient array update analysis of strict functional languages
JP3424596B2 (en) Method and apparatus for caching symbol reference information
Barendsen et al. Uniqueness typing in natural deduction style
JPH07239789A (en) Data code processing system
Lilius OOB (PN) 2: An Object Oriented Petri Net Programming Notation (A Status Report)
JPS62137641A (en) High-grade language compiler
JPH07129408A (en) Executing system for language processing program

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080414

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 11

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140414

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees