Home | History | Annotate | Line # | Download | only in indent
psym_if_expr_stmt_else.c revision 1.3
      1  1.3  rillig /* $NetBSD: psym_if_expr_stmt_else.c,v 1.3 2022/04/23 09:01:03 rillig Exp $ */
      2  1.1  rillig 
      3  1.1  rillig /*
      4  1.1  rillig  * Tests for the parser symbol psym_if_expr_stmt_else, which represents the
      5  1.1  rillig  * parser state after reading the keyword 'if', the controlling expression,
      6  1.3  rillig  * the statement of the 'then' branch and the keyword 'else'.
      7  1.3  rillig  *
      8  1.3  rillig  * If the next token is an 'if', the formatting depends on the option '-ei' or
      9  1.3  rillig  * '-nei'.  Any other lookahead token completes the 'if' statement.
     10  1.1  rillig  */
     11  1.1  rillig 
     12  1.1  rillig #indent input
     13  1.3  rillig void
     14  1.3  rillig example(_Bool cond)
     15  1.3  rillig {
     16  1.3  rillig 	if (cond) {}
     17  1.3  rillig 	else if (cond) {}
     18  1.3  rillig 	else if (cond) i++;
     19  1.3  rillig 	else {}
     20  1.3  rillig }
     21  1.1  rillig #indent end
     22  1.1  rillig 
     23  1.3  rillig #indent run
     24  1.3  rillig void
     25  1.3  rillig example(_Bool cond)
     26  1.3  rillig {
     27  1.3  rillig 	if (cond) {
     28  1.3  rillig 	} else if (cond) {
     29  1.3  rillig 	} else if (cond)
     30  1.3  rillig 		i++;
     31  1.3  rillig 	else {
     32  1.3  rillig 	}
     33  1.3  rillig }
     34  1.3  rillig #indent end
     35  1.3  rillig 
     36  1.3  rillig /*
     37  1.3  rillig  * Combining the options '-bl' (place brace on the left margin) and '-ce'
     38  1.3  rillig  * (cuddle else) looks strange, but is technically correct.
     39  1.3  rillig  */
     40  1.3  rillig #indent run -bl
     41  1.3  rillig void
     42  1.3  rillig example(_Bool cond)
     43  1.3  rillig {
     44  1.3  rillig 	if (cond)
     45  1.3  rillig 	{
     46  1.3  rillig 	} else if (cond)
     47  1.3  rillig 	{
     48  1.3  rillig 	} else if (cond)
     49  1.3  rillig 		i++;
     50  1.3  rillig 	else
     51  1.3  rillig 	{
     52  1.3  rillig 	}
     53  1.3  rillig }
     54  1.3  rillig #indent end
     55  1.3  rillig 
     56  1.3  rillig #indent run -bl -nce
     57  1.3  rillig void
     58  1.3  rillig example(_Bool cond)
     59  1.3  rillig {
     60  1.3  rillig 	if (cond)
     61  1.3  rillig 	{
     62  1.3  rillig 	}
     63  1.3  rillig 	else if (cond)
     64  1.3  rillig 	{
     65  1.3  rillig 	}
     66  1.3  rillig 	else if (cond)
     67  1.3  rillig 		i++;
     68  1.3  rillig 	else
     69  1.3  rillig 	{
     70  1.3  rillig 	}
     71  1.3  rillig }
     72  1.3  rillig #indent end
     73  1.3  rillig 
     74  1.3  rillig /*
     75  1.3  rillig  * Adding the option '-nei' (do not join 'else if') expands the code even
     76  1.3  rillig  * more.
     77  1.3  rillig  */
     78  1.3  rillig #indent run -bl -nce -nei
     79  1.3  rillig void
     80  1.3  rillig example(_Bool cond)
     81  1.3  rillig {
     82  1.3  rillig 	if (cond)
     83  1.3  rillig 	{
     84  1.3  rillig 	}
     85  1.3  rillig 	else
     86  1.3  rillig 		if (cond)
     87  1.3  rillig 		{
     88  1.3  rillig 		}
     89  1.3  rillig 		else
     90  1.3  rillig 			if (cond)
     91  1.3  rillig 				i++;
     92  1.3  rillig 			else
     93  1.3  rillig 			{
     94  1.3  rillig 			}
     95  1.3  rillig }
     96  1.3  rillig #indent end
     97