renamed error to lisperror; separated lispval from parser