Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!nx02.iad01.newshosting.com!newshosting.com!216.196.98.142.MISMATCH!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!nerds-end From: "s_dubrovich@yahoo.com" Newsgroups: comp.compilers Subject: Re: Formally Defining a Programming Language Date: Sun, 27 Nov 2011 20:58:37 -0800 (PST) Organization: Compilers Central Lines: 35 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <11-11-062@comp.compilers> References: <11-11-039@comp.compilers> <11-11-044@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: leila.iecc.com 1322457160 38759 64.57.183.58 (28 Nov 2011 05:12:40 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Mon, 28 Nov 2011 05:12:40 +0000 (UTC) Keywords: design Posted-Date: 28 Nov 2011 00:12:40 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: x330-a1.tempe.blueboxinc.net comp.compilers:364 > > ii) How did the designers come up with > > something called a "specifier"? It is a practical need. With a language in one hand and the need to implement it in the other hand. Take the identifier 'a'. Does it represent a variable, a function, or what? The language syntax should help indicate which. Let's say the syntax indicates it is a variable. Now comes the implementation and use of it as a variable. This forces consideration of the underlying hardware which may very well handle variables of 'float' differently than those of 'int', and that 'sign' maybe an issue in implementation. So to pass along more information about 'a', a meta- term is given called "specifier". And a need to inform the translator about such attributes of 'a' gives rise to another meta-term "declaration". Section 4. What's in a name? C bases the interpretation of an identifier upon two attributes of the identifier: its _storage class_ and its _type_. ... > ... > ROFL! The word "specifier" is just something that popped into > someone's head, that's all. > > You're not going to achieve formality just by mimicing some jargon > from C and C++. > > To define a language formally, you have to say exactly what is the > structure and behavior of each construct. > Doesn't LISP fit this though? Steve