+/* Parses a token taking the form of a format specifier and
+ returns true only if successful. Emits an error message on
+ failure. Stores a null-terminated string representing the
+ format type in TYPE, and the width and number of decimal
+ places in *WIDTH and *DECIMALS.
+
+ TYPE is not checked as to whether it is really the name of a
+ format. Both width and decimals are considered optional. If
+ missing, *WIDTH or *DECIMALS or both will be set to 0. */
+bool
+parse_abstract_format_specifier (struct lexer *lexer,
+ char type[FMT_TYPE_LEN_MAX + 1],
+ int *width, int *decimals)
+{
+ bool ok = parse_abstract_format_specifier__ (lexer, type, width, decimals);
+ if (ok)
+ lex_get (lexer);
+ return ok;
+}