lexy is a C++ parsing library; it’s essentially syntax sugar for a handwritten recursive descent parser, where you have full control over alternatives and backtracking. It supports Unicode as well as binary inputs, has good error messages on invalid input with automatic error recovery, and is able to store the result in arbitrary data structures or as a lossless parse tree. This talk gives an overview on how to use lexy, how it works, and why it is designed the way it is. I’ll also share various template meta programming tricks, talk about designing embedded DSLs in C++, and discuss shortcomings of C++'s iterator model and benefits of sender/receiver style continuations.