map_flow.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/bash
  2. # Nom du fichier de sortie
  3. OUTPUT="DICTIONNAIRE_FLOWER.md"
  4. # En-tête du fichier Markdown
  5. echo "# 📖 Dictionnaire du Code Source Flower.jl" > "$OUTPUT"
  6. echo "Date de l'analyse : $(date)" >> "$OUTPUT"
  7. echo "---" >> "$OUTPUT"
  8. # Initialisation des compteurs
  9. total_files=0
  10. total_funcs=0
  11. # Trouver tous les fichiers .jl, les trier et boucler dessus
  12. find . -type f -name "*.jl" | sort | while read -r file; do
  13. # Compter le fichier
  14. ((total_files++))
  15. # Extraire les fonctions (lignes commençant par "function", ignorant l'indentation)
  16. # On exclut les lignes qui commencent par un commentaire #
  17. functions=$(grep -nE "^\s*function\s+" "$file" | grep -v "^\s*#")
  18. # S'il y a des fonctions dans ce fichier
  19. if [ ! -z "$functions" ]; then
  20. # Compter le nombre de fonctions dans ce fichier
  21. count=$(echo "$functions" | wc -l)
  22. total_funcs=$((total_funcs + count))
  23. # Écriture dans le fichier de sortie
  24. echo "" >> "$OUTPUT"
  25. echo "## 📁 Fichier : \`$file\` ($count fonctions)" >> "$OUTPUT"
  26. echo "\`\`\`julia" >> "$OUTPUT"
  27. # Nettoyage de l'affichage : on garde le numéro de ligne pour se repérer
  28. echo "$functions" | sed -E 's/([0-9]+):[ \t]*(.*)/\1: \2/' >> "$OUTPUT"
  29. echo "\`\`\`" >> "$OUTPUT"
  30. fi
  31. done
  32. # Résumé à la fin du fichier
  33. echo "" >> "$OUTPUT"
  34. echo "---" >> "$OUTPUT"
  35. echo "## 📊 Résumé Global" >> "$OUTPUT"
  36. echo "- **Total Fichiers analysés** : $total_files" >> "$OUTPUT"
  37. # Note: le compteur total_funcs dans la sous-boucle while ne remonte pas toujours
  38. # dans le shell père selon l'implémentation, on fait un grep global pour le total exact.
  39. real_total=$(grep -rE "^\s*function\s+" . | grep -v "^\s*#" | wc -l)
  40. echo "- **Total Fonctions détectées** : $real_total" >> "$OUTPUT"
  41. echo "✅ Analyse terminée. Résultat enregistré dans : $OUTPUT"