| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
and update Copyright year while here; no code change.
|
|
|
|
| |
The assert message contains no more information than the segfault.
|
|
|
|
| |
This fixes run-time assertions regarding "tok".
|
|
|
|
|
|
|
|
|
|
| |
This adds parser-level support for the grammar described by the eqn
second-edition technical paper, "Typesetting Mathematics — User's Guide"
(Kernighan, Cherry).
The reason for this re-write is the grouping rules, which were not
possible given the existing implementation.
The re-write has also considerably simplified the HTML (and, if it ever
is completed, terminal) front-end.
|
| |
|
| |
|
|
|
|
|
|
| |
Include <sys/types.h> where needed, it does not belong in config.h.
Remove <stdio.h> from config.h; if it is missing somewhere, it should
be added, but i cannot find a *.c file where it is missing.
|
|
|
|
|
| |
* Mention invalid escape sequences and string names, and fallbacks.
* Hierarchical naming.
|
|
|
|
|
|
| |
* Downgrade ".Bf -emphasis Em" from FATAL to WARNING.
* Mention the macros, the arguments, and the fallbacks.
* Hierarchical naming.
|
|
|
|
|
|
|
| |
* Change eight reallocs to reallocarray to be safe from overflows.
* Change one malloc to reallocarray to be safe from overflows.
* Change one calloc to reallocarray, no zeroing needed.
* Change the order of arguments of three callocs (aesthetical).
|
|
|
|
| |
and cast snprintf return value to (void) where they are
|
|
|
|
|
| |
remove trailing whitespace and blanks before tabs, improve some indenting;
no functional change
|
|
|
|
|
|
|
| |
functions used for multiple languages (mdoc, man, roff), for example
mandoc_escape(), mandoc_getarg(), mandoc_eos(), and generic auxiliary
functions. Split the auxiliaries out into their own file and header.
While here, do some #include cleanup.
|
|
|
|
|
|
| |
This consists of a shim around the text parser that calls out to libroff
if equation components exist on the line. Right now this will do
nothing, as the equation delimiter always returns nil.
|
|
|
|
|
| |
mentioned briefly in the eqn User's Manual, but otherwise are
unspecified.
|
|
|
|
| |
somem more version notes (getting there). Have the equation nanme be captured.
|
| |
|
|
|
|
| |
edition of eqn.
|
| |
|
|
|
|
| |
list are delimited by their "aboveness" and it's superfluous.
|
|
|
|
|
| |
Note this and clean up some documentation in eqn.7.
Also add some version notes, although I'm not ready for a release yet.
|
| |
|
| |
|
|
|
|
|
| |
Manual (1978) for this, so it should catch most of them. They just map
into the mandoc_char escaped characters.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
worried that I'm going to write the wrong size on both sides of the
equality (I've already done it a few times). This cleans up the code
readability a bit.
|
| |
|
|
|
|
|
|
| |
spaces. Also allow for tabs. Finally, have the parser correctly handle
open and close brackets smooshed against other terms. All of these
handle "details" noted in the CACM paper.
|
|
|
|
| |
specified for each PILE).
|
|
|
|
|
|
|
|
| |
CACM paper in an LR(1) parse (1 -> eqn_rewind()). Right now the code is
a little jungly, but will clear up as I consolidate parse components.
The AST structure will also be cleaned up, as right now it's pretty ad
hoc (this won't change the parse itself). I added the mandoc_strndup()
function will here.
|
|
|
|
| |
effect.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
this and have the same behaviour apply to `set' and `define'.
|
|
|
|
|
|
|
| |
these in the front-ends except for -Ttree, which will display the parsed
tree.
While here, fix that quoted strings aren't scanned for replacement parts.
|
|
|
|
|
|
|
| |
the proper `define' dance, which amounts to pure word-replace (you can,
say, define `foo' as `define' then define `define' as something else).
eqn.c is now ready for some semantic parsing of `box' and `eqn'
productions as defined by the grammar.
|
|
|
|
| |
protection that we don't nest back to ourselves.
|
| |
|
| |
|
|
|
|
|
|
| |
Tie them into the stream of data.
Document these appropriate, bringing in the grammar as defined by the
original eqn manual (Kernighan/Richie).
|
| |
|
|
|
|
|
|
|
|
|
| |
This works by iterating over a simple list. It's a slow, auditable
early implementation. Data is read (the reading function will be
reused) then parsed, then the line re-run if remaining stuff exists.
Note this function isn't the same as mandoc_getarg(), as eqn(7) uses a
different system for reading quoted strings.
This doesn't actually use the defines.
|
|
|
|
| |
messages.
|
|
|
|
|
|
|
|
|
|
| |
stuff into libmandoc.h, including old mdoc.h/man.h/roff.h functions now
used by read.c. The motivation behind this is to tighten the
relationship between the underlying compilers while keeping parse data
hidden from general callers (e.g., main.c).
While here, also move register values from mandoc.h into libmandoc.h as
noted by schwarze@. See above for explanation.
|
| |
|
|
|
|
| |
the adding itself is implemented; equation data is not yet shown.
|