8月14日 打卡day19
今日学习:前端工程化基石 -- AST(抽象语法树)
通过一句主谓宾标点的简单句例子表现AST的原理,简单易懂,一起来学习一下吧!
1、AST是源代码的抽象语法结构的树状表现形式,简单点就是一个深度嵌套对象,这个对象能够描述我们书写代码的所有信息
2、编译器执行过程
①Parsing(解析):经过词法分析【用tokenizer(分词器)或者lexer(词法分析器),将源码拆分成tokens】、语法分析【将tokens重新整理成语法相互关联的表达形式,称为中间层或者AST(抽象语法树)】、构建AST(抽象语法树)一系列操作;
②Transformation(转化):对上一步解析后的内容,按照编译器指定的规则进行处理,形成一个新的表现形式【改写AST(抽象语法树)/生成新AST(抽象语法树)】;
③Code Generation(代码生成):将上一步处理好的内容转化为新的代码;
通过tokenzier(分词器)函数【生成Token】==》定义parser函数,接收上一步处理好的tokens【生成AST】==》【遍历和访问】生成好的AST==》用转换器将刚生成的AST转化为【新的AST】==》 用新的AST,遍历其每一个节点,根据指定规则生成【最终代码】
3、后面就是代码实践,用文章形式完成吧
展开
评论