lsym_preprocessing.c revision 1.3
1/* $NetBSD: lsym_preprocessing.c,v 1.3 2022/04/22 21:21:20 rillig Exp $ */ 2 3/* 4 * Tests for the token lsym_preprocessing, which represents a '#' that starts 5 * a preprocessing line. 6 * 7 * The whole preprocessing line is processed separately from the main source 8 * code, without much tokenizing or parsing. 9 */ 10 11// TODO: test '#' in the middle of a non-preprocessing line 12// TODO: test stringify '#' 13// TODO: test token paste '##' 14 15#indent input 16// TODO: add input 17#indent end 18 19#indent run-equals-input 20 21 22/* 23 * Whitespace in the following preprocessing directives is preserved. 24 */ 25#indent input 26#define space ' ' /* the 'define' is followed by a space */ 27#define tab '\t' /* the 'define' is followed by a tab */ 28#if 0 /* 3 spaces */ 29#elif 0 /* 2 tabs */ 30#elif 0 > 1 /* tabs between the tokens */ 31#endif 32#indent end 33 34#indent run-equals-input 35 36// TODO: #define unfinished_string "... 37// TODO: #define unfinished_char '... 38// TODO: # 123 "file.h" 39// TODO: backslash-newline 40// TODO: block comment 41// TODO: line comment 42