4 #include "../include/cloog/cloog.h"
6 #define ALLOC(type) (type*)malloc(sizeof(type))
8 static char *next_line(FILE *input
, char *line
, unsigned len
)
13 if (!(p
= fgets(line
, len
, input
)))
15 while (isspace(*p
) && *p
!= '\n')
17 } while (*p
== '#' || *p
== '\n');
23 * Read input from a .cloog file, putting most of the information
24 * in the returned CloogInput. The chosen language is put in
27 CloogInput
*cloog_input_read(FILE *file
, CloogOptions
*options
)
29 char line
[MAX_STRING
];
34 input
= ALLOC(CloogInput
);
36 cloog_die("memory overflow.\n");
38 /* First of all, we read the language to use. */
39 if (!next_line(file
, line
, sizeof(line
)))
40 cloog_die("Input error.\n");
41 if (sscanf(line
, "%c", &language
) != 1)
42 cloog_die("Input error.\n");
45 options
->language
= LANGUAGE_FORTRAN
;
47 options
->language
= LANGUAGE_C
;
49 /* We then read the context data. */
50 input
->context
= cloog_domain_read_context(options
->state
, file
);
51 nb_par
= cloog_domain_parameter_dimension(input
->context
);
53 input
->ud
= cloog_union_domain_read(file
, nb_par
, options
);