Changes in tests/loopctrl.cfa [283876d:9853d9b0]
- File:
-
- 1 edited
-
tests/loopctrl.cfa (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/loopctrl.cfa
r283876d r9853d9b0 10 10 // Created On : Wed Aug 8 18:32:59 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 11 23:04:35 202213 // Update Count : 1 6012 // Last Modified On : Thu Dec 12 17:55:26 2019 13 // Update Count : 108 14 14 // 15 15 16 16 #include <fstream.hfa> 17 18 void fred() {19 // Test all possible loop syntax.20 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;52 53 // CANNOT DIRECTLY INITIALIZE INDEX VARIABLE, ONLY SINGLE LOOP INDEX VARIABLE IN DECLARATION54 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;82 83 // enum E { A, B, C, D };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; }89 }90 17 91 18 struct S { int i, j; }; … … 108 35 109 36 int main() { 110 // Test some loop options.111 112 37 sout | nlOff; // turn off auto newline 113 38 while () { sout | "empty"; break; } sout | nl; … … 118 43 for ( 1 ) { sout | "A"; } sout | nl; 119 44 for ( 10 ) { sout | "A"; } sout | nl; 120 for ( ~= 10 ) { sout | "A"; } sout | nl;45 for ( = 10 ) { sout | "A"; } sout | nl; 121 46 for ( 1 ~= 10 ~ 2 ) { sout | "B"; } sout | nl; 122 for ( 1 -~= 10~ 2 ) { sout | "C"; } sout | nl;47 for ( 10 -~= 1 ~ 2 ) { sout | "C"; } sout | nl; 123 48 for ( 0.5 ~ 5.5 ) { sout | "D"; } sout | nl; 124 for ( 0.5 -~ 5.5 ) { sout | "E"; } sout | nl | nl;49 for ( 5.5 -~ 0.5 ) { sout | "E"; } sout | nl | nl; 125 50 126 51 for ( i; 10 ) { sout | i; } sout | nl; 127 for ( i; ~= 10 ) { sout | i; } sout | nl;52 for ( i; = 10 ) { sout | i; } sout | nl; 128 53 for ( i; 1 ~= 10 ~ 2 ) { sout | i; } sout | nl; 129 for ( i; 1 -~= 10~ 2 ) { sout | i; } sout | nl;54 for ( i; 10 -~= 1 ~ 2 ) { sout | i; } sout | nl; 130 55 for ( i; 0.5 ~ 5.5 ) { sout | i; } sout | nl; 131 for ( i; 0.5 -~ 5.5 ) { sout | i; } sout | nl;56 for ( i; 5.5 -~ 0.5 ) { sout | i; } sout | nl; 132 57 for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } sout | nl; 133 for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } sout | nl | nl;58 for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; } sout | nl | nl; 134 59 135 60 // @ means do nothing … … 138 63 sout | i; 139 64 } sout | nl; 140 for ( i; @ -~ 10) {65 for ( i; 10 -~ @ ) { 141 66 if ( i < 0 ) break; 142 67 sout | i; … … 151 76 i += 1.7; 152 77 } sout | nl; 153 for ( i; @ -~ 10~ 2 ) {78 for ( i; 10 -~ @ ~ 2 ) { 154 79 if ( i < 0 ) break; 155 80 sout | i; … … 164 89 for ( N ) { sout | "N"; } sout | nl; 165 90 for ( i; N ) { sout | i; } sout | nl; 166 for ( i; ~= N ) { sout | i; } sout | nl;167 for ( i; -~= N) { sout | i; } sout | nl | nl;91 for ( i; = N ) { sout | i; } sout | nl; 92 for ( i; N -~ 0 ) { sout | i; } sout | nl | nl; 168 93 169 94 const int start = 3, comp = 10, inc = 2; 170 95 for ( i; start ~ comp ~ inc + 1 ) { sout | i; } sout | nl | nl; 171 172 for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } sout | nl;173 for ( i; 10 : j; @ -~ -5 ) { sout | i | j; } sout | nl;174 for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } sout | nl;175 for ( i; 10 : j; @ -~ -5 ~ 2 ) { sout | i | j; } sout | nl | nl;176 177 for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } sout | nl;178 for ( j; @ -~ -5 : i; 10 ) { sout | i | j; } sout | nl;179 for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl;180 for ( j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j; } sout | nl | nl;181 182 for ( j; @ -~ -5 ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } sout | nl;183 for ( j; @ -~ -5 ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl;184 for ( k; 1.5 ~ @ : j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl;185 96 186 97 for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } sout | nl; … … 192 103 for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl; 193 104 sout | nl; 194 for ( s; (S){ 0} -~ (S){10,10} ) { sout | s; } sout | nl;195 for ( s; (S){ 0} -~ (S){10,10} ~ (S){1} ) { sout | s; } sout | nl;196 for ( s; (S){ 0} -~= (S){10,10} ) { sout | s; } sout | nl;197 for ( s; (S){ 0} -~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl | nl;105 for ( s; (S){10,10} -~ (S){0} ) { sout | s; } sout | nl; 106 for ( s; (S){10,10} -~ (S){0} ~ (S){1} ) { sout | s; } sout | nl; 107 for ( s; (S){10,10} -~= (S){0} ) { sout | s; } sout | nl; 108 for ( s; (S){10,10} -~= (S){0} ~ (S){1} ) { sout | s; } sout | nl | nl; 198 109 199 fred(); 110 for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } sout | nl; 111 for ( i; 10 : j; -5 -~ @ ) { sout | i | j; } sout | nl; 112 for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } sout | nl; 113 for ( i; 10 : j; -5 -~ @ ~ 2 ) { sout | i | j; } sout | nl | nl; 114 115 for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } sout | nl; 116 for ( j; -5 -~ @ : i; 10 ) { sout | i | j; } sout | nl; 117 for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl; 118 for ( j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl | nl; 119 120 for ( j; -5 -~ @ ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } sout | nl; 121 for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl; 122 for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl; 200 123 } 201 124
Note:
See TracChangeset
for help on using the changeset viewer.