• # En perl ?

    Posté par . En réponse au journal Rajouter automatiquement une ligne dans chaque void d'un source C. Évalué à 5.

    Je ne suis pas sûr de traiter les cas particuliers mais si ton code sort d'un générateur ça doit pouvoir le faire avec ça :
    #!/usr/bin/perl
    use strict;
    my $currentFunction;
    my $pos = 0;
    while (my $line = ) {
     print $line;
     if ($pos == 0 and $line =~ m/^\s*static\s+void\s+([^\s]+)\s*\(/ ) {
     $currentFunction = 1ドル;
     $pos = 1;
     }
     if ($pos == 1 and $line =~ m/\)/) {
     $pos = 2;
     }
     if ($pos == 2 and $line =~ m/^\s*\/\// ) {
     $pos = 3;
     }
     if ($pos == 3 and $line =~ m/^\s*\{/ ) {
     print 'fprintf(stderr,"', $currentFunction, '\n")', "\n";
     $pos = 0;
     }
    }