psym_for_exprs.c revision 1.5 1 1.5 rillig /* $NetBSD: psym_for_exprs.c,v 1.5 2023/05/15 08:22:23 rillig Exp $ */
2 1.1 rillig
3 1.1 rillig /*
4 1.1 rillig * Tests for the parser state psym_for_exprs, which represents the state after
5 1.1 rillig * reading the keyword 'for' and the 3 expressions, now waiting for the body
6 1.1 rillig * of the loop.
7 1.1 rillig */
8 1.1 rillig
9 1.4 rillig //indent input
10 1.5 rillig void
11 1.5 rillig for_loops(void)
12 1.5 rillig {
13 1.5 rillig for (int i = 0; i < 10; i++)
14 1.5 rillig printf("%d * %d = %d\n", i, 7, i * 7);
15 1.5 rillig
16 1.5 rillig for (int i = 0; i < 10; i++) {
17 1.5 rillig printf("%d * %d = %d\n", i, 7, i * 7);
18 1.5 rillig }
19 1.5 rillig }
20 1.4 rillig //indent end
21 1.1 rillig
22 1.5 rillig //indent run
23 1.5 rillig void
24 1.5 rillig for_loops(void)
25 1.5 rillig {
26 1.5 rillig for (int i = 0; i < 10; i++)
27 1.5 rillig printf("%d * %d = %d\n", i, 7, i * 7);
28 1.5 rillig
29 1.5 rillig /* $ FIXME: Add space between ')' and '{'. */
30 1.5 rillig for (int i = 0; i < 10; i++){
31 1.5 rillig printf("%d * %d = %d\n", i, 7, i * 7);
32 1.5 rillig }
33 1.5 rillig }
34 1.5 rillig //indent end
35 1.2 rillig
36 1.2 rillig
37 1.2 rillig /*
38 1.2 rillig * Since C99, the first expression of a 'for' loop may be a declaration, not
39 1.2 rillig * only an expression.
40 1.2 rillig */
41 1.4 rillig //indent input
42 1.2 rillig void
43 1.5 rillig small_scope(void)
44 1.2 rillig {
45 1.2 rillig for (int i = 0; i < 3; i++)
46 1.2 rillig stmt();
47 1.2 rillig }
48 1.4 rillig //indent end
49 1.2 rillig
50 1.4 rillig //indent run-equals-input
51