yzhanjsinterpreter
Version:
A JavaScript Interpreter Using JS itself. JavaScript 解释器,包含词法分析、语法解析和执行
18 lines (17 loc) • 431 B
JavaScript
const lex = require('./helpers/lexical-analyzer')
const parse = require('./helpers/syntax-parser')
const { executor, globalEnv } = require('./helpers/executor')
module.exports = {
lex,
parse,
executor,
globalEnv,
execute(ast) {
return executor.execute(ast)
},
evaluate(code, map, initialState) {
const res = executor.execute(parse(lex(code), map, initialState)[0])
executor.runTask()
return res
}
}