如何實現 Babel 編譯器?
01-05
如何實現 Babel 編譯器?
既然問了這個問題那我默認題主沒有任何編譯器方面的知識,可以看看這個:https://github.com/thejameskyle/the-super-tiny-compiler
作者 James Kyle 是 Babel 的活躍維護者之一。你得看形式語義方面的資料,然後把 ES6 的 AST 變換到 ES5簡單的變換是樹遞歸做,複雜的(比如實現 yield)就得用 CEK 了這也是為什麼 Babel 要做 Proxy 的實現得做的那麼繞……
推薦閱讀:
※使用ES6 Module如何處理模塊按需載入 (lazyload)?
※瀏覽器直接支持ES6了,還需要編譯么?
TAG:JavaScript | 編譯器 | ECMAScript2015 | Babel |