-static void post_vt(POST_ARGS);
-
-static void pre_an(PRE_ARGS);
-static void pre_bd(PRE_ARGS);
-static void pre_bl(PRE_ARGS);
-static void pre_dd(PRE_ARGS);
-static void pre_display(PRE_ARGS);
-static void pre_dt(PRE_ARGS);
-static void pre_literal(PRE_ARGS);
-static void pre_obsolete(PRE_ARGS);
-static void pre_os(PRE_ARGS);
-static void pre_par(PRE_ARGS);
-static void pre_std(PRE_ARGS);
-
-static const struct valids mdoc_valids[MDOC_MAX] = {
- { NULL, NULL }, /* Ap */
- { pre_dd, post_dd }, /* Dd */
- { pre_dt, post_dt }, /* Dt */
- { pre_os, post_os }, /* Os */
- { NULL, post_sh }, /* Sh */
- { NULL, post_ignpar }, /* Ss */
- { pre_par, post_par }, /* Pp */
- { pre_display, post_d1 }, /* D1 */
- { pre_literal, post_literal }, /* Dl */
- { pre_bd, post_literal }, /* Bd */
- { NULL, NULL }, /* Ed */
- { pre_bl, post_bl }, /* Bl */
- { NULL, NULL }, /* El */
- { pre_par, post_it }, /* It */
- { NULL, NULL }, /* Ad */
- { pre_an, post_an }, /* An */
- { NULL, post_defaults }, /* Ar */
- { NULL, NULL }, /* Cd */
- { NULL, NULL }, /* Cm */
- { NULL, NULL }, /* Dv */
- { NULL, NULL }, /* Er */
- { NULL, NULL }, /* Ev */
- { pre_std, post_ex }, /* Ex */
- { NULL, post_fa }, /* Fa */
- { NULL, NULL }, /* Fd */
- { NULL, NULL }, /* Fl */
- { NULL, post_fn }, /* Fn */
- { NULL, NULL }, /* Ft */
- { NULL, NULL }, /* Ic */
- { NULL, NULL }, /* In */
- { NULL, post_defaults }, /* Li */
- { NULL, post_nd }, /* Nd */
- { NULL, post_nm }, /* Nm */
- { NULL, NULL }, /* Op */
- { pre_obsolete, NULL }, /* Ot */
- { NULL, post_defaults }, /* Pa */
- { pre_std, NULL }, /* Rv */
- { NULL, post_st }, /* St */
- { NULL, NULL }, /* Va */
- { NULL, post_vt }, /* Vt */
- { NULL, NULL }, /* Xr */
- { NULL, NULL }, /* %A */
- { NULL, post_hyph }, /* %B */ /* FIXME: can be used outside Rs/Re. */
- { NULL, NULL }, /* %D */
- { NULL, NULL }, /* %I */
- { NULL, NULL }, /* %J */
- { NULL, post_hyph }, /* %N */
- { NULL, post_hyph }, /* %O */
- { NULL, NULL }, /* %P */
- { NULL, post_hyph }, /* %R */
- { NULL, post_hyph }, /* %T */ /* FIXME: can be used outside Rs/Re. */
- { NULL, NULL }, /* %V */
- { NULL, NULL }, /* Ac */
- { NULL, NULL }, /* Ao */
- { NULL, NULL }, /* Aq */
- { NULL, post_at }, /* At */
- { NULL, NULL }, /* Bc */
- { NULL, post_bf }, /* Bf */
- { NULL, NULL }, /* Bo */
- { NULL, NULL }, /* Bq */
- { NULL, NULL }, /* Bsx */
- { NULL, post_bx }, /* Bx */
- { pre_obsolete, NULL }, /* Db */
- { NULL, NULL }, /* Dc */
- { NULL, NULL }, /* Do */
- { NULL, NULL }, /* Dq */
- { NULL, NULL }, /* Ec */
- { NULL, NULL }, /* Ef */
- { NULL, NULL }, /* Em */
- { NULL, NULL }, /* Eo */
- { NULL, NULL }, /* Fx */
- { NULL, NULL }, /* Ms */
- { NULL, NULL }, /* No */
- { NULL, post_ns }, /* Ns */
- { NULL, NULL }, /* Nx */
- { NULL, NULL }, /* Ox */
- { NULL, NULL }, /* Pc */
- { NULL, NULL }, /* Pf */
- { NULL, NULL }, /* Po */
- { NULL, NULL }, /* Pq */
- { NULL, NULL }, /* Qc */
- { NULL, NULL }, /* Ql */
- { NULL, NULL }, /* Qo */
- { NULL, NULL }, /* Qq */
- { NULL, NULL }, /* Re */
- { NULL, post_rs }, /* Rs */
- { NULL, NULL }, /* Sc */
- { NULL, NULL }, /* So */
- { NULL, NULL }, /* Sq */
- { NULL, post_sm }, /* Sm */
- { NULL, post_hyph }, /* Sx */
- { NULL, NULL }, /* Sy */
- { NULL, NULL }, /* Tn */
- { NULL, NULL }, /* Ux */
- { NULL, NULL }, /* Xc */
- { NULL, NULL }, /* Xo */
- { NULL, post_fo }, /* Fo */
- { NULL, NULL }, /* Fc */
- { NULL, NULL }, /* Oo */
- { NULL, NULL }, /* Oc */
- { NULL, post_bk }, /* Bk */
- { NULL, NULL }, /* Ek */
- { NULL, post_eoln }, /* Bt */
- { NULL, NULL }, /* Hf */
- { pre_obsolete, NULL }, /* Fr */
- { NULL, post_eoln }, /* Ud */
- { NULL, post_lb }, /* Lb */
- { pre_par, post_par }, /* Lp */
- { NULL, NULL }, /* Lk */
- { NULL, post_defaults }, /* Mt */
- { NULL, NULL }, /* Brq */
- { NULL, NULL }, /* Bro */
- { NULL, NULL }, /* Brc */
- { NULL, NULL }, /* %C */
- { pre_obsolete, post_es }, /* Es */
- { pre_obsolete, post_en }, /* En */
- { NULL, NULL }, /* Dx */
- { NULL, NULL }, /* %Q */
- { NULL, post_par }, /* br */
- { NULL, post_par }, /* sp */
- { NULL, NULL }, /* %U */
- { NULL, NULL }, /* Ta */
- { NULL, NULL }, /* ll */