Also I know about (but never used) Eclector https://github.com/robert-strandh/Eclector which I think can do what you're asking for.

On Wed, Jun 26, 2019, 18:30 Luís Oliveira <luismbo@gmail.com> wrote:
On Wed, Jun 26, 2019 at 5:19 PM Alexandre Rademaker
<arademaker@gmail.com> wrote:
> The “read” function makes really easy to read a bunch of s-expressions from a file, but how can I keep track of the line number where the expressions were in the file?

One way to do it is to define a stream that keeps track of the current
line. Here's an example of such a stream:
<https://github.com/cl-stream/cl-stream/blob/master/line-tracking-stream.lisp>.

--
Luís Oliveira
http://kerno.org/~luis/