lexer should be fully updated for project 3
while and if should parse