public inbox for linux-8086@vger.kernel.org
 help / color / mirror / Atom feed
* Ambiguities
@ 2002-04-21 19:28 Harry Kalogirou
  2002-04-21 19:50 ` Ambiguities Riley Williams
  0 siblings, 1 reply; 4+ messages in thread
From: Harry Kalogirou @ 2002-04-21 19:28 UTC (permalink / raw)
  To: Linux-8086

[-- Attachment #1: Type: text/plain, Size: 210 bytes --]

Hi Riley,

I noticed in the CHANGELOG that you resolved some ambiguities in the
source. As far as I know 

X =* Y doen't mean X = X * Y, that is X *= Y. I wonder what are you 
tring to say?

Harry



[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Ambiguities
  2002-04-21 19:28 Ambiguities Harry Kalogirou
@ 2002-04-21 19:50 ` Riley Williams
  2002-04-21 21:21   ` Ambiguities Harry Kalogirou
  0 siblings, 1 reply; 4+ messages in thread
From: Riley Williams @ 2002-04-21 19:50 UTC (permalink / raw)
  To: Harry Kalogirou; +Cc: Linux-8086

Hi Harry.

> I noticed in the CHANGELOG that you resolved some ambiguities in the
> source. As far as I know X =* Y doen't mean X = X * Y, that is X *=
> Y. I wonder what are you trying to say?

The problem here is an old one - the original K&R C specification
allowed the operation assignment combinations to be specified either
way round, so the sequences *= and =* *CAN* be regarded as the same.
The same is also true of the other operators. I hit this problem at
university back in 1996, as the standard C compiler on one of the
systems was an old compiler that actually implemented that behaviour,
and the standard compilers on the other machines were newer ones that
didn't implement it.

Most current C compilers do not implement that aspect of K&R and, as far
as I know, bcc is amongst the ones that didn't. However, when indent
pointed them out to me, I felt that the safest solution was to simply
get rid of the ambiguities in the first place, so I went through the
code and did just that. The sequence I used was to do `make dup` to
create a test copy of the source, then do `make indent` on the test
copy to locate the occurrances, and finally to edit the original copy
and insert the spaces needed to remove the ambiguities.

Best wishes from Riley.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Ambiguities
  2002-04-21 19:50 ` Ambiguities Riley Williams
@ 2002-04-21 21:21   ` Harry Kalogirou
  2002-04-22 17:59     ` Ambiguities Riley Williams
  0 siblings, 1 reply; 4+ messages in thread
From: Harry Kalogirou @ 2002-04-21 21:21 UTC (permalink / raw)
  To: Riley Williams; +Cc: Linux-8086

Την Κυρ, 21-04-2002 στις 22:50, ο/η Riley Williams έγραψε:
> Hi Harry.
> 
> > I noticed in the CHANGELOG that you resolved some ambiguities in the
> > source. As far as I know X =* Y doen't mean X = X * Y, that is X *=
> > Y. I wonder what are you trying to say?
> 
> The problem here is an old one - the original K&R C specification
> allowed the operation assignment combinations to be specified either
> way round, so the sequences *= and =* *CAN* be regarded as the same.
> The same is also true of the other operators. I hit this problem at
> university back in 1996, as the standard C compiler on one of the
> systems was an old compiler that actually implemented that behaviour,
> and the standard compilers on the other machines were newer ones that
> didn't implement it.
> 
> Most current C compilers do not implement that aspect of K&R and, as far
> as I know, bcc is amongst the ones that didn't. However, when indent
> pointed them out to me, I felt that the safest solution was to simply
> get rid of the ambiguities in the first place, so I went through the
> code and did just that. The sequence I used was to do `make dup` to
> create a test copy of the source, then do `make indent` on the test
> copy to locate the occurrances, and finally to edit the original copy
> and insert the spaces needed to remove the ambiguities.
> 
> Best wishes from Riley.
> 

Very interesting _feature_... I wonder what was they thinking!!?

Harry



-
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Ambiguities
  2002-04-21 21:21   ` Ambiguities Harry Kalogirou
@ 2002-04-22 17:59     ` Riley Williams
  0 siblings, 0 replies; 4+ messages in thread
From: Riley Williams @ 2002-04-22 17:59 UTC (permalink / raw)
  To: Harry Kalogirou; +Cc: Linux-8086

Hi Harry.

>>> I noticed in the CHANGELOG that you resolved some ambiguities in the
>>> source. As far as I know X =* Y doen't mean X = X * Y, that is X *=
>>> Y. I wonder what are you trying to say?

>> The problem here is an old one - the original K&R C specification
>> allowed the operation assignment combinations to be specified either
>> way round, so the sequences *= and =* *CAN* be regarded as the same.
>> The same is also true of the other operators. I hit this problem at
>> university back in 1996, as the standard C compiler on one of the
>> systems was an old compiler that actually implemented that
>> behaviour, and the standard compilers on the other machines were
>> newer ones that didn't implement it.
>> 
>> Most current C compilers do not implement that aspect of K&R and, as
>> far as I know, bcc is amongst the ones that didn't. However, when
>> indent pointed them out to me, I felt that the safest solution was
>> to simply get rid of the ambiguities in the first place, so I went
>> through the code and did just that. The sequence I used was to do
>> `make dup` to create a test copy of the source, then do `make
>> indent` on the test copy to locate the occurrances, and finally to
>> edit the original copy and insert the spaces needed to remove the
>> ambiguities.

> Very interesting _feature_... I wonder what was they thinking!!?

I can assure you that when the problem originally came to light, many
rather "colourful" words were uttered by the University staff. It came
to light TWO DAYS before the mid-term practical exams, and those exams
had to be postponed to allow time for ALL of the compilers on ALL of the
University's servers to be audited to ensure that the same version of
each compiler was in use throughout the university, and that this
was the latest practical version of that compiler. This affected some
7,300 students spread across 17 different degree level courses, both at
Bachelor and Master degree level...

Best wishes from Riley.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-04-22 17:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-21 19:28 Ambiguities Harry Kalogirou
2002-04-21 19:50 ` Ambiguities Riley Williams
2002-04-21 21:21   ` Ambiguities Harry Kalogirou
2002-04-22 17:59     ` Ambiguities Riley Williams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox