Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.std.c |
| Subject | Re: Adjacent string literals |
| Date | 2021-01-26 21:40 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <87bldbv0l7.fsf@bsb.me.uk> (permalink) |
| References | <rumnae$4mr$1@dont-email.me> <874kj3x4yr.fsf@bsb.me.uk> <6tCdnX0audEHko39nZ2dnUU78VHNnZ2d@giganews.com> |
Jakob Bohm <jb-usenet@wisemo.com.invalid> writes: > On 2021-01-26 13:22, Ben Bacarisse wrote: >> James Kuyper <jameskuyper@alumni.caltech.edu> writes: >> >>> I learned a couple of decades ago that adjacent string literals get >>> concatenated into a single longer literal, even if separated by >>> arbitrarily large amounts of white-space. >>> >>> Yesterday I happened to notice that translation phase 6 says only that >>> "Adjacent string literal tokens are concatenated.", without saying >>> anything about white-space. White-space doesn't lose it's significance >>> until translation phase 7. Therefore, string literals that are separated >>> by white-space do not qualify as adjacent. There's also no mention of >>> white-space in the fuller discussion that occurs in 6.4.5p5. >>> >>> Am I missing something obvious here? I can imagine someone telling me >>> that "adjacent" should be understood as "adjacent, ignoring white-space" >>> - but that doesn't seem obvious to me. >> >> Surely it just means "next to", and in the sequence of tokens "a" "b" >> the two are next to each other. It happens that string literal tokens >> are such that they can be adjacent without having any white-space >> between then, but I suspect that's making you over-think the meaning. >> Would you say that 'long int x' has no tokens adjacent to any others? >> > > The interesting situation is cases like these: > > "a" /* Long comment explaining why b is the next byte */ "b" By translation phase 6 (when adjacent string literals are concatenated) this has become "a" "b" > And > > #define LEAD_BYTE "a" > #define TRAIL_BYTE "b" > > LEAD_BYTE TRAIL_BYTE And this has become "a" "b" Am I missing some ambiguity? -- Ben.
Back to comp.std.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-25 10:15 -0500
Re: Adjacent string literals Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-26 12:22 +0000
Re: Adjacent string literals Jakob Bohm <jb-usenet@wisemo.com.invalid> - 2021-01-26 13:48 +0100
Re: Adjacent string literals Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-01-26 13:05 -0800
Re: Adjacent string literals Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-26 21:40 +0000
Re: Adjacent string literals Jakob Bohm <jb-usenet@wisemo.com.invalid> - 2021-01-28 09:53 +0100
Re: Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-28 05:45 -0500
Re: Adjacent string literals Richard Damon <Richard@Damon-Family.org> - 2021-01-26 07:52 -0500
Re: Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-26 09:29 -0500
Re: Adjacent string literals Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-26 21:46 +0000
Re: Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-26 18:28 -0500
Re: Adjacent string literals Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-27 01:16 +0000
Re: Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-26 22:48 -0500
Re: Adjacent string literals Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-27 15:46 +0000
Re: Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-27 11:20 -0500
Re: Adjacent string literals Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-28 03:05 +0000
Re: Adjacent string literals Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-07-10 08:49 -0700
Re: Adjacent string literals Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-10 14:58 -0700
Re: Adjacent string literals Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-07-22 10:29 -0700
Re: Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-07-11 11:41 -0700
Re: Adjacent string literals Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-07-22 15:26 -0700
Re: Adjacent string literals James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-07-22 17:29 -0700
Re: Adjacent string literals Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-01-17 05:29 -0800
csiph-web