Ignore:
Timestamp:
Dec 28, 2020, 4:13:58 PM (10 months ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
arm-eh, jacob/cs343-translation, master, new-ast-unique-expr
Children:
6ae5c22
Parents:
b6460bf (diff), bf1914e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/collections/queue.cfa

    rb6460bf r3e36f22  
    1919
    2020        Queue(Fred) fred;
    21         QueueIter(Fred) fredIter = { fred };
     21        QueueIter(Fred) iter = { fred };
    2222        Fred & f;
    2323
    2424        sout | nlOff;                                                                           // turn off auto newline
    2525
    26         for ( ; fredIter >> f; ) {                                                      // empty list
     26        for ( ; iter | f; ) {                                                   // empty list
    2727                sout | f.i | ' ';
    2828        }
     
    3535        sout | head( fred ).i | tail( fred ).i | nl;
    3636
    37         for ( QueueIter(Fred) iter = { fred }; iter >> f; ) {
     37        for ( QueueIter(Fred) iter = { fred }; iter | f; ) {
    3838                sout | f.i | ' ';
    3939        }
     
    4444        }
    4545
    46         for ( over( fredIter, fred ); fredIter >> f; ) {
     46        for ( over( iter, fred ); iter | f; ) {
    4747                sout | f.i | ' ';
    4848        }
     
    5858
    5959        sout | head( fred ).i | succ( fred, head )->i | tail( fred ).i | nl;
    60         for ( over( fredIter, fred ); fredIter >> f; ) {
     60
     61        for ( over( iter, fred ); iter | f; ) {
    6162                sout | f.i | ' ';
    6263        }
     
    6869        delete( &dropTail( fred ) );
    6970
    70         for ( over( fredIter, fred ); fredIter >> f; ) {
     71        for ( over( iter, fred ); iter | f; ) {
    7172                sout | f.i | ' ';
    7273        }
     
    7677                delete( &dropTail( fred ) );
    7778        }
    78         for ( over( fredIter, fred ); fredIter >> f; ) {
    79                 sout | f.i | ' ';
    80         }
    81         sout | nl;
    82 
    83         for ( over( fredIter, fred ); fredIter >> f; ) {
     79        for ( over( iter, fred ); iter | f; ) {
     80                sout | f.i | ' ';
     81        }
     82        sout | nl;
     83
     84        for ( over( iter, fred ); iter | f; ) {
    8485                delete( &remove( fred, f ) );
    8586        }
    86         for ( over( fredIter, fred ); fredIter >> f; ) {
     87        for ( over( iter, fred ); iter | f; ) {
    8788                sout | f.i | ' ';
    8889        }
     
    9697                }
    9798        }
    98         for ( QueueIter(Fred) iter = { fred }; iter >> f; ) {
     99        for ( QueueIter(Fred) iter = { fred }; iter | f; ) {
    99100                sout | f.i | ' ';
    100101        }
     
    105106        split( fred2, fred, middle );
    106107
    107         for ( over( fredIter, fred ); fredIter >> f; ) {
    108                 sout | f.i | ' ';
    109         }
    110         sout | nl;
    111 
    112         for ( over( fredIter, fred2 ); fredIter >> f; ) {
     108        for ( over( iter, fred ); iter | f; ) {
     109                sout | f.i | ' ';
     110        }
     111        sout | nl;
     112
     113        for ( over( iter, fred2 ); iter | f; ) {
    113114                sout | f.i | ' ';
    114115        }
     
    117118        transfer( fred, fred2 );
    118119
    119         for ( over( fredIter, fred ); fredIter >> f; ) {
    120                 sout | f.i | ' ';
    121         }
    122         sout | nl;
    123 
    124         for ( over( fredIter, fred ); fredIter >> f; ) {
     120        for ( over( iter, fred ); iter | f; ) {
     121                sout | f.i | ' ';
     122        }
     123        sout | nl;
     124
     125        for ( over( iter, fred ); iter | f; ) {
    125126                delete( &f );
    126127        }
     
    142143
    143144        Queue(Mary) mary;
    144         QueueIter(Mary) maryIter = { mary };
     145        QueueIter(Mary) iter = { mary };
    145146        Mary & m;
    146147
    147         for ( ; maryIter >> m; ) {                                                      // empty list
     148        for ( ; iter | m; ) {                                                   // empty list
    148149                sout | m.i | m.j | ' ';
    149150        }
     
    156157        sout | head( mary ).i | tail( mary ).i | nl;
    157158
    158         for ( QueueIter(Mary) iter = { mary }; iter >> m; ) {
     159        for ( QueueIter(Mary) iter = { mary }; iter | m; ) {
    159160                sout | m.i | m.j | ' ';
    160161        }
     
    165166        }
    166167
    167         for ( over( maryIter, mary ); maryIter >> m; ) {
     168        for ( over( iter, mary ); iter | m; ) {
    168169                sout | m.i | m.j | ' ';
    169170        }
     
    174175        }
    175176
    176         Mary * head = new( -1 ), tail = { -1 };
     177        Mary * head = new( -1 ), tail = { -2 };
    177178        addHead( mary, *head );
    178179        addTail( mary, tail );
     180
    179181        sout | head( mary ).i | succ( mary, head )->i | tail( mary ).i | nl;
     182
     183        for ( over( iter, mary ); iter | m; ) {
     184                sout | m.i | m.j | ' ';
     185        }
     186        sout | nl;
     187
    180188        remove( mary, *head );
    181189        remove( mary, tail );
     
    183191        delete( &dropTail( mary ) );
    184192
    185         for ( over( maryIter, mary ); maryIter >> m; ) {
    186                 sout | m.i | m.j | ' ';
    187         }
    188         sout | nl;
    189 
    190         for ( over( maryIter, mary ); maryIter >> m; ) {
     193        for ( over( iter, mary ); iter | m; ) {
     194                sout | m.i | m.j | ' ';
     195        }
     196        sout | nl;
     197
     198        for ( i; 5 ) {
     199                delete( &dropTail( mary ) );
     200        }
     201        for ( over( iter, mary ); iter | m; ) {
     202                sout | m.i | m.j | ' ';
     203        }
     204        sout | nl;
     205
     206        for ( over( iter, mary ); iter | m; ) {
    191207                delete( &remove( mary, m ) );
    192208        }
     209        for ( over( iter, mary ); iter | m; ) {
     210                sout | m.i | m.j | ' ';
     211        }
     212        sout | "empty" | nl;
    193213
    194214        Mary & middle;
     
    199219                }
    200220        }
    201         for ( QueueIter(Mary) iter = { mary }; iter >> m; ) {
     221        for ( QueueIter(Mary) iter = { mary }; iter | m; ) {
    202222                sout | m.i | m.j | ' ';
    203223        }
     
    208228        split( mary2, mary, middle );
    209229
    210         for ( over( maryIter, mary ); maryIter >> m; ) {
    211                 sout | m.i | m.j | ' ';
    212         }
    213         sout | nl;
    214         for ( over( maryIter, mary2 ); maryIter >> m; ) {
     230        for ( over( iter, mary ); iter | m; ) {
     231                sout | m.i | m.j | ' ';
     232        }
     233        sout | nl;
     234        for ( over( iter, mary2 ); iter | m; ) {
    215235                sout | m.i | m.j | ' ';
    216236        }
     
    219239        transfer( mary, mary2 );
    220240
    221         for ( over( maryIter, mary ); maryIter >> m; ) {
    222                 sout | m.i | m.j | ' ';
    223         }
    224         sout | nl;
    225         for ( over( maryIter, mary ); maryIter >> m; ) {
     241        for ( over( iter, mary ); iter | m; ) {
     242                sout | m.i | m.j | ' ';
     243        }
     244        sout | nl;
     245
     246        for ( over( iter, mary ); iter | m; ) {
    226247                delete( &m );
    227248        }
Note: See TracChangeset for help on using the changeset viewer.