-enum merr {
- EOPEN,
- EQUOT,
- ENOCTX,
- ENOPARMS
-};
-
-#define REWIND_REWIND (1 << 0)
-#define REWIND_NOHALT (1 << 1)
-#define REWIND_HALT (1 << 2)
-
-static int obsolete(MACRO_PROT_ARGS);
-static int blk_part_exp(MACRO_PROT_ARGS);
-static int in_line_eoln(MACRO_PROT_ARGS);
-static int in_line_argn(MACRO_PROT_ARGS);
-static int in_line(MACRO_PROT_ARGS);
-static int blk_full(MACRO_PROT_ARGS);
-static int blk_exp_close(MACRO_PROT_ARGS);
-static int blk_part_imp(MACRO_PROT_ARGS);
-
-static int phrase(struct mdoc *, int, int, char *);
-static int rew_dohalt(int, enum mdoc_type,
- const struct mdoc_node *);
-static int rew_alt(int);
-static int rew_dobreak(int, const struct mdoc_node *);
-static int rew_elem(struct mdoc *, int);
-static int rew_impblock(struct mdoc *, int, int, int);
-static int rew_expblock(struct mdoc *, int, int, int);
-static int rew_subblock(enum mdoc_type,
- struct mdoc *, int, int, int);
-static int rew_last(struct mdoc *, struct mdoc_node *);
-static int append_delims(struct mdoc *, int, int *, char *);
-static int lookup(struct mdoc *, int, int, int, const char *);
-static int pwarn(struct mdoc *, int, int, enum mwarn);
-static int perr(struct mdoc *, int, int, enum merr);
-static int swarn(struct mdoc *, enum mdoc_type, int, int,
- const struct mdoc_node *);
-
-#define nerr(m, n, t) perr((m), (n)->line, (n)->pos, (t))
-
-/* Central table of library: who gets parsed how. */
+static void blk_full(MACRO_PROT_ARGS);
+static void blk_exp_close(MACRO_PROT_ARGS);
+static void blk_part_exp(MACRO_PROT_ARGS);
+static void blk_part_imp(MACRO_PROT_ARGS);
+static void ctx_synopsis(MACRO_PROT_ARGS);
+static void in_line_eoln(MACRO_PROT_ARGS);
+static void in_line_argn(MACRO_PROT_ARGS);
+static void in_line(MACRO_PROT_ARGS);
+static void phrase_ta(MACRO_PROT_ARGS);
+
+static void dword(struct mdoc *, int, int, const char *,
+ enum mdelim, int);
+static void append_delims(struct mdoc *, int, int *, char *);
+static enum mdoct lookup(struct mdoc *, enum mdoct,
+ int, int, const char *);
+static int macro_or_word(MACRO_PROT_ARGS, int);
+static int make_pending(struct mdoc_node *, enum mdoct,
+ struct mdoc *, int, int);
+static int parse_rest(struct mdoc *, enum mdoct,
+ int, int *, char *);
+static enum mdoct rew_alt(enum mdoct);
+static enum rew rew_dohalt(enum mdoct, enum mdoc_type,
+ const struct mdoc_node *);
+static void rew_elem(struct mdoc *, enum mdoct);
+static void rew_last(struct mdoc *, const struct mdoc_node *);
+static void rew_sub(enum mdoc_type, struct mdoc *,
+ enum mdoct, int, int);