SchemeScript浏览器中的scheme解释器
一个用javascript实现的scheme解释器,可以运行在浏览器中或node.js中。
刚刚看到编译原理与实践第二章,一时兴起,想写个以前就想写的scheme的解释器。昨天晚上开始写,到刚才为止,接近一天的时间。把一时的激情几乎耗尽了,懒得再改了。就放到网上了,求bug
支持字符串,布尔值(true, false),自然数,不支持小数,负数,不过可以用过程自己定义。
支持define,defn, lambda, currying,可以定义变量,函数,lambda表达式,实现了柯里话
有 if 和 cond 控制结构
内置函数有+, -, * , /, define, defn, lambda, if, not , list, cons, car, cdr等,所以合法的表示符,包括内置函数名,都可以自由地重定义
评论