Changeset c48b61c for tests/loopctrl.cfa


Ignore:
Timestamp:
Aug 9, 2022, 5:40:36 PM (2 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master, pthread-emulation
Children:
571f220
Parents:
52be5948
Message:

update for-control test-programs and expected output

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/loopctrl.cfa

    r52be5948 rc48b61c  
    1010// Created On       : Wed Aug  8 18:32:59 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Aug  8 17:36:57 2022
    13 // Update Count     : 116
     12// Last Modified On : Tue Aug  9 17:29:08 2022
     13// Update Count     : 144
    1414//
    1515
     
    1919        // Test all possible loop syntax.
    2020
    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;
    7252
    7353        // CANNOT DIRECTLY INITIALIZE INDEX VARIABLE, ONLY SINGLE LOOP INDEX VARIABLE IN DECLARATION
    7454
    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;
    11882
    11983        // 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; }
    12589}
    12690
     
    156120        for ( ~= 10 ) { sout | "A"; }                                           sout | nl;
    157121        for ( 1 ~= 10 ~ 2 ) { sout | "B"; }                                     sout | nl;
    158         for ( 10 -~= 1 ~ 2 ) { sout | "C"; }                            sout | nl;
     122        for ( 1 -~= 10 ~ 2 ) { sout | "C"; }                            sout | nl;
    159123        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;
    161125
    162126        for ( i; 10 ) { sout | i; }                                                     sout | nl;
    163127        for ( i; ~= 10 ) { sout | i; }                                          sout | nl;
    164128        for ( i; 1 ~= 10 ~ 2 ) { sout | i; }                            sout | nl;
    165         for ( i; 10 -~= 1 ~ 2 ) { sout | i; }                           sout | nl;
     129        for ( i; 1 -~= 10 ~ 2 ) { sout | i; }                           sout | nl;
    166130        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;
    168132        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;
    170134
    171135        // @ means do nothing
     
    200164        for ( N ) { sout | "N"; }                                                       sout | nl;
    201165        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;
    204168
    205169        const int start = 3, comp = 10, inc = 2;
     
    214178        for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl;
    215179        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;
    220184
    221185        for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } sout | nl;
     
    232196        for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl;
    233197        for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl;
     198
     199        fred();
    234200}
    235201
Note: See TracChangeset for help on using the changeset viewer.