Almost there...

I broke out the Parser class into a Parser and ParseAttempt class. This
allows for late binding of the token stream and eliminates the obscure
stack structure from before. I also simplified the code for the
Tokenizer. I figured out the semantics for passing the tokenizer to the
grammar and then the grammar to the parser. I create an abstract
SqlResponder class that will make it easy to provide other code
generators for reacting to SQL syntax. I have a few more methods to
implement and the SimpleFormatter will be completed. I need to reverse
the order that results are generated (top-down rather than bottom-up) to
prevent unnecessary generation and perhaps improve performance in other
ways. I'm seeing a lot of legitimate SQL being generated... a few more
pieces and it'll all come together.