UNPKG

lowleveljs

Version:

1. 使用`@babel/parser`解析出js代码的语法树 2. 把所有的功能语句编译成最基础的操作指令列表 3. 编写解释器来运行这些基础操作指令

18 lines (17 loc) 678 B
const {compile, run}=require(__dirname+'/../..') const maskstr=0 // 传0则生成一个随机掩码,或者传入一个字符串掩码 '123456' const code=require('fs').readFileSync(__dirname+'/code.js', 'utf8') const {TXT, MEM, GVARS, SEQ, BIN}=compile(maskstr, code) console.log('预编译结果 <数字(表示MEM的下标,或者该指令的特殊用法) 和 变量名称>:') console.log(TXT) console.log('='.repeat(32)) console.log('内存常量:') console.log(MEM) console.log('='.repeat(32)) console.log('全局变量:') console.log(GVARS) console.log('='.repeat(32)) console.log('打包后的结果:') console.log(BIN) console.log('='.repeat(32)) run(maskstr, BIN)