Projet mkd/tri.c

De Wiki EELL.

(Différences entre les versions)
m (Fichiers de la fonction tri() : !!)
m (Fichiers de la fonction tri() : Mise à jour)
 
(5 versions intermédiaires masquées)
Ligne 4 : Ligne 4 :
== Fichiers de la fonction tri() ==
== Fichiers de la fonction tri() ==
 +
<pre style = "color:blue">
   Remarks: (1991)
   Remarks: (1991)
   Cette fonction de mkdoc permet le tri des commentaires en fonction des para-
   Cette fonction de mkdoc permet le tri des commentaires en fonction des para-
Ligne 20 : Ligne 21 :
   toutefois " étant a la fois début et fin de caractère le résultat n'est pas
   toutefois " étant a la fois début et fin de caractère le résultat n'est pas
   assuré.
   assuré.
 +
</pre>
{{Boîte déroulante/début|titre=tri.h, tri.c, tri.cc, tri.inc.c ; Updated 2013-05-11}}
{{Boîte déroulante/début|titre=tri.h, tri.c, tri.cc, tri.inc.c ; Updated 2013-05-11}}
Ligne 531 : Ligne 533 :
{{Boîte déroulante/fin}}
{{Boîte déroulante/fin}}
-
== Titre 1 ==
+
== Fichier de commande des tests  ==
-
{{Boîte déroulante/début|titre=tri.h, tri.c Updated 2013-05-11}}
+
; La fonction tri() a été éprouvée avec les options de compilation suivantes:
-
*
+
-
<pre style="color:black>
+
-
</pre>
+
1 - Commande : <code> mkd \? | grep '-l' > ligne.txt</code>
 +
 
 +
<span style="color:blue">'''Fichier ligne.txt''', compilation avec CD1= '%', CD2= '<', CD3= '!' :</span>
 +
: <span style="color:orange">Ligne: -l et -p:  ligne;  (compil.: % ou < en première colonne ou ! dans la ligne)</span>
 +
 
 +
2 - Commande : <code> mkd \? | grep page > block.txt</code>
 +
 
 +
<span style="color:blue">'''Fichier block.txt''', compilation avec CD4= '\"', CD5= '\"' :</span>
 +
: <span style="color:orange">page:  (compil.: commence avec " et se termine avec ")</span>
 +
 
 +
{{Boîte déroulante/début|titre=MAKE_Tests_U, CLEAN_Tests_U ; Updated 2013-05-11}}
*
*
-
<pre style="color:black>
+
<pre style="color:blue">
 +
#!/bin/bash
 +
#O ../../mkd tests under Linux.
 +
#O Epreuve de vérification de la fonction tri_() avec ../../mkd
 +
#!/bin/dash
 +
../../mkd \? | grep -e '-l' > ligne.txt
 +
../../mkd \? | grep -e page > block.txt
 +
#
 +
echo "File stdout.doc for all tri() tests" > stdout.doc
 +
# PostSript commentaire en début de ligne (début avec CD1 ou CD2 fin avec NL)
 +
if cat ligne.txt | grep -e ' % '
 +
then
 +
../../mkd -svlw '**' sample2.ps >> stdout.doc;
 +
../../mkd -svlan '**' sample2.ps >> stdout.doc;
 +
../../mkd -svlant '**' sample2.ps >> stdout.doc;
 +
../../mkd -svlant O sample2.ps >> stdout.doc;
 +
fi
 +
#
 +
# Tag '<' commentaire en début de ligne (début avec CD1 ou CD2 fin avec NL)
 +
if cat ligne.txt | grep -e ' < '
 +
then
 +
../../mkd -svlw '**' tags.html >> stdout.doc;
 +
../../mkd -svlan '**' tags.html >> stdout.doc;
 +
../../mkd -svlant '**' tags.html >> stdout.doc;
 +
../../mkd -svlant '!' tags.html >> stdout.doc;
 +
fi
 +
#
 +
# Fortran 90 commentaire dans la ligne (début avec CD3 fin avec NL)
 +
if cat ligne.txt | grep -e ' ! '
 +
then
 +
../../mkd -svlw '**' degrad.f >> stdout.doc;
 +
../../mkd -svlan '**' degrad.f >> stdout.doc;
 +
