[go: up one dir, main page]

JP2666847B2 - 異種言語間連絡方式 - Google Patents

異種言語間連絡方式

Info

Publication number
JP2666847B2
JP2666847B2 JP63137397A JP13739788A JP2666847B2 JP 2666847 B2 JP2666847 B2 JP 2666847B2 JP 63137397 A JP63137397 A JP 63137397A JP 13739788 A JP13739788 A JP 13739788A JP 2666847 B2 JP2666847 B2 JP 2666847B2
Authority
JP
Japan
Prior art keywords
module
language
interpreter
compiler
compatible
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.)
Expired - Fee Related
Application number
JP63137397A
Other languages
English (en)
Other versions
JPH01306923A (ja
Inventor
誠二 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP63137397A priority Critical patent/JP2666847B2/ja
Priority to US07/361,056 priority patent/US5210876A/en
Publication of JPH01306923A publication Critical patent/JPH01306923A/ja
Application granted granted Critical
Publication of JP2666847B2 publication Critical patent/JP2666847B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、インタプリタ言語で記述されたモジュール
からコンパイラ言語で記述およびコンパイルされたモジ
ュールを呼び出す他言語呼び出し機能において、このコ
ンパイラ言語で記述およびコンパイルされたモジュール
から、さらにインタプリタ言語で記述された他のモジュ
ールを呼び出す異種言語間連絡方式に関する。
〔従来の技術〕
従来、Lisp等のインタプリタ言語で記述されたモジュ
ール(以下、インタプリタモジュールとする)と、C等
のコンパイラ言語で記述およびコンパイルされたモジュ
ール(以下、他言語モジュールとする)とにおいては、
インタプリタモジュールが、他言語モジュールを呼び出
すことが広く行なわれている。この従来の技術の第1の
目的は、利用者の既存のモジュールあるいはシステムに
よって提供されるライブラリ等のコンパイラ言語対応モ
ジュールをインタプリタの環境で利用することにある。
第2の目的は、例えば、高速性が特に要求される数値計
算処理をFORTRANを用いて記述する等、各言語の特長を
生かした処理を行なうことにある。このような他言語モ
ジュールをインタプリタから呼び出す機能は『他言語呼
び出し』と呼ばれ、利用者が該他言語呼び出しを使用す
る際のインタフェースは、2つに大別される。すなわ
ち、 (1)他言語モジュールを呼び出すための専用のモジュ
ールが提供され、利用者はそのモジュールを窓口として
他言語モジュールを呼び出し、返却値があれば受けとる
というインタフェース。
(2)利用者が他言語モジュールの言語種別、引数およ
び返却値の型等を宣言することによって、インタプリタ
言語で記述されている場合と同一の手順で該他言語モジ
ュールを呼び出すことを可能とするインタフェース。
いずれにせよ、上述した他言語呼び出しにおいては、
他言語モジュールに引数を渡し、他言語モジュールがそ
れを用いて何らかの処理を行ない、返却値を戻すという
実行形態を採っている。
この他言語呼び出しに加え、さらに呼び出された他言
語モジュールから他のインタプリタモジュールを呼び出
すようにすることにより、例えば他言語モジュールが、
処理の途中結果を引数にしてインタプリタモジュールを
呼び出し、その結果を自身の動作の制御に利用するとい
った柔軟な処理が可能となる。上述した他言語呼び出し
と同様に、他言語モジュールがインタプリタモジュール
を呼び出す際の利用者のインタフェースは、次の2つに
大別される。
(3)インタプリタモジュールを呼び出すための、コン
パイラ言語のモジュールが提供され、利用者は他言語モ
ジュールの中で該モジュールを窓口としてインタプリタ
モジュールを呼び出すというインタフェース。
(4)利用者は、他言語モジュールの中で、インタプリ
タモジュールをあたかも該他言語で記述されているよう
にその参照を記述してコンパイラする一方、該他言語モ
ジュールがインタプリタ内に動的にリンクされる以前に
インタプリタモジュールを定義し、また、該インタプリ
タモジュールを呼び出す他言語の言語種別、引数および
返却値の型等を宣言しておくというインタフェース。
こういった利用技術を可能としている処理系におい
て、その実現方法およびその使用の際の手順はそれぞれ
の処理系に依存した方式がとられている。上記(3)に
よるインタフェースを実現している例としては、Lispの
処理系が、CからLispを呼うためのモジュールとしてli
sp−call(index,arg1,arg2,…,argn)というモジュー
ルを提供している例がある。引数のうち、indexは、呼
び出すべきLispモジュールのアドレスを格納した表(以
後、アドレス格納表と呼ぶ)の要素の番号である、残り
の引数は全て該Lispモジュールに渡すべき引数である。
利用者は、上記lisp−callを用いて、Lispモジュールを
呼び出すCのモジュールを記述し、コンパイルする。つ
いでLispを起動し、前記コンパイルによって得られたオ
ブジェクトファイルに関する参照の解決を動的に行な
い、ロードし、次に上記(2)のインタフェースに従っ
て、該Cモジュールを呼び出すLispモジュールを作成す
る。この動的なリンク処理にはオペレーティングシステ
ムが提供している静的リンカを動的に呼び出す手法を用
いている。次に、上記lisp−callから呼ばれるべきLisp
モジュールを定義し、そのアドレスを上記アドレス格納
表に格納し、その後、その表の要素の番号を、たとえば
引数として渡すことにより、該アドレス格納表の対応す
るモジュールアドレスを得て、利用者のCモジュールか
ら該Lispモジュールを呼び出すインタフェースを実現し
ている。
また、上記(4)によるインタフェースを実現してい
る例としては、Lispにおいて、define−foreign−entry
というモジュールを提供し、このモジュールにLispのモ
ジュール名、該Lispモジュールを参照する他言語モジュ
ールの格納領域名、引数および返却値の属性等を引数と
して与え、さらに動的リンクを実行することにより、Li
spモジュールを他言語モジュールから同一モジュール名
で呼び出し可能としている例がある。
〔発明が解決しようとする課題〕
上述した従来の技術において、(3)の例はインタプ
リタモジュールを起動するための窓口用モジュールを有
することにより既存の静的リンカを用いて動的リンクを
行なう処理が可能となり、処理系作成者の負担が軽い反
面、利用者は常にその窓口を固定的に使用して呼び出し
を行わねばならない。さらに、上記(3)によると、該
窓口用モジュールの第1引数はインタプリタ内部の管理
表の要素番号であり、利用者がインタプリタ内部の仕様
を認識していなければならないという欠点がある。ま
た、(4)の例は他言語モジュールの記述の面において
は(3)の欠点を除去しているインタフェースである
が、上記define−foreign−entryの実行において、その
引数として該Lispモジュールを参照とする他言語モジュ
ールの格納領域名を指定することが必須となる。すなわ
ち、利用者は他言語モジュールの格納場所を指定する該
機能を使用しなければならないという欠点がある。ま
た、かかる格納領域を管理する処理に起因するオーバー
ヘッドが不可避であるという欠点がある。
本発明の目的は、インタプリタシステムが他言語モジ
ュールを呼び出す他言語呼び出し機能において、該他言
語モジュールからインタプリタモジュールへの参照の解
決を動的リンカを用いて自動的に行なうことにより、該
他言語モジュールから該インタプリタモジュールを呼び
出すことができるようにすることにある。
本発明の他の目的は、利用者が他言語モジュールやイ
ンタプリタモジュールの格納領域の位置や領域名を指示
することなく、他言語モジュールからインタプリタモジ
ュールを呼び出すことができるようにすることにあり、
さらに該他言語モジュールの格納領域の管理に係るオー
バヘッドを不要とすることができるようにすることにあ
る。
〔課題を解決するための手段〕
本発明による異種言語間連絡方式は、コンパイラ言語
で記述およびコンパイルされた他言語モジュールを記憶
する補助記憶装置と、インタプリタ言語で記述された第
1のインタプリタモジュールと第2のインタプリタモジ
ュールとを含むインタプリタと、前記第2のインタプリ
タモジュールを前記他言語モジュールから呼び出すこと
ができる形式に変換したコンパイラ言語対応モジュール
と、前記他言語モジュールおよび前記コンパイラ言語対
応モジュールの所在情報を外部名登録表に登録する外部
名登録手段と、前記外部名登録表に登録されている所在
情報を参照して、前記他言語モジュールおよび前記コン
パイラ言語対応モジュールをロードし、起動元のモジュ
ールにリンクする動的リンク手段とを備え、前記第1の
インタプリタモジュールが、前記動的リンク手段を起動
することにより、前記他言語モジュールを前記補助記憶
装置から主記憶装置へロードして自身へリンクし、前記
他言語モジュールが、前記第1のインタプリタモジュー
ルにリンクされると、前記動的リンクを起動することに
より、前記コンパイラ言語対応モジュールに対応する前
記第2のインタプリタモジュールを自身へリンクするこ
とを特徴とする。
〔実施例〕
次に、本発明を図面を参照して説明する。
第1図は本発明の一実施例による異種言語間連絡方式
を実現するインタプリタシステムの構成を示すブロック
図である。インタプリタ3が主記憶装置1にロードさ
れ、実行中である。インタプリタ3においては利用者が
予め作成した任意の機能を行うインタプリタモジュール
4が実行可能な状態にある。
利用者は、コンパイラ言語対応モジュール出力手段5
により、該インタプリタモジュール4を、他言語モジュ
ール11から呼び出すことができるコンパイラ言語対応モ
ジュール9に変換して出力する。このコンパイラ言語対
応モジュール出力手段5によって出力されたコンパイラ
言語対応モジュール9は、外部名登録手段6によりイン
タプリタ内にある外部モジュールとして、動的リンク手
段7の処理対象とされる。
動的リンク手段7は、インタプリタモジュール4を参
照する他言語モジュール11を含んだオブジェクトファイ
ル名を指定して起動され、補助記憶装置2から該オブジ
ェクトファイル名に対応する他言語モジュール11を主記
憶装置1にロードするとともに、該他言語モジュール11
からのインタプリンタモジュール4に対する参照をコン
パイラ言語対応モジュール9に対する参照として解決す
る(コンパイラ言語対応モジュール9を呼び出すこと
が、実際にはインタプリタモジュール4を呼び出すこと
になる)。
動的リンク手段7によりロードされた他言語モジュー
ル11へのインタフェースは、インタプリタ言語対応モジ
ュール出力手段8によりインタプリタモジュール12とし
て出力される。該インタプリタモジュール12が起動され
ると他言語モジュール11に制御が移る。該制御における
インタプリタモジュール4の呼び出しは、コンパイラ言
語対応モジュール9を介して行なわれる。他言語モジュ
ール11から制御が戻るの、インタプリタモジュール12を
経由して、該インタプリタモジュール12を起動した呼び
出し元に制御が戻る。
次に、第2図を参照して、コンパイラ言語対応モジュ
ール出力手段5の動作について説明する。まず、ステッ
プ21において、利用者がインタプリタモジュール4の名
称、インタプリタモジュール4を呼び出す他言語モジュ
ール11の言語処理系名、インタプリタモジュール4の戻
り値のデータ型名、および各引数のデータ型名の合計4
つの情報を入力する。一般に、モジュール呼び出しの際
の引数の渡し方および戻り値の受けとり方は、データの
内部表現と同様に、各言語処理系に依存する。したがっ
て、上記4つの入力情報において、言語処理系名は必須
である。また、本実施例ではモジュールとしているが、
戻り値をもたないようなモジュールを呼び出す場合に
は、戻り値のデータ型名を省略することもできる。つい
で、これらの情報をもとに、ステップ22において、コン
パイラ言語対応モジュール9を出力する。コンパイラ言
語対応モジュール9は第3図に示す処理を行うモジュー
ルであり、外部名登録手段6によりインタプリタ内にあ
る外部モジュールとして、動的リンク手段7の処理対象
とされる。場合に応じてレジスタの退避・復活あるいは
例外ハンドラの設定・解除等を行なう処理を付加するこ
ともできる。
コンパイラ言語対応モジュール出力手段5が終了した
時点において、主記憶装置1上の状態は第4図に示すよ
うになっている。
次に外部名登録手段6が起動され、後述する動的リン
ク手段7で使用される外部名登録表10がコンパイラ言語
対応モジュール9に対して出力される。
外部名登録表10は、第5図に見られるように、4つの
情報からなる。外部名文字列アドレス51は、外部モジュ
ールであるコンパイラ言語対応モジュール9の名称を格
納した領域のアドレスを格納する。入口アドレス52は、
該外部モジュールの入口アドレスを格納する。標識53
は、該外部モジュールが定義済かあるいは参照されてい
るのみかを示すもので、本外部名登録手段6において
は、常に定義済である旨の内容が記入される。次チェイ
ン54は、動的リンカが該外部モジュールに対する外部名
登録表10を検索する際に用いるチェインである。外部名
登録手段6が終了した時点において、主記憶領域1の状
態は、第6図に示す状態になっている。
次に、インタプリタモジュール4を参照する他言語モ
ジュール11を含むオブジェクトファイル名を指定して動
的リンク手段7が起動される。動的リンク手段7は、指
令されたオブジェクトファイル名に対応する他言語モジ
ュール11を補助記憶装置2から読み出し、該他言語モジ
ュール11およびオブジェクトファイルに格納されている
全てのモジュールについて参照を解決すなわち全てのモ
ジュールに係る外部名文字列アドレス51、入口アドレス
52、標識53および次チェイン54の情報を外部名登録表10
に登録し、再配置すなわちこれらのすべてのモジュール
のアドレスをインタプリタ3が動作するアドレス空間で
のアドレスにマッピングし、主記憶装置1に外部モジュ
ールとしてロードする。これらの処理は、静的リンカに
よって広く行なわれている処理とほぼ同様であるが、前
記外部名登録表10を用いる点が異なる。すなわち、動的
リンク手段7は、オブジェクトファイル内に存在する外
部名のみならず、主記憶装置1内に存在する外部名登録
表10によってその存在が知られる外部モジュールをも処
理対象とする。したがって、複数回に及び動的リンク処
理を行なうことにより、使用可能な外部モジュールを拡
張的に増加させることが可能である。動的リンク手段7
が終了した時点において、主記憶装置1内の状態は第7
図に見られる状態となる。
動的リンク手段7により、他言語モジュール11が主記
憶装置1内にロードされ、該他言語モジュール11はコン
パイラ言語対応モジュール9を介してインタプリタモジ
ュール4を呼び出すことが可能となる。
この時点で制御はインタプリタ3にある。他言語モジ
ュール11に制御を渡すには、インタプリタ3内のモジュ
ールから直接渡すか、インタプリタ3内のモジュールか
ら制御を渡された別の他言語モジュール11から渡すかの
いずれかであるが、いずれの場合も、インタプリタ3か
らある他言語モジュール11に制御を渡すことを可能とす
ることが必要かつ十分である。これを可能とするのは前
述した従来技術の(2)に対応するものであり、前述し
たように他言語呼び出し機能を提供している近年の処理
系によって多く実現されている。
本発明のインタプリタ言語対応モジュール出力手段8
は、この実現法の1つであるため、ここでの説明は省略
する。該インタプリタモジュール出力手段8により、イ
ンタプリタモジュール12が出力され、主記憶装置1内の
状態は第8図に見られる状態となり、他言語モジュール
11に対し、インタプリタ3から制御を渡すことが可能と
なる。
このように、インタプリタ3は、インタプリタモジュ
ール12を起動して他言語モジュール11を呼び出す。その
際、該インタプリタモジュール12は、動的リンク手段7
により外部名登録表10に登録された該他言語モジュール
11の情報に基づいて該他言語モジュールの参照を解決し
て該他言語モジュール11を呼び出す。また、該他言語モ
ジュール11は、コンパイラ言語対応モジュール9を介し
てインタプリタモジュール4を呼び出す。その際、該他
言語モジュール11は、動的リンク手段7により外部名登
録表10に登録された該コンパイラ言語対応モジュール9
の情報に基づいて該インタプリタモジュール4の参照を
解決して該インタプリタモジュール4を呼び出す。
〔発明の効果〕
以上説明したように、本発明は、インタプリタシステ
ムが他言語モジュールを呼び出す他言語呼び出し機能に
おいて、該他言語モジュールからインタプリタモジュー
ルへの参照の解決を動的リンクを用いて自動的に行なう
ことにより、該他言語モジュールから該インタプリタモ
ジュールを呼び出すことができる効果を有している。
また、利用者が他言語モジュールやインタプリタモジ
ュールの格納領域の位置や領域名を指示することなく、
他言語モジュールからインタプリタモジュールを呼び出
すことができ、さらに該他言語モジュールの格納領域の
管理に係るオーバヘッドを不要とすることができる効果
を有している。
【図面の簡単な説明】
第1図は本発明の一実施例による異種言語間連絡方式を
実現するインタプリタシステムの構成を示すブロック
図、第2図はコンパイラ言語対応モジュール出力手段の
処理フローを示す図、第3図はコンパイラ言語対応モジ
ュール出力手段によって出力されたコンパイラ言語対応
モジュールの処理フローを示す図、第4図はコンパイラ
言語対応モジュールが出力された際の主記憶装置内の状
態を示す図、第5図は外部名登録表の説明図、第6図は
外部名登録手段によって外部名登録が出力された際の主
記憶装置内の状態を示す図、第7図は動的リンク手段に
よって他言語モジュールがロードされた際の主記憶装置
内の状態を示す図、第8図はインタプリタモジュール出
力手段によってインタプリタモジュールが出力された際
の主記憶装置内の状態を示す図である。 1……主記憶装置、2……補助記憶装置、3……インタ
プリタ、4……インタプリタモジュール、5……コンパ
イラ言語対応モジュール出力手段、6……外部名登録手
段、7……動的リンク手段、8……インタプリタモジュ
ール出力手段、9……コンパイラ言語対応モジュール、
10……外部名登録表、11……他言語モジュール、12……
インタプリタモジュール。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】コンパイラ言語で記述およびコンパイルさ
    れた他言語モジュールを記憶する補助記憶装置と、 インタプリタ言語で記述された第1のインタプリタモジ
    ュールと第2のインタプリタモジュールとを含むインタ
    プリタと、 前記第2のインタプリタモジュールを前記他言語モジュ
    ールから呼び出すことができる形式に変換したコンパイ
    ラ言語対応モジュールと、 前記他言語モジュールおよび前記コンパイラ言語対応モ
    ジュールの所在情報を外部名登録表に登録する外部名登
    録手段と、 前記外部名登録表に登録されている所在情報を参照し
    て、前記他言語モジュールおよび前記コンパイラ言語対
    応モジュールをロードし、起動元のモジュールにリンク
    する動的リンク手段とを備え、 前記第1のインタプリタモジュールが、前記動的リンク
    手段を起動することにより、前記他言語モジュールを前
    記補助記憶装置から主記憶装置へロードして自身へリン
    クし、 前記他言語モジュールが、前記第1のインタプリタモジ
    ュールにリンクされると、前記動的リンクを起動するこ
    とにより、前記コンパイラ言語対応モジュールに対応す
    る前記第2のインタプリタモジュールを自身へリンクす
    ることを特徴とする異種言語間連絡方式。
JP63137397A 1988-06-06 1988-06-06 異種言語間連絡方式 Expired - Fee Related JP2666847B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63137397A JP2666847B2 (ja) 1988-06-06 1988-06-06 異種言語間連絡方式
US07/361,056 US5210876A (en) 1988-06-06 1989-06-05 Method for calling interpreter language procedure from compiler language procedure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63137397A JP2666847B2 (ja) 1988-06-06 1988-06-06 異種言語間連絡方式

Publications (2)

Publication Number Publication Date
JPH01306923A JPH01306923A (ja) 1989-12-11
JP2666847B2 true JP2666847B2 (ja) 1997-10-22

Family

ID=15197706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63137397A Expired - Fee Related JP2666847B2 (ja) 1988-06-06 1988-06-06 異種言語間連絡方式

Country Status (2)

Country Link
US (1) US5210876A (ja)
JP (1) JP2666847B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE416331T1 (de) * 1989-08-31 1991-07-04 Yokogawa Electric Corp., Musashino, Tokio/Tokyo Line computer.
US5339422A (en) * 1991-03-07 1994-08-16 Digital Equipment Corporation System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment
CA2082066C (en) * 1991-03-07 1998-04-21 James A. Wooldridge Software debugging system and method especially adapted for code debugging within a multi-architecture environment
US5469574A (en) * 1993-06-18 1995-11-21 International Business Machines Corporation Method and system for interfacing interpreted applications with compiled procedures using signature files
JP3233245B2 (ja) * 1993-07-01 2001-11-26 日本電気株式会社 言語処理方法
US5581769A (en) * 1993-12-29 1996-12-03 International Business Machines Corporation Multipurpose program object linkage protocol for upward compatibility among different compilers
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
US5850550A (en) * 1995-08-31 1998-12-15 International Business Machine Corporation No preprocessor and a source level debugger for embedded SQL in a 3GL
US5675804A (en) * 1995-08-31 1997-10-07 International Business Machines Corporation System and method for enabling a compiled computer program to invoke an interpretive computer program
US5826087A (en) * 1995-10-02 1998-10-20 Lohmann; William C. Method and apparatus for cross calling programs of different lexical scoping methodology
US5771379A (en) * 1995-11-01 1998-06-23 International Business Machines Corporation File system and method for file system object customization which automatically invokes procedures in response to accessing an inode
US5896535A (en) * 1996-08-20 1999-04-20 Telefonaktiebolaget L M Ericsson (Publ) Method and system for testing computer system software
KR100329063B1 (ko) 1996-10-25 2002-03-18 디디어 레묀 마이크로컨트롤러를 이용한 고급 프로그래밍 언어 사용
CA2194848C (en) * 1997-01-10 2003-12-23 Jonathan Layes Condition handling using script interpreters
US6006235A (en) * 1997-11-26 1999-12-21 International Business Machines Corporation Method and apparatus for invoking a stored procedure or a user defined interpreted language function in a database management system
GB9825102D0 (en) 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US7757225B2 (en) * 2001-06-29 2010-07-13 Microsoft Corporation Linktime recognition of alternative implementations of programmed functionality
US6976254B2 (en) 2001-11-28 2005-12-13 Esmertec Ag Inter-method control transfer for execution engines with memory constraints
US7124237B2 (en) * 2002-10-03 2006-10-17 Seagate Technology Llc Virtual machine emulation in the memory space of a programmable processor
US7611405B2 (en) * 2002-10-15 2009-11-03 Igt Dynamic menu system
US7510478B2 (en) * 2003-09-11 2009-03-31 Igt Gaming apparatus software employing a script file
US8046777B2 (en) * 2005-06-02 2011-10-25 The Mathworks, Inc. Calling of late bound functions from an external program environment
JP2007304840A (ja) * 2006-05-11 2007-11-22 Matsushita Electric Ind Co Ltd コンパイル方法、デバッグ方法、コンパイルプログラムおよびデバッグプログラム
US20080005727A1 (en) * 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for enabling cross language access to an addressable entity
US20080005728A1 (en) * 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for enabling cross language access to an addressable entity in an execution environment
US8762976B2 (en) * 2007-03-09 2014-06-24 Microsoft Corporation Static extensibility models with dynamic languages and scripts
US8707257B2 (en) * 2007-11-28 2014-04-22 Red Hat, Inc. Automatic object instantiation
US8504986B2 (en) * 2008-01-23 2013-08-06 Red Hat, Inc. Calling functions as methods
US20090249021A1 (en) * 2008-03-26 2009-10-01 Morris Robert P Method And Systems For Invoking An Advice Operation Associated With A Joinpoint
US10783058B2 (en) * 2019-02-14 2020-09-22 Microsoft Technology Licensing, Llc Extensible device driver verification

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787034A (en) * 1984-11-14 1988-11-22 Pal Szoke Program access system
US4736321A (en) * 1986-05-05 1988-04-05 International Business Machines Corporation Communication method between an interactive language processor workspace and external processes
US4949255A (en) * 1988-09-07 1990-08-14 International Business Machines Corp. Message interface and method for recursive calling between interpretive and compiled computer processes

Also Published As

Publication number Publication date
US5210876A (en) 1993-05-11
JPH01306923A (ja) 1989-12-11

Similar Documents

Publication Publication Date Title
JP2666847B2 (ja) 異種言語間連絡方式
US8156471B2 (en) Multi-language execution method
US6003095A (en) Apparatus and method for demand loading a dynamic link library
KR960035260A (ko) 소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치
JPH11110194A (ja) 外部ライブラリ関数との結合方法ならびに同方法がプログラムされ記録される記録媒体
US6948170B2 (en) Computer and computer-readable storage medium for command interpretation
JPH07230386A (ja) データ処理装置及び制御ルーチン呼出し方法
US5404531A (en) Method and apparatus for compiler processing on program related to data transfer and calculation, and method of managing memory
JPH03229352A (ja) プログラム変更方法
US11429358B2 (en) Representing asynchronous state machine in intermediate code
CN111008056B (zh) 一种bios设置界面语言配置方法和装置
JP2003076547A (ja) 制御ソフトウェア自動生成システムおよび方法
JP2002312167A (ja) 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法
JP2002132502A (ja) 言語機能解釈による分散オブジェクト自動生成システム及び方法
JPH0430239A (ja) コマンドオプション指定処理装置
JPH064498A (ja) マルチプロセッサ処理装置
JP2000231494A (ja) ソフトウェア実行システム及びソフトウェア実行方法
JPS63317831A (ja) プログラム翻訳処理方法
JPH056278A (ja) Fortranコンパイル処理装置
JPH07105014A (ja) 言語処理システムのシンボル処理方式
JP2013080281A (ja) 実行制御プログラム、コンパイラ、実行制御装置および実行制御方法
JP2000132405A (ja) インライン展開処理装置及び方法
JPH02236732A (ja) ソースプログラム作成方式
JPH05120025A (ja) ソースプログラムのインライン展開方法
JPS62205434A (ja) 再帰呼出し可能プログラムのコンパイル処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees