1. implemented lexer except strings. add gitignore