May All Your Grammars Be Context Free

This cartoon appears in the book Computation Engineering: Applied Automata Theory and Logic by Dr. Ganesh Gopalakrishnan.

The idea for this comic came to me many years ago, as I was listening to the song "Birdhouse in your Soul" by They Might Be Giants. There is a lyric in the song that goes like this: "...and kept the beaches shipwreck free..." Unfortunately, the singer sang it a bit too fast for my poor brain to process, and in my confusion I mentally substituted these alternate lyrics: May all your grammars be context-free!

I thought it was a catchy phrase, it stuck with me. Nevertheless, it sounded somewhat incomplete, so I tacked on a reference to debugging in the front, and the expression was complete. To me, it sounded like one of those "Irish blessings" you see on motivational posters. I could almost see a wizened old man giving his final counsel to a youth departing to seek his fortune. Once the pieces were all together, then, the above cartoon almost drew itself!

To those not familiar with computer science, a "compile-time bug" is a programming error that the computer catches for you, thus preventing the error from making it into the final software. (The far nastier type of bug is a "run-time bug" which is not discovered until the software is actually being tested or used.) And a "context-free grammar" is the theoretical model on which most computer programming languages are based. Now, knowing that doesn't necessarily make the cartoon any funnier, but at least you have an idea where it's coming from.


Back to Cartoons main page