Last change
on this file since 66286aa was
dfa4360,
checked in by Thierry Delisle <tdelisle@…>, 4 years ago
|
Added several tests for generators
|
-
Property mode set to
100644
|
File size:
2.4 KB
|
Rev | Line | |
---|
[dfa4360] | 1 | //// Cfo rall Ver sion |
---|
| 2 | 1.0 .0 C opyr ight (C) |
---|
| 3 | 201 7 Un iver sity of |
---|
| 4 | Wate rloo //// The con |
---|
| 5 | tent s of thi s fi le a |
---|
| 6 | re c over ed u nder the |
---|
| 7 | lic ence agr eeme nt i |
---|
| 8 | n th e// file "LI CENC |
---|
| 9 | E" d istr ibut ed w ith |
---|
| 10 | Cfor all. //// fmt Line |
---|
| 11 | s.cc --/ /// Auth or |
---|
| 12 | : P eter A. |
---|
| 13 | Buhr // C reat ed O n |
---|
| 14 | : Su n Se p 17 21: |
---|
| 15 | 56:1 5 20 17// Las t Mo |
---|
| 16 | difi ed B y : Pete r A. |
---|
| 17 | Buh r// Last Mod ifie |
---|
| 18 | d On : F ri M ar 2 2 13 |
---|
| 19 | :41: 03 2 019/ / Up date |
---|
| 20 | Cou nt : 33/ /#in |
---|
| 21 | clud e <f stre am.h fa># |
---|
| 22 | incl ude <cor outi ne.h |
---|
| 23 | fa>c orou tine For mat |
---|
| 24 | { ch ar c h; |
---|
| 25 | // used for com muni |
---|
| 26 | cati on i nt g , b; |
---|
| 27 | / / gl obal bec |
---|
| 28 | ause use d in des truc |
---|
| 29 | tor} ;voi d ?{ }( F orma |
---|
| 30 | t & fmt ) { r esum |
---|
| 31 | e( f mt ) ; / |
---|
| 32 | / st art coro utin e}vo |
---|
| 33 | id ^ ?{}( For mat & fm |
---|
| 34 | t ) { if ( fm t.g |
---|
| 35 | != 0 || fmt. b != 0 ) |
---|
| 36 | sou t | nl;} void mai |
---|
| 37 | n( F orma t & fmt ) { |
---|
| 38 | for ( ;; ) { |
---|
| 39 | // for as many cha |
---|
| 40 | ract ers for ( f mt.g |
---|
| 41 | = 0 ; fm t.g < 5; fmt |
---|
| 42 | .g + = 1 ) { // grou |
---|
| 43 | ps o f 5 bloc ks for |
---|
| 44 | ( f mt.b = 0 ; fm t.b |
---|
| 45 | < 4; fmt .b + = 1 ) { |
---|
| 46 | // b lock s of 4 c hara |
---|
| 47 | cter s for ( ; ; ) |
---|
| 48 | { // f or n ewli |
---|
| 49 | ne c hara cter s su |
---|
| 50 | spen d; i f ( fmt. |
---|
| 51 | ch ! = '\ n' ) bre ak; |
---|
| 52 | // igno re n ewli ne |
---|
| 53 | } // f or so ut | |
---|
| 54 | fmt .ch; / / pr |
---|
| 55 | int char acte r } // |
---|
| 56 | for s out | " "; |
---|
| 57 | / / pr int bloc |
---|
| 58 | k se para tor } / / fo |
---|
| 59 | r s out | nl ; |
---|
| 60 | // pri nt g roup sep |
---|
| 61 | arat or } // for} // |
---|
| 62 | main void prt ( Fo rmat |
---|
| 63 | & f mt, char ch ) { |
---|
| 64 | f mt.c h = ch; r |
---|
| 65 | esum e( f mt ) ;} / / pr |
---|
| 66 | tint mai n() { Fo rmat |
---|
| 67 | fmt ; ch ar c h; f or ( |
---|
| 68 | ;; ) { sin | c h; |
---|
| 69 | // r ead one |
---|
| 70 | char acte r if ( eof |
---|
| 71 | ( si n ) ) br eak; |
---|
| 72 | / / eo f ? prt ( fm |
---|
| 73 | t, c h ); } / / fo r} / |
---|
| 74 | / ma in// Loc al V aria |
---|
| 75 | bles : // // t ab-w idth |
---|
| 76 | : 4 //// com pile -com |
---|
| 77 | mand : "c fa f mtLi nes. |
---|
| 78 | cfa" /// / En d: / / |
---|
Note: See
TracBrowser
for help on using the repository browser.