• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/mandoc/

Lines Matching refs:mdoc

31 #include "mdoc.h"
219 mdoc_endparse(struct roff_man *mdoc)
225 n = mdoc->last->flags & NODE_VALID ?
226 mdoc->last->parent : mdoc->last;
236 rew_last(mdoc, mdoc->meta.first);
244 lookup(struct roff_man *mdoc, int from, int line, int ppos, const char *p)
248 if (mdoc->flags & MDOC_PHRASEQF) {
249 mdoc->flags &= ~MDOC_PHRASEQF;
253 res = roffhash_find(mdoc->mdocmac, p, 0);
267 rew_last(struct roff_man *mdoc, const struct roff_node *to)
273 while (mdoc->last != to) {
274 mdoc_state(mdoc, mdoc->last);
275 mdoc->last->flags |= NODE_VALID | NODE_ENDED;
276 mdoc->last = mdoc->last->parent;
278 mdoc_state(mdoc, mdoc->last);
279 mdoc->last->flags |= NODE_VALID | NODE_ENDED;
280 mdoc->next = ROFF_NEXT_SIBLING;
287 rew_pending(struct roff_man *mdoc, const struct roff_node *n)
291 rew_last(mdoc, n);
293 if (mdoc->last == n) {
296 roff_body_alloc(mdoc, n->line, n->pos,
299 mdoc->flags &= ~ROFF_NONOFILL;
309 n = mdoc->last;
372 rew_elem(struct roff_man *mdoc, enum roff_tok tok)
376 n = mdoc->last;
381 rew_last(mdoc, n);
404 find_pending(struct roff_man *mdoc, enum roff_tok tok, int line, int ppos,
414 for (n = mdoc->last; n != NULL && n != target; n = n->parent) {
420 break_intermediate(mdoc->last, target);
427 mdoc_endbody_alloc(mdoc, line, ppos,
440 dword(struct roff_man *mdoc, int line, int col, const char *p,
448 ! (mdoc->flags & (MDOC_SYNOPSIS | MDOC_KEEP | MDOC_SMOFF)) &&
449 d == DELIM_NONE && mdoc->last->type == ROFFT_TEXT &&
450 mdoc_isdelim(mdoc->last->string) == DELIM_NONE) {
451 roff_word_append(mdoc, p);
455 roff_word_alloc(mdoc, line, col, p);
465 mdoc->last->flags |= NODE_DELIMO;
467 ! (mdoc->flags & MDOC_NODELIMC) &&
468 mdoc->last->parent->tok != MDOC_Fd)
469 mdoc->last->flags |= NODE_DELIMC;
470 mdoc->flags &= ~MDOC_NODELIMC;
474 append_delims(struct roff_man *mdoc, int line, int *pos, char *buf)
485 ac = mdoc_args(mdoc, line, pos, buf, TOKEN_NONE, &p);
488 dword(mdoc, line, la, p, DELIM_MAX, 1);
503 mdoc->last->flags |= NODE_EOS;
520 mdoc->flags & MDOC_PHRASELIT ? TOKEN_NONE :
521 lookup(mdoc, tok, line, ppos, p);
524 dword(mdoc, line, ppos, p, DELIM_MAX, tok == TOKEN_NONE ||
530 rew_elem(mdoc, tok);
531 (*mdoc_macro(ntok)->fp)(mdoc, ntok, line, ppos, pos, buf);
533 append_delims(mdoc, line, pos, buf);
556 nl = MDOC_NEWLINE & mdoc->flags;
563 mdoc->flags &= ~MDOC_KEEP;
574 for (n = mdoc->last; n; n = n->parent) {
588 for (n = mdoc->last; n; n = n->parent) {
640 endbody = mdoc_endbody_alloc(mdoc, line, ppos,
653 mdoc->next = ROFF_NEXT_CHILD;
666 rew_last(mdoc, n);
672 break_intermediate(mdoc->last, body);
686 roff_elem_alloc(mdoc, line, ppos, ROFF_br);
687 rew_elem(mdoc, ROFF_br);
690 rew_last(mdoc, body);
692 mdoc_tail_alloc(mdoc, line, ppos, atok);
700 rew_pending(mdoc, n);
710 mdoc->flags |= ROFF_NOFILL;
712 mdoc->flags &= ~ROFF_NOFILL;
725 rew_last(mdoc, n);
727 ac = mdoc_args(mdoc, line, pos, buf, tok, &p);
731 ntok = lookup(mdoc, tok, line, lastarg, p);
734 dword(mdoc, line, lastarg, p, DELIM_MAX,
744 rew_last(mdoc, n);
745 mdoc->flags &= ~MDOC_NEWLINE;
746 (*mdoc_macro(ntok)->fp)(mdoc, ntok, line, lastarg, pos, buf);
757 pending = find_pending(mdoc, ntok, line, ppos, target);
760 rew_pending(mdoc, n);
763 append_delims(mdoc, line, pos, buf);
776 nl = MDOC_NEWLINE & mdoc->flags;
797 mdoc_argv(mdoc, line, tok, &arg, pos, buf);
804 ac = mdoc_args(mdoc, line, pos, buf, tok, &p);
813 mdoc->last->flags &= ~NODE_DELIMO;
827 mdoc->flags |= MDOC_NODELIMC;
832 TOKEN_NONE : lookup(mdoc, tok, line, la, p);
843 rew_elem(mdoc, tok);
845 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
846 rew_last(mdoc, mdoc->last);
852 (*mdoc_macro(ntok)->fp)(mdoc, ntok,
855 append_delims(mdoc, line, pos, buf);
876 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
887 rew_elem(mdoc, tok);
893 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
898 dword(mdoc, line, la, p, d,
910 mdoc->last->flags &= ~NODE_DELIMC;
919 rew_elem(mdoc, tok);
925 rew_elem(mdoc, tok);
937 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
938 rew_last(mdoc, mdoc->last);
946 append_delims(mdoc, line, pos, buf);
948 rew_elem(mdoc, tok);
964 nl = MDOC_NEWLINE & mdoc->flags;
977 for (n = mdoc->last; n != NULL; n = n->parent) {
991 rew_pending(mdoc, blk);
1004 rew_pending(mdoc, n);
1005 n = mdoc->last;
1029 rew_pending(mdoc, blk);
1035 rew_pending(mdoc, n);
1043 roff_elem_alloc(mdoc, line, ppos, ROFF_br);
1044 rew_elem(mdoc, ROFF_br);
1060 mdoc->flags &= ~ROFF_NOFILL;
1063 mdoc->flags |= ROFF_NONOFILL;
1068 mdoc_argv(mdoc, line, tok, &arg, pos, buf);
1069 blk = mdoc_block_alloc(mdoc, line, ppos, tok, arg);
1078 mdoc->last->parent->tok != MDOC_Bl ||
1079 mdoc->last->parent->norm->Bl.type != LIST_diag;
1087 head = roff_head_alloc(mdoc, line, ppos, tok);
1088 rew_last(mdoc, head);
1089 body = roff_body_alloc(mdoc, line, ppos, tok);
1093 mdoc->flags |= MDOC_KEEP;
1103 if (mdoc->flags & MDOC_PHRASEQN) {
1104 mdoc->flags &= ~MDOC_PHRASEQN;
1105 mdoc->flags |= MDOC_PHRASEQF;
1110 ac = mdoc_args(mdoc, line, pos, buf, tok, &p);
1113 ! (mdoc->flags & MDOC_PHRASEQF))
1122 rew_last(mdoc, body);
1123 body = roff_body_alloc(mdoc, line, ppos, tok);
1124 roff_word_alloc(mdoc, line, ppos, "\\&");
1153 dword(mdoc, line, la, p, DELIM_OPEN, 0);
1162 head = roff_head_alloc(mdoc, line, ppos, tok);
1171 rew_last(mdoc, body == NULL ? head : body);
1172 body = roff_body_alloc(mdoc, line, ppos, tok);
1176 mdoc->flags |= MDOC_PHRASE;
1177 parse_rest(mdoc, TOKEN_NONE, line, &la, buf);
1178 mdoc->flags &= ~MDOC_PHRASE;
1187 done = macro_or_word(mdoc, tok, line, la, pos, buf, p, parsed);
1197 head = roff_head_alloc(mdoc, line, ppos, tok);
1199 append_delims(mdoc, line, pos, buf);
1202 if (find_pending(mdoc, tok, line, ppos, head))
1207 rew_last(mdoc, head);
1208 body = roff_body_alloc(mdoc, line, ppos, tok);
1210 mdoc->flags &= ~ROFF_NONOFILL;
1223 mdoc->flags |= ROFF_NOFILL;
1228 mdoc->flags &= ~ROFF_NOFILL;
1237 if (mdoc->flags & MDOC_FREECOL) {
1238 rew_last(mdoc, body);
1239 rew_last(mdoc, blk);
1240 mdoc->flags &= ~MDOC_FREECOL;
1254 nl = MDOC_NEWLINE & mdoc->flags;
1265 blk = mdoc_block_alloc(mdoc, line, ppos, tok, NULL);
1266 rew_last(mdoc, roff_head_alloc(mdoc, line, ppos, tok));
1276 ac = mdoc_args(mdoc, line, pos, buf, tok, &p);
1281 dword(mdoc, line, la, p, DELIM_OPEN, 0);
1288 body = roff_body_alloc(mdoc, line, ppos, tok);
1290 done = macro_or_word(mdoc, tok, line, la, pos, buf, p, 1);
1297 body = roff_body_alloc(mdoc, line, ppos, tok);
1299 if (find_pending(mdoc, tok, line, ppos, body))
1302 rew_last(mdoc, body);
1304 append_delims(mdoc, line, pos, buf);
1305 rew_pending(mdoc, blk);
1312 roff_node_relink(mdoc, n);
1323 nl = MDOC_NEWLINE & mdoc->flags;
1331 roff_block_alloc(mdoc, line, ppos, tok);
1335 ac = mdoc_args(mdoc, line, pos, buf, tok, &p);
1342 dword(mdoc, line, la, p, DELIM_OPEN, 0);
1349 head = roff_head_alloc(mdoc, line, ppos, tok);
1351 dword(mdoc, line, la, p, DELIM_MAX, 0);
1352 rew_last(mdoc, head);
1353 roff_body_alloc(mdoc, line, ppos, tok);
1361 done = macro_or_word(mdoc, tok, line, la, pos, buf, p, 1);
1371 rew_last(mdoc, roff_head_alloc(mdoc, line, ppos, tok));
1372 roff_body_alloc(mdoc, line, ppos, tok);
1375 append_delims(mdoc, line, pos, buf);
1388 nl = mdoc->flags & MDOC_NEWLINE;
1414 mdoc_argv(mdoc, line, tok, &arg, pos, buf);
1420 ac = mdoc_args(mdoc, line, pos, buf, tok, &p);
1425 dword(mdoc, line, la, p, DELIM_OPEN, 0);
1433 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
1446 rew_elem(mdoc, tok);
1451 TOKEN_NONE : lookup(mdoc, tok, line, la, p);
1455 rew_elem(mdoc, tok);
1458 (*mdoc_macro(ntok)->fp)(mdoc, ntok,
1468 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
1473 rew_elem(mdoc, tok);
1477 dword(mdoc, line, la, p, DELIM_MAX,
1481 p = mdoc->last->string;
1491 append_delims(mdoc, line, pos, buf);
1493 rew_elem(mdoc, tok);
1495 append_delims(mdoc, line, pos, buf);
1505 ! (mdoc->flags & MDOC_SYNOPSIS)) {
1506 n = mdoc->last;
1507 if (mdoc->next == ROFF_NEXT_SIBLING)
1510 rew_last(mdoc, n->parent);
1520 mdoc_argv(mdoc, line, tok, &arg, pos, buf);
1521 mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
1522 if (parse_rest(mdoc, tok, line, pos, buf))
1524 rew_elem(mdoc, tok);
1533 parse_rest(struct roff_man *mdoc, enum roff_tok tok,
1542 ac = mdoc_args(mdoc, line, pos, buf, tok, &p);
1545 done = macro_or_word(mdoc, tok, line, la, pos, buf, p, 1);
1557 if (~mdoc->flags & (MDOC_SYNOPSIS | MDOC_NEWLINE))
1558 in_line(mdoc, tok, line, ppos, pos, buf);
1560 blk_full(mdoc, tok, line, ppos, pos, buf);
1563 blk_part_imp(mdoc, tok, line, ppos, pos, buf);
1580 for (n = mdoc->last; n != NULL; n = n->parent) {
1596 rew_last(mdoc, body);
1597 roff_body_alloc(mdoc, line, ppos, MDOC_It);
1598 parse_rest(mdoc, TOKEN_NONE, line, pos, buf);