*/
int main(int argc, char* argv[]) {
/* Declaración de variables. */
+ int i;
DLList* lista;
ParseError* error;
- if (argc != 2) {
- fprintf(stderr, "Debe pasar la ecuación a evaluar como parámetro.\n");
- fprintf(stderr, "Ejemplo: %s 'b = 50 + h*2'\n", argv[0]);
+ if (argc < 2) {
+ fprintf(stderr, "Debe pasar ecuaciones a evaluar como parámetros.\n");
+ fprintf(stderr, "Ejemplo: %s 'b = 50 + h*2' 'a = b+1\n", argv[0]);
return EXIT_FAILURE;
}
return EXIT_FAILURE;
}
- if (!parser_equation(argv[1], strlen(argv[1]), lista, error)) {
- ParseError_print(error, stderr);
- return EXIT_FAILURE;
+ for (i = 1; i < argc; i++) {
+ if (!parser_equation(argv[i], strlen(argv[i]), lista, error)) {
+ error->line = i;
+ ParseError_print(error, stderr);
+ }
}
DLList_equation_print(lista, stdout);
- DLList_delete(lista);
+ DLList_equation_delete(lista);
+
+ ParseError_delete(error);
+
+ /* Veo si pierdo memoria. */
+ memdebug_end();
return EXIT_SUCCESS;
}