fix lexer and parser and eval