the errors documented here include cases where the error is detected far away from where the actual malformed syntax is in the source file, so any error message reported by the compiler needs to include enough information to help the user find and resolve the error.