Improved the lexer

Now error messages can give line number and position