Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!elroy!aero!sm.unisys.com!ism780c!news From: news@ism780c.isc.com (News system) Newsgroups: comp.arch Subject: Re: Semantics (was Software Distribution) Message-ID: <17887@ism780c.isc.com> Date: 13 Oct 88 00:25:10 GMT References: <13889@mimsy.UUCP> <2472@uhccux.uhcc.hawaii.edu> <8916@ihlpb.ATT.COM> Reply-To: marv@ism780.UUCP (Marvin Rubenstein) Organization: Interactive Systems Corp., Santa Monica CA Lines: 22 In article <8916@ihlpb.ATT.COM> nevin1@ihlpb.UUCP (55528-Liber,N.J.) writes: > >So, given that *NULL is an exception to dereferencing, what would be a >good way to define it? > _ __ NEVIN J. LIBER ..!att!ihlpb!nevin1 (312) 979-4751 IH 4F-410 Might I suggest the definition used in the Pascal Standard. First, the term 'error' means an error in the source program. The standard says: "It is an error if the pointer-variable of an of an identified-variable denotes a nil-value". Or translated in to English, it is an error to dereference a pointer to no object. The standard also says: "A complying processor is required to provide documentation concerning its treatment of errors". So the way in which a a processor treats an error is up to the implementer, the only requirement is the implementor must inform the user. A user who wants erroneous programs to behave the same way on all implementations is just plain out of luck. I hope the proposed C standard says approximately the same thing about erroneous source programs. Marv Rubinstein