加入收藏
举报
02-14 18:38
#0
文件名称:
AST.md
所在目录:
docs / 框架
文件大小:
726.00 B
下载地址:
i-want-offer/FE-Essay
   
免责声明:本网站仅提供指向 GitHub 上的文件的链接,所有文件的版权归原作者所有,本网站不对文件内容的合法性、准确性或安全性承担任何责任。
文本预览:
# AST
> **抽象语法树(Abstract Syntax Tree)**,是将代码逐字母解析成 **树状对象** 的形式。这是语言之间的转换、代码语法检查、代码风格检查、代码格式化、代码高亮、代码错误提示、代码自动补全等等的基础
```typescript
// 转换前
function square(n) {
return n * n
}
// 转换后
const element = {
type: "FunctionDeclaration",
start: 0,
end: 35,
id: Identifier,
expression: false,
generator: false,
params: [1, element],
body: BlockStatement
}
```
# Babel 编译原理
* babylon 将 ES Next 代码解析成 AST
* babel-traverse 对 AST 进行遍历转译,得到新的 AST
* 新 AST 通过 babel-generator 转换成 ES5
点赞 回复
回帖
支持markdown部分语法 ?