前言
在这篇文章中,我们将通过 JS 构建我们自己的 JS 解释器,用 JS 写 JS,这听起来很奇怪,尽管如此,这样做我们将更熟悉 JS,也可以学习 JS 引擎是如何工作的!...Mini Js Interpreter~
实践准备
Acorn.js
A tiny, fast JavaScript parser, written completely in JavaScript....一个完全使用 javascript 实现的,小型且快速的 javascript 解析器
本次实践我们将使用 acorn.js ,它会帮我们进行词法分析,语法解析并转换为抽象语法树。...项目初始化
// visitor.ts 创建一个Visitor类,并提供一个方法操作ES节点。...我们可以看到这段代码中存在 4 种节点类型,下面我们简单的介绍一下它们:
Program
根节点,即代表一整颗抽象语法树,body 属性是一个数组,包含了多个 Statement 节点。