../../mkd -svlant '**' degrad.f >> stdout.doc;
 +
../../mkd -svlant S degrad.f >> stdout.doc;
 +
fi
 +
#
 +
# Texte avec chaînes de caractères sous forme de bloc début avec CD3 fin avec CD4
 +
if cat block.txt | grep -e ' " '
 +
then
 +
../../mkd -svpw '**' strings.txt >> stdout.doc;
 +
../../mkd -svpan '**' strings.txt >> stdout.doc;
 +
../../mkd -svpant '**' strings.txt >> stdout.doc;
 +
../../mkd -svpant '*' strings.txt >> stdout.doc;
 +
fi
 +
</pre>
 +
* CLEAN_Tests_U
 +
<pre style="color:violet">
 +
#!/bin/dash
 +
#O File Tests_Clean
 +
#O Delete files created with Make_Tets_files under Linux.
 +
rm *.doc
</pre>
</pre>
{{Boîte déroulante/fin}}
{{Boîte déroulante/fin}}
-
== Titre 2 ==
+
== Analyse des test Konsole ==
-
{{Boîte déroulante/début|titre=tri.h, tri.c Updated 2013-05-11}}
+
{{Boîte déroulante/début|titre=Analysis ; Updated 2013-05-11}}
-
*
+
* Analysis
<pre style="color:black>
<pre style="color:black>
-
 
+
Fichier Analysis texte UTF-8
 +
Analyse du : 10 mai 2013 par Clara pour le retour à la conception détaillée.
 +
-------------------------------------------------------------------------------
 +
Résultats du test unitaire de la fonction tri_() du fichier tri.c intégrée
 +
à la commande mkd 2013 alpha 05
 +
.
 +
Ce test est effectué avec la version mkd 2013 alpha pour évaluer les
 +
modifications à effectuer dans la version alpha 2013.
 +
.
 +
Avec la commande : MAKE_Tests_U on obtient des résultatas conformes en fonction
 +
  des paramètres de compilation définis par CD1,CD2,CD3,CD4,CD5,dans version.h
 +
.
 +
Il est à noter que l'option -l permet de décoder les lignes commençant à la
 +
  fois par les caractères CD1, CD2 et contenant CD3.
 +
.
 +
Les tests ont été effectués selon les directives contenues dans le ficchier de
 +
  commandes:
 +
.
 +
#!/bin/bash
 +
#O ../../mkd tests under Linux.
 +
#O Epreuve de vérification de la fonction tri_() avec ../../mkd
 +
#!/bin/dash
 +
../../mkd \? | grep -e '-l' > ligne.txt
 +
../../mkd \? | grep -e page > block.txt
 +
#
 +
echo "File stdout.doc for all tri() tests" > stdout.doc
 +
# PostSript commentaire en début de ligne (début avec CD1 ou CD2 fin avec NL)
 +
if cat ligne.txt | grep -e ' % '
 +
then
 +
../../mkd -svlw '**' sample2.ps >> stdout.doc;
 +
../../mkd -svlan '**' sample2.ps >> stdout.doc;
 +
../../mkd -svlant '**' sample2.ps >> stdout.doc;
 +
../../mkd -svlant O sample2.ps >> stdout.doc;
 +
fi
 +
#
 +
# Tag '<' commentaire en début de ligne (début avec CD1 ou CD2 fin avec NL)
 +
if cat ligne.txt | grep -e ' < '
 +
then
 +
../../mkd -svlw '**' tags.html >> stdout.doc;
 +
../../mkd -svlan '**' tags.html >> stdout.doc;
 +
../../mkd -svlant '**' tags.html >> stdout.doc;
 +
../../mkd -svlant '!' tags.html >> stdout.doc;
 +
fi
 +
#
 +
# Fortran 90 commentaire dans la ligne (début avec CD3 fin avec NL)
 +
if cat ligne.txt | grep -e ' ! '
 +
then
 +
../../mkd -svlw '**' degrad.f >> stdout.doc;
 +
../../mkd -svlan '**' degrad.f >> stdout.doc;
 +
../../mkd -svlant '**' degrad.f >> stdout.doc;
 +
../../mkd -svlant S degrad.f >> stdout.doc;
 +
fi
 +
#
 +
