A few minor parse.py cleanups
Keep track of the maximum position of the lexer to have better error messages