Flex
The name is a reference to Alan Kay's master's thesis.
Here's an excerpt https://www.mprove.de/diplom/gui/kay68.htmlAlso, I've previously looked into Ometa, the predecessor of Ohm and I found it to be the possibly cleanest parsing solution available. Check it out if you ever feel parsing-monious.