1 /* $NetBSD: psym_do.c,v 1.4 2022/04/24 10:36:37 rillig Exp $ */ 2 3 /* 4 * Tests for the parser symbol psym_do, which represents the state after 5 * reading the token 'do', now waiting for the statement of the loop body. 6 */ 7 8 //indent input 9 void function(void) { 10 do stmt(); while (0); 11 do {} while (0); 12 } 13 //indent end 14 15 //indent run 16 void 17 function(void) 18 { 19 do 20 stmt(); 21 while (0); 22 do { 23 } while (0); 24 } 25 //indent end 26 27 28 /* 29 * The keyword 'do' is followed by a statement, as opposed to 'while', which 30 * is followed by a parenthesized expression. 31 */ 32 //indent input 33 void 34 function(void) 35 { 36 do(var)--;while(var>0); 37 } 38 //indent end 39 40 //indent run 41 void 42 function(void) 43 { 44 do 45 (var)--; 46 while (var > 0); 47 } 48 //indent end 49