Liste des Groupes | Revenir à cl c |
On 11/12/2024 16:51, Janis Papanagnou wrote:
>On 11.12.2024 17:47, David Brown wrote:>
>On 11/12/2024 17:30, Janis Papanagnou wrote:>
>On 11.12.2024 09:43, Ike Naar wrote:>
>On 2024-12-09, Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:>
>An unambiguous grammar is something quite essential; how would you>
parse code if it were ambiguous?
Here's an ambiguity in the C grammar:
>
[...]
>
The following selection-statement is grammatically ambiguous:
>
if (E1) if (E2) S1 else S2
Yes, the dangling else is a common ambiguity in many programming
languages.
>
That's why I prefer languages with syntaxes like in Algol 68 or
Eiffel (for example).
It is easy to avoid in a C-like language - simply require braces on "if"
statements, or at the very least, require them when there is an "else"
clause.
Yes, sure. But, I can't help, it smells like a workaround.
>Most C coding standards and style guides make that requirement>
- not because the C compiler sees it as ambiguous, but because humans
often do. (Or they misinterpret it.)
Yes, true. (We had that in our standards, too.)
So here you finally acknowledge there may be ambiguity from a human
perspective.
>
But when I try to make that very point, it's me [...]
Les messages affichés proviennent d'usenet.