EBNF-generating parsers!