Practical Common Lisp in Racket

Yes. It is a parser-generator. It is possible to seek in the binary struct (you have direct access to the port, after all). But how to sync reading and generating the structure?