本文系 Creating JVM language 的翻译, 原文作者 Jakub 花费 20 周的时间,从零开始,实现一门运行在 JVM 上的语言。我也准备花费 20 周的时间对原文做一次比较完备的翻译。

正如我之前博客中提到的,我正在参加一个 “让自己知道” 的比赛。这个比赛的目的是做一个项目,并且用博客记录项目的开发过程。于是我想到了开发一个自己的基于 JVM 的语言和编译器(我没有理由不这么做)。

这个语言的名字我称之为 Enkel, 在瑞士语中表示简单的意思。

之所以让 Enkel 运行在 JVM 主要有以下几方面的考虑:

  • JVM 规范文档整理的很好
  • JVM 语言可以混合调用(因此 Enkel 可以调用 Java 库)
  • 我熟悉 Java 这门语言(词法分析器,语法分析器以及编译器均准备用 Java 编写)
  • Java 有一些很便捷的操作字节码的库(译者注:asm)
  • 本人觉得 Java 语言有一些可以优化的点

在接下来的十周,我将详细的描述 Enkel 的整个实现过程,坐稳,发车~