https://www.cambridge.org/core/books/specifying-software/FC5...
has a tutorial introduction to recursive descent.