非常に単純な言語用にいくつかの手書きコンパイラを作成しましたが、今は単純化されたPythonやRubyに似た動的言語の開発に挑戦したいと考えています。しかし、コンパイラがどのように機能するかについて頭をかき回すのは簡単でした。プリミティブコンパイラは翻訳するだけです。しかし、言語が動的な場合、これを行うことはできません。実行時に情報を追跡し、より多くの作業を行うインタープリターまたはVMを作成する必要があります。
要するに、コンパイラがどのように機能するかを知っているが、インタープリターの作成に移行したいと考えているので、チェックアウトすべきリソースはありますか?動的言語用にいくつかのVMがありますが、自分でローリングしても問題ありません。これは私の個人的な経験のためだけです。
コンパイラーからインタープリターへの移行方法に関する情報を探しています。すでに言語Xのコンパイラーを作成しているが、今はインタープリターを作成する場合、何をする必要がありますか。また、プロセスを実行するリソースはありますか?
コンパイラや仮想マシンの動作を網羅する幅広いリソースや抽象的なリソースは必要ありません。このテーマに関する教科書がたくさんあります。私がオンラインで見つけたすべてのリソースは、経験がないことを前提としているため、語彙分析または構文分析から始めるか、非常に抽象的です。動作するコンパイラはありますが、これをインタープリターに変換して、言語に動的機能を追加したいと考えています。
このプロセスでリソースを見つけることができませんでした。スコープが限定的すぎるか、理論的すぎずにインタープリターの「バックエンド」のリソースを見つけることができなかったため、ここに投稿しました。