obvious downsides: 1) dev dependency on java 2) additional build stage - maybe too slow to shotgun every time, so might have to introduce make or other similar dependency tool 3) need to decide whether to check in the built parser (consistency problems may ensue) 4) human language dependent (but we're already in that hell) - EBNF would be a better place to encode the per-language cues. upsides: 1) cleaner, more structured config (maybe can get rid of a bunch of regexes. 2) er - that's it - and that may be compelling