Extract #handle_syntax_error and #handle_other_parse_error from DSL::Evaluator#evaluate
Memoize more values in DSL::Evaluator just to be safe