Going to try Parslet.
Working decently well with Parslet.