- * - @%b A bitset.
- * - @%= A pnc value
- * - @%G A debug info (if available)
- * - @%P A compound graph path
- *
- * Each of these can be prepend by a '+' which means, that the given
- * pointer is a collection of items specified by the format. In this
- * case you also have to pass an iterator interface to ir_printf()
- * suitable for the instance of the collection. So, imagine you have a
- * @c pset of ir_nodes and want to dump it, you write:
- * @code
- * pset *nodes;
- * ...
- * ir_printf("Some nodes: %*n\n", it_pset, nodes);
- * @endcode
- * The @c it_pset is an iterator interface (of type
- * @c iterator_t that allows the dumper to traverse the set.
- *
- * As special case when working with collections, you can also give a
- * callback function which will be invoked on each element in the
- * collection. It gets the appender (the thing where the textual
- * representation of the element is written to) and its parameters
- * passed by the dumping function. Suppose you have your own data type
- * @c xyz_t and want to dump a pset of it, you have:
- * @code
- * void xyz_dump(const appender_t *app, void *object, size_t limit,
- * const void *arg)
- * {
- * const xyz_t *xyz = arg;
- * app->append_str(object, limit, xyz->name);
- * }
- * ...
- * pset *xyzs;
+ * - @%P A compound graph path.
+ * - @%I An ident.
+ * - @%D Print as many white spaces as given in the parameter.
+ * - @%G A debug info (if available) from the given ir node.
+ * - @%B A bitset.
+ * - @%F A Firm object (automatically detected).