It seems to me less of an issue that LLMs produce code that aren't compliant with language specs, but rather that LLMs produce code that do not meet the stated requirements, or that they break from earlier stated requirements as new requirements are requested.
And of course, code not meeting requirements is not a problem native to LLMs, but to all code production agents everywhere (including humans).