前文 https://www.v2ex.com/t/652219
一个解释器的小玩具,经过我一个多月业余时间的开发,现在终于支持大部分 JS 的核心功能了,除了对象。
现在已经图灵完备,基本上可以算的上一个阉割版 js 了
举个例子:解释执行一个快排函数:)
function quickSort(list,len) {
let a = 0;
let b = len-1;
let c = list[a];
while (a < b){
while (list[b]>c && a < b){
b = b-1;
}
if(list[b] < c){
list[a] = list[b];
list[b] = c;
b = b-1;
c = list[b];
}
while (list[a] < c && a < b){
a = a + 1;
}
if(list[a] > c){
list[b] = list[a];
list[a] = c;
a = a + 1;
c = list[a];
}
}
return list;
}
let arr = [9,3,2,1,5,-2,6];
quickSort(arr,7);
log(arr,666);
https://github.com/zuluoaaa/makeJs
最终跑通的那一刻,感觉整个人都嗨翻了