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
Application number
JP5339905A
Other languages
English (en)
Inventor
James Gosling
ジェイムズ・ゴスリン
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25540895&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH06230976(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06230976A publication Critical patent/JPH06230976A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime 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

(57)【要約】 【目的】 コンパイラとインタプリタ双方の利点を有す
るバイブリッド・コンパイラ・インタプリタを得る。 【構成】 ソース・プログラム・コードを「コンパイル
する」ためのコンパイラと、「コンパイルされた」コー
ドを解釈するためのインタプリタとを備える。コンパイ
ラは、データ参照がシンボル参照で行われる中間形式の
コードを発生する。一方インタプリタにおいては、ダイ
ナミック・フィールド参照ルーチンが、呼び出される
と、シンボル参照を数値参照へ書き替えた後で、プログ
ラム実行を次の命令へ進ませることなしに、主解釈ルー
チンへ戻ることにより、数値参照をもつ書き替えられた
命令を再実行できるようにする。スタチック・フィール
ド参照ルーチンが、呼び出されると、プログラムのため
のデータを数値参照を基にしてデータ・オブジェクトか
ら得た後で、主解釈ルーチンへ戻る前に、プログラム実
行を次の命令へ進ませる。主解釈ルーチンが、命令中の
データ参照がシンボル参照であるか、数値参照であるか
に応じて、2つのデータ参照取扱いルーチンを選択的に
呼び出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ装置の分野
に関するものであり、とくに、プログラミング言語コン
パイラおよびインタプリタに関するものである。更に詳
しくいえば、本発明はコンパイラが発生したオブジェク
ト・コードにおける参照をリゾルブ(解決)することに
関するものである。
【0002】
【従来の技術】オブジェクト指向プログラミング言語を
含めて、最近のプログラミング言語のインプルメンテー
ションは2つの部類、すなわち、コンパイルされるもの
と解釈(インタープリテーション)されるもの、に全体
としてまとめられる。
【0003】コンパイルされるプログラミング言語にお
いては、コンピュータプログラム(コンパイラと呼ばれ
る)がソース・プログラムをコンパイルし、特定のコン
ピュータ・アーキテクチャのための実行可能なコードを
発生する。発生されたコード中のデータの参照は、実行
の前に、プログラムが取り扱うデータ・オブジェクトの
レイアウトを基にしてリゾルブ(解決)され、それによ
り実行可能なコードがデータの場所によりそれらのデー
タを参照できるようにする。たとえば、点のx座標とy
座標をそれぞれ表す2つの変数xとyを含む点データ・
オブジェクトを取り扱うプログラムについて考え、かつ
点データ・オブジェクトの各インスタンスに、変数xと
yにスロット1と2がそれぞれ割り当てられると仮定す
る。したがって、図1に示されているロード命令14の
ような、yをアクセスないしフェッチする命令が、命令
シーケンスが実行される前に割り当てられたスロット2
により変数yを参照するためにリゾルブされる。上記の
ようにしてコードを発生し、データ参照をリゾルブする
プログラミング言語コンパイラの特定の例はCコンパイ
ラとC+コンパイラを含む。
【0004】この「コンパイルされる」アプローチは、
オブジェクト指向プログラミングの下でしばしば起きる
ことである、プログラムがこま切れに作成される時に問
題が生ずる。たとえば、あるプログラムはライブラリお
よび主プログラムから作成できる。ライブラリに対し
て、それが実現するデータ・オブジェクトの1つのレイ
アウトに変更が生じるような変更が加えられると、その
ライブラリのクライアントは、主プログラムと同様に、
再びコンパイルされる必要がある。前の例において、最
初に呼ばれた名称(この名称はその点の名称を含む)に
おいて点データ・オブジェクトに新しいフィールドが付
加されたとすると、変数xとyをスロット2と3へ割り
当てることができる。コンパイルされた既存のプログラ
ムは、スロット1と2の中にある変数xとyを正しく実
行するためにそれらの変数を再びコンパイルせねばなら
ないことを仮定している。
【0005】解釈される言語においては、コンピュータ
・プログラム(翻訳プログラムと呼ばれている)がプロ
グラムのソース・ステートメントを、典型的には、どの
命令セットからも独立に、ある中間形式へ翻訳する。中
間形式のデータの参照は、プログラムが取り扱うデータ
・オブジェクトのレイアウトを基にして実行する前は完
全にはリゾルブされない。その代わりに、データの参照
はシンボル・ベースで行われる。したがって、図1に示
されているロード命令14′のような、yをアクセスま
たはフェッチする命令がシンボル(記号)名「y」によ
り変数yを参照する。中間形式のプログラムは、中間形
式のコードを介して走査する別のプログラム(インタプ
リタと呼ばれている)により実行され、指示された動作
を行う。シンボル参照を含んでいる命令が解釈されるた
びに、実行中に各シンボル参照はリゾルブされる。ソー
ス・コードを中間形式のコードへ翻訳(トランスレーシ
ョン)し、上記のようにしてデータを参照するプログラ
ミング言語の特定の例がBASICインタプリタであ
る。
【0006】「解釈される」やり方は、プログラムがこ
ま切れに作成される場合には、「コンパイルされる」や
り方において生ずる諸問題が避けられる。しかし、実行
時点で、解釈の余分なレベルがあるので、シンボル参照
を含む命令が解釈されるたびに、実行は非常に遅くされ
る。
【0007】
【発明が解決しようとする課題】したがって、「コンパ
イルされる」やり方の実行性能を提供すると同時に、コ
ンパイルされたプログラムを再びコンパイルすることを
要することなしに、データ・オブジェクトを変更するた
めに「解釈される」やり方の融通性を提供するやり方で
プログラミング言語を実現できるならば、それは望まし
いことである。後で開示するように、本発明は希望の結
果を達成する、コンパイラが発生したオブジェクト・コ
ードにおいてデータ参照をリゾルブする方法および装置
を提供するものである。
【0008】本発明は、実行可能なコードを発生し、発
生されたコードにおいてデータ参照をリゾルブする方法
および装置を提供するものである。本発明の方法および
装置は、従来のコンパイルされるやり方にほぼ類似する
実行性能と、従来の解釈されるやり方に類似するデータ
・オブジェクト変更の融通性とを提供するものである。
本発明の方法および装置は、コンピュータ装置において
オブジェクト指向プログラミング言語を実現することに
とくに応用される。
【0009】
【課題を解決するための手段】本発明の下においては、
ソース・プログラム・コードを「コンパイルする」ため
のコンパイラと、「コンパイルされた」コードを解釈す
るためのインタプリタとを備えるハイブリッド・コンパ
イラ・インタプリタがコンピュータ装置のために提供さ
れる。コンパイラは、中間形式でコードを発生し、デー
タ参照をシンボルを基にして行うコード発生器を備え
る。インタプリタは主解釈ルーチンと、2つのデータ参
照取扱いルーチンと、数値参照を取り扱うためのスタチ
ック・フィールド参照ルーチンと、シンボル参照を取り
扱うためのダイナミック・フィールド参照ルーチンとを
備える。ダイナミック・フィールド参照ルーチンは、呼
び出された時は、シンボル参照をリゾルブし、シンボル
参照を数値参照へ書き替える。書き替えた後は、ダイナ
ミック・フィールド参照ルーチンは、プログラム実行を
次の命令へ進ませることなしに、インタプリタへ戻るこ
とにより数値参照を有する書き替えられたプログラムを
再び実行できるようにする。スタチック・フィールド参
照ルーチンは、呼び出された時は、数値参照を基にして
データ・オブジェクトからプログラムのためのデータを
得る。データを得た後で、スタチック・フィールド参照
ルーチンは、インタプリタへ戻る前に、プログラム実行
を次の命令へ進ませる。主インタプリタ・ルーチンは、
命令中のデータ参照がシンボル参照であるか、数値参照
であるかに応じて、2つのデータ参照取扱いルーチンを
選択的に呼び出す。
【0010】その結果、プログラムの「コンパイルされ
た」中間形式のオブジェクト・コードは、従来のコンパ
イルされたオブジェクト・コードの実行性能に十分に類
似する実行性能を達成し、しかも、それにより取り扱わ
れるデータ・オブジェクトが従来の翻訳されたコードに
類似して変更される時には、データ参照のリゾルブがデ
ータ参照を持つ発生された命令が最初に実行された時に
行われるから、再びコンパイルする必要はないという融
通性を持つ。
【0011】
【実施例】以下の説明においては、実行可能なコードを
発生し、発生されたコード中のデータ参照をリゾルブす
る方法および装置について開示する。この方法および装
置は、従来のコンパイルされたオブジェクト・コードの
実行性能に十分に類似する実行性能と、従来の解釈され
るやり方に類似してデータ・オブジェクトを変更する融
通性とを提供するものである。この方法および装置は、
オブジェクト指向プログラミング言語への応用に適す
る。以下の説明においては、本発明を完全に理解できる
ようにするために、特定の数、特定の材料、特定のビッ
ト数、および特定の構成について述べる。しかし、それ
らの特定の詳細なしに本発明を実施できることが当業者
には明らかであろう。他の場合には、本発明を不必要に
あいまいにしないようにするために、周知の装置は線図
またはブロック図で示してある。
【0012】まず、本発明の教示を含んでいるコンピュ
ータ装置の例が示されている図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へ結合される。
【0013】CPU22と、メモリ24と、I/Oモジ
ュール26と、入力/出力装置30と、記憶装置28と
は、本発明を実施するためにどのように用いられるかを
除き、ほとんどのコンピュータ装置において見出される
広い種類のそれらのハードウェア素子を表すことを意図
するものである。それらの素子の構成と基本的な機能は
周知であるから、ここではこれ以上の説明は省略する。
【0014】図3に示すように、図2に示されているコ
ンピュータ装置のソフトウェア要素はオペレーティング
システム36と、本発明の教示により組み込まれている
ハイブリッド・コンパイラ・インタプリタ38と、この
ハイブリッド・コンパイラ・インタプリタ38を用いて
コンパイルされ、かつ解釈されるアプリケーション40
とを備える。オペレーティングシステム36とアプリケ
ーション40は、多くのコンピュータ装置において見出
される広い種類のそれらのソフトウェア要素を表すこと
を意図するものである。それらの構成と基本的な機能は
周知であるから、ここではこれ以上の説明は省略する。
ハイブリッド・コンパイラ・インタプリタ38について
は後で残りの図を参照して詳しく説明する。
【0015】次に、本発明のハイブリッド・コンパイラ
・インタプリタのコンパイラを示す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とは、ほとんどのコンパイラにおいて見出され
る広い種類のそれらの要素を表すことを意図するもので
ある。それらの要素の構成と基本的な機能は周知である
から、ここではこれ以上の説明は省略する。同様に、各
種の周知のトークンと、各種の中間表現と、各種の中間
形式も本発明を実施するために使用できる。
【0016】図5に示すように、コード発生器50は、
主コード発生ルーチン62と、ADDコード発生ルーチ
ン64およびIFコード発生ルーチン66のような、各
種のオペーレータを取り扱うためのいくつかの相補オペ
ーレータ特有コード発生ルーチンと、データ参照取扱い
ルーチン68とを備える。発生されたコード60が中間
形式であること、および発生されたコード中のデータ参
照がシンボルを基にして行われることを除き、主コード
発生ルーチン62と、オペーレータに特有コード発生ル
ーチン(たとえば、64または66)と、データ参照取
扱いルーチン68とはほとんどのコンパイラにおいて見
出される広い種類のそれらの要素を表すことを意図する
ものである。それらの要素の構成と基本的な機能は周知
であるから、ここではこれ以上の説明は省略する。
【0017】種々の文構成要素分析器と、中間表現構成
器と、意味分析器と、コード発生器との詳細について
は、アホ(A.V.Aho)、セジ(R.Seth
i)、アルマン(J.D.Ullman)著「コンパイ
ラの原理、技術およびツール(Compillers
principles,Techniques and
Tools)」(Addison−Wesley,1
986)25〜388および463〜512ページを参
照されたい。
【0018】次に、本発明のハイブリッド・コンパイラ
・インタプリタのインタプリタの一実施例を示す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とはほとんどのコンパイラおよびインタプリタにおい
て見出される広い種類のそれらの要素を表すことを意図
するものである。それらの要素の構成と基本的な機能は
周知であるから、ここではこれ以上の説明は省略する。
【0019】図7に示すように、データ参照バイト・コ
ードを受けると(ブロック86)、主解釈ルーチンは、
データ参照がスタチック、すなわち、数値であるか、ま
たはダイナミックすなわちシンボルであるかを判定する
(ブロック88)。データ参照がシンボル参照であると
すると(分岐88b)、主解釈ルーチンはダイナミック
・フィールド参照ルーチンを呼び出す(ブロック9
0)。呼び出されると、ダイナミック・フィールド参照
ルーチンはシンボル参照をリゾルブし、中間形式オブジ
ェクト・コード中のシンボル参照を数値参照として書き
替える(ブロック92)。オブジェクト・コード中のデ
ータ参照を書き替えると、ダイナミック・フィールド参
照ルーチンは、プログラム・カウンタを進ませることな
しに、主解釈ルーチンへ戻る(ブロック100)。その
結果、書き替えられた数値データ参照を持つ命令が再び
再実行されることになる。
【0020】他方、データ参照が数値参照であると判定
されたとすると(分岐88a)、主解釈ルーチンはスタ
チック・フィールド参照ルーチンを呼び出す(ブロック
94)。呼び出されると、スタチック・フィールド参照
ルーチンは数値参照により参照されるデータを得る(ブ
ロック96)。データを得ると、スタチック・フィール
ド参照ルーチンは、プログラム・カウンタを進ませ(ブ
ロック98)、主解釈ルーチンへ戻る(ブロック10
0)。
【0021】次に、本発明の下にデータ参照の変更と書
き替えを示すブロック図が詳細に示されている図8を参
照する。図示のように、LOAD命令14″のようなデ
ータ参照命令がシンボル参照、たとえば、「y」をとも
なって最初に発生される。実行におけるその最初の解釈
においては、データ参照命令(たとえば、14)がダイ
ナミックにリゾルブされ、数値参照(たとえば、スロッ
ト2)で書き替えられる。したがって、最初の実行を除
き、シンボル参照をリゾルブするための解釈の余分なレ
ベルはもはや必要ではない。したがって、本発明の下に
おいては、プログラムの「コンパイルされた」中間形式
オブジェクト・コードが、従来のコンパイルされたオブ
ジェクト・コードの実行性能に十分に類似する実行性能
を達成し、しかも、従来の翻訳されたコードの融通性と
同様に、それが取り扱うデータ・オブジェクトが変更さ
れた時に再コンパイルする必要がないという融通性を持
つ。というのは、シンボル参照を含む発生された命令の
最初の実行時にデータ参照リゾルブが行われるからであ
る。
【図面の簡単な説明】
【図1】データ参照をリゾルブ(解決)するための従来
のコンパイルされるやり方および従来の解釈されるやり
方を示す。
【図2】本発明の教示を組み込んだコンピュータ装置の
例を示す。
【図3】図2のコンピュータ装置のソフトウェア要素を
示す。
【図4】本発明のハイブリッド・コンパイラ・インタプ
リタのコンパイラの一実施例を示す。
【図5】図4のコンパイラのコード発生器の一実施例を
示す。
【図6】本発明のハイブリッド・コンパイラ・インタプ
リタのインタプリタおよびオペレータ実現の一実施例を
示す。
【図7】本発明の主解釈ルーチンと、スタチック・フィ
ールド参照ルーチンと、ダイナミック・フィールド参照
ルーチンとの協働する動作流れ図を示す。
【図8】本発明の下におけるデータ参照のリゾルブおよ
び書き替えの例を示す。
【符号の説明】
20 コンピュータ装置 22 中央処理装置(CPU) 24 メモリ 26 I/Oモジュール 28 記憶装置 30 入力/出力装置 44 語い分析器および文構成要素分析器 46 中間表現構成器 48 意味分析器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ソース・コード形式のプログラムを備え
    るコンピュータ装置において、下記の過程を備え、かつ
    過程b)〜d)を繰り返し、かつインターリーブ的に実
    行する、前記プログラムのための実行可能なコードを発
    生し、その発生されたコード中のデータ参照をリズルブ
    する方法。 a)ソース・コード形式の前記プログラムのための実行
    可能なコードを中間形式で発生する過程であって、デー
    タ参照は前記発生されたコード中でシンボルを基にして
    行われ、前記発生されたコードは前記コンピュータ装置
    の複数の命令を備えている、中間形式で発生する過程。 b)プログラム実行制御に従って、前記命令を1度に1
    つずつ解釈する過程。 c)前記シンボル参照を対応する数値参照へリゾルブさ
    せ、前記シンボル参照を対応する数値参照で置き換え、
    前記命令が解釈されている間に、前記シンボル参照に遭
    遇するにつれて、プログラム実行を進ませることなしに
    解釈を続行する過程。 d)前記数値参照に従ってデータを得、前記命令が解釈
    されている間に、前記数値参照に遭遇するにつれて、プ
    ログラム実行を進ませた後で解釈を続行する過程。
  2. 【請求項2】 ソース・コード形式のプログラムを備え
    るコンピュータ装置において、 a)ソース・コード形式の前記プログラムを受け、ソー
    ス・コード形式の前記プログラムのための実行可能なコ
    ードを中間形式で発生するコンパイル手段であって、発
    生されたコードによりシンボル・ベースでデータ参照が
    なされ、発生されたコードが前記コンピュータ装置の複
    数の命令を有している、コンパイル手段と、 b)前記発生されたコードを受け、前記命令を1度に1
    つずつ解釈する解釈手段と、 c)この解釈手段へ結合され、前記シンボル参照を対応
    する数値参照へリゾルブさせ、前記シンボル参照を対応
    する数値参照で置き換え、前記命令が前記解釈手段によ
    り解釈されている間に、前記シンボル参照に遭遇するに
    つれて、プログラム実行を進ませることなしに前記解釈
    手段により解釈を続行するダイナミック参照取扱い手段
    と、 d)前記解釈手段へ結合され、前記数値参照に従ってデ
    ータを得、前記命令が前記解釈手段により解釈されてい
    る間に、前記数値参照に遭遇するにつれて、プログラム
    実行を進ませた後で前記解釈手段により解釈を続行する
    スタチック参照取扱い手段と、を備え、前記プログラム
    のための実行可能なコードを発生し、その発生されたコ
    ード中のデータ参照をリゾルブする装置。
JP5339905A 1992-12-22 1993-12-07 参照をリゾルブする方法および装置 Pending JPH06230976A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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