As I mentioned in an uncle comment, recursive descent permits localised hackery to switch parsing scheme or dynamically fix tricky context-specific grammar constructs, which argues against tooling.
Tooling is still very useful for grammar validation though, and it's the way to go for ad hoc parsing of a simple or new language.