separated eval-grammar into parser.clj, add theme evaluator