🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c
Article #4696

Re: Double-character operators

#4696
From: Clive D.W. Feather
Date: Tue, 23 Jan 1996 07:15
40 lines
1731 bytes
In article <4e17uk$g3@kocrsv08.delcoelect.com>,
Richard F. Smiley <c2xrfs@eng.delcoelect.com> wrote:
> Is the program fragment
>    if ( Boolean_A  & =  0x0020 )
> legal?  Specifically, should the three-character sequence  "& ="  be
> treated as representing the two-character operator  "&="?  

No to both questions.

> As I understand the standard (ISO section 5.1.1.2, phase 7), the "&"
> is converted into one token, and the "=" is converted into another. 
> This then precludes treating them as one operator, and the program
> fragment is illegal.  

Correct.

> However, a compiler I respect instead treats this as a legal fragment
> involving the "&=" operator.

This is permitted, provided at least one diagnostic is produced along
the way.

> (The program fragment
> was caused by a bad macro definition.  If the compiler had complained,
> we would have found the problem earlier.)

The &= must exist before the preprocessor works - it can't be generated
by, for example:

    #define EQ =

    ... &EQ

unless you use the ## preprocessor operator, which generates new
tokens.

-- 
Clive D.W. Feather                       | If you lie to the compiler,
cdwf@cityscape.co.uk   (work, preferred) | it will get its revenge.
clive@stdc.demon.co.uk (home)            |   - Henry Spencer
Technical Details
Message-ID: <DLMHIK.8v9@stdc.demon.co.uk>
Path: arc1-ca.pugleaf.net!stdc.demon.co.uk!clive
References: <4e17uk$g3@kocrsv08.delcoelect.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!stdc.demon.co.uk!clive
From: clive@stdc.demon.co.uk (Clive D.W. Feather)
Newsgroups: comp.std.c
Subject: Re: Double-character operators
Date: Tue, 23 Jan 1996 07:15:54 GMT
Organization: Demon Internet Limited (personal account)
Message-ID: <DLMHIK.8v9@stdc.demon.co.uk>
References: <4e17uk$g3@kocrsv08.delcoelect.com>
Reply-To: clive@demon.net
X-NNTP-Posting-Host: stdc.demon.co.uk