Lines Matching defs:mdoc

1 /*	$Id: mdoc.c,v 1.256 2015/10/30 19:04:16 schwarze Exp $ */
33 #include "mdoc.h"
97 mdoc_parseln(struct roff_man *mdoc, int ln, char *buf, int offs)
100 if (mdoc->last->type != ROFFT_EQN || ln > mdoc->last->line)
101 mdoc->flags |= MDOC_NEWLINE;
109 if (roff_getreg(mdoc->roff, "nS"))
110 mdoc->flags |= MDOC_SYNOPSIS;
112 mdoc->flags &= ~MDOC_SYNOPSIS;
114 return roff_getcontrol(mdoc->roff, buf, &offs) ?
115 mdoc_pmacro(mdoc, ln, buf, offs) :
116 mdoc_ptext(mdoc, ln, buf, offs);
124 (*mdoc_macros[tok].fp)(mdoc, tok, line, ppos, pos, buf);
128 mdoc_tail_alloc(struct roff_man *mdoc, int line, int pos, int tok)
132 p = roff_node_alloc(mdoc, line, pos, ROFFT_TAIL, tok);
133 roff_node_append(mdoc, p);
134 mdoc->next = ROFF_NEXT_CHILD;
138 mdoc_endbody_alloc(struct roff_man *mdoc, int line, int pos, int tok,
145 p = roff_node_alloc(mdoc, line, pos, ROFFT_BODY, tok);
149 roff_node_append(mdoc, p);
150 mdoc->next = ROFF_NEXT_SIBLING;
155 mdoc_block_alloc(struct roff_man *mdoc, int line, int pos,
160 p = roff_node_alloc(mdoc, line, pos, ROFFT_BLOCK, tok);
176 roff_node_append(mdoc, p);
177 mdoc->next = ROFF_NEXT_CHILD;
182 mdoc_elem_alloc(struct roff_man *mdoc, int line, int pos,
187 p = roff_node_alloc(mdoc, line, pos, ROFFT_ELEM, tok);
199 roff_node_append(mdoc, p);
200 mdoc->next = ROFF_NEXT_CHILD;
204 mdoc_node_relink(struct roff_man *mdoc, struct roff_node *p)
207 roff_node_unlink(mdoc, p);
209 roff_node_append(mdoc, p);
217 mdoc_ptext(struct roff_man *mdoc, int line, char *buf, int offs)
222 assert(mdoc->last);
223 n = mdoc->last;
235 mdoc->flags |= MDOC_FREECOL;
236 mdoc_macro(mdoc, MDOC_It, line, offs, &offs, buf);
245 mdoc->flags |= MDOC_FREECOL;
246 mdoc_macro(mdoc, MDOC_It, line, offs, &offs, buf);
275 if (MDOC_LITERAL & mdoc->flags)
292 mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
295 if (buf[offs] == '\0' && ! (mdoc->flags & MDOC_LITERAL)) {
296 mandoc_msg(MANDOCERR_FI_BLANK, mdoc->parse,
304 roff_elem_alloc(mdoc, line, offs, MDOC_sp);
305 mdoc->last->flags |= MDOC_VALID | MDOC_ENDED;
306 mdoc->next = ROFF_NEXT_SIBLING;
310 roff_word_alloc(mdoc, line, offs, buf+offs);
312 if (mdoc->flags & MDOC_LITERAL)
324 mdoc->last->flags |= MDOC_EOS;
333 mdoc_pmacro(struct roff_man *mdoc, int ln, char *buf, int offs)
357 mandoc_msg(MANDOCERR_MACRO, mdoc->parse,
388 mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
396 if (NULL == mdoc->last || MDOC_It == tok || MDOC_El == tok) {
397 mdoc_macro(mdoc, tok, ln, sv, &offs, buf);
401 n = mdoc->last;
402 assert(mdoc->last);
411 mdoc->flags |= MDOC_FREECOL;
412 mdoc_macro(mdoc, MDOC_It, ln, sv, &sv, buf);
426 mdoc->flags |= MDOC_FREECOL;
427 mdoc_macro(mdoc, MDOC_It, ln, sv, &sv, buf);
433 mdoc_macro(mdoc, tok, ln, sv, &offs, buf);
437 if (mdoc->quick && MDOC_Sh == tok &&
438 SEC_NAME != mdoc->last->sec)
483 mdoc_validate(struct roff_man *mdoc)
486 mdoc->last = mdoc->first;
487 mdoc_node_validate(mdoc);
488 mdoc_state_reset(mdoc);