[Toulouse-pm] L'apocalypse est pour tout de suite

Philippe 'BooK' Bruhat Philippe.Bruhat at free.fr
Mon Apr 19 18:54:44 CDT 2004


Le mardi 20 avril 2004 à 00:48, Sébastien Aperghis-Tramoni écrivait:
> 
> >   Si on peut _facilement_ écrire en "assembleur" pour Parrot,
> >   je suis prèt à tenter l'expérience :)
> 
> Je n'ai pas encore essayé, mais le macro-assembleur de Parrot semble 
> avoir une syntaxe claire, offre des fonctions de haut niveau et des 
> registres typés, sans limitation. Lors de YAPC::Europe::2003, Leopold 
> Tötsch avait écrit sa visionneuse de slides (ça affichait des fichiers 
> textes et attendait qu'il appuie sur entrée) en assembleur Parrot. À la 
> demande du public, il avait montré le code : moins d'un écran.

Tout depend de la taille de ton ecran. Si je me souviens bien, il y
avait un autre type avec une visionneuse codee a la va vite avant son
talk... Mais celle la fonctionnait en automatique, sans intervention
de l'utilisateur :

    #!/usr/bin/perl
    # who needs use strict?
    use Getopt::Std;
    getopts('c');
    
    $|++;
    $cls = "\e[H\e[J\n";
    
    while (<>) {
    
        # new page after delay
        /^:(\w+)/ && do {
            $c += ( $var{$1} || $1 );
            next if $opt_c;
            print $/;
            print "\r", ' ' x $_
              and sleep 1 for ( reverse 1 .. ( $var{$1} || $1 ) );
            print $cls;
            next;
        };
    
        # wait before showing next lines
        /^\.(\w+)/ && do {
            $c += ( $var{$1} || $1 );
            next if $opt_c;
            print $/;
            sleep $var{$1} || $1;
            next;
        };
    
        # variables
        /^=(\w+)\s+(\d+)/ && do {
            $var{$1} = $2;
        };
    
        # fall-through
        print unless $opt_c;
    }
    
    # total playing time
    print "$c seconds\n" if $opt_c;

-- 
 Philippe "BooK" Bruhat

 Sometimes a setback can be the greatest form of progress.
                                                 (Moral from Groo #6 (Image))



More information about the Toulouse-pm mailing list