是否可以用高级语言实现编译器?

Van*_*gic 3 compiler-construction lua

我对较低级别的概念很感兴趣,例如操作系统,算法,数学证明软件正确性等.

最吸引我的是编译器.我开始学习它们并希望为了学习而实现一个玩具编译器,也许它变得很大(你永远都不知道,对吧?).

我的目标是实现类似lua的静态类型,线程感知编程语言(第一个目标是具有基本堆栈操作的解释器).我的问题是,我对c,c ++或pascal等低级语言几乎没有兴趣,我想知道是否有可能在动态类型环境中为静态类型语言实现编译器?

我有兴趣在lua或python中实现这样的语言(虽然lua更适合我).

Ern*_*ill 6

简单的问题:是的,绝对是,它一直在做.大多数编译语言最终都是"自举"的,因此他们自己的编译器是用语言编写的:例如,javac标准的Java编译器是用Java编写的.