Javascript 编写一个解释器函数
我想让解释器功能从Lisp到JSJavascript 编写一个解释器函数,javascript,lisp,Javascript,Lisp,我想让解释器功能从Lisp到JS 声明函数的能力如下:[defn,'funcName',['a','b'],['sum','a','b']],其中 defn是定义函数的关键字 “funcName”-函数名 ['a','b']-函数参数的枚举 ['sum','a','b']-函数体(使用参数a和b调用sum函数) 函数调用应该如下['funcName','a','b'] 下面已经实现了一些运行时,并且有一个调用EXPLATE的示例 const defn=(functionName,args,bo
const defn=(functionName,args,body)=>{
//需要实现
}
常量解释=(…代码)=>{
//需要实现
}
//运行时使用的函数
常量和=(…参数)=>args.reduce((上一个,当前)=>上一个+当前)
//调用解释函数的示例
常量结果=解释(
[defn,“sum3”,“a”,“b”,“c'],
[总和'a','b','c']
],[sum3',10,20,30]
)
assert(result==60)
关于编写简单的Lisp/Scheme解释器有大量的文献。看看它可能会有所帮助。也许是个开始。