- - - - CENAPAD-MGCO

contents index A seguir: Subrotinas Acima: Exemplos de Uso Anterior: Co-rotinas


Co-rotinas - 2

ASSEMBLE:

lineimage: (1..125) character;
i: integer; i := 1;
*[
 c: character;
   X ? c -> 
     lineimage(i) := c;
     [
       i <= 124 -> i := i + 1;
     ||
       i  = 125 -> lineprinter ! lineimage;
                   i := 1
 ]   ]
 [
   i = 1 -> skip
 ||
   i > 1 -> *[
               i <= 125 -> lineimage(i) := space;
                           i := i + 1
             ];
            lineprinter ! lineimage
 ]

Linhas de montagem:

[ west:: DISASSEMBLE // X:: COPY // east:: ASSEMBLE ]
ou
[ west:: DISASSEMBLE // X:: SQUASH // east:: ASSEMBLE ]



Osvaldo Carvalho - Postscript - Comentários?