Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C)

jens.hansson@mailbox.swipnet.se (Jens Hansson)
8 Mar 1996 00:15:38 -0500

          From comp.compilers

Related articles
[16 earlier articles]
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) przemek@rrdjazz.nist.gov (1996-03-01)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) dave@occl-cam.demon.co.uk (Dave Lloyd) (1996-03-01)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) dave@occl-cam.demon.co.uk (Dave Lloyd) (1996-03-01)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) henry@zoo.toronto.edu (Henry Spencer) (1996-03-01)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) WStreett@shell.monmouth.com (1996-03-03)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) jens.hansson@mailbox.swipnet.se (1996-03-06)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) jens.hansson@mailbox.swipnet.se (1996-03-08)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) rfg@monkeys.com (1996-03-10)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) jan@neuroinformatik.ruhr-uni-bochum.de (1996-03-11)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) kanze@lts.sel.alcatel.de (James Kanze US/ESC 60/3/141 #40763) (1996-03-12)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) platon!adrian@uunet.uu.net (1996-03-25)
| List of all articles for this month |

From: jens.hansson@mailbox.swipnet.se (Jens Hansson)
Newsgroups: comp.compilers
Date: 8 Mar 1996 00:15:38 -0500
Organization: -
References: 96-01-037 96-02-187 96-02-226
Keywords: C, standards, design

>[Formal defs may help, but having attempted to make sense of the PL/I
>standard, I can't see them as a solution to bloat. The Cobol crowd at
>least divides their language into sublanguages that you can understand
>and add to your implementation one at a time. -John]


My suggestion would be:


Describe the semantics in a formal language that is machine-readable
and executable. I believe this is the only way to prove that a
language is "formal" enough. On top of that, this should save the
compiler writers a lot of work -- you could just use the
specification. If you want to do it better (i.e. improving
performance) you have an executable to generate test-vectors from.


The problem with this approach is that the language in itself might
*allow* differences in implementation, like C allows different integer
sizes for different machines. Freedom in byte-ordering (more serious
than the C int problem) may also create a problem if the formal
language is too strict. I suppose all modern architectures use two
complements for negative integers, but old computers may have
sign/magnitude representation of them.


As there *are* fully working compilers (at least near bug free) there
shouldn't be a technical problem to write an executable formal
spec. Right?
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.