用java做一个js引擎

生成语法树 并输出格式化代码

示例代码

class Test{
    public static void main(String[] args){
        Top.init();
        DocNode doc = Top.compile("let      a=1+2,b=3,c=\"string\",d=a*(b+c/2),func=function(){};");
        System.out.println(doc);
    }
}

输出

let a = 1 + 2, b = 3, c = "string", d = a * (b + c / 2), func = function () {

}

运行脚本
以下示例为运行快排算法(运行环境线程隔离)

js脚本

function sort(arr, i, j) {
    if (i >= j) {
        return;
    }
    let p = i, q = j;
    let temp = arr[p];
    while (p < q) {
        while (p < q && arr[q] >= temp) {
            q-=1;
        }
        arr[p] = arr[q];
        while (p < q && arr[p] <= temp) {
            p+=1;
        }
        arr[q] = arr[p];
    }
    arr[q] = temp;
    sort(arr, i, q - 1);
    sort(arr, q + 1, j);
}

let arr = [234, 57, 12, 123, 346, 1234, 2];

sort(arr, 0, arr.length - 1);

你可能感兴趣的:(java)