I was wondering when someone would finally make a comment about Lisp. In fact, this could very easily be a story about Lisp. Using Lisp to create grammars to read and execute specification files. This developer was forced by the client to write entirely in Java, but would probably have used Lex and Yacc, plus Java, if given a choice. I suspect, folks around here could get the exact same results in Lisp. The key is, Lisp programmers have likely been taught to think about the problem in a similar manner. The key is how you think about the problem, not the specific tools you use.