2023年1月17日学习笔记

转化 AST 树#

整体框架#

一样的,我们可以首先搭出大体的框架,具体的同类型的节点访问(转化)方法后面再说。这里的转化思路就比较重要了:我们要如何在遍历旧的 AST 树时能将转化后的节点加入新的 AST 树?

这里的实现思路大体分为以下几步:

  1. 在旧的 AST 树中加入一个 _context 上下文属性,指向新的 AST 树的数组节点
  2. 当遍历旧 AST 数组节点的子元素时,将转化后的子元素放入它的父元素的 _context 属性中
  3. 根据 JavaScript 引用类型的特点,此时就实现了将转化和的节点放入新 AST 树的目的。

在图中表示出来大概如下:

posted @ 2023-01-17 09:31  南历史  阅读(30)  评论(0)    收藏  举报