Hopefully Finished Lexer