# Texte avec chaînes de caractères sous forme de bloc début avec CD3 fin avec CD4
 +
if cat block.txt | grep -e ' " '
 +
then
 +
../../mkd -svpw '**' strings.txt >> stdout.doc;
 +
../../mkd -svpan '**' strings.txt >> stdout.doc;
 +
../../mkd -svpant '**' strings.txt >> stdout.doc;
 +
../../mkd -svpant '*' strings.txt >> stdout.doc;
 +
fi
</pre>
</pre>
-
*
 
-
<pre style="color:black>
 
-
</pre>
 
{{Boîte déroulante/fin}}
{{Boîte déroulante/fin}}
-
== Titre 3 ==
+
== Fichiers sources des tests ==
-
{{Boîte déroulante/début|titre=tri.h, tri.c Updated 2013-05-11}}
+
{{Boîte déroulante/début|titre=degrad.f90, sample2.ps, strings.txt, tags.html ; Updated 2013-05-11}}
-
*
+
* degrad.f (Fortran 90&+)
-
<pre style="color:black>
+
<pre style="color:orange">
 +
      PROGRAM DEGRAD  !S Début de programme
 +
!                                                                     
 +
!S Imprime une table de conversion degrés -> radians                   
 +
!S =================================================                   
 +
!                                                                     
 +
!S Déclaration des variables                                           
 +
      INTEGER DEG
 +
      REAL RAD, COEFF
 +
!                                                                     
 +
!S En-tête de programme                                               
 +
      WRITE ( *, 10)
 +
  10 FORMAT      (' ',20('*') /                                        &
 +
    &            ' * Degres * Radians *' /                            &
 +
    &            ' ', 20('*') )                                     
 +
!                                                                     
 +
!S Corps de programme                                                 
 +
      COEFF = (2.0 * 3.1416) / 360.0
 +
      DO DEG = 0, 90
 +
        RAD = DEG * COEFF
 +
        WRITE ( *, 20) DEG, RAD
 +
  20 FORMAT        (' *  ',I4,'  * ',F7.5,' *')
 +
      END DO
 +
!                                                                     
 +
!S Fin du tableau                                                     
 +
      WRITE ( *, 30)
 +
  30 FORMAT      (' ',20('*') )
 +
!                                                                     
 +
!S Fin de programme                                                   
 +
      STOP
 +
      END PROGRAM DEGRAD
 +
CS Fin
 +
!S Fin
 +
</pre>
 +
* sample2.ps (PostScript)
 +
<pre style="color:red">
 +
%O Cursor initialization %
 +
200 200 moveto
 +
%O Drawing the rectangle %
 +
400 300 lineto
 +
300 300 lineto
 +
200 200 lineto
 +
stroke
</pre>
</pre>
-
*
 
-
<pre style="color:black>
 
 +
* strings.txt
 +
<pre style="color:blue">
 +
Fichier strings.txt ""
 +
"chaîne 1"
 +
"chaîne 2 précédée de 1 tab"
 +
    "* chaîne 2 précédée de 5 espaces"
 +
</pre>
 +
 +
* tags.html
 +
<pre style="color:violet">
 +
<!Doctype html public "-//w3c//dtd html 4.0 Transitional//en">
 +
<HTML>
 +
  <HEAD>
 +
      <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8" />
 +
      <TITLE>Exercices avec mkd</TITLE>
 +
  </HEAD>
 +
  <BODY>
 +
  <i>Exercices avec la commande mkd.</i>
 +
<p>
 +
  <b><u>Fonction cpp_(); Fichier cpp.c</u></b>
 +
  <br>
 +
  <b>Documentation simplifiée.</b>
 +
  <br>
 +
  La fonction  doit décoder des commentaires, pré-codés avec un caractère ASCII qui suit le début de commentaire.
 +
  <br>
 +
  Exemple: //A ou /*A
 +
  <br>
 +
  ... et bla bla bla ...(raccourci pour les exercices)
 +
</p>
 +
 +
