fixed lexer bug that caused names like iflle to be parsed as just reserved word if, and changed lexer to accept if, then and else keywords