Hi! I'm the author of js2coffee, a JavaScript to CoffeeScript compiler, among many other JS projects. I had a lot of fun writing a JavaScript compiler (or "transpiler" to be more specific), I learned a lot, and would love to share the story of building it at NodeConf.
Tentative outline
What is a compiler?
A short recap on the components of a compiler today explaining tokenizers, parsers, and generators.
About the JS AST
Let's look at a brief history touching Mozilla's Narcissus project, as well as the emergence of the estree spec used today by Esprima, Babel, Acorn, and many other tools.
JavaScript transpiling
I'll explain the first iteration of js2coffee, the problems that plagued it, and how it was solved by Babel, Traceur, and js2coffee 2.0.
The future
Given the emergence of new developments like estree and es6, I'll share my thoughts on what this means for the future of JavaScript.
Hi! I'm the author of js2coffee, a JavaScript to CoffeeScript compiler, among many other JS projects. I had a lot of fun writing a JavaScript compiler (or "transpiler" to be more specific), I learned a lot, and would love to share the story of building it at NodeConf.
Tentative outline
Links