我已经为非常简单的语言创建了几个手写的编译器,但是现在我想尝试开发一种动态语言,类似于简化的Python或Ruby。但是,我很容易将头放在编译器的工作方式上。原始编译器只是翻译。但是如果语言是动态的,我将无法做到这一点。我必须编写一个解释器或VM,以便在运行时跟踪信息并为我做更多的工作。
简而言之,考虑到我知道编译器的工作原理,但又想迁移到创建解释器,是否应该检查任何资源?那里有一些用于动态语言的虚拟机,但是我自己开发自己的没有问题。这些全都是出于我的个人经验。
我正在寻找有关如何从编译器转到解释器的信息。如果我已经为X语言编写了编译器,但是现在要编写解释器,该做什么呢?在此过程中是否有资源?
我不希望涉及编译器或虚拟机如何工作的大量或抽象资源。我有很多关于这个主题的教科书。我在网上找到的所有资源都假设您有0位经验,因此从词法或句法分析入手,或者它们非常抽象。我有一个正在运行的编译器,但是现在我想将其转换为解释器,并为语言添加动态功能。
我找不到有关此过程的资源,它的范围可能太有限,或者解释器的“后端”中的资源没有太过理论,这就是我在此处发布的原因。