- - - - CENAPAD-MGCO

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


Co-rotinas

Co-rotinas são vistas aqui essencialmente como processos servidores, que recebem demandas e executam um serviço.

COPY:

X :: *[ c: character; west ? c -> east ! c ]

SQUASH:

X :: *[
      c: character;
        west ? c ->
          [  c <> asterisk -> east ! c;
          || c =  asterisk ->
              west ? c;
              [  c <> asterisk -> east ! asterisk;
                                 east ! c
              || c =  asterisk -> east ! uparrow
      ]   ]   ]

DISASSEMBLE:

*[cardimage: (1..80) character;
   cardfile ? cardimage -> 
     i: integer; i := 1;
     *[i <= 80 -> X ! cardimage(i); i := i + 1 ];
     X ! space
 ]



Osvaldo Carvalho - Postscript - Comentários?