Subversion Repositories doc-tools

Rev

Rev 3 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 4
Line 4... Line 4...
4
#  File: php_autodoc_fornd.pl
4
#  File: php_autodoc_fornd.pl
5
#  Crée une "coquille documentaire" pour Natural Docs dans les fichiers PHP.
5
#  Crée une "coquille documentaire" pour Natural Docs dans les fichiers PHP.
6
#
6
#
7
#  Bien entendu, cela doit être ensuite complété à la main
7
#  Bien entendu, cela doit être ensuite complété à la main
8
#
8
#
9
#  Version : 0.5.1
9
#  Version : 0.6
10
#
10
#
11
#  Language: Perl
11
#  Language: Perl
12
#
12
#
13
#  Svn info: Résumé
13
#  Svn info: Résumé
14
#  $Id: php_autodoc_fornd.pl 3 2007-05-30 00:48:52Z axl $
14
#  $Id: php_autodoc_fornd.pl 4 2007-05-31 23:49:44Z axl $
15
#
15
#
16
#  Svn info: Révision
16
#  Svn info: Révision
17
#  $Revision: 3 $
17
#  $Revision: 4 $
18
#
18
#
19
#  Svn info: Auteur de la révision
19
#  Svn info: Auteur de la révision
20
#  $Author: axl $
20
#  $Author: axl $
21
#
21
#
22
22
Line 133... Line 133...
133
 
133
 
134
  # En tête de fichier pour Natural Docs
134
  # En tête de fichier pour Natural Docs
135
  if ($fichier=~/\.php3?$/) {
135
  if ($fichier=~/\.php3?$/) {
136
    $langage = "\n  language: $php_name\n";  
136
    $langage = "\n  language: $php_name\n";  
137
    }
137
    }
-
 
138
  elsif ($fichier=~/\.js$/) {
-
 
139
    $langage = "\n  language: $js_name\n";
-
 
140
    $language_context=$js_name;
-
 
141
    push(@language_context_stack, $language_context);
-
 
142
    }
138
  elsif ($fichier=~/\.p(l|m)$/) {
143
  elsif ($fichier=~/\.p(l|m)$/) {
139
    $langage = "\n  language: $perl_name\n";
144
    $langage = "\n  language: $perl_name\n";
140
    }  
145
    }  
141
  else {
146
  else {
142
    $langage = "\n";
147
    $langage = "\n";
Line 205... Line 210...
205
        return;
210
        return;
206
        }
211
        }
207
212
208
    my ($func_name,$param_liste)=@_;
213
    my ($func_name,$param_liste)=@_;
209
    print O "/*\n  Function: $func_name\n";
214
    print O "/*\n  Function: $func_name\n";
210
    print O "\n  Language:\n$language_context\n";
215
    print O "\n  Language:\n  $language_context\n";
211
    output_parameters($param_liste);
216
    output_parameters($param_liste);
212
    print O "\n*/\n";
217
    print O "\n*/\n";
213
    }
218
    }
214
 
219
 
215
#  
220
#  
Line 452... Line 457...
452
        return 0;
457
        return 0;
453
        }
458
        }
454
    }
459
    }
455
 
460
 
456
#  
461
#  
-
 
462
#  Function: backup_file
-
 
463
#
-
 
464
#  Traite un fichier en entrée en lui ajoutant les commentaires
-
 
465
#  
-
 
466
#  Parameters:
-
 
467
#  $inputFile : chemin d'accès au fichier
-
 
468
#
-
 
469
#  Retourne:
-
 
470
#
-
 
471
#  rien
-
 
472
#  
-
 
473
 
-
 
474
sub backup_file {
-
 
475
    # Récupération chemin de tavail et nom de fichier
-
 
476
    my ($inputFile) = @_;
-
 
477
    # Supprimer le "./" initial s'il existe ; récupérer path et fichier
-
 
478
#print "$inputFile\n";
-
 
479
    $inputFile=~s!^(\./)?((.*)/)?(.*)$!$3/$4!;
-
 
480
    my $rep=$3;
-
 
481
    my $file=$4;
-
 
482
#print "$inputFile\n$rep#$file\n";
-
 
483
    # Vérification de l'existence des répertoires du chemin de backup
-
 
484
    # On teste d'abord le chemin complet pour aller vite
-
 
485
    # S'il existe, on passe directement à la copie
-
 
486
    # Sinon on le traite élément par élément de gauche à droite
-
 
487
    my $full_dir_path="ND_backup_dir/$rep";
-
 
488
    if (!-d $full_dir_path) {
-
 
489
        @path_element=split('/',$full_dir_path);
-
 
490
        my $current_path='.';
-
 
491
        foreach my $element (@path_element ) {
-
 
492
            $current_path="$current_path/$element";
-
 
493
            if (!-d $current_path) {
-
 
494
                # créer le rep;
-
 
495
                if (! mkdir $current_path,0660) {
-
 
496
                    print "\n$current_path : erreur creation !";
-
 
497
                    }
-
 
498
                }
-
 
499
            }
-
 
500
        }
-
 
501
   
-
 
502
    # Calcul du chemin du fichier de backup
-
 
503
    my $backupFile="ND_backup_dir/$rep/$file";
-
 
504
    $backupFile.='.bak';
-
 
505
    # Copie de l'original vers le répertoire de backup
-
 
506
    copy($inputFile,$backupFile);
-
 
507
    }
-
 
508
   
-
 
509
#  
457
#  Function: process_one_file
510
#  Function: process_one_file
458
#
511
#
459
#  Traite un fichier en entrée en lui ajoutant les commentaires
512
#  Traite un fichier en entrée en lui ajoutant les commentaires
460
#  
513
#  
461
#  Parameters:
514
#  Parameters:
Line 483... Line 536...
483
    $sortie=$rep."/$1_ND";
536
    $sortie=$rep."/$1_ND";
484
    }
537
    }
485
   
538
   
486
  # Calcul du chemin du fichier d'entrée
539
  # Calcul du chemin du fichier d'entrée
487
  $inputFile="$rep/$entree";  
540
  $inputFile="$rep/$entree";  
488
 
-
 
489
  # Calcul du fichier de backup
-
 
490
  my $backupFile="ND_backup_dir/$inputFile";
-
 
491
  $backupFile.='.bak';
-
 
492
   
-
 
493
  # Affichage écran du travail en cours
541
  # Affichage écran du travail en cours
494
  print "Traitement de $entree vers $sortie\n";
542
  print "Traitement de $entree vers $sortie\n";
495
 
543
 
496
  # Faire copie de sauvegarde
544
  # Faire copie de sauvegarde
497
  copy($inputFile,$backupFile);
545
  backup_file($inputFile);
498
546
499
  # Ouvrir les fichiers d'entrée et de sortie
547
  # Ouvrir les fichiers d'entrée et de sortie
500
  open F,"$inputFile";
548
  open F,"$inputFile";
501
  open O,">$sortie";
549
  open O,">$sortie";
502
 
550