Changeset c48b61c for tests/loopctrl.cfa
- Timestamp:
- Aug 9, 2022, 5:40:36 PM (2 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation
- Children:
- 571f220
- Parents:
- 52be5948
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/loopctrl.cfa
r52be5948 rc48b61c 10 10 // Created On : Wed Aug 8 18:32:59 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 8 17:36:57202213 // Update Count : 1 1612 // Last Modified On : Tue Aug 9 17:29:08 2022 13 // Update Count : 144 14 14 // 15 15 … … 19 19 // Test all possible loop syntax. 20 20 21 int s, c, i; 22 23 for ( c ) {} // start 0 24 for ( ~= c ) {} // start 0 25 for ( -~ c ) {} // start c 26 for ( -~= c ) {} // start c 27 28 for ( @ ~ c ) {} // start 0 29 for ( @ ~= c ) {} // start 0 30 for ( @ -~ c ) {} // start c 31 for ( @ -~= c ) {} // start c 32 33 for ( @ ~ c ~ i ) {} // start 0 34 for ( @ ~= c ~ i ) {} // start 0 35 for ( @ -~ c ~ i ) {} // start c 36 for ( @ -~= c ~ i ) {} // start c 37 38 for ( s ~ c ) {} // start s 39 for ( s ~= c ) {} // start s 40 for ( s -~ c ) {} // start c 41 for ( s -~= c ) {} // start c 42 43 for ( s ~ c ~ i ) {} // start s 44 for ( s ~= c ~ i ) {} // start s 45 for ( s -~ c ~ i ) {} // start c 46 for ( s -~= c ~ i ) {} // start c 47 48 for ( j; c ) {} // start 0 49 for ( j; ~= c ) {} // start 0 50 for ( j; -~ c ) {} // start c 51 for ( j; -~= c ) {} // start c 52 53 for ( j; @ ~ c ) {} // start 0 54 for ( j; @ ~= c ) {} // start 0 55 for ( j; @ -~ c ) {} // start c 56 for ( j; @ -~= c ) {} // start c 57 58 for ( j; @ ~ c ~ i ) {} // start 0 59 for ( j; @ ~= c ~ i ) {} // start 0 60 for ( j; @ -~ c ~ i ) {} // start c 61 for ( j; @ -~= c ~ i ) {} // start c 62 63 for ( j; s ~ c ) {} // start s 64 for ( j; s ~= c ) {} // start s 65 for ( j; s -~ c ) {} // start c 66 for ( j; s -~= c ) {} // start c 67 68 for ( j; s ~ c ~ i ) {} // start s 69 for ( j; s ~= c ~ i ) {} // start s 70 for ( j; s -~ c ~ i ) {} // start c 71 for ( j; s -~= c ~ i ) {} // start c 21 int s = 0, c = 10, i = 2; 22 23 for ( c ) { sout | "A"; } sout | nl; 24 for ( ~= c ) { sout | "B"; } sout | nl; 25 for ( -~ c ) { sout | "C"; } sout | nl; 26 for ( -~= c ) { sout | "D"; } sout | nl; 27 28 for ( s ~ c ) { sout | "A"; } sout | nl; 29 for ( s ~= c ) { sout | "B"; } sout | nl; 30 for ( s -~ c ) { sout | "C"; } sout | nl; 31 for ( s -~= c ) { sout | "D"; } sout | nl; 32 33 for ( s ~ c ~ i ) { sout | "A"; } sout | nl; 34 for ( s ~= c ~ i ) { sout | "B"; } sout | nl; 35 for ( s -~ c ~ i ) { sout | "C"; } sout | nl; 36 for ( s -~= c ~ i ) { sout | "D"; } sout | nl; 37 38 for ( j; c ) { sout | j; } sout | nl; 39 for ( j; ~= c ) { sout | j; } sout | nl; 40 for ( j; -~ c ) { sout | j; } sout | nl; 41 for ( j; -~= c ) { sout | j; } sout | nl; 42 43 for ( j; s ~ c ) { sout | j; } sout | nl; 44 for ( j; s ~= c ) { sout | j; } sout | nl; 45 for ( j; s -~ c ) { sout | j; } sout | nl; 46 for ( j; s -~= c ) { sout | j; } sout | nl; 47 48 for ( j; s ~ c ~ i ) { sout | j; } sout | nl; 49 for ( j; s ~= c ~ i ) { sout | j; } sout | nl; 50 for ( j; s -~ c ~ i ) { sout | j; } sout | nl; 51 for ( j; s -~= c ~ i ) { sout | j; } sout | nl; 72 52 73 53 // CANNOT DIRECTLY INITIALIZE INDEX VARIABLE, ONLY SINGLE LOOP INDEX VARIABLE IN DECLARATION 74 54 75 for ( j; c ) {} // start 0 76 for ( int j; c ) {} // start 0 77 for ( int j; ~= c ) {} // start 0 78 for ( int j; -~ c ) {} // start c 79 for ( int j; -~= c ) {} // start c 80 81 for ( int j; @ ~ c ) {} // start 0 82 for ( int j; @ ~= c ) {} // start 0 83 for ( int j; @ -~ c ) {} // start c 84 for ( int j; @ -~= c ) {} // start c 85 86 for ( int j; @ ~ c ~ i ) {} // start 0 87 for ( int j; @ ~= c ~ i ) {} // start 0 88 for ( int j; @ -~ c ~ i ) {} // start c 89 for ( int j; @ -~= c ~ i ) {} // start c 90 91 for ( int j; s ~ c ) {} // start s 92 for ( int j; s ~= c ) {} // start s 93 for ( int j; s -~ c ) {} // start c 94 for ( int j; s -~= c ) {} // start c 95 96 for ( int j; s ~ c ~ i ) {} // start s 97 for ( int j; s ~= c ~ i ) {} // start s 98 for ( int j; s -~ c ~ i ) {} // start c 99 for ( int j; s -~= c ~ i ) {} // start c 100 101 for ( s ~ @ ) {} // start s 102 for ( s -~ @ ) {} // start s 103 for ( s ~ @ ~ i ) {} // start s 104 for ( s -~ @ ~ i ) {} // start s 105 for ( s ~ @ ~ @ ) {} // start s 106 107 for ( j; s ~ @ ) {} // start s 108 for ( j; s -~ @ ) {} // start s 109 for ( j; s ~ @ ~ i ) {} // start s 110 for ( j; s -~ @ ~ i ) {} // start s 111 for ( j; s ~ @ ~ @ ) {} // start s 112 113 for ( int j; s ~ @ ) {} // start s 114 for ( int j; s -~ @ ) {} // start s 115 for ( int j; s ~ @ ~ i ) {} // start s 116 for ( int j; s -~ @ ~ i ) {} // start s 117 for ( int j; s ~ @ ~ @ ) {} // start s 55 for ( j; c ) { sout | j; } sout | nl; 56 for ( int j; c ) { sout | j; } sout | nl; 57 for ( int j; ~= c ) { sout | j; } sout | nl; 58 for ( int j; -~ c ) { sout | j; } sout | nl; 59 for ( int j; -~= c ) { sout | j; } sout | nl; 60 61 for ( int j; s ~ c ) { sout | j; } sout | nl; 62 for ( int j; s ~= c ) { sout | j; } sout | nl; 63 for ( int j; s -~ c ) { sout | j; } sout | nl; 64 for ( int j; s -~= c ) { sout | j; } sout | nl; 65 66 for ( int j; s ~ c ~ i ) { sout | j; } sout | nl; 67 for ( int j; s ~= c ~ i ) { sout | j; } sout | nl; 68 for ( int j; s -~ c ~ i ) { sout | j; } sout | nl; 69 for ( int j; s -~= c ~ i ) { sout | j; } sout | nl; 70 71 for ( j; s ~ @ ) { if ( j == 10 ) break; sout | j; } sout | nl; 72 for ( j; s -~ @ ) { if ( j == -10 ) break; sout | j; } sout | nl; 73 for ( j; s ~ @ ~ i ) { if ( j == 10 ) break; sout | j; } sout | nl; 74 for ( j; s -~ @ ~ i ) { if ( j == -10 ) break; sout | j; } sout | nl; 75 for ( j; s ~ @ ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; } sout | nl; 76 77 for ( int j; s ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; } sout | nl; 78 for ( int j; s -~ @ ) { if ( j == -10 ) break; sout | j; j -= 1; } sout | nl; 79 for ( int j; s ~ @ ~ i ) { if ( j == 10 ) break; sout | j; } sout | nl; 80 for ( int j; s -~ @ ~ i ) { if ( j == -10 ) break; sout | j; } sout | nl; 81 for ( int j; s ~ @ ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; } sout | nl; 118 82 119 83 // enum E { A, B, C, D }; 120 // for ( e; A ~= C ) { }121 // for ( e; A ~= D ) { }122 // for ( e; A -~= D ~ 2 ) { }123 // for ( e; E ) { }124 // for ( e; -~ E ) { }84 // for ( e; A ~= C ) { sout | j; } 85 // for ( e; A ~= D ) { sout | j; } 86 // for ( e; A -~= D ~ 2 ) { sout | j; } 87 // for ( e; E ) { sout | j; } 88 // for ( e; -~ E ) { sout | j; } 125 89 } 126 90 … … 156 120 for ( ~= 10 ) { sout | "A"; } sout | nl; 157 121 for ( 1 ~= 10 ~ 2 ) { sout | "B"; } sout | nl; 158 for ( 1 0 -~= 1~ 2 ) { sout | "C"; } sout | nl;122 for ( 1 -~= 10 ~ 2 ) { sout | "C"; } sout | nl; 159 123 for ( 0.5 ~ 5.5 ) { sout | "D"; } sout | nl; 160 for ( 5.5 -~ 0.5 ) { sout | "E"; } sout | nl | nl;124 for ( 0.5 -~ 5.5 ) { sout | "E"; } sout | nl | nl; 161 125 162 126 for ( i; 10 ) { sout | i; } sout | nl; 163 127 for ( i; ~= 10 ) { sout | i; } sout | nl; 164 128 for ( i; 1 ~= 10 ~ 2 ) { sout | i; } sout | nl; 165 for ( i; 1 0 -~= 1~ 2 ) { sout | i; } sout | nl;129 for ( i; 1 -~= 10 ~ 2 ) { sout | i; } sout | nl; 166 130 for ( i; 0.5 ~ 5.5 ) { sout | i; } sout | nl; 167 for ( i; 5.5 -~ 0.5 ) { sout | i; } sout | nl;131 for ( i; 0.5 -~ 5.5 ) { sout | i; } sout | nl; 168 132 for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } sout | nl; 169 for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; } sout | nl | nl;133 for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } sout | nl | nl; 170 134 171 135 // @ means do nothing … … 200 164 for ( N ) { sout | "N"; } sout | nl; 201 165 for ( i; N ) { sout | i; } sout | nl; 202 for ( i; ~= N ) { sout | i; } sout | nl;203 for ( i; N -~ 0) { sout | i; } sout | nl | nl;166 for ( i; ~= N ) { sout | i; } sout | nl; 167 for ( i; -~= N ) { sout | i; } sout | nl | nl; 204 168 205 169 const int start = 3, comp = 10, inc = 2; … … 214 178 for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl; 215 179 sout | nl; 216 for ( s; (S){ 10,10} -~ (S){0} ) { sout | s; } sout | nl;217 for ( s; (S){ 10,10} -~ (S){0} ~ (S){1} ) { sout | s; } sout | nl;218 for ( s; (S){ 10,10} -~= (S){0} ) { sout | s; } sout | nl;219 for ( s; (S){ 10,10} -~= (S){0} ~ (S){1} ) { sout | s; } sout | nl | nl;180 for ( s; (S){0} -~ (S){10,10} ) { sout | s; } sout | nl; 181 for ( s; (S){0} -~ (S){10,10} ~ (S){1} ) { sout | s; } sout | nl; 182 for ( s; (S){0} -~= (S){10,10} ) { sout | s; } sout | nl; 183 for ( s; (S){0} -~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl | nl; 220 184 221 185 for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } sout | nl; … … 232 196 for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl; 233 197 for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl; 198 199 fred(); 234 200 } 235 201
Note: See TracChangeset
for help on using the changeset viewer.