mercredi 22 juin 2016

Simula



Commencer
  Ref (TwinProcess) firstProc, secondProc;
  Classe TwinProcess (Nom);
  Nom du texte;
  Commencez 
        ! Entrée coroutine initiale (création)
     Ref (TwinProcess) Lits;
     OutText (Nom); OutText ( ": Création" ); OutImage;
         ! Première sortie coroutine
     Détacher;
        ! Deuxième entrée de coroutine 
     OutText (Nom); OutText ( ": Deuxième entrée de coroutine" ); OutImage;
          ! Deuxième sortie coroutine: passer à la coroutine des jumeaux
     Resume (Double);
         ! Dernière entrée coroutine 
     OutText (Nom); OutText ( ": Dernière entrée de coroutine" ); OutImage;
     Resume (Double);
 Fin ;
   Begin 
     firstProc: - New TwinProcess ( "1er Proc" );
     secondProc: - New TwinProcess ( "2nd Proc" );
     firstProc.Twin: - secondProc;
     secondProc.Twin: - firstProc;
     OutText ( "Démarrage" ); OutImage;
     Resume (firstProc);
     OutText ( "End" );
  Fin ;
  Fin ;
Affichage:
 1er Proc: Création
 2ème Proc: Création
 Départ
 1er Proc: entrée Deuxième coroutine
 2ème Proc: entrée Deuxième coroutine
 1er Proc: Dernière entrée de coroutine
 2ème Proc: Dernière entrée de coroutine
 Fin

Aucun commentaire:

Enregistrer un commentaire