手拉手教你實現一門程式語言 Enkel, 系列 1

KevinOfNeu發表於2018-09-06

本文系 Creating JVM language 的翻譯, 原文作者 Jakub 花費 20 周的時間,從零開始,實現一門執行在 JVM 上的語言。我也準備花費 20 周的時間對原文做一次比較完備的翻譯。

正如我之前部落格中提到的,我正在參加一個 “讓自己知道” 的比賽。這個比賽的目的是做一個專案,並且用部落格記錄專案的開發過程。於是我想到了開發一個自己的基於 JVM 的語言和編譯器(我沒有理由不這麼做)。

這個語言的名字我稱之為 Enkel, 在瑞士語中表示簡單的意思。

之所以讓 Enkel 執行在 JVM 主要有以下幾方面的考慮:

  • JVM 規範文件整理的很好
  • JVM 語言可以混合呼叫(因此 Enkel 可以呼叫 Java 庫)
  • 我熟悉 Java 這門語言(詞法分析器,語法分析器以及編譯器均準備用 Java 編寫)
  • Java 有一些很便捷的操作位元組碼的庫(譯者注:asm)
  • 本人覺得 Java 語言有一些可以優化的點

在接下來的十週,我將詳細的描述 Enkel 的整個實現過程,坐穩,發車~

相關文章