The idea of parsing indeed is to transform data, from a lower level of abstraction to a higher level of abstraction.
Parsing text (a sequence of characters) or binary files (a sequence of bytes) are well known.
The author mentions the case where a JSON parser has generated a bunch of JSON objects, but you want your own object types. (Deserialization libraries can do this automatically if all that is required is setting fields or properties, but for more complex cases you need custom code.)
Similar for XML parsing: all you get is a stream of element events, or a tree of generic XML objects, and you have to transform that further.
Another case would be when you get import data in the form of an Excel or CSV file. Your code starts with a 2D array of generic cells/values, and has to transform it into your own table/object types.
Parsing text (a sequence of characters) or binary files (a sequence of bytes) are well known.
The author mentions the case where a JSON parser has generated a bunch of JSON objects, but you want your own object types. (Deserialization libraries can do this automatically if all that is required is setting fields or properties, but for more complex cases you need custom code.)
Similar for XML parsing: all you get is a stream of element events, or a tree of generic XML objects, and you have to transform that further.
Another case would be when you get import data in the form of an Excel or CSV file. Your code starts with a 2D array of generic cells/values, and has to transform it into your own table/object types.