lisp.js
Version:
A tiny lisp interpreter
14 lines (11 loc) • 370 B
JavaScript
var _ = require('underscore');
var tokenize = function(s) {
return _.filter(s.replace(/\(/g, " ( ").replace(/\)/g, " ) ").split(" "),
function(each) {
return ! _.isEmpty(each);
});
};
var test1 = "(define area (lambda (r) (* 3.141592653 (* r r))))";
console.log(tokenize(test1));
var add = "(lambda (a b) (+ a b))";
console.log(tokenize(add));