Interesting! I think you're imagining that it will be possible to define something like an EBNF grammar. Is that right? Will you be able to get a parse tree out, rather than just a flat list? (There's certainly an issue with my current implementation about what to do with the strings captured by recursive calls. Currently I'm just discarding them.)
Good luck with the apocalypse. .robin.