Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JavaScript Parser资源总结 #106

Open
SiZapPaaiGwat opened this issue Jul 17, 2016 · 0 comments
Open

JavaScript Parser资源总结 #106

SiZapPaaiGwat opened this issue Jul 17, 2016 · 0 comments

Comments

@SiZapPaaiGwat
Copy link
Owner

理解抽象语法树(AST)

Abstract syntax tree - 维基百科

抽象语法树在 JavaScript 中的应用 - 美团点评技术团队

JavaScript的抽象语法树与语法解析

通过开发 Babel 插件理解抽象语法树

JavaScript Parser

Parser建议从Esprima开始学习,相比较于其它Parser文档和示例更加丰富和形象。

Acorn的性能和效率比Esprima更胜一筹,但是文档比较匮乏。

Babylon是Babel的JavaScript Parser,早期也是fork的Acorn,目前关注度不及其它Parser。

推荐一种比较好的实践方式:从npm中的找出几个依赖于这些Parser的项目直接学习源代码。比如amd2cmd这个项目就是使用acorn将amd代码转换为cmd代码。

周边工具

AST explorer

更直观的理解各个Parser生成的AST。

ECMAScript Tooling

各种用于AST以及辅助的相关工具,比如estraverse用于遍历AST,escodegen用于从AST生成源代码。

Babel 插件手册

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant