解析(语法) (sytanx)
语法解析模块开始以字符流的形式阅读源码
结构大概如下,忽略Position、Scope等等其他信息;
- Program
- body [{
- VariableDeclaration (kind:let)
- declarations [{
- VariableDeclarator
- id (name:"a")
- init (value:"123")
}]
}]
转换 (transform)
这里转换成es5实际上就是把let
转换成var
Program.body[0].kind = "var"
- Program
- body [{
- VariableDeclaration (kind:var)
- declarations [{
- VariableDeclarator
- id (name:"a")
- init (value:"123")
}]
}]
生成
var a = 123;
DONE!
参考文献与相关网址