Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: How to understand official C document- ISO/IEC 9899:201x Date: Sat, 20 Jun 2020 05:13:06 -0700 Organization: A noiseless patient Spider Lines: 30 Message-ID: <86h7v6j5pp.fsf@linuxsc.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader02.eternal-september.org; posting-host="ab6d988cfe98a0b7e72bfce61df9096f"; logging-data="22966"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+p0gzN3z0qg1iOlVeM0kS9qUfBsiz3O3Q=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:LaomzAIESe40DBNPaZKegs9YmFI= sha1:caq3zhxuhwcXJRPvfkRU08L3jb8= Xref: csiph.com comp.lang.c:152849 Vir Campestris writes: > On 03/06/2020 21:24, Avicenna wrote: > >> Yes! It is very clear now. The problem is there is a 'space' in >> "identifier identifier-nondigit". >> Probably everyone could just understand it is simple >> concatenations to form the parts. >> >> I think I'll follow along this example to see if I could >> understand the other parts of C syntax. > > Be aware however that the specifications are written to be > precise. Certainly the expectation is that the syntax rules in the ISO Standard accurately describe all possibly legal C programs (including some that may be rejected for non-syntax reasons such as constraint violations, et cetera). > They are definitely not written to be comprehensible. I believe the syntax rules for C were in fact written so that they would be comprehensible, including the earlier formulation in "The C Programming Language" by Kernighan and Ritchie. Furthermore the authors have in my view done a pretty good job of doing that. I find the grammar given in the ISO C standard to be decidedly easier to understand than the grammars of lots of other languages I've looked at.