0

プログラミング言語には、少なくとも部分的に言語自体に実装された標準ライブラリが付属しているのが一般的です。

インタプリタ言語の場合、明らかな実装は、インタプリタの起動時にライブラリソースファイルを読み取ることですが、これは、両方が移動された場合でも、インタプリタがそれらのファイルの場所を確実に認識できるようにするという厄介ですが永続的な問題に遭遇します。 。それらがインタプリタ自体に埋め込まれることができればよりクリーンになるので、実行可能ファイルは1つだけです。

ライブラリのソースファイルをCリテラル文字列に変換するだけで、これを行う簡単な方法を見つけることができますが、見落としている落とし穴やメソッドの改良点があるかどうかについて興味があります。

だから私の質問は、どの既存の解釈された言語がその言語自体のライブラリソースファイルをインタプリタに添付するのかということです。

4

1 に答える 1

2

バイトコード仮想マシンは、多くの場合、これに対する答えを提供します。バイトコードをファイル(* .pyc、*。rbc)に格納し、より単純なメカニズムを使用して、バイトコード化されたバージョンのライブラリをロードします。

Smalltalkは、標準ヒープを「イメージ」と呼ばれる別のファイルにダンプすることでこれを行います。

単一ファイルの配布については、実行可能ファイルの最後にライブラリファイルを追加し、インタプリタがバイナリから読み取ってそれらの解釈可能なプログラムデータの構造を見つけるための特別なロジックを含めるか、またはでインタプリタを構築します。プログラムデータの静的な包含。

于 2011-02-26T21:12:17.523 に答える