Code for parsing s-expression DSL with clojure