fix a bug in parser, add error handle in eval