Earlier quoted context omitted.
You're not aware of them... because they never exist. A language specified by a recursive descent parser is never ambiguous in the first place. There's nothing to resolve. I don't know where 'codify your bad assumptions' comes into it? What assumptions? How are they codified without you knowing?
The language your parser parses may not be the language you had in mind. Indeed, the language you had in mind may not actually exist. It’s easy to operate based only on examples, and think you know what your language is, when in fact there are cases you didn’t consider. Your parser will resolve the ambiguity (because it has to), but if the tool had told you about the ambiguity, you might have redesigned the language.…
But there are no ambiguities in recursive descent! They won't discover them because... they don't exist! It's literally impossible.
> As an example too well-known to actually occur, suppose you parse...
Great example - and the good thing about recursive descent means it's impossible to write this ambiguously - you must prefer one or the other.
> It’s not ambiguous
Correct. So why are you telling me the problems of ambiguity?
> but your users won’t be happy when they find out the unambiguous rule
Why won't they be happy? You can tell them exactly how their code is going to be parsed. I thought ambiguities was bad but now you're complaining about ambiguity as well?!