理解抽象语法树(AST)
抽象语法树在 JavaScript 中的应用 - 美团点评技术团队
JavaScript Parser
Parser建议从Esprima开始学习,相比较于其它Parser文档和示例更加丰富和形象。
Acorn的性能和效率比Esprima更胜一筹,但是文档比较匮乏。
Babylon是Babel的JavaScript Parser,早期也是fork的Acorn,目前关注度不及其它Parser。
推荐一种比较好的实践方式:从npm中的找出几个依赖于这些Parser的项目直接学习源代码。比如amd2cmd这个项目就是使用acorn将amd代码转换为cmd代码。
周边工具
更直观的理解各个Parser生成的AST。
各种用于AST以及辅助的相关工具,比如estraverse用于遍历AST,escodegen用于从AST生成源代码。