ビルドイン方式のインタプリタを持つソフトウェアを使用しています。ユーザは、インタプリタでコマンドを入力することにより、ソフトウェアを通信/操作することができる。また、ユーザーはバイナリファイルを環境にロードすることもできます。lisp(scheme)はどのようにバイナリファイルにコンパイルできますか?
(define test (lambda() (display "This is a test!"))) ---- d:/test.scm
そして、ロードしてより速く実行するバイナリファイルにコンパイルします。しかし、この文書はスキームコードのコンパイルに関する情報を持っていません。私は「高速ロード」は物事を読んで、evalを行う考える
(fast-load "d:/test.bin" (the-environment))
:コンパイルのユーザーの後 は、次のように入力してバイナリファイルを読み込むことができます。コンパイルは暗号化プロセスなのですか?誰もこれらのことを知っていますか?すべての情報をいただければ幸いです!前もって感謝します。
もう1つの例があります:AutoCADシステム。ユーザーは、AutoCADを操作するためのlispコードを書くことができます。また、ユーザーはlispコードを* .fasファイルにコンパイルしてAutoCADに読み込むこともできます。ですから、実際には暗号化プロセスであれば、どうすればコンパイラを書くことができますか?それに関する文書はありますか?
Joe
コードクロックを使用して、これら3つの文字をいくらか右揃えにします...うわー。 – delnan
グーグル "lisp fasl"と "fasl lisp"を試してみてください。興味深いエントリがあります。 :-)私が知る限り、FASLをサポートする各Lisp実装は独自のFASL形式を持っています(あるいは、異なる実装間で生成されたFASLファイルは相互運用できません)。したがって、独自のコンパイラを書くなら、ターゲットにする1つのフォーマットを選択する。 –
これは暗号化ではなく、読み取り専用ではありません。「ファストロード」ファイルは読み込み専用です。 :-) AutoCadがFASLフォーマットを文書化していない場合は、AutoLISPを生成してコンパイルすることができます。 – Ken