]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blobdiff - documentacion.h
Se mejora el informe.
[z.facultad/75.42/calculadora.git] / documentacion.h
index 3c1a170c3391cc6525d0e855ee1eb795656e816d..c9ebcebb236b424a434af570ca583bf535d0252e 100644 (file)
@@ -150,14 +150,50 @@ b = b * 2
 
             Puede suponerse que estas ecuaciones son válidas.
 
+
+\section requerimientos Requerimientos y modo de uso.
+    \subsection plataforma Plataforma y compilador.
+        Este trabajo práctico fue realizado y probado bajo la plataforma Debian
+        GNU/Linux sid. El compilador utilizado fue GNU GCC versión 3.2.3 (la
+        versión 3.3.1 me daba un internal compiler error).
+        El ejecutable entregado corre bajo esta esta plataforma y su uso se
+        describe en la \ref uso "sección siguiente".
+
+        De todas formas, al estar programado sólo utilizando funciones ANSI C,
+        debería poder compilarse bajo cualquier plataforma y compilador que
+        soporte este estándar.
+
+    \subsection uso Modo de uso.
+        El programa debe ser llamado desde un intérprete de comandos. Necesita
+        dos parámetros pasados como argumento:
+        \verbatim ./tp2 arch_variables arch_ecuaciones \endverbatim
+        Donde \c arch_variables es el archivo que contiene las variables y
+        \c arch_ecuaciones es el archivo que contiene las ecuaciones.
+
+
 \section conclusiones Conclusiones.
 
-    Problemas:
-        - "Sobrecarga" de malloc. Lo hacía antes de un #include <stdlib.h> y me
-          tiraba un error porque la definicion de la stdlib me expandía el macro.
-        - La búsqueda en la lista al liberar la memoria se realiza de atrás hacia
-          adelante para que sea más eficiente, ya que generalmente se borra primero
-          la memoria que se pidió úitima. 
-        - DLList no usa el memdebug, está bastante testeada y no pierde memoria.
+    El trabajo práctico me terminó resultando bastante más complejo de lo que
+    esperaba. En particular tuve problemas con el manejo de cadenas de texto.
+
+    Otro problema fue la "sobrecarga" del malloc y free. Al principio tuve
+    problemas por poner los \c define antes del \c include de la stdlib.h, por
+    lo que cuando el compilador llegaba a la definición de malloc y free de la
+    stdlib.h me daba un error.
+    
+    Otro problema con la "sobrecarga" del malloc y free fue que no pude hacer
+    que la \ref DLList "lista doblemente enlazada" lo use, ya que estaba siendo
+    usada por mis implementaciones de malloc y free y daría lugar a recursividad
+    infinita (al reservar memoria para un nodo de la lista, llamaria a mi malloc
+    que crearía otro nodo en la lista y así sucesivamente).
+
+    Algo poco significativo pero que aún así me gustaría nombrar es que la lista
+    de momoria reservada la recorro de atrás para adelante a la hora de hacer un
+    free() ya que es más probable que primero se libere la memoria que se
+    reservo última.
+
+    El manejo de errores quedó bastante aceptable. En parser_equation() está muy
+    completo y en las otras funciones de parseo es mucho más básico por falta de
+    tiempo para hacer una mejor implementación.
 
 */