iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 2
0
Software Development

做一個JVM語言系列 第 2

參考資料:一本書及一系列的文章

  • 分享至 

  • xImage
  •  

編寫程式語言最經典的參考書,當然是最有名的恐龍書,幾十年來,書愈編愈厚,基本上是不要讓人在當學生時
可以練習完的厚度,而且滿布了編譯器的專有名詞。
而本文所要參考的書,是ANTLR 的作者,Terence Parr教授編寫的手冊,The Definitive ANTLR 4 Reference
薄薄的322頁書,至少比恐龍書少了一千頁。給你很多設計語言的案例,來學習使用ANTLR工具,程式碼產生器,類別庫。

如果你志不在一個JVM語言,其實熟練ANTLR,你就可以做一些有趣的應用了。
例如語言的自動轉換器。有一個日本高手寫了一個Objective-C 轉Swift 的線上轉換器,
Objective-C 轉Swift 的線上轉換器
有人學習新語言的同時,有人用轉換舊語言到新語言來學新語言。

強國也有人寫了一個Objective-C 轉JS的工具
這工具是想迴避APP STORE的上架審查機制所寫的。
以上兩種都是借用ANTLR的應用案例。

如果,你覺得轉換語言不夠讓內心踏實,一定要有個指令,如JAVAC 來編譯程式,JAVA執行程式,才
叫語言,那可以試試JVM語言。

可能是東歐牛人的JAKUB DZIWORSKI,寫了一系列博文,用自創的Enkel語言,
結合ANTLR,ASM ,來產生bytecode ,可在JVM上執行。

未來28天的文章,就圍繞著這兩個參考來源,實作一些程式碼來驗証JVM語言。

新創一個語言,這引發著一個問題,什麼樣才算一個新語言?個人覺得C like 的語言其實很多,C++, JAVA,
PHP 都是C-like的語言,只是主攻的強項不同。

而PYTHON類的語言,從文法風格上,就覺得很特別,和C LIKE類的語言,從外貌上就差異很大。
而函數式語言很多的括號(),外貌上也很特別。
這三種形的語言,外貌上有差異,讓人覺得差異頗大。
而以強打的功能而言,那又是另一種分類為新語言的方式。


上一篇
緣起:受了詛咒似的愛創作新語言,愛學新語言的程式設計師天性
下一篇
Antlr 環境設定
系列文
做一個JVM語言12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言