JavaScript如何编写解释器

使用JavaScript编写一个解释器看起来很难,其实实现原理很简单,就是使用JavaScript对象属性利用字符串表达这个特性可解释出来,解释器在JavaScript中发挥重要的解释作用,本文向大家介绍JavaScript编写解释器的简单操作,详情请看本文。

一、JavaScript解释器介绍

JavaScript解释器又名js引擎。

JavaScript是解释型语言,这就是说它无需编译,直接由JavaScript引擎直接执行。

二、编写JavaScript解释器

1、使用visitor.ts 创建一个Visitor类,并提供一个方法操作ES节点。

import*asESTreefrom"estree";
classVisitor{
visitNode(node:ESTree.Node){
//...
}
}
exportdefaultVisitor;

2、使用interpreter.ts 创建一个Interpreter类,用于运行ES节点树。

importVisitorfrom"./visitor";
import*asESTreefrom"estree";
classInterpreter{
privatevisitor:Visitor;
constructor(visitor:Visitor){
this.visitor=visitor;
}
interpret(node:ESTree.Node){
this.visitor.visitNode(node);
}
}
exportdefaultInterpreter;

3、vm.ts 对外暴露run方法,并使用acorn code->ast后,交给Interpreter实例进行解释。

constacorn=require("acorn");
importVisitorfrom"./visitor";
importInterpreterfrom"./interpreter";
constjsInterpreter=newInterpreter(newVisitor());
exportfunctionrun(code:string){
constroot=acorn.parse(code,{
ecmaVersion:8,
sourceType:"script",
});
returnjsInterpreter.interpret(root);
}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容