summaryrefslogtreecommitdiffstats
path: root/libroff.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-10-16 01:11:20 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-10-16 01:11:20 +0000
commit1355393bef46aede0de7305138dd0b3b3dab287c (patch)
treeaa6c81705b9c2da774d6f10414fe170e7b76162d /libroff.h
parentb53f13bc3058beab88ad98e78c0ce6c0ff5be2a0 (diff)
downloadmandoc-1355393bef46aede0de7305138dd0b3b3dab287c.tar.gz
Implement in-line equations, much needed by Xenocara manuals.
Put the steering into the roff parser rather than into the mdoc parser such that it works for all macro languages and on both text and macro lines. Line breaks and blank characters generated before and after in-line equations are not perfect yet, but let's do one thing at a time.
Diffstat (limited to 'libroff.h')
-rw-r--r--libroff.h24
1 files changed, 14 insertions, 10 deletions
diff --git a/libroff.h b/libroff.h
index 465d2da9..03619c82 100644
--- a/libroff.h
+++ b/libroff.h
@@ -1,6 +1,7 @@
/* $Id$ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -43,16 +44,19 @@ struct tbl_node {
};
struct eqn_node {
- struct eqn_def *defs;
- size_t defsz;
- char *data;
- size_t rew;
- size_t cur;
- size_t sz;
- int gsize;
- struct eqn eqn;
- struct mparse *parse;
- struct eqn_node *next;
+ struct eqn eqn; /* syntax tree of this equation */
+ struct mparse *parse; /* main parser, for error reporting */
+ struct eqn_node *next; /* singly linked list of equations */
+ struct eqn_def *defs; /* array of definitions */
+ char *data; /* source code of this equation */
+ size_t defsz; /* number of definitions */
+ size_t sz; /* length of the source code */
+ size_t cur; /* parse point in the source code */
+ size_t rew; /* beginning of the current token */
+ int gsize; /* default point size */
+ int delim; /* in-line delimiters enabled */
+ char odelim; /* in-line opening delimiter */
+ char cdelim; /* in-line closing delimiter */
};
struct eqn_def {