生成语法树 并输出格式化代码 示例代码
class Test{
public static void main(String[] args){
Top.init();
DocNode doc = Top.compile("leta=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 () {}
运行脚本
以下示例为运行快排算法(运行环境线程隔离)
【用java做一个js引擎】
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);
推荐阅读
- Java8新特性及代码示例
- 代付|微信公众号如何实现支付功能()
- Java毕业设计项目实战篇|Java项目:企业人事管理系统(java+SSM+jsp+mysql+maven)
- java|使用Spring连接mysql数据库
- Leetcode|leetcode-蜡烛之间的盘子(经典空换时)
- java|== 和 equals 的区别你知道吗()
- 面试题|操作系统高频面试题
- #|【JavaWeb】Cookie和Session解析
- #|【JavaWeb】文件的上传和下载