2011年7月3日 星期日

[編譯器的研究]開頭

不是資訊科系出身的我,非常敬畏compiler。
因為要看得懂人寫的東西,是非常困難的,
而compiler就是能夠看得懂。

這次研究的開頭是因為看到 google 啟動一個 traceur 的計畫。
這個計畫要介紹給大家 google 對於 javascript 語言的進化的規劃。
讓大家了解,新的 javascript 會有什麼新的語法及功能、
新的語法帶來什麼方便。
這個計畫,寫了一個 javascript to javascript 的轉換,
把新語法對應到舊語法。而且這工作是用 javascript 寫的。

這很可愛!

擴展一個語言的新功能,是重寫 compiler,這很正常。
可以用原來的語言再寫一個新的 compiler,這就有點可愛,不覺得嗎?
這一類的情況也不是只發生在這裡。
gnu 的 c/c++ compiler,python 的 pypy,也都是這一類的東西。

compiler 是一個很大的題目,陳公覺得我很無聊。
花這個時間能做出個 compiler 又怎樣?
是啊,以一個人來說,做出來的 compiler 應該也只是個玩具。
在這次研究中,我個人是希望,至少,
前面的 scanner + parser 階段,
可以開發個工具來 parse 工作上的 log,替 log 上色。
這個工具是吃 config 的,所以才要用到 compiler 的技術。
就不用每次換 log 都要重寫一次。
至於後續的部份,那就再看看囉。

沒有留言:

張貼留言