]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blobdiff - parseerror.h
Últimos retoques.
[z.facultad/75.42/calculadora.git] / parseerror.h
index 9678584ae769da2851e26e6c5b57622fa39984d1..628e9f03378d471d11dfbac07703afb97220c546 100644 (file)
 
 #include "bool.h"
 #include <stdlib.h>
 
 #include "bool.h"
 #include <stdlib.h>
+#include <stdio.h>
 
 
+/**
+ * Error de interpretación.
+ */
 typedef struct {
 typedef struct {
+    /** Línea en la que se produjo el error. */
     size_t  line;
     size_t  line;
+    /** Posición en la que se produjo el error. */
     size_t  pos;
     size_t  pos;
+    /** Mensaje de error. */
     char*   message;
 } ParseError;
 
     char*   message;
 } ParseError;
 
+/**
+ * Crea un nuevo ParseError.
+ *
+ * \return Nuevo ParseError.
+ */
 ParseError* ParseError_new(void);
 
 ParseError* ParseError_new(void);
 
+/**
+ * Elimina un ParseError.
+ *
+ * \param pe ParseError a eliminar.
+ */
 void ParseError_delete(ParseError* pe);
 
 /**
 void ParseError_delete(ParseError* pe);
 
 /**
+ * Cambia el mensaje al ParseError.
+ *
+ * \param pe ParseError al cual cambiar el mensaje de error.
+ * \param msg Nuevo mensaje.
+ *
  * \return TRUE si se pudo alocar la memoria necesaria, FALSE si no.
  */
 bool ParseError_set_message(ParseError* pe, const char* msg);
 
 /**
  * \return TRUE si se pudo alocar la memoria necesaria, FALSE si no.
  */
 bool ParseError_set_message(ParseError* pe, const char* msg);
 
 /**
+ * Cambia el mensaje especificando posición del error.
+ * Se epecifica la posición, el caracter incorrecto y que tipo de caracteres se
+ * esperaban.
+ *
+ * \param pe ParseError al cual cambiar el mensaje de error.
+ * \param msg Mensaje con los caracteres que se esperaban.
+ * \param pos Posición en la que se produjo el error.
+ * \param wrong_char Caracter incorrecto.
+ *
  * \return TRUE si se pudo alocar la memoria necesaria, FALSE si no.
  */
 bool ParseError_set_pos_message(ParseError* pe, const char* msg, size_t pos,
         char wrong_char);
 
  * \return TRUE si se pudo alocar la memoria necesaria, FALSE si no.
  */
 bool ParseError_set_pos_message(ParseError* pe, const char* msg, size_t pos,
         char wrong_char);
 
+/**
+ * Imprime un ParseError.
+ *
+ * \param pe ParseError a imprimir.
+ * \param fp Archivo en el cual imprimirlo.
+ *
+ * \return cantidad de caracteres impresos.
+ */
+size_t ParseError_print(ParseError* pe, FILE* fp);
+
 #endif /* PARSEERROR_H */
 #endif /* PARSEERROR_H */