<p>
 +
  <b>Tests unitaires:</b>
 +
  <br>
 +
  Vérifiez les options n, s et t séparément:
 +
  <br>
 +
  Vérifiez que la numérotation des lignes est correcte dans tous les cas de décodage (lignes et blocs). n, ns. nt, nst.
 +
  <br>
 +
  Vérifiez que le texte reste à la bonne place dans tous les cas de décodage: toute la ligne (dans la cas de la directive de compilation FULL_LINE), ou texte seul.
 +
  <br>
 +
  -- Vérifiez que les tabulations sont bien prises en charge dans tous les cas, décodage des lignes et des blocs.
 +
  <br>
 +
  -- Vérifiez de même pour les espaces.
 +
  <br>
 +
  La fonction doit être éprouvée de telle sorte qu'un commentaire qui se termine par le caractère de fin de fichier soit entièrement copié dans le fichier cible.
 +
  <br>
 +
  La fonction cpp_() doit être éprouvée de telle sorte qu'un commentaire qui se termine par le caractère de fin de fichier soit entièrement copié dans le fichier cible.
 +
  <br>
 +
  Le caractère de fin de fichier décodé avant le(les) caractère(s) de fin de commentaire doit être remplacé par un caractère de fin de ligne.
 +
  <br>
 +
  <br>
 +
  Le caractère de fin de fichier <b>(EOF) ne doit jamais apparaître dans le texte du fichier cible</b>.
 +
  <br>
 +
  <i>Ceci provoquait un bug dans la version Alpha de l'application fenêtrée mkdcppw; à l'étape du test d'intégration.</i>
 +
</p>
 +
<p>
 +
%! introduction d'une balise d'extraction ligne % compatible en 1ère colonne
 +
<br>
 +
introduction d'une balise d'exttraction ligne !! dans la ligne (inline)
 +
</p>
 +
<h2>Exemples de tags:</h2>
 +
<header>header</header><br>
 +
<abbr>abréviation</abbr><br>
 +
<acronym>acronyme</acronym><br>
 +
<cite>citation</cite><br>
 +
<code>code</code><br>
 +
<dfn>Définition de terme</dfn><br>
 +
<del>supprimé</del><br>
 +
<ins>inséré</ins><br>
 +
<kbd>clavier</kbd><br>
 +
<samp>échantillon</samp><br>
 +
<var>variable</var><br>
 +
<!-- commentaire --><br>
 +
<footer>footer</footer><br>
 +
  </BODY>
 +
</HTML>
</pre>
</pre>
{{Boîte déroulante/fin}}
{{Boîte déroulante/fin}}
[[Catégorie:Générateurs de documentation]]
[[Catégorie:Générateurs de documentation]]

Version actuelle en date du 11 mai 2013 à 13:40

Retour aux fichiers en développement →

Sommaire

Fichiers de la fonction tri()

  Remarks: (1991)
  Cette fonction de mkdoc permet le tri des commentaires en fonction des para-
  mètres CD1 CD2 CD3 CD4 CD5 compiles.
  avec l'option l (copie de ligne):
  CD1 et CD2 sont des caractères début de commentaires a placer en début de
  ligne comme en FORTRAN: c ou C ou * .
  CD3 est un caractère début de commentaire que l'on peut placer en tout point
  d'une ligne comme ; en assembleur, # en shell ou % en PostScript.
  Cette fonction permet des tris différents de SHELL_.C vu qu'elle ignore si
  # est dans une chaîne ou si elle est précédée du char \ .
  avec l'option p (copie de page ):
  CD4 est le caractère de début du commentaire et CD5 est la fin du commentaire
  comme en PASCAL : CD4={ et CD5=} . CD4=CD5=" peut a la rigueur permettre
  d'extraire des chaînes de caractères afin d’éditer un dictionnaire syntaxique
  toutefois " étant a la fois début et fin de caractère le résultat n'est pas
  assuré.

Fichier de commande des tests

La fonction tri() a été éprouvée avec les options de compilation suivantes

1 - Commande : mkd \? | grep '-l' > ligne.txt

Fichier ligne.txt, compilation avec CD1= '%', CD2= '<', CD3= '!' :

Ligne: -l et -p: ligne; (compil.: % ou < en première colonne ou ! dans la ligne)

2 - Commande : mkd \? | grep page > block.txt

Fichier block.txt, compilation avec CD4= '\"', CD5= '\"' :

page: (compil.: commence avec " et se termine avec ")

Analyse des test Konsole

Fichiers sources des tests

Outils personnels