add isl_printer
[isl.git] / cat.c
blob0b236588ee6800083b266beca9221df3d3b0ae16
1 #include <isl_map.h>
3 struct isl_arg_choice cat_format[] = {
4 {"isl", ISL_FORMAT_ISL},
5 {"omega", ISL_FORMAT_OMEGA},
6 {"polylib", ISL_FORMAT_POLYLIB},
7 {0}
8 };
10 struct cat_options {
11 struct isl_options *isl;
12 unsigned format;
15 struct isl_arg cat_options_arg[] = {
16 ISL_ARG_CHILD(struct cat_options, isl, "isl", isl_options_arg)
17 ISL_ARG_CHOICE(struct cat_options, format, 0, "format", \
18 cat_format, ISL_FORMAT_ISL)
21 ISL_ARG_DEF(cat_options, struct cat_options, cat_options_arg)
23 int main(int argc, char **argv)
25 struct isl_ctx *ctx;
26 struct isl_map *map;
27 struct cat_options *options;
29 options = cat_options_new_with_defaults();
30 assert(options);
31 argc = cat_options_parse(options, argc, argv);
33 ctx = isl_ctx_alloc_with_options(options->isl);
34 options->isl = NULL;
36 map = isl_map_read_from_file(ctx, stdin, -1);
37 isl_map_print(map, stdout, 0, options->format);
38 if (options->format == ISL_FORMAT_ISL)
39 printf("\n");
40 isl_map_free(map);
42 isl_ctx_free(ctx);
43 free(options);
45 return 0;