[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