Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: "...the value becomes,indeterminate each time the declaration is reached" Date: Sun, 10 Feb 2019 12:43:31 -0800 Organization: None to speak of Lines: 35 Message-ID: References: <20190204120834.7d3f84f25052b6a8315f693a@g{oogle}mail.com> <30065f8f-0b5b-4d17-846f-4fa63051cd0e@googlegroups.com> <9d6896dc-a369-4eb0-a93c-c0317a19908e@googlegroups.com> <7615cc12-0e98-4917-a0d0-682c7aeabeb5@googlegroups.com> <8736oze00i.fsf@bsb.me.uk> <3f4afc9e-c532-4ee1-93f6-d6872c55928c@googlegroups.com> <87h8debdlm.fsf@bsb.me.uk> <6cc27732-6b74-4503-88e6-e0b991615a2a@googlegroups.com> <875ztub1vq.fsf@bsb.me.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader02.eternal-september.org; posting-host="377731bf4686800ac11e60dce5c521ad"; logging-data="15092"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/31OgwP/YBRs/kvCHk/FL0" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:3zzll0CVYE0sU3R64LpZI4oahzI= sha1:2/+eAtmolzRiJxtlTOigdwXbIWc= Xref: csiph.com comp.lang.c:140837 Malcolm McLean writes: [...] > A compiler turns some strings into executables and rejects others. So > it has grammar rules, in the first sense. What's confusing you is that > in basic computer science class rules for composing strings like "aab > aaaabaabaaaaab" are described as "grammars". The strings have a form, > but don't mean anything. So the so-called "grammar" actually lacks an > essential attribute of grammar. Then it's not sufficient, it needs > extra higher level rules if it is to specify a real programming language. [...] No, what's confusing *you* is that, in the context of programming languages, the word "grammar" is used to refer to *syntax*, in the sense defined, for example, in Annex A of the C standard. A.1 is titled "Lexical grammar". A.2 is titled "Phase structure grammar". Rules defining constraints and semantics are not referred to as "grammar" rules. I understand that the word "grammar" might be appropriate by analogy with the way we talk about, for example, English grammar, but that's not the way the word is typically used for programming languages. You insist on using the word "grammar" in a much wider sense, and you refuse to acknowledge that any other use of the word could be correct. I don't expect you to acknowledge the possibility that you might be wrong. -- Keith Thompson (The_Other_Keith) kst-u@mib.org Will write code for food. void Void(void) { Void(); } /* The recursive call of the void */