Renamed parser to lexer because it's more accurate and because a parser module exists in Python's library already