代码拉取完成,页面将自动刷新
一款用Go语言编写的JavaScript解释器,逐步实现各个规范与功能
作为一个非科班出身的猿,什么编译原理也不懂,确实想了解下编程语言的底层,偶然间见到一款用C++编写的JavaScript解析器比较简单易懂,于是用Go重写一遍,尝试理解下.
var a = 1;
var c = true;
var z = "hello";
var f = function(){};
let r = Math.random();
let j = {name:"BurNing", age: "30", sex: 0 + a};
let arr = [1,2,3,4,5,"hello",a,c,z];
//不支持如下语法,声明的时候就必须赋值
var a;
let z;
//没有while与do while循环
for(var i = 0 ; i < 10 ; i++){
a = a + 2;
}
if(a > 10){
a = 0
}else{
a = 2
}
function Call(){
a = "Hello JavaScript"
}
var NameLess = function(){
c = false
}
用Go模拟Assert,主要用于打印解析器、语法器、解释器中出现的错误,尽量精确到行数与字符数
提供一些内置的对象,例如:JSON,Math,String等
主要是提供一些全局的方法或者变量
解释器,主要负责执行语法树
提供一些工具类
主要是用于扫描文件字符串解析为token
将token解析为语法树
包含一个js测试文件和一个测试函数
目前天天上班,努力摸鱼更新
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。