+#include <assert.h>
+#include <isl/obj.h>
+#include <isl/printer.h>
+#include <isl/stream.h>
+#include <isl/options.h>
+
+struct isl_arg_choice cat_format[] = {
+ {"isl", ISL_FORMAT_ISL},
+ {"omega", ISL_FORMAT_OMEGA},
+ {"polylib", ISL_FORMAT_POLYLIB},
+ {"ext-polylib", ISL_FORMAT_EXT_POLYLIB},
+ {"latex", ISL_FORMAT_LATEX},
+ {0}
+};
+
+struct cat_options {
+ struct isl_options *isl;
+ unsigned format;
+};
+
+ISL_ARGS_START(struct cat_options, cat_options_args)
+ISL_ARG_CHILD(struct cat_options, isl, "isl", &isl_options_args, "isl options")
+ISL_ARG_CHOICE(struct cat_options, format, 0, "format", \
+ cat_format, ISL_FORMAT_ISL, "output format")
+ISL_ARGS_END
+
+ISL_ARG_DEF(cat_options, struct cat_options, cat_options_args)