Hack lexer