-/* $Id: libmdoc.h,v 1.39 2010/05/08 07:30:19 kristaps Exp $ */
+/* $Id: libmdoc.h,v 1.44 2010/05/14 17:31:25 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
void *data;
struct mdoc_cb cb;
int flags;
-#define MDOC_HALT (1 << 0) /* Error in parse. Halt. */
-#define MDOC_LITERAL (1 << 1) /* In a literal scope. */
-#define MDOC_PBODY (1 << 2) /* In the document body. */
+#define MDOC_HALT (1 << 0) /* error in parse: halt */
+#define MDOC_LITERAL (1 << 1) /* in a literal scope */
+#define MDOC_PBODY (1 << 2) /* in the document body */
+#define MDOC_NEWLINE (1 << 3) /* first macro/text in a line */
+#define MDOC_PHRASELIT (1 << 4) /* in a literal within a phrase */
int pflags;
enum mdoc_next next;
struct mdoc_node *last;
ENOLINE,
EPROLOOO,
EPROLREP,
- EBADMSEC,
EBADSEC,
EFONT,
EBADDATE,
ARGS_PUNCT,
ARGS_QWORD,
ARGS_PHRASE,
- ARGS_PPHRASE
+ ARGS_PPHRASE,
+ ARGS_PEND
};
enum margverr {
int mdoc_iscdelim(char);
int mdoc_isdelim(const char *);
size_t mdoc_isescape(const char *);
-enum mdoc_sec mdoc_atosec(const char *);
+enum mdoc_sec mdoc_str2sec(const char *);
time_t mdoc_atotime(const char *);
size_t mdoc_macro2len(enum mdoct);
const char *mdoc_a2att(const char *);
int *, char *, enum mdoct, char **);
enum margserr mdoc_zargs(struct mdoc *, int,
int *, char *, int, char **);
-#define ARGS_DELIM (1 << 1) /* See args(). */
-#define ARGS_TABSEP (1 << 2) /* See args(). */
-#define ARGS_NOWARN (1 << 3) /* See args(). */
+#define ARGS_DELIM (1 << 1)
+#define ARGS_TABSEP (1 << 2)
+#define ARGS_NOWARN (1 << 3)
+#define ARGS_PPHRASED (1 << 4)
int mdoc_macroend(struct mdoc *);