table-driven evaluator
minor eval_string() and eval_res() fixes