SchemeScript瀏覽器中的scheme解釋器
一個用javascript實(shí)現(xiàn)的scheme解釋器,可以運(yùn)行在瀏覽器中或node.js中。
剛剛看到編譯原理與實(shí)踐第二章,一時興起,想寫個以前就想寫的scheme的解釋器。昨天晚上開始寫,到剛才為止,接近一天的時間。把一時的激情幾乎耗盡了,懶得再改了。就放到網(wǎng)上了,求bug
支持字符串,布爾值(true, false),自然數(shù),不支持小數(shù),負(fù)數(shù),不過可以用過程自己定義。
支持define,defn, lambda, currying,可以定義變量,函數(shù),lambda表達(dá)式,實(shí)現(xiàn)了柯里話
有 if 和 cond 控制結(jié)構(gòu)
內(nèi)置函數(shù)有+, -, * , /, define, defn, lambda, if, not , list, cons, car, cdr等,所以合法的表示符,包括內(nèi)置函數(shù)名,都可以自由地重定義
評論
圖片
表情
