AST
AST是Abstract Syntax Tree的缩写既"抽象语法树"
它以树状的形式表现编程语言的语法结构
生成过程
源码–词法分析–语法分析–抽象语法树
源码:
let sum = 10 + 66;
词法分析:
从左到右一个字符一个字符地读入源程序,从中识别出一个个“单词”"符号"等
单词 let 单词 sum 符号 = 数字 10 符号 + 数字 66 符号 ;
[
{
"type": "word", value: "let"}
{
"type": "word", value: "sum"}
{
"type": "Punctuator", value: "="}
{
"type": "Numeric", value: "10"}
{
"type": "Punctuator", value: "+"}
{
"type": "Numeric", value: "66""}
{
"type": "Punctuator", value: ";"}
]
语法分析:
在词法分析的基础上根据当前编程语言的语法,将单词序列组合成各类语法短语
关键字 let 标识符 sum 赋值运算符 = 字面量 10 二元运算符 + 字面量 66 结束符号 ;