I was playing recently with parsers and I wanted to have a clear way of displaying railroad diagrams for the Python Grammar to make a quick comparison of DFAs and NDFAs (maybe even before and after some simplification steps). Because everything is already invented, I found this webpage that allows you to upload some grammar in W3C’s EBN notation and it generates nice interactive diagrams. I have adapted the Python Grammar to this notation and you can visualize the grammar very quickly:
The first real textbook I had on programming used railroad diagrams. It was for Object Pascal. The other day, I found this talk by Guy Steele. He covers the history of formal grammar specification.
When I was a poor college student, Pascal was my favorite language. I borrowed the textbook from the library, photocopied the railroad diagrams from the back of the book, and carried those with me for many years.