Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1322
II Semestre 2001
[<=] [home] [<>] [\/] [=>]
CI-1322 Autómatas y compiladores

Tarea #4 [solución]

Documentación HTML de clases y funciones C++

long mcd(long x, long y) {
/*  resultado
    Calcula el Máximo Común Divisor
    del los números "x" y "y".
    - Se usa el algoritmo de Euclides para hacer el cálculo.
    - MCD <==> GCD: Greatest Common Divisor
*/
/*  requiere
    - (y != 0)
*/
    long g = (x < 0 ? -x : x);
    long r = (y < 0 ? -y : y);
    long temp;

    do {
        temp = r;
        r    = g % r;
        g    = temp;
    } while (0 != r);

    return g;
}  // mcd()

      Es usual que los programadores incluyan en los archivos de implementación la especificación de todas sus clases y funciones. En este trabajo usted implementará el programa cpphtml.exe que recibe como argumento varios nombres de archivos, los analiza y produce un archivo HTML para cada clase con la documentación sobre la clase. Además, también debe generar otro archivo HTML con la documentación de las funciones C++ que no son amigas de ninguna clase (pues las amigas deben quedar documentadas en el archivo HTML de la clase de la que son amigas).

      Para hacer este trabajo usted debe usar el generador de analizadores sintácticos distribuido por GNU y disponible en este sitio Internet:
      http://www.fg-soup.com/files/bfwizard-1.6.zip

      Usted debe entregra esta tarea en tres partes:

  1. Definición de la manera de documentar clases y funciones C++ de manera que su programa cpphtml.exe pueda extraer la documentación en formato HTML.
  2. Definición de la gramática y el analizador léxico usada para que generar el programa extractor de docuemtación.
  3. Programa completo, incluyendo casos de prueba. Para definir la forma de documentar clases C++ puede usar el siguiente artículo, disponible en Internet, se describe una implementación de la clase rational:
    Di Mare, Adolfo
    "La Implementación de Rational.pas"; Reporte técnico ECCI-94-03; Proyecto 326-89-019; 1994.

          http://www.di-mare.com/adolfo/p/rational.htm
          http://www.di-mare.com/adolfo/p/src/rational.zip

      Note que la primera parte de la tarea es muy importante, pues es ahí cuando usted definirá que tan complejo es el trabajo a realizar. No estará de más que busque programas similares a cpphtml.exe en Internet.

[mailto:] Andrés Arias
Tiempo de entrega:   Primera parte   Segunda parte   Tercera parte
Modalidad: En parejas 10 días 0 días 0 días

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2001
Derechos de autor reservados © 2001
[home] <> [/\]