version 1.36, 2015/11/07 14:01:16 |
version 1.40, 2017/02/16 03:00:23 |
|
|
/* $OpenBSD$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2013, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2013, 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
* purpose with or without fee is hereby granted, provided that the above |
* purpose with or without fee is hereby granted, provided that the above |
|
|
*/ |
*/ |
enum mdoc_endbody { |
enum mdoc_endbody { |
ENDBODY_NOT = 0, |
ENDBODY_NOT = 0, |
ENDBODY_SPACE, /* Is broken: append a space. */ |
ENDBODY_SPACE /* Is broken: append a space. */ |
ENDBODY_NOSPACE /* Is broken: don't append a space. */ |
|
}; |
}; |
|
|
struct roff_node { |
struct roff_node { |
Line 93 struct roff_node { |
|
Line 92 struct roff_node { |
|
char *string; /* TEXT */ |
char *string; /* TEXT */ |
const struct tbl_span *span; /* TBL */ |
const struct tbl_span *span; /* TBL */ |
const struct eqn *eqn; /* EQN */ |
const struct eqn *eqn; /* EQN */ |
int nchild; /* Number of child nodes. */ |
|
int line; /* Input file line number. */ |
int line; /* Input file line number. */ |
int pos; /* Input file column number. */ |
int pos; /* Input file column number. */ |
int tok; /* Request or macro ID. */ |
int tok; /* Request or macro ID. */ |
#define TOKEN_NONE (-1) /* No request or macro. */ |
#define TOKEN_NONE (-1) /* No request or macro. */ |
int flags; |
int flags; |
#define MDOC_VALID (1 << 0) /* Has been validated. */ |
#define NODE_VALID (1 << 0) /* Has been validated. */ |
#define MDOC_ENDED (1 << 1) /* Gone past body end mark. */ |
#define NODE_ENDED (1 << 1) /* Gone past body end mark. */ |
#define MDOC_EOS (1 << 2) /* At sentence boundary. */ |
#define NODE_EOS (1 << 2) /* At sentence boundary. */ |
#define MDOC_LINE (1 << 3) /* First macro/text on line. */ |
#define NODE_LINE (1 << 3) /* First macro/text on line. */ |
#define MDOC_SYNPRETTY (1 << 4) /* SYNOPSIS-style formatting. */ |
#define NODE_SYNPRETTY (1 << 4) /* SYNOPSIS-style formatting. */ |
#define MDOC_BROKEN (1 << 5) /* Must validate parent when ending. */ |
#define NODE_BROKEN (1 << 5) /* Must validate parent when ending. */ |
#define MDOC_DELIMO (1 << 6) |
#define NODE_DELIMO (1 << 6) |
#define MDOC_DELIMC (1 << 7) |
#define NODE_DELIMC (1 << 7) |
#define MAN_VALID MDOC_VALID |
#define NODE_NOSRC (1 << 8) /* Generated node, not in input file. */ |
#define MAN_EOS MDOC_EOS |
#define NODE_NOPRT (1 << 9) /* Shall not print anything. */ |
#define MAN_LINE MDOC_LINE |
|
int prev_font; /* Before entering this node. */ |
int prev_font; /* Before entering this node. */ |
int aux; /* Decoded node data, type-dependent. */ |
int aux; /* Decoded node data, type-dependent. */ |
enum roff_type type; /* AST node type. */ |
enum roff_type type; /* AST node type. */ |