Projet mkd/tri.c
De Wiki EELL.
(Différences entre les versions)
JPL (discuter | contributions) m (Mise à jour) |
JPL (discuter | contributions) m (→Fichiers de la fonction tri() : Mise à jour) |
||
| (4 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 532 : | Ligne 534 : | ||
== Fichier de commande des tests == | == Fichier de commande des tests == | ||
| + | |||
| + | ; La fonction tri() a été éprouvée avec les options de compilation suivantes: | ||
| + | |||
| + | 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}} | {{Boîte déroulante/début|titre=MAKE_Tests_U, CLEAN_Tests_U ; Updated 2013-05-11}} | ||
| Ligne 590 : | Ligne 604 : | ||
{{Boîte déroulante/fin}} | {{Boîte déroulante/fin}} | ||
| - | == | + | == Analyse des test Konsole == |
| - | {{Boîte déroulante/début|titre= | + | {{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> | ||
| - | |||
| - | |||
| - | |||
{{Boîte déroulante/fin}} | {{Boîte déroulante/fin}} | ||
| - | == | + | == Fichiers sources des tests == |
| - | {{Boîte déroulante/début|titre= | + | {{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: | + | <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> | ||
| - | |||
| - | |||
| + | * 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[masquer] |
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 ")

