1 1.5 rillig /* $NetBSD: lsym_newline.c,v 1.5 2023/06/09 22:01:26 rillig Exp $ */ 2 1.1 rillig 3 1.1 rillig /* 4 1.1 rillig * Tests for the token lsym_newline, which represents a forced line break in 5 1.1 rillig * the source code. 6 1.1 rillig * 7 1.4 rillig * A newline ends an end-of-line comment that has been started with '//'. 8 1.4 rillig * 9 1.4 rillig * When a line ends with a backslash immediately followed by '\n', these two 10 1.4 rillig * characters are merged and continue the logical line (C11 5.1.1.2p1i2). 11 1.4 rillig * 12 1.4 rillig * In other contexts, a newline is an ordinary space character from a 13 1.4 rillig * compiler's point of view. Indent preserves most line breaks though. 14 1.1 rillig * 15 1.1 rillig * See also: 16 1.1 rillig * lsym_form_feed.c 17 1.1 rillig */ 18 1.1 rillig 19 1.4 rillig 20 1.3 rillig //indent input 21 1.4 rillig int var= 22 1.4 rillig 1 23 1.4 rillig +2 24 1.4 rillig +3 25 1.4 rillig +4; 26 1.3 rillig //indent end 27 1.1 rillig 28 1.4 rillig //indent run 29 1.4 rillig int var = 30 1.4 rillig 1 31 1.4 rillig + 2 32 1.4 rillig + 3 33 1.4 rillig + 4; 34 1.4 rillig //indent end 35 1.5 rillig 36 1.5 rillig 37 1.5 rillig // Trim trailing blank lines. 38 1.5 rillig //indent input 39 1.5 rillig int x; 40 1.5 rillig 41 1.5 rillig 42 1.5 rillig //indent end 43 1.5 rillig 44 1.5 rillig //indent run -di0 45 1.5 rillig int x; 46 1.5 rillig //indent end 47