The good: * Produces an LALR(1) parser.
The bad: * Generates a 'proc lex(code: string): seq[Token]' Traditional lexers are iterator-like, they produce a single token and the storage is reused. For the lexer generator please steal from my [lexim](https://github.com/Araq/lexim) project as much as you like. :-)