3 #include <isl/printer.h>
4 #include <isl/stream.h>
6 struct isl_arg_choice cat_format
[] = {
7 {"isl", ISL_FORMAT_ISL
},
8 {"omega", ISL_FORMAT_OMEGA
},
9 {"polylib", ISL_FORMAT_POLYLIB
},
10 {"ext-polylib", ISL_FORMAT_EXT_POLYLIB
},
11 {"latex", ISL_FORMAT_LATEX
},
16 struct isl_options
*isl
;
20 struct isl_arg cat_options_arg
[] = {
21 ISL_ARG_CHILD(struct cat_options
, isl
, "isl", isl_options_arg
, "isl options")
22 ISL_ARG_CHOICE(struct cat_options
, format
, 0, "format", \
23 cat_format
, ISL_FORMAT_ISL
, "output format")
27 ISL_ARG_DEF(cat_options
, struct cat_options
, cat_options_arg
)
29 int main(int argc
, char **argv
)
34 struct cat_options
*options
;
37 options
= cat_options_new_with_defaults();
39 argc
= cat_options_parse(options
, argc
, argv
, ISL_ARG_ALL
);
41 ctx
= isl_ctx_alloc_with_options(cat_options_arg
, options
);
43 s
= isl_stream_new_file(ctx
, stdin
);
44 obj
= isl_stream_read_obj(s
);
47 p
= isl_printer_to_file(ctx
, stdout
);
48 p
= isl_printer_set_output_format(p
, options
->format
);
49 p
= obj
.type
->print(p
, obj
.v
);
50 p
= isl_printer_end_line(p
);
53 obj
.type
->free(obj
.v
);