JPH06230976A - 参照をリゾルブする方法および装置 - Google Patents
参照をリゾルブする方法および装置Info
- Publication number
- JPH06230976A JPH06230976A JP5339905A JP33990593A JPH06230976A JP H06230976 A JPH06230976 A JP H06230976A JP 5339905 A JP5339905 A JP 5339905A JP 33990593 A JP33990593 A JP 33990593A JP H06230976 A JPH06230976 A JP H06230976A
- Authority
- JP
- Japan
- Prior art keywords
- code
- data
- program
- routine
- symbol
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
るバイブリッド・コンパイラ・インタプリタを得る。 【構成】 ソース・プログラム・コードを「コンパイル
する」ためのコンパイラと、「コンパイルされた」コー
ドを解釈するためのインタプリタとを備える。コンパイ
ラは、データ参照がシンボル参照で行われる中間形式の
コードを発生する。一方インタプリタにおいては、ダイ
ナミック・フィールド参照ルーチンが、呼び出される
と、シンボル参照を数値参照へ書き替えた後で、プログ
ラム実行を次の命令へ進ませることなしに、主解釈ルー
チンへ戻ることにより、数値参照をもつ書き替えられた
命令を再実行できるようにする。スタチック・フィール
ド参照ルーチンが、呼び出されると、プログラムのため
のデータを数値参照を基にしてデータ・オブジェクトか
ら得た後で、主解釈ルーチンへ戻る前に、プログラム実
行を次の命令へ進ませる。主解釈ルーチンが、命令中の
データ参照がシンボル参照であるか、数値参照であるか
に応じて、2つのデータ参照取扱いルーチンを選択的に
呼び出す。
Description
に関するものであり、とくに、プログラミング言語コン
パイラおよびインタプリタに関するものである。更に詳
しくいえば、本発明はコンパイラが発生したオブジェク
ト・コードにおける参照をリゾルブ(解決)することに
関するものである。
含めて、最近のプログラミング言語のインプルメンテー
ションは2つの部類、すなわち、コンパイルされるもの
と解釈(インタープリテーション)されるもの、に全体
としてまとめられる。
いては、コンピュータプログラム(コンパイラと呼ばれ
る)がソース・プログラムをコンパイルし、特定のコン
ピュータ・アーキテクチャのための実行可能なコードを
発生する。発生されたコード中のデータの参照は、実行
の前に、プログラムが取り扱うデータ・オブジェクトの
レイアウトを基にしてリゾルブ(解決)され、それによ
り実行可能なコードがデータの場所によりそれらのデー
タを参照できるようにする。たとえば、点のx座標とy
座標をそれぞれ表す2つの変数xとyを含む点データ・
オブジェクトを取り扱うプログラムについて考え、かつ
点データ・オブジェクトの各インスタンスに、変数xと
yにスロット1と2がそれぞれ割り当てられると仮定す
る。したがって、図1に示されているロード命令14の
ような、yをアクセスないしフェッチする命令が、命令
シーケンスが実行される前に割り当てられたスロット2
により変数yを参照するためにリゾルブされる。上記の
ようにしてコードを発生し、データ参照をリゾルブする
プログラミング言語コンパイラの特定の例はCコンパイ
ラとC+コンパイラを含む。
オブジェクト指向プログラミングの下でしばしば起きる
ことである、プログラムがこま切れに作成される時に問
題が生ずる。たとえば、あるプログラムはライブラリお
よび主プログラムから作成できる。ライブラリに対し
て、それが実現するデータ・オブジェクトの1つのレイ
アウトに変更が生じるような変更が加えられると、その
ライブラリのクライアントは、主プログラムと同様に、
再びコンパイルされる必要がある。前の例において、最
初に呼ばれた名称(この名称はその点の名称を含む)に
おいて点データ・オブジェクトに新しいフィールドが付
加されたとすると、変数xとyをスロット2と3へ割り
当てることができる。コンパイルされた既存のプログラ
ムは、スロット1と2の中にある変数xとyを正しく実
行するためにそれらの変数を再びコンパイルせねばなら
ないことを仮定している。
・プログラム(翻訳プログラムと呼ばれている)がプロ
グラムのソース・ステートメントを、典型的には、どの
命令セットからも独立に、ある中間形式へ翻訳する。中
間形式のデータの参照は、プログラムが取り扱うデータ
・オブジェクトのレイアウトを基にして実行する前は完
全にはリゾルブされない。その代わりに、データの参照
はシンボル・ベースで行われる。したがって、図1に示
されているロード命令14′のような、yをアクセスま
たはフェッチする命令がシンボル(記号)名「y」によ
り変数yを参照する。中間形式のプログラムは、中間形
式のコードを介して走査する別のプログラム(インタプ
リタと呼ばれている)により実行され、指示された動作
を行う。シンボル参照を含んでいる命令が解釈されるた
びに、実行中に各シンボル参照はリゾルブされる。ソー
ス・コードを中間形式のコードへ翻訳(トランスレーシ
ョン)し、上記のようにしてデータを参照するプログラ
ミング言語の特定の例がBASICインタプリタであ
る。
ま切れに作成される場合には、「コンパイルされる」や
り方において生ずる諸問題が避けられる。しかし、実行
時点で、解釈の余分なレベルがあるので、シンボル参照
を含む命令が解釈されるたびに、実行は非常に遅くされ
る。
イルされる」やり方の実行性能を提供すると同時に、コ
ンパイルされたプログラムを再びコンパイルすることを
要することなしに、データ・オブジェクトを変更するた
めに「解釈される」やり方の融通性を提供するやり方で
プログラミング言語を実現できるならば、それは望まし
いことである。後で開示するように、本発明は希望の結
果を達成する、コンパイラが発生したオブジェクト・コ
ードにおいてデータ参照をリゾルブする方法および装置
を提供するものである。
生されたコードにおいてデータ参照をリゾルブする方法
および装置を提供するものである。本発明の方法および
装置は、従来のコンパイルされるやり方にほぼ類似する
実行性能と、従来の解釈されるやり方に類似するデータ
・オブジェクト変更の融通性とを提供するものである。
本発明の方法および装置は、コンピュータ装置において
オブジェクト指向プログラミング言語を実現することに
とくに応用される。
ソース・プログラム・コードを「コンパイルする」ため
のコンパイラと、「コンパイルされた」コードを解釈す
るためのインタプリタとを備えるハイブリッド・コンパ
イラ・インタプリタがコンピュータ装置のために提供さ
れる。コンパイラは、中間形式でコードを発生し、デー
タ参照をシンボルを基にして行うコード発生器を備え
る。インタプリタは主解釈ルーチンと、2つのデータ参
照取扱いルーチンと、数値参照を取り扱うためのスタチ
ック・フィールド参照ルーチンと、シンボル参照を取り
扱うためのダイナミック・フィールド参照ルーチンとを
備える。ダイナミック・フィールド参照ルーチンは、呼
び出された時は、シンボル参照をリゾルブし、シンボル
参照を数値参照へ書き替える。書き替えた後は、ダイナ
ミック・フィールド参照ルーチンは、プログラム実行を
次の命令へ進ませることなしに、インタプリタへ戻るこ
とにより数値参照を有する書き替えられたプログラムを
再び実行できるようにする。スタチック・フィールド参
照ルーチンは、呼び出された時は、数値参照を基にして
データ・オブジェクトからプログラムのためのデータを
得る。データを得た後で、スタチック・フィールド参照
ルーチンは、インタプリタへ戻る前に、プログラム実行
を次の命令へ進ませる。主インタプリタ・ルーチンは、
命令中のデータ参照がシンボル参照であるか、数値参照
であるかに応じて、2つのデータ参照取扱いルーチンを
選択的に呼び出す。
た」中間形式のオブジェクト・コードは、従来のコンパ
イルされたオブジェクト・コードの実行性能に十分に類
似する実行性能を達成し、しかも、それにより取り扱わ
れるデータ・オブジェクトが従来の翻訳されたコードに
類似して変更される時には、データ参照のリゾルブがデ
ータ参照を持つ発生された命令が最初に実行された時に
行われるから、再びコンパイルする必要はないという融
通性を持つ。
発生し、発生されたコード中のデータ参照をリゾルブす
る方法および装置について開示する。この方法および装
置は、従来のコンパイルされたオブジェクト・コードの
実行性能に十分に類似する実行性能と、従来の解釈され
るやり方に類似してデータ・オブジェクトを変更する融
通性とを提供するものである。この方法および装置は、
オブジェクト指向プログラミング言語への応用に適す
る。以下の説明においては、本発明を完全に理解できる
ようにするために、特定の数、特定の材料、特定のビッ
ト数、および特定の構成について述べる。しかし、それ
らの特定の詳細なしに本発明を実施できることが当業者
には明らかであろう。他の場合には、本発明を不必要に
あいまいにしないようにするために、周知の装置は線図
またはブロック図で示してある。
ータ装置の例が示されている図2と図3を参照する。図
2に示すように、例としてのコンピュータ装置20が中
央処理装置(CPU)22と、メモリ24と、I/Oモ
ジュール26とを備える。また、コンピュータ装置20
はいくつかの入力/出力装置30といくつかの記憶装置
28も備える。CPU22はメモリ22とI/Oモジュ
ール26へ結合される。入力/出力装置30と記憶装置
28もI/Oモジュール26へ結合される。I/Oモジ
ュール26はネットワーク32へ結合される。
ュール26と、入力/出力装置30と、記憶装置28と
は、本発明を実施するためにどのように用いられるかを
除き、ほとんどのコンピュータ装置において見出される
広い種類のそれらのハードウェア素子を表すことを意図
するものである。それらの素子の構成と基本的な機能は
周知であるから、ここではこれ以上の説明は省略する。
ンピュータ装置のソフトウェア要素はオペレーティング
システム36と、本発明の教示により組み込まれている
ハイブリッド・コンパイラ・インタプリタ38と、この
ハイブリッド・コンパイラ・インタプリタ38を用いて
コンパイルされ、かつ解釈されるアプリケーション40
とを備える。オペレーティングシステム36とアプリケ
ーション40は、多くのコンピュータ装置において見出
される広い種類のそれらのソフトウェア要素を表すこと
を意図するものである。それらの構成と基本的な機能は
周知であるから、ここではこれ以上の説明は省略する。
ハイブリッド・コンパイラ・インタプリタ38について
は後で残りの図を参照して詳しく説明する。
・インタプリタのコンパイラを示す2つのブロック図が
示されている図4と図5を参照する。図4には、語い分
析および文構成要素分析器(lexical anal
yzer and parser)44と、中間表現構
成器(intermediate represent
atim builder)46と、意味分析器(se
mantic analyzer)48と、コード発生
器50を備えるコンパイラ42の一実施例が示されてい
る。それらの要素は順次互いに結合される。それととも
に、それらの要素はプログラム・ソース・コードをトー
クン化されたステートメント54と、中間表現56と、
注釈を施された中間表現58とへ変換し、かつ最終的に
は中間形式コード60へ変換する。この場合にはデータ
参照はシンボルを基にして行われる。語い分析および文
構成要素分析器44と、中間表現構成器46と、意味分
析器48とは、ほとんどのコンパイラにおいて見出され
る広い種類のそれらの要素を表すことを意図するもので
ある。それらの要素の構成と基本的な機能は周知である
から、ここではこれ以上の説明は省略する。同様に、各
種の周知のトークンと、各種の中間表現と、各種の中間
形式も本発明を実施するために使用できる。
主コード発生ルーチン62と、ADDコード発生ルーチ
ン64およびIFコード発生ルーチン66のような、各
種のオペーレータを取り扱うためのいくつかの相補オペ
ーレータ特有コード発生ルーチンと、データ参照取扱い
ルーチン68とを備える。発生されたコード60が中間
形式であること、および発生されたコード中のデータ参
照がシンボルを基にして行われることを除き、主コード
発生ルーチン62と、オペーレータに特有コード発生ル
ーチン(たとえば、64または66)と、データ参照取
扱いルーチン68とはほとんどのコンパイラにおいて見
出される広い種類のそれらの要素を表すことを意図する
ものである。それらの要素の構成と基本的な機能は周知
であるから、ここではこれ以上の説明は省略する。
器と、意味分析器と、コード発生器との詳細について
は、アホ(A.V.Aho)、セジ(R.Seth
i)、アルマン(J.D.Ullman)著「コンパイ
ラの原理、技術およびツール(Compillers
principles,Techniques and
Tools)」(Addison−Wesley,1
986)25〜388および463〜512ページを参
照されたい。
・インタプリタのインタプリタの一実施例を示す2つの
ブロック図、およびデータ参照を示すそれの動作流れ図
が示されている図6と図7を参照する。図6に示すよう
に、インタプリタ70は主解釈ルーチン72と、ADD
コード解釈ルーチン74およびIF解釈ルーチン76の
ような、いくつかの相補オペーレータ特有解釈ルーチン
(complimentary operator s
pecific interpretation ro
utines)と、2つのデータ参照解釈ルーチンと、
スタチック・フィールド参照ルーチン(SFR)78
と、ダイナミック・フィールド参照ルーチン(DFR)
80とを備える。主解釈ルーチン72は、中間形式のオ
ブジェクト・コードのバイト・コード82を入力として
受け、それらのコードを解釈し、オペーレータ特有解釈
ルーチン(たとえば、74、76)と、データ参照ルー
チン78、80を必要に応じて呼び出す。データ参照を
取り扱うために主解釈ルーチン72およびスタチック・
フィールド参照ルーチン78がダイナミック・フィール
ド参照ルーチン80と協働する態様とダイナミック・フ
ィールド参照ルーチン80とを除き、主解釈ルーチン7
2と、オペーレータ特有解釈ルーチン(たとえば、7
4、76)と、スタチック・フィールド参照ルーチン7
8とはほとんどのコンパイラおよびインタプリタにおい
て見出される広い種類のそれらの要素を表すことを意図
するものである。それらの要素の構成と基本的な機能は
周知であるから、ここではこれ以上の説明は省略する。
ードを受けると(ブロック86)、主解釈ルーチンは、
データ参照がスタチック、すなわち、数値であるか、ま
たはダイナミックすなわちシンボルであるかを判定する
(ブロック88)。データ参照がシンボル参照であると
すると(分岐88b)、主解釈ルーチンはダイナミック
・フィールド参照ルーチンを呼び出す(ブロック9
0)。呼び出されると、ダイナミック・フィールド参照
ルーチンはシンボル参照をリゾルブし、中間形式オブジ
ェクト・コード中のシンボル参照を数値参照として書き
替える(ブロック92)。オブジェクト・コード中のデ
ータ参照を書き替えると、ダイナミック・フィールド参
照ルーチンは、プログラム・カウンタを進ませることな
しに、主解釈ルーチンへ戻る(ブロック100)。その
結果、書き替えられた数値データ参照を持つ命令が再び
再実行されることになる。
されたとすると(分岐88a)、主解釈ルーチンはスタ
チック・フィールド参照ルーチンを呼び出す(ブロック
94)。呼び出されると、スタチック・フィールド参照
ルーチンは数値参照により参照されるデータを得る(ブ
ロック96)。データを得ると、スタチック・フィール
ド参照ルーチンは、プログラム・カウンタを進ませ(ブ
ロック98)、主解釈ルーチンへ戻る(ブロック10
0)。
き替えを示すブロック図が詳細に示されている図8を参
照する。図示のように、LOAD命令14″のようなデ
ータ参照命令がシンボル参照、たとえば、「y」をとも
なって最初に発生される。実行におけるその最初の解釈
においては、データ参照命令(たとえば、14)がダイ
ナミックにリゾルブされ、数値参照(たとえば、スロッ
ト2)で書き替えられる。したがって、最初の実行を除
き、シンボル参照をリゾルブするための解釈の余分なレ
ベルはもはや必要ではない。したがって、本発明の下に
おいては、プログラムの「コンパイルされた」中間形式
オブジェクト・コードが、従来のコンパイルされたオブ
ジェクト・コードの実行性能に十分に類似する実行性能
を達成し、しかも、従来の翻訳されたコードの融通性と
同様に、それが取り扱うデータ・オブジェクトが変更さ
れた時に再コンパイルする必要がないという融通性を持
つ。というのは、シンボル参照を含む発生された命令の
最初の実行時にデータ参照リゾルブが行われるからであ
る。
のコンパイルされるやり方および従来の解釈されるやり
方を示す。
例を示す。
示す。
リタのコンパイラの一実施例を示す。
示す。
リタのインタプリタおよびオペレータ実現の一実施例を
示す。
ールド参照ルーチンと、ダイナミック・フィールド参照
ルーチンとの協働する動作流れ図を示す。
び書き替えの例を示す。
Claims (2)
- 【請求項1】 ソース・コード形式のプログラムを備え
るコンピュータ装置において、下記の過程を備え、かつ
過程b)〜d)を繰り返し、かつインターリーブ的に実
行する、前記プログラムのための実行可能なコードを発
生し、その発生されたコード中のデータ参照をリズルブ
する方法。 a)ソース・コード形式の前記プログラムのための実行
可能なコードを中間形式で発生する過程であって、デー
タ参照は前記発生されたコード中でシンボルを基にして
行われ、前記発生されたコードは前記コンピュータ装置
の複数の命令を備えている、中間形式で発生する過程。 b)プログラム実行制御に従って、前記命令を1度に1
つずつ解釈する過程。 c)前記シンボル参照を対応する数値参照へリゾルブさ
せ、前記シンボル参照を対応する数値参照で置き換え、
前記命令が解釈されている間に、前記シンボル参照に遭
遇するにつれて、プログラム実行を進ませることなしに
解釈を続行する過程。 d)前記数値参照に従ってデータを得、前記命令が解釈
されている間に、前記数値参照に遭遇するにつれて、プ
ログラム実行を進ませた後で解釈を続行する過程。 - 【請求項2】 ソース・コード形式のプログラムを備え
るコンピュータ装置において、 a)ソース・コード形式の前記プログラムを受け、ソー
ス・コード形式の前記プログラムのための実行可能なコ
ードを中間形式で発生するコンパイル手段であって、発
生されたコードによりシンボル・ベースでデータ参照が
なされ、発生されたコードが前記コンピュータ装置の複
数の命令を有している、コンパイル手段と、 b)前記発生されたコードを受け、前記命令を1度に1
つずつ解釈する解釈手段と、 c)この解釈手段へ結合され、前記シンボル参照を対応
する数値参照へリゾルブさせ、前記シンボル参照を対応
する数値参照で置き換え、前記命令が前記解釈手段によ
り解釈されている間に、前記シンボル参照に遭遇するに
つれて、プログラム実行を進ませることなしに前記解釈
手段により解釈を続行するダイナミック参照取扱い手段
と、 d)前記解釈手段へ結合され、前記数値参照に従ってデ
ータを得、前記命令が前記解釈手段により解釈されてい
る間に、前記数値参照に遭遇するにつれて、プログラム
実行を進ませた後で前記解釈手段により解釈を続行する
スタチック参照取扱い手段と、を備え、前記プログラム
のための実行可能なコードを発生し、その発生されたコ
ード中のデータ参照をリゾルブする装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US994,655 | 1992-12-22 | ||
| US07/994,655 US5367685A (en) | 1992-12-22 | 1992-12-22 | Method and apparatus for resolving data references in generated code |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06230976A true JPH06230976A (ja) | 1994-08-19 |
Family
ID=25540895
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5339905A Pending JPH06230976A (ja) | 1992-12-22 | 1993-12-07 | 参照をリゾルブする方法および装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US5367685A (ja) |
| EP (3) | EP0604002B1 (ja) |
| JP (1) | JPH06230976A (ja) |
| DE (1) | DE69328665T2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000311091A (ja) * | 1999-04-28 | 2000-11-07 | Nec Corp | シンボル参照情報のキャッシュ方法ならびに装置 |
| JP2006526841A (ja) * | 2003-06-02 | 2006-11-24 | サン・マイクロシステムズ・インコーポレイテッド | バーチャルマシンにおいてインプレース実行を支援するための近接ベースのアドレス指定 |
| JP2012053679A (ja) * | 2010-09-01 | 2012-03-15 | Internatl Business Mach Corp <Ibm> | 最適化装置、最適化方法およびコンパイラ・プログラム |
Families Citing this family (174)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5748963A (en) * | 1995-05-12 | 1998-05-05 | Design Intelligence, Inc. | Adaptive binding |
| US5896535A (en) * | 1996-08-20 | 1999-04-20 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for testing computer system software |
| US6186677B1 (en) * | 1996-08-27 | 2001-02-13 | Compuware Corporation | Byte code instrumentation |
| US5875335A (en) * | 1996-09-30 | 1999-02-23 | Apple Computer, Inc. | Parameter marshaling techniques for dynamic object-oriented programming languages |
| US5911069A (en) * | 1996-09-30 | 1999-06-08 | Apple Computer, Inc. | Exception handling techniques for native methods bound to SOM classes |
| US5930480A (en) * | 1996-10-10 | 1999-07-27 | Apple Computer, Inc. | Software architecture for controlling data streams based on linked command blocks |
| BR9713267A (pt) | 1996-10-25 | 2004-06-15 | Schlumberger Systems & Service | Cartão de circuito integrado para uso com um terminal, processo para uso com o mesmo, microcontrolador e processo para sua programação |
| US5923878A (en) * | 1996-11-13 | 1999-07-13 | Sun Microsystems, Inc. | System, method and apparatus of directly executing an architecture-independent binary program |
| CA2194848C (en) * | 1997-01-10 | 2003-12-23 | Loran Network Systems, Llc | Condition handling using script interpreters |
| US5907707A (en) * | 1997-01-14 | 1999-05-25 | International Business Machines Corporation | Object model for Java |
| US5920876A (en) * | 1997-04-23 | 1999-07-06 | Sun Microsystems, Inc. | Performing exact garbage collection using bitmaps that identify pointer values within objects |
| US5903899A (en) * | 1997-04-23 | 1999-05-11 | Sun Microsystems, Inc. | System and method for assisting exact Garbage collection by segregating the contents of a stack into sub stacks |
| US6098089A (en) * | 1997-04-23 | 2000-08-01 | Sun Microsystems, Inc. | Generation isolation system and method for garbage collection |
| US5845298A (en) * | 1997-04-23 | 1998-12-01 | Sun Microsystems, Inc. | Write barrier system and method for trapping garbage collection page boundary crossing pointer stores |
| US5911144A (en) * | 1997-04-23 | 1999-06-08 | Sun Microsystems, Inc. | Method and apparatus for optimizing the assignment of hash values to nodes residing in a garbage collected heap |
| US6115782A (en) * | 1997-04-23 | 2000-09-05 | Sun Micosystems, Inc. | Method and apparatus for locating nodes in a carded heap using a card marking structure and a node advance value |
| US5915255A (en) * | 1997-04-23 | 1999-06-22 | Sun Microsystems, Inc. | Method and apparatus for referencing nodes using links |
| US5900001A (en) * | 1997-04-23 | 1999-05-04 | Sun Microsystems, Inc. | Method and apparatus for optimizing exact garbage collection using a bifurcated data structure |
| US5953736A (en) | 1997-04-23 | 1999-09-14 | Sun Microsystems, Inc. | Write barrier system and method including pointer-specific instruction variant replacement mechanism |
| US6038572A (en) * | 1997-04-23 | 2000-03-14 | Sun Microsystems, Inc. | Method and apparatus for localizing nodes in a garbage collected carded heap |
| US5903900A (en) * | 1997-04-23 | 1999-05-11 | Sun Microsystems, Inc. | Method and apparatus for optimizing exact garbage collection of array nodes in a carded heap |
| US6668325B1 (en) | 1997-06-09 | 2003-12-23 | Intertrust Technologies | Obfuscation techniques for enhancing software security |
| US6513156B2 (en) | 1997-06-30 | 2003-01-28 | Sun Microsystems, Inc. | Interpreting functions utilizing a hybrid of virtual and native machine instructions |
| US6317872B1 (en) * | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
| US6317796B1 (en) * | 1997-10-06 | 2001-11-13 | Sun Microsystems, Inc. | Inline database for receiver types in object-oriented systems |
| US6075935A (en) * | 1997-12-01 | 2000-06-13 | Improv Systems, Inc. | Method of generating application specific integrated circuits using a programmable hardware architecture |
| US6081665A (en) * | 1997-12-19 | 2000-06-27 | Newmonics Inc. | Method for efficient soft real-time execution of portable byte code computer programs |
| US5911073A (en) * | 1997-12-23 | 1999-06-08 | Hewlett-Packard Company | Method and apparatus for dynamic process monitoring through an ancillary control code system |
| US6121924A (en) * | 1997-12-30 | 2000-09-19 | Navigation Technologies Corporation | Method and system for providing navigation systems with updated geographic data |
| US6382846B1 (en) | 1998-01-09 | 2002-05-07 | Industial Technology Research Institute | Intermediate instruction execution processor which resolves symbolic references without modifying intermediate instruction code |
| US6102966A (en) * | 1998-03-20 | 2000-08-15 | Preemptive Solutions, Inc. | Method for renaming identifiers of a computer program |
| US6061520A (en) * | 1998-04-07 | 2000-05-09 | Sun Microsystems, Inc. | Method and system for performing static initialization |
| 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 |
| US6148437A (en) * | 1998-05-04 | 2000-11-14 | Hewlett-Packard Company | System and method for jump-evaluated trace designation |
| US6164841A (en) * | 1998-05-04 | 2000-12-26 | Hewlett-Packard Company | Method, apparatus, and product for dynamic software code translation system |
| US6158048A (en) * | 1998-05-29 | 2000-12-05 | Intel Corporation | Method for eliminating common subexpressions from java byte codes |
| JP2000020319A (ja) * | 1998-06-30 | 2000-01-21 | Canon Inc | プログラム実行装置、その制御方法および記憶媒体 |
| US6289506B1 (en) | 1998-06-30 | 2001-09-11 | Intel Corporation | Method for optimizing Java performance using precompiled code |
| US6223339B1 (en) | 1998-09-08 | 2001-04-24 | Hewlett-Packard Company | System, method, and product for memory management in a dynamic translator |
| GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
| US6338160B1 (en) * | 1998-12-08 | 2002-01-08 | Nazomi Communications, Inc. | Constant pool reference resolution method |
| US6848111B1 (en) | 1999-02-02 | 2005-01-25 | Sun Microsystems, Inc. | Zero overhead exception handling |
| US6880155B2 (en) | 1999-02-02 | 2005-04-12 | Sun Microsystems, Inc. | Token-based linking |
| US6332216B1 (en) * | 1999-03-09 | 2001-12-18 | Hewlett-Packard Company | Hybrid just-in-time compiler that consumes minimal resource |
| GB9921720D0 (en) * | 1999-09-14 | 1999-11-17 | Tao Group Ltd | Loading object-oriented computer programs |
| US6671707B1 (en) | 1999-10-19 | 2003-12-30 | Intel Corporation | Method for practical concurrent copying garbage collection offering minimal thread block times |
| US7024657B2 (en) * | 2000-02-21 | 2006-04-04 | Matsushita Electric Industrial Co., Ltd. | Program generation apparatus for program execution system, replaces variable name in each class file by assigned offset number so that same offset numbers are assigned to non-dependent variables with same variable name |
| JP2001256058A (ja) * | 2000-03-13 | 2001-09-21 | Omron Corp | インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置 |
| JP2003528390A (ja) * | 2000-03-20 | 2003-09-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | インタプリタによりコンピュータプログラムを実行する方法、コンピュータシステムならびにコンピュータプログラムプロダクト |
| JP2001337823A (ja) * | 2000-05-25 | 2001-12-07 | Sony Corp | コンポーネントウェア作成方法および記録媒体 |
| US6785683B1 (en) * | 2000-07-06 | 2004-08-31 | International Business Machines Corporation | Categorization and presentation tool for code resources |
| US6832369B1 (en) * | 2000-08-01 | 2004-12-14 | International Business Machines Corporation | Object oriented method and apparatus for class variable initialization |
| US6675338B1 (en) | 2000-08-09 | 2004-01-06 | Sun Microsystems, Inc. | Internally generated vectors for burnin system |
| US6651248B1 (en) * | 2000-09-01 | 2003-11-18 | International Business Machines Corporation | Method and apparatus for efficient interface method dispatch |
| GB2367651B (en) * | 2000-10-05 | 2004-12-29 | Advanced Risc Mach Ltd | Hardware instruction translation within a processor pipeline |
| GB2367653B (en) * | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
| US6675372B1 (en) | 2000-10-31 | 2004-01-06 | Sun Microsystems, Inc. | Counting speculative and non-speculative events |
| CA2346762A1 (en) | 2001-05-07 | 2002-11-07 | Ibm Canada Limited-Ibm Canada Limitee | Compiler generation of instruction sequences for unresolved storage devices |
| US6993751B2 (en) * | 2001-05-14 | 2006-01-31 | Microsoft Corporation | Placing exception throwing instructions in compiled code |
| US7181724B2 (en) * | 2001-06-20 | 2007-02-20 | Sun Microsystems, Inc. | Representation of Java® data types in virtual machines |
| US6934944B2 (en) * | 2001-08-13 | 2005-08-23 | International Business Machines Corporation | Computer system and method for constant pool operations |
| US6948156B2 (en) * | 2001-10-24 | 2005-09-20 | Sun Microsystems, Inc. | Type checking in java computing environments |
| US6976254B2 (en) | 2001-11-28 | 2005-12-13 | Esmertec Ag | Inter-method control transfer for execution engines with memory constraints |
| US20030191733A1 (en) * | 2002-04-03 | 2003-10-09 | Kiick Christopher J. | System and method for data-mining a source code base to obtain module interface information |
| US7024663B2 (en) * | 2002-07-10 | 2006-04-04 | Micron Technology, Inc. | Method and system for generating object code to facilitate predictive memory retrieval |
| US6954836B2 (en) * | 2002-07-11 | 2005-10-11 | Micron Technology, Inc. | System and method for processor with predictive memory retrieval assist |
| EP1489492A1 (en) * | 2003-06-19 | 2004-12-22 | Texas Instruments Incorporated | Two-step instruction resolution |
| US20050137874A1 (en) * | 2003-12-22 | 2005-06-23 | International Business Machines Corporation | Integrating object code in voice markup |
| US7574705B2 (en) * | 2004-06-29 | 2009-08-11 | Sun Microsystems, Inc. | Method and apparatus for efficiently resolving symbolic references in a virtual machine |
| US20060101374A1 (en) * | 2004-10-14 | 2006-05-11 | Beng Giap Lim | Enterprise management system installer |
| US7483757B2 (en) * | 2005-07-22 | 2009-01-27 | Honeywell International, Inc. | Control system migration |
| EP1947536B1 (de) * | 2007-01-22 | 2009-12-30 | Siemens Aktiengesellschaft | Verfahren zur Konfigurationsänderung eines laufenden Automatisierungsgerätes |
| US8707282B2 (en) * | 2009-12-14 | 2014-04-22 | Advanced Micro Devices, Inc. | Meta-data based data prefetching |
| US8943487B2 (en) | 2011-01-20 | 2015-01-27 | Fujitsu Limited | Optimizing libraries for validating C++ programs using symbolic execution |
| US8869113B2 (en) | 2011-01-20 | 2014-10-21 | Fujitsu Limited | Software architecture for validating C++ programs using symbolic execution |
| US8595701B2 (en) * | 2011-02-04 | 2013-11-26 | Fujitsu Limited | Symbolic execution and test generation for GPU programs |
| EP2802989A1 (en) * | 2012-01-12 | 2014-11-19 | Thomson Licensing | Method and device for compiling a source program |
| US10503525B2 (en) | 2017-08-22 | 2019-12-10 | Refinitiv Us Organization Llc | Apparatuses, methods and systems for persisting values in a computing environment |
| US11449370B2 (en) | 2018-12-11 | 2022-09-20 | DotWalk, Inc. | System and method for determining a process flow of a software application and for automatically generating application testing code |
| US11025508B1 (en) | 2020-04-08 | 2021-06-01 | Servicenow, Inc. | Automatic determination of code customizations |
| US11296922B2 (en) | 2020-04-10 | 2022-04-05 | Servicenow, Inc. | Context-aware automated root cause analysis in managed networks |
| US10999152B1 (en) | 2020-04-20 | 2021-05-04 | Servicenow, Inc. | Discovery pattern visualizer |
| US11301435B2 (en) | 2020-04-22 | 2022-04-12 | Servicenow, Inc. | Self-healing infrastructure for a dual-database system |
| US11392768B2 (en) | 2020-05-07 | 2022-07-19 | Servicenow, Inc. | Hybrid language detection model |
| US11263195B2 (en) | 2020-05-11 | 2022-03-01 | Servicenow, Inc. | Text-based search of tree-structured tables |
| US11470107B2 (en) | 2020-06-10 | 2022-10-11 | Servicenow, Inc. | Matching configuration items with machine learning |
| US11277359B2 (en) | 2020-06-11 | 2022-03-15 | Servicenow, Inc. | Integration of a messaging platform with a remote network management application |
| US11451573B2 (en) | 2020-06-16 | 2022-09-20 | Servicenow, Inc. | Merging duplicate items identified by a vulnerability analysis |
| US11379089B2 (en) | 2020-07-02 | 2022-07-05 | Servicenow, Inc. | Adaptable user interface layout for applications |
| US11277321B2 (en) | 2020-07-06 | 2022-03-15 | Servicenow, Inc. | Escalation tracking and analytics system |
| US11301503B2 (en) | 2020-07-10 | 2022-04-12 | Servicenow, Inc. | Autonomous content orchestration |
| US11449535B2 (en) | 2020-07-13 | 2022-09-20 | Servicenow, Inc. | Generating conversational interfaces based on metadata |
| US11632300B2 (en) | 2020-07-16 | 2023-04-18 | Servicenow, Inc. | Synchronization of a shared service configuration across computational instances |
| US11272007B2 (en) | 2020-07-21 | 2022-03-08 | Servicenow, Inc. | Unified agent framework including push-based discovery and real-time diagnostics features |
| US11343079B2 (en) | 2020-07-21 | 2022-05-24 | Servicenow, Inc. | Secure application deployment |
| US11748115B2 (en) | 2020-07-21 | 2023-09-05 | Servicenow, Inc. | Application and related object schematic viewer for software application change tracking and management |
| US11582106B2 (en) | 2020-07-22 | 2023-02-14 | Servicenow, Inc. | Automatic discovery of cloud-based infrastructure and resources |
| US11095506B1 (en) | 2020-07-22 | 2021-08-17 | Servicenow, Inc. | Discovery of resources associated with cloud operating system |
| US11275580B2 (en) | 2020-08-12 | 2022-03-15 | Servicenow, Inc. | Representing source code as implicit configuration items |
| US11372920B2 (en) | 2020-08-31 | 2022-06-28 | Servicenow, Inc. | Generating relational charts with accessibility for visually-impaired users |
| US11245591B1 (en) | 2020-09-17 | 2022-02-08 | Servicenow, Inc. | Implementation of a mock server for discovery applications |
| US11150784B1 (en) | 2020-09-22 | 2021-10-19 | Servicenow, Inc. | User interface elements for controlling menu displays |
| US11625141B2 (en) | 2020-09-22 | 2023-04-11 | Servicenow, Inc. | User interface generation with machine learning |
| US11632303B2 (en) | 2020-10-07 | 2023-04-18 | Servicenow, Inc | Enhanced service mapping based on natural language processing |
| US11734025B2 (en) | 2020-10-14 | 2023-08-22 | Servicenow, Inc. | Configurable action generation for a remote network management platform |
| US11342081B2 (en) | 2020-10-21 | 2022-05-24 | Servicenow, Inc. | Privacy-enhanced contact tracing using mobile applications and portable devices |
| US11258847B1 (en) | 2020-11-02 | 2022-02-22 | Servicenow, Inc. | Assignments of incoming requests to servers in computing clusters and other environments |
| US11868593B2 (en) | 2020-11-05 | 2024-01-09 | Servicenow, Inc. | Software architecture and user interface for process visualization |
| US11363115B2 (en) | 2020-11-05 | 2022-06-14 | Servicenow, Inc. | Integrated operational communications between computational instances of a remote network management platform |
| US11281442B1 (en) | 2020-11-18 | 2022-03-22 | Servicenow, Inc. | Discovery and distribution of software applications between multiple operational environments |
| US11693831B2 (en) | 2020-11-23 | 2023-07-04 | Servicenow, Inc. | Security for data at rest in a remote network management platform |
| US11216271B1 (en) | 2020-12-10 | 2022-01-04 | Servicenow, Inc. | Incremental update for offline data access |
| US11269618B1 (en) | 2020-12-10 | 2022-03-08 | Servicenow, Inc. | Client device support for incremental offline updates |
| US11630717B2 (en) | 2021-01-06 | 2023-04-18 | Servicenow, Inc. | Machine-learning based similarity engine |
| US11301365B1 (en) | 2021-01-13 | 2022-04-12 | Servicenow, Inc. | Software test coverage through real-time tracing of user activity |
| US11418586B2 (en) | 2021-01-19 | 2022-08-16 | Servicenow, Inc. | Load balancing of discovery agents across proxy servers |
| US11301271B1 (en) | 2021-01-21 | 2022-04-12 | Servicenow, Inc. | Configurable replacements for empty states in user interfaces |
| US11921878B2 (en) | 2021-01-21 | 2024-03-05 | Servicenow, Inc. | Database security through obfuscation |
| US11513885B2 (en) | 2021-02-16 | 2022-11-29 | Servicenow, Inc. | Autonomous error correction in a multi-application platform |
| US11277369B1 (en) | 2021-03-02 | 2022-03-15 | Servicenow, Inc. | Message queue architecture and interface for a multi-application platform |
| US11831729B2 (en) | 2021-03-19 | 2023-11-28 | Servicenow, Inc. | Determining application security and correctness using machine learning based clustering and similarity |
| US12254063B2 (en) | 2021-03-22 | 2025-03-18 | Servicenow, Inc. | Cross-modality curiosity for sparse-reward tasks |
| US11640369B2 (en) | 2021-05-05 | 2023-05-02 | Servicenow, Inc. | Cross-platform communication for facilitation of data sharing |
| US11635752B2 (en) | 2021-05-07 | 2023-04-25 | Servicenow, Inc. | Detection and correction of robotic process automation failures |
| US11635953B2 (en) | 2021-05-07 | 2023-04-25 | Servicenow, Inc. | Proactive notifications for robotic process automation |
| US12585929B2 (en) | 2021-05-28 | 2026-03-24 | Servicenow, Inc. | Layered gradient accumulation and modular pipeline parallelism for improved training of machine learning models |
| US11277475B1 (en) | 2021-06-01 | 2022-03-15 | Servicenow, Inc. | Automatic discovery of storage cluster |
| US11762668B2 (en) | 2021-07-06 | 2023-09-19 | Servicenow, Inc. | Centralized configuration data management and control |
| US11418571B1 (en) | 2021-07-29 | 2022-08-16 | Servicenow, Inc. | Server-side workflow improvement based on client-side data mining |
| US11516307B1 (en) | 2021-08-09 | 2022-11-29 | Servicenow, Inc. | Support for multi-type users in a single-type computing system |
| US12254352B2 (en) | 2021-10-28 | 2025-03-18 | Servicenow, Inc. | Reduced memory utilization for data analytics procedures |
| US11960353B2 (en) | 2021-11-08 | 2024-04-16 | Servicenow, Inc. | Root cause analysis based on process optimization data |
| US11734381B2 (en) | 2021-12-07 | 2023-08-22 | Servicenow, Inc. | Efficient downloading of related documents |
| US12099567B2 (en) | 2021-12-20 | 2024-09-24 | Servicenow, Inc. | Viewports and sub-pages for web-based user interfaces |
| US12437250B2 (en) | 2021-12-21 | 2025-10-07 | Servicenow, Inc. | Multi-dimensional process mining and analysis |
| US12001502B2 (en) | 2022-01-11 | 2024-06-04 | Servicenow, Inc. | Common fragment caching for web documents |
| US11829233B2 (en) | 2022-01-14 | 2023-11-28 | Servicenow, Inc. | Failure prediction in a computing system based on machine learning applied to alert data |
| US11809839B2 (en) | 2022-01-18 | 2023-11-07 | Robert Lyden | Computer language and code for application development and electronic and optical communication |
| US12261904B2 (en) | 2022-01-20 | 2025-03-25 | Servicenow, Inc. | Nested request-response protocol network communications |
| US12481416B2 (en) | 2022-02-01 | 2025-11-25 | Servicenow, Inc. | Progressive refresh of user interface screens |
| US11582317B1 (en) | 2022-02-07 | 2023-02-14 | Servicenow, Inc. | Payload recording and comparison techniques for discovery |
| US11734150B1 (en) | 2022-06-10 | 2023-08-22 | Servicenow, Inc. | Activity tracing through event correlation across multiple software applications |
| US11989538B2 (en) | 2022-06-21 | 2024-05-21 | Servicenow, Inc. | Orchestration for robotic process automation |
| US12231508B2 (en) | 2022-07-12 | 2025-02-18 | Servicenow, Inc. | Rapid error detection through command validation |
| US12056473B2 (en) | 2022-08-01 | 2024-08-06 | Servicenow, Inc. | Low-code / no-code layer for interactive application development |
| US12095634B2 (en) | 2022-08-12 | 2024-09-17 | Servicenow, Inc. | Hybrid request routing system |
| US12500820B2 (en) | 2022-09-20 | 2025-12-16 | Servicenow, Inc. | Smart detection for determination of database accuracy |
| US12039328B2 (en) | 2022-09-30 | 2024-07-16 | Servicenow, Inc. | Configuration items for supporting automations and efficacies thereof |
| US12141048B2 (en) | 2022-10-12 | 2024-11-12 | Servicenow, Inc. | Machine learning model for determining software defect criticality |
| CN118069219A (zh) * | 2022-11-23 | 2024-05-24 | 深圳市汇川技术股份有限公司 | 可编程逻辑控制器的混合执行方法、装置、设备及介质 |
| US12072775B2 (en) | 2022-12-07 | 2024-08-27 | Servicenow, Inc. | Centralized configuration and change tracking for a computing platform |
| US12147487B2 (en) | 2022-12-07 | 2024-11-19 | Servicenow, Inc. | Computationally efficient traversal of virtual tables |
| US12487906B2 (en) | 2022-12-22 | 2025-12-02 | Servicenow, Inc. | Discovery and predictive simulation of software-based processes |
| US12536044B2 (en) | 2023-01-10 | 2026-01-27 | Servicenow, Inc. | Efficient cloud-based discovery of computing resources |
| US12192245B2 (en) | 2023-01-23 | 2025-01-07 | Servicenow, Inc. | Control of cloud infrastructure configuration |
| US12299419B2 (en) | 2023-01-26 | 2025-05-13 | Servicenow, Inc. | Unified framework for configuration and deployment of platform intelligence |
| US12499311B2 (en) | 2023-03-03 | 2025-12-16 | Servicenow, Inc. | Language model preprocessing with weighted n-grams |
| US12131168B1 (en) | 2023-04-18 | 2024-10-29 | Servicenow, Inc. | Outcome-oriented automation platform |
| US12222834B2 (en) | 2023-05-24 | 2025-02-11 | Servicenow, Inc. | Discovery troubleshooting based on machine learning |
| US12294581B2 (en) | 2023-06-14 | 2025-05-06 | Servicenow, Inc. | Identifying security vulnerabilities based on access control lists |
| US20240428069A1 (en) * | 2023-06-23 | 2024-12-26 | Aurora Labs Ltd. | Functional training of large code language models |
| US12437158B2 (en) | 2023-07-18 | 2025-10-07 | Servicenow, Inc. | Method for filtering and semi-automatically labeling training data |
| US12425195B2 (en) | 2023-07-24 | 2025-09-23 | Service Now, Inc. | Client-side sharing of cryptographic keys |
| US12248361B2 (en) | 2023-07-31 | 2025-03-11 | Servicenow, Inc. | Parallelized exception handling for large datasets |
| US12499119B2 (en) | 2023-08-07 | 2025-12-16 | Servicenow, Inc. | Template-based generation of synthetic data sets |
| US12518041B2 (en) | 2023-08-18 | 2026-01-06 | Servicenow, Inc. | Configurable security policy architecture |
| US12474900B2 (en) | 2023-09-08 | 2025-11-18 | Servicenow, Inc. | Interface element configuration and management for application platforms |
| US12554380B2 (en) | 2023-09-18 | 2026-02-17 | Servicenow, Inc. | Component selector for user interfaces with dynamic identifiers |
| US12362995B2 (en) | 2023-11-06 | 2025-07-15 | Servicenow, Inc. | Reconciliation of partial configuration items |
| US12613990B2 (en) | 2023-11-10 | 2026-04-28 | Servicenow, Inc. | Automated file information population exhibiting reduced storage and bandwidth and increased security |
| US12254014B1 (en) | 2024-02-23 | 2025-03-18 | Servicenow, Inc. | Document creation with guided generative artificial intelligence |
| US12438790B1 (en) | 2024-03-26 | 2025-10-07 | Servicenow, Inc. | Network anomaly detection using clustering |
| US12587432B2 (en) | 2024-05-16 | 2026-03-24 | Servicenow, Inc. | Visual map for network alerts |
| US12563115B2 (en) | 2024-06-20 | 2026-02-24 | Servicenow, Inc. | Database offload with node-to-node communication |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62113244A (ja) * | 1985-11-12 | 1987-05-25 | Omron Tateisi Electronics Co | プログラムテスト装置 |
| JPS62254237A (ja) * | 1986-04-23 | 1987-11-06 | Nec Corp | インタプリタ方式の分岐命令実行方式 |
| JPH02308336A (ja) * | 1989-05-23 | 1990-12-21 | Nec Corp | プログラム実行方式 |
| JPH05334093A (ja) * | 1992-05-28 | 1993-12-17 | Nec Corp | 言語プロセッサにおけるシンボル管理方式 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4636940A (en) * | 1983-03-31 | 1987-01-13 | Hewlett-Packard Company | Logic analyzer using source program or other user defined symbols in the trace specification and the trace listing |
| US4667290A (en) * | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
| DE3437431C2 (de) * | 1984-10-12 | 1987-02-19 | Daimler-Benz Ag, 7000 Stuttgart | Aufhängevorrichtung für am Fahrzeugaufbau schwingfähig aufzuhängende Kraftfahrzeugbauteile |
| US4729096A (en) * | 1984-10-24 | 1988-03-01 | International Business Machines Corporation | Method and apparatus for generating a translator program for a compiler/interpreter and for testing the resulting translator program |
| US4686623A (en) * | 1985-06-07 | 1987-08-11 | International Business Machines Corporation | Parser-based attribute analysis |
| US4905138A (en) * | 1985-10-17 | 1990-02-27 | Westinghouse Electric Corp. | Meta-interpreter |
| JPH0685148B2 (ja) * | 1986-03-07 | 1994-10-26 | 株式会社日立製作所 | 配列デ−タフロ−解析装置 |
| CA1337132C (en) | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
| EP0371944A3 (en) * | 1988-11-29 | 1991-11-21 | International Business Machines Corporation | Computer system and method for translating a program |
| US5313614A (en) * | 1988-12-06 | 1994-05-17 | At&T Bell Laboratories | Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems |
| JP2834171B2 (ja) * | 1989-02-06 | 1998-12-09 | 株式会社日立製作所 | コンパイル方法 |
| US5201050A (en) * | 1989-06-30 | 1993-04-06 | Digital Equipment Corporation | Line-skip compiler for source-code development system |
| US5276881A (en) | 1990-06-25 | 1994-01-04 | Hewlett-Packard Company | ANDF producer using the HPcode-Plus compiler intermediate language |
| US5339419A (en) | 1990-06-25 | 1994-08-16 | Hewlett-Packard Company | ANDF compiler using the HPcode-plus compiler intermediate language |
| US5280613A (en) | 1990-06-25 | 1994-01-18 | Hewlett-Packard Company | ANDF installer using the HPcode-Plus compiler intermediate language |
| FR2667171B1 (fr) * | 1990-09-25 | 1994-08-26 | Gemplus Card Int | Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit. |
| IL100987A (en) * | 1991-02-27 | 1995-10-31 | Digital Equipment Corp | Method and apparatus for compiling code |
| IL100990A (en) * | 1991-02-27 | 1995-10-31 | Digital Equipment Corp | Multilanguage optimizing compiler using templates in multiple pass code generation |
| US5307492A (en) * | 1991-03-07 | 1994-04-26 | Digital Equipment Corporation | Mapping assembly language argument list references in translating code for different machine architectures |
| US5649204A (en) | 1991-08-22 | 1997-07-15 | Rec Software, Inc. | Method and apparatus for consolidating software module linkage information used for starting a multi-module program |
| CA2077273C (en) | 1991-12-12 | 1996-12-03 | Mike H. Conner | Language neutral objects |
-
1992
- 1992-12-22 US US07/994,655 patent/US5367685A/en not_active Expired - Lifetime
-
1993
- 1993-10-14 EP EP93308205A patent/EP0604002B1/en not_active Expired - Lifetime
- 1993-10-14 EP EP99113405A patent/EP0989488A3/en not_active Withdrawn
- 1993-10-14 EP EP01117182A patent/EP1164478A3/en not_active Withdrawn
- 1993-10-14 DE DE69328665T patent/DE69328665T2/de not_active Expired - Lifetime
- 1993-12-07 JP JP5339905A patent/JPH06230976A/ja active Pending
-
1996
- 1996-11-21 US US08/755,764 patent/USRE36204E/en not_active Expired - Lifetime
-
1999
- 1999-03-03 US US09/261,970 patent/USRE38104E1/en not_active Expired - Lifetime
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62113244A (ja) * | 1985-11-12 | 1987-05-25 | Omron Tateisi Electronics Co | プログラムテスト装置 |
| JPS62254237A (ja) * | 1986-04-23 | 1987-11-06 | Nec Corp | インタプリタ方式の分岐命令実行方式 |
| JPH02308336A (ja) * | 1989-05-23 | 1990-12-21 | Nec Corp | プログラム実行方式 |
| JPH05334093A (ja) * | 1992-05-28 | 1993-12-17 | Nec Corp | 言語プロセッサにおけるシンボル管理方式 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000311091A (ja) * | 1999-04-28 | 2000-11-07 | Nec Corp | シンボル参照情報のキャッシュ方法ならびに装置 |
| JP2006526841A (ja) * | 2003-06-02 | 2006-11-24 | サン・マイクロシステムズ・インコーポレイテッド | バーチャルマシンにおいてインプレース実行を支援するための近接ベースのアドレス指定 |
| JP2012053679A (ja) * | 2010-09-01 | 2012-03-15 | Internatl Business Mach Corp <Ibm> | 最適化装置、最適化方法およびコンパイラ・プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0989488A3 (en) | 2009-04-15 |
| EP0604002B1 (en) | 2000-05-17 |
| DE69328665D1 (de) | 2000-06-21 |
| EP0604002A2 (en) | 1994-06-29 |
| USRE38104E1 (en) | 2003-04-29 |
| EP1164478A3 (en) | 2011-12-07 |
| EP0604002A3 (en) | 1995-04-26 |
| USRE36204E (en) | 1999-04-27 |
| EP1164478A2 (en) | 2001-12-19 |
| US5367685A (en) | 1994-11-22 |
| EP0989488A2 (en) | 2000-03-29 |
| DE69328665T2 (de) | 2001-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5367685A (en) | Method and apparatus for resolving data references in generated code | |
| US6378126B2 (en) | Compilation of embedded language statements in a source code program | |
| US5230049A (en) | Program source code translator | |
| US5586328A (en) | Module dependency based incremental compiler and method | |
| US5535391A (en) | System and methods for optimizing object-oriented compilations | |
| Johnson et al. | TS: An optimizing compiler for Smalltalk | |
| Grimm | Better extensibility through modular syntax | |
| US5854932A (en) | Compiler and method for avoiding unnecessary recompilation | |
| EP0718760B1 (en) | Method and apparatus for generating platform-standard object files containing machine-independent code | |
| US7120898B2 (en) | Intermediate representation for multiple exception handling models | |
| US6748588B1 (en) | One-pass greedy-pattern-matching finite-state-machine code generation | |
| US5606697A (en) | Compiler system for language processing program | |
| US6434742B1 (en) | Symbol for automatically renaming symbols in files during the compiling of the files | |
| JPWO2000045260A1 (ja) | コンパイラ装置、コンパイル方法、およびそのためのプログラムを格納した記憶媒体 | |
| Cifuentes et al. | The design of a resourceable and retargetable binary translator | |
| Nelson | A comparison of PASCAL intermediate languages | |
| JP7391983B2 (ja) | プログラム論理の表現を生成する方法、逆コンパイル装置、再コンパイルシステムおよびコンピュータプログラム製品 | |
| Strawn | Does APL really need run‐time parsing? | |
| Boyland et al. | Attributed transformational code generation for dynamic compilers | |
| KR0169909B1 (ko) | 목표 프로세서용 어셈블리 코드 생성기를 작성하는 방법 | |
| KR100246544B1 (ko) | 고속병렬컴퓨터에서 병렬 구문에 의한 쓰레드 생성 방법 | |
| Racković | Construction of a translator for robot-programming languages | |
| Teufel et al. | General Remarks on Compiler Theory | |
| Sato | Fast Compiler Re-Targeting to Different Platforms by Translating at Intermediate Code Level | |
| Morgenthaler | Building an E cient Software Manipulation Tool |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031202 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040302 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040531 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040604 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040716 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050404 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050408 |