Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/loop_else.cfa

    r283876d rf6737ae1  
    2020
    2121int main() {
    22         // Test some loop options.
     22    sout | nlOff;                                                                               // turn off auto newline
     23        while () { sout | "empty"; break; } else { sout | "else"; }                                         sout | nl;
     24        do { sout | "empty"; break; } while () else { sout | "else"; }                              sout | nl;
     25        for () { sout | "empty"; break; } else { sout | "else"; }                                           sout | nl | nl;
    2326
    24         sout | nlOff;                                                                           // turn off auto newline
    25         while () { sout | "empty"; break; } else { sout | "else"; }                                             sout | nl;
    26         do { sout | "empty"; break; } while () else { sout | "else"; }                                  sout | nl;
    27         for () { sout | "empty"; break; } else { sout | "else"; }                                               sout | nl | nl;
     27    do { sout | "false"; } while (false) else { sout | "else"; }                                    sout | nl | nl;
    2828
    29         do { sout | "false"; } while (false) else { sout | "else"; }                                    sout | nl | nl;
    30 
    31         for ( 0 ) { sout | "A"; } else { sout | "else"; }                                                               sout | "zero" | nl;
     29        for ( 0 ) { sout | "A"; } else { sout | "else"; }                                                   sout | "zero" | nl;
    3230        for ( 1 ) { sout | "A"; } else { sout | "else"; }                                                               sout | nl;
    33         for ( 10 ) { sout | "A"; } else { sout | "else"; }                                                              sout | nl;
    34         for ( ~= 10 ) { sout | "A"; } else { sout | "else"; }                                                   sout | nl;
     31        for ( 10 ) { sout | "A"; } else { sout | "else"; }                                                          sout | nl;
     32        for ( = 10 ) { sout | "A"; } else { sout | "else"; }                                                    sout | nl;
    3533        for ( 1 ~= 10 ~ 2 ) { sout | "B"; } else { sout | "else"; }                                             sout | nl;
    36         for ( 1 -~= 10 ~ 2 ) { sout | "C"; } else { sout | "else"; }                                    sout | nl;
     34        for ( 10 -~= 1 ~ 2 ) { sout | "C"; } else { sout | "else"; }                                    sout | nl;
    3735        for ( 0.5 ~ 5.5 ) { sout | "D"; } else { sout | "else"; }                                               sout | nl;
    38         for ( 0.5 -~ 5.5 ) { sout | "E"; } else { sout | "else"; }                                              sout | nl | nl;
     36        for ( 5.5 -~ 0.5 ) { sout | "E"; } else { sout | "else"; }                                              sout | nl | nl;
    3937
    4038        for ( i; 10 ) { sout | i; } else { sout | "else"; }                                                             sout | nl;
    41         for ( i; ~= 10 ) { sout | i; } else { sout | "else"; }                                                  sout | nl;
     39        for ( i; = 10 ) { sout | i; } else { sout | "else"; }                                                   sout | nl;
    4240        for ( i; 1 ~= 10 ~ 2 ) { sout | i; } else { sout | "else"; }                                    sout | nl;
    43         for ( i; 1 -~= 10 ~ 2 ) { sout | i; } else { sout | "else"; }                                   sout | nl;
     41        for ( i; 10 -~= 1 ~ 2 ) { sout | i; } else { sout | "else"; }                                   sout | nl;
    4442        for ( i; 0.5 ~ 5.5 ) { sout | i; } else { sout | "else"; }                                              sout | nl;
    45         for ( i; 0.5 -~ 5.5 ) { sout | i; } else { sout | "else"; }                                             sout | nl;
     43        for ( i; 5.5 -~ 0.5 ) { sout | i; } else { sout | "else"; }                                             sout | nl;
    4644        for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; } else { sout | "else"; }                               sout | nl;
    47         for ( ui; 2u -~= 10u ~ 2u ) { sout | ui; } else { sout | "else"; }                              sout | nl | nl;
     45        for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; } else { sout | "else"; }                              sout | nl | nl;
    4846
    4947        // @ means do nothing
     
    5250                sout | i;
    5351        } else { sout | "else"; }                                                                                                               sout | nl;
    54         for ( i; @ -~ 10 ) {
     52        for ( i; 10 -~ @ ) {
    5553          if ( i < 0 ) break;
    5654                sout | i;
     
    6563                i += 1.7;
    6664        } else { sout | "else"; }                                                                                                               sout | nl;
    67         for ( i; @ -~ 10 ~ 2 ) {
     65        for ( i; 10 -~ @ ~ 2 ) {
    6866          if ( i < 0 ) break;
    6967                sout | i;
     
    7876        for ( N ) { sout | "N"; } else { sout | "else"; }                                                       sout | nl;
    7977        for ( i; N ) { sout | i; } else { sout | "else"; }                                                      sout | nl;
    80         for ( i; ~= N ) { sout | i; } else { sout | "else"; }                                           sout | nl;
    81         for ( i; -~= N ) { sout | i; } else { sout | "else"; }                                          sout | nl | nl;
     78        for ( i; = N ) { sout | i; } else { sout | "else"; }                                            sout | nl;
     79        for ( i; N -~ 0 ) { sout | i; } else { sout | "else"; }                                         sout | nl | nl;
    8280
    8381        const int start = 3, comp = 10, inc = 2;
    8482        for ( i; start ~ comp ~ inc + 1 ) { sout | i; } else { sout | "else"; }         sout | nl | nl;
    85 
    86         for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl;
    87         for ( i; 10 : j; @ -~ -5 ) { sout | i | j; } else { sout | "else"; } sout | nl;
    88         for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl;
    89         for ( i; 10 : j; @ -~ -5 ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
    90 
    91         for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
    92         for ( j; @ -~ -5 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
    93         for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
    94         for ( j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
    95 
    96         for ( j; @ -~ -5 ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
    97         for ( j; @ -~ -5 ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
    98         for ( k; 1.5 ~ @ : j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
    9983
    10084        for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } else { sout | "else"; } sout | nl;
     
    10690        for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl;
    10791        sout | nl;
    108         for ( s; (S){0} -~  (S){10,10} ) { sout | s; } else { sout | "else"; }           sout | nl;
    109         for ( s; (S){0} -~  (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl;
    110         for ( s; (S){0} -~= (S){10,10} ) { sout | s; } else { sout | "else"; }           sout | nl;
    111         for ( s; (S){0} -~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl | nl;
     92        for ( s; (S){10,10} -~ (S){0} ) { sout | s; } else { sout | "else"; }            sout | nl;
     93        for ( s; (S){10,10} -~ (S){0} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl;
     94        for ( s; (S){10,10} -~= (S){0} ) { sout | s; } else { sout | "else"; }           sout | nl;
     95        for ( s; (S){10,10} -~= (S){0} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl | nl;
     96
     97        for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl;
     98        for ( i; 10 : j; -5 -~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl;
     99        for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl;
     100        for ( i; 10 : j; -5 -~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
     101
     102        for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
     103        for ( j; -5 -~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
     104        for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
     105        for ( j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
     106
     107        for ( j; -5 -~ @ ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
     108        for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
     109        for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
    112110}
Note: See TracChangeset for help on using the changeset viewer.