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:46 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <875z3jv0bg.fsf@bsb.me.uk> (permalink) |
| References | <rumnae$4mr$1@dont-email.me> <874kj3x4yr.fsf@bsb.me.uk> <rup90c$m3d$1@dont-email.me> |
James Kuyper <jameskuyper@alumni.caltech.edu> writes: > On 1/26/21 7:22 AM, 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? > > No, I would not - and that's precisely because "long int x" is not > parsed as a declaration until translation phase 7, and the very first > sentence of the description of that phase says "White-space characters > separating tokens are no longer significant.". Phase 6 occurs before > that sentence applies, which is precisely my point. I meant at the stage you were asking about: phase 6. The example was an attempt to find out if your reluctance to see "a" "b" as being adjacent was in part due to do with the fact that they could have been written with no spaces. I think your answer makes it clear that, at phase 6, you think that there are no two tokens adjacent to one another. I find that a rather artificial reading. -- 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