lexer improved and also added yacc file