diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-10-16 01:11:20 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-10-16 01:11:20 +0000 |
commit | 1355393bef46aede0de7305138dd0b3b3dab287c (patch) | |
tree | aa6c81705b9c2da774d6f10414fe170e7b76162d /libroff.h | |
parent | b53f13bc3058beab88ad98e78c0ce6c0ff5be2a0 (diff) | |
download | mandoc-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.h | 24 |
1 files changed, 14 insertions, 10 deletions
@@ -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 { |