Home | History | Annotate | Line # | Download | only in indent
lex_ident.c revision 1.4
      1  1.4  rillig /* $NetBSD: lex_ident.c,v 1.4 2022/04/22 21:21:20 rillig Exp $ */
      2  1.1  rillig 
      3  1.1  rillig /*
      4  1.3  rillig  * Test lexing of word-like tokens, such as keywords, identifiers, numeric
      5  1.3  rillig  * constants, character constants, string literals.
      6  1.1  rillig  */
      7  1.1  rillig 
      8  1.1  rillig /*
      9  1.1  rillig  * Conceptually, backslash-newline is replaced with nothing, in a very early
     10  1.1  rillig  * stage of the translation, see C11 5.1.1.2p1, item 2. Indent does not
     11  1.1  rillig  * preserve these; in most cases, they are simply removed.
     12  1.1  rillig  */
     13  1.1  rillig #indent input
     14  1.1  rillig in\
     15  1.1  rillig t \
     16  1.1  rillig var\
     17  1.1  rillig iable;
     18  1.1  rillig 
     19  1.1  rillig int
     20  1.1  rillig 	no_backslash;
     21  1.1  rillig 
     22  1.1  rillig /* $ See check_size_token. */
     23  1.1  rillig /* $ The default buffer size is 200, the limit is 195. */
     24  1.1  rillig struct long_tag_name_to_overflow_the_token_buffer_4567890\
     25  1.1  rillig 12345678901234567890123456789012345678901234567890\
     26  1.1  rillig 12345678901234567890123456789012345678901234567890\
     27  1.1  rillig 12345678901234567890123456789012345678901234567890;
     28  1.1  rillig 
     29  1.1  rillig /* $ See check_size_token. */
     30  1.1  rillig /* $ The difference between limit and start got incremented to 595. */
     31  1.1  rillig struct long_tag_name_to_overflow_the_token_buffer_4567890\
     32  1.1  rillig 12345678901234567890123456789012345678901234567890\
     33  1.1  rillig 12345678901234567890123456789012345678901234567890\
     34  1.1  rillig 12345678901234567890123456789012345678901234567890\
     35  1.1  rillig 12345678901234567890123456789012345678901234567890\
     36  1.1  rillig 12345678901234567890123456789012345678901234567890\
     37  1.1  rillig 12345678901234567890123456789012345678901234567890\
     38  1.1  rillig 12345678901234567890123456789012345678901234567890\
     39  1.1  rillig 12345678901234567890123456789012345678901234567890\
     40  1.1  rillig 12345678901234567890123456789012345678901234567890\
     41  1.1  rillig 12345678901234567890123456789012345678901234567890\
     42  1.1  rillig 12345678901234567890123456789012345678901234567890;
     43  1.1  rillig #indent end
     44  1.1  rillig 
     45  1.1  rillig #indent run
     46  1.1  rillig /* $ XXX: The indentation of the backslash is one short of a tab. */
     47  1.1  rillig int	       \
     48  1.1  rillig 		variable;
     49  1.1  rillig 
     50  1.1  rillig int
     51  1.1  rillig 		no_backslash;
     52  1.1  rillig 
     53  1.1  rillig struct long_tag_name_to_overflow_the_token_buffer_4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890;
     54  1.1  rillig 
     55  1.1  rillig struct long_tag_name_to_overflow_the_token_buffer_45678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890;
     56  1.1  rillig #indent end
     57  1.1  rillig 
     58  1.1  rillig 
     59  1.1  rillig /* This is a syntax error; see lex_word. */
     60  1.1  rillig #indent input
     61  1.1  rillig int identifier\n;
     62  1.1  rillig #indent end
     63  1.1  rillig 
     64  1.1  rillig #indent run
     65  1.2  rillig int		identifier \ n;
     66  1.1  rillig #indent end
     67