Author: Stan Eisenstat
Subject: Re: [Cs223] Precedence of line splices v. escape sequences
Date: Friday, 31 Jan 2020, 21:27:48
> Message Posted By: Unknown > > I'm a little confused on the logic for this example in a previous post. > > ===== > > > Case 1: > > "example\\ > > \ > > \ > > "end" > > After the three line splices are removed, the input is > > "example\"end" > > which is a string. Thus Cxref outputs nothing. > > ===== > > Is the \\ in "example\\ not treated as an escape sequence? Why does the > line splice take precedence? ... No, because as stated in the excerpts from Appendix A of K&R, Preprocessing itself takes place in several logically successive phases that may, in a particular implementation, be condensed. ... 2. Each occurrence of a backslash character \ followed by a newline is deleted, thus splicing lines (Section A12.2). 3. The program is split into tokens separated by white-space characters; comments are replaced by a single space. Then preprocessing directives are obeyed, and macros (Sections A12.3-A12.10) are expanded. That is, splices are removed BEFORE identifiers are parsed. --Stan-PREV INDEX NEXT