X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5011aa3becbb472fa53a6e531d9d0212b0c4a3da..55029c5e69b87977c9bcac655220ef71d80d5885:/tools/doxygen/toc_create.pl diff --git a/tools/doxygen/toc_create.pl b/tools/doxygen/toc_create.pl index a4dba12c6a..13b1cd0e54 100755 --- a/tools/doxygen/toc_create.pl +++ b/tools/doxygen/toc_create.pl @@ -1,15 +1,17 @@ #!/usr/bin/perl -w -($#ARGV >= 1) or die "Usage: index_create.pl "; +use strict; -my(@toc); -my($level,$label,$name); +($#ARGV >= 1) or die "Usage: toc_create.pl +"; -$input = $ARGV[0]; -$output = $ARGV[1]; -open FILE,$input; +sub handle_file { + my $infile = shift; + open FILE,$infile; -while($line=) { + my(@toc); + my($level,$label,$name); + + while(my $line=) { chomp $line; if($line=~/\\section\s*(\S\S*)\s*(.*)$/) { # print "$line\n"; @@ -33,50 +35,46 @@ while($line=) { # print "\t\t$label : $name\n"; push @toc,[$level,$label,$name]; } -} -close FILE; - -open OUTPUT,"> $output"; -my($current_level)=-1; -my($entry); -print OUTPUT "\n"; -foreach $entry (@toc) { - ($level,$label,$name) = @$entry; + } + close FILE; - while($current_level<$level) { - print OUTPUT "
    \n"; - $current_level++; - } - while($current_level>$level) { - print OUTPUT "
\n"; - $current_level--; - } - foreach (1..$current_level) { - print OUTPUT "\t"; - } - print OUTPUT "
  • $name\n"; -} + my $outfile = "$infile.toc"; + $outfile =~ s|\./||g; + $outfile =~ s|\.\./||g; + $outfile =~ s|/|_|g; + $outfile = ".$outfile"; + print "Create a TOC for $infile (in $outfile)\n"; + open OUTPUT,"> ./$outfile"; + my($current_level)=-1; + my($entry); + print OUTPUT "\n"; + print OUTPUT "
    \n"; + print OUTPUT "
    Table of content
    \n"; + foreach $entry (@toc) { + ($level,$label,$name) = @$entry; -while($current_level>-1) { - print OUTPUT "\n"; - $current_level--; -} -print OUTPUT "\n"; + while($current_level<$level) { + print OUTPUT "
      \n"; + $current_level++; + } + while($current_level>$level) { + print OUTPUT "
    \n"; + $current_level--; + } + foreach (1..$current_level) { + print OUTPUT "\t"; + } + print OUTPUT "
  • $name\n"; + } + while($current_level>-1) { + print OUTPUT "\n"; + $current_level--; + } + print OUTPUT "\n"; + print OUTPUT "\n"; + close OUTPUT; +} # sub handle_file -# foreach $type qw(define enumeration enumvalue function typedef) { -# if(defined $database{$type}) { -# print OUTPUT "

    $type

    \n
      \n"; -# foreach $name (sort keys %{$database{$type}}) { -# if($type eq "function") { -# print OUTPUT "\t
    • $name()
    • \n"; -# } else { -# print OUTPUT "\t
    • #$name
    • \n"; -# } -# } -# print OUTPUT "\n
    \n"; -# } -# } -# print OUTPUT "*/"; -# close OUTPUT; +map { handle_file($_) } @ARGV;