UNPKG

lisp.js

Version:
14 lines (11 loc) 370 B
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));