Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #148147
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: curiosity about compiler phases |
| Date | 2019-11-24 03:26 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <87d0di550h.fsf@bsb.me.uk> (permalink) |
| References | (1 earlier) <FcZBF.211$rX6.122@fx22.am4> <PXZBF.74624$hh5.43882@fx07.iad> <dK_BF.12$LP4.8@fx40.am4> <87imnb5poj.fsf@bsb.me.uk> <zI0CF.183551$oT5.82048@fx47.iad> |
Richard Damon <Richard@Damon-Family.org> writes: > On 11/22/19 8:47 PM, Ben Bacarisse wrote: >> Bart <bc@freeuk.com> writes: >> >>> Where a language has line continuation to split source across multiple >>> lines, then it is highly unusual to allow that split in the middle of >>> a token. >> >> It's a comparatively rare feature altogether, but I don't think the >> balance between the two ways of doing it it quite as dramatic as you >> suggest. In C, C++ and Fortran, line continuations are simply literal >> line pasting, but what languages don't do it that way? I think Python >> and Visual Basic are two, but are there lots more? >> >> In my view, if you are going to do it, doing it simply and entirely >> literally makes it both easy to document and the more broadly useful. >> >>> What is the purpose >> >> It was useful whenever C was used in line-length limited contexts. I've >> seen it used when transmitting C over some early messaging systems, and >> I imagine it was (any maybe still is) useful where file systems impose >> fixed-length records. The line breaking and reconstruction can be done >> without any knowledge of tokens. >> >>> other than it was just a side effect of the way the first C >>> preprocessor happened to be thrown together? >> >> Unlikely, since the mechanism you've been talking about was not in early >> C. I think it was first standardised (in the form that bothers you), by >> ANSI C. > > My memory was that K&R vintage had the continuation for strings and > macros, but did not have had it for mid-token. Yes, that's my impression too. (You can, if you like, consider the string case to be quite different. It's really just another escape sequence. While \n maps to a newline, \<newline> maps to nothing.) > I think its use mid-token just happens to fall out of the phases of > translation that was the method used to describe the language in the > standard. It does, but I would be surprised if it had not been more deliberate that you make it sound! > The second step (after character mapping) is line splicing. > This is needed to handle the old style long string handling, which to > make it work right requires just removing them (and not adding a white > space), which yields the ability to continue a token on the next line. > > It would be more complicated to prevent this from happening, it would > require tokenizing before line splicing, but also you would then need > something more complicated to describe how to tokenize, as strings > tokens now might include a line break that has been escaped by the > backslash. I don't think the string case is complicated. Strings need to have escape sequences mapped anyway. -- Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-07 05:28 -0800
Re: curiosity about compiler phases Nick Bowler <nbowler@draconx.ca> - 2019-11-22 19:25 +0000
Re: curiosity about compiler phases "A. K." <minforth@arcor.de> - 2019-11-22 12:19 -0800
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-22 22:22 +0000
Typo? (Was: curiosity about compiler phases) gazelle@shell.xmission.com (Kenny McCormack) - 2019-11-22 22:34 +0000
Re: Typo? (Was: curiosity about compiler phases) Bart <bc@freeuk.com> - 2019-11-22 23:49 +0000
Re: Typo? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2019-11-22 19:26 -0700
Re: curiosity about compiler phases scott@slp53.sl.home (Scott Lurndal) - 2019-11-22 23:12 +0000
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 00:06 +0000
Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-22 20:34 -0500
Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-23 01:47 +0000
Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-22 21:21 -0500
Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-24 03:26 +0000
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-24 11:29 +0000
Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-24 16:49 +0000
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 12:21 +0000
Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-23 10:08 -0500
Re: curiosity about compiler phases scott@slp53.sl.home (Scott Lurndal) - 2019-11-23 15:49 +0000
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 16:21 +0000
Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-24 03:37 +0000
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-24 11:25 +0000
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-25 14:06 +0000
Re: curiosity about compiler phases Keith Thompson <kst-u@mib.org> - 2019-11-22 21:25 -0800
Beyond our pay grade (Was: curiosity about compiler phases) gazelle@shell.xmission.com (Kenny McCormack) - 2019-11-23 07:43 +0000
Re: curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-23 06:28 -0800
Re: curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-23 06:39 -0800
Re: curiosity about compiler phases Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2019-11-23 09:46 -0500
Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-23 10:16 -0500
Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 16:13 +0000
Re: curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-25 03:24 -0800
Re: curiosity about compiler phases Bonita Montero <Bonita.Montero@gmail.com> - 2019-11-23 08:43 +0100
csiph-web