From: | jgj@ssd.hcsc.com (Jeff Jackson) |
Newsgroups: | comp.compilers |
Date: | 22 Mar 1996 21:36:22 -0500 |
Organization: | I would rather be windsurfing. |
References: | 96-02-226 96-03-096 96-03-112 96-03-123 96-03-151 |
Keywords: | standards, comment |
> This could only work if the language has no implementation-defined
> features, and no non-determinism. Pretty much *all* languages do have
> these, things, so the idea of using a standard implementation won't
> work. Or, perhaps I should say, "doesn't completely solve the
> problem".
I disagree. The implementation doesn't have to generate wonderful
code. We can build into it all the run-time bounds checking and
analysis we want to verify assumptions and warning of use of
implementation-defined features. Thus if the standard requires that
reference parameters not alias each other or any other variable
visible, it could generate code to verify that this is in fact the
case. If the order of some evaluation is undefined, it could go out
if its way to make sure the order is random each time (thus exposing
hidden assumptions in the test program). If the value of an
expression is undefined in the presense of overflow, it could generate
run time code to detect overflows and generate random numbers as a
result, or better yet, tag any variable as being undefined and
generate a report in the end about behaviours that can't be relied
upon.
--
Jeffrey Glen Jackson
[I'd be pretty pessimistic about the possibility of getting such a reference
implementation even as well debugged as your typical standards document. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.