aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* Implement the first steps of equation parsing from within libmdoc.Kristaps Dzonsons2011-07-257-26/+119
| | | | | | 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.
* Slip in a typo.VERSION_1_11_5Kristaps Dzonsons2011-07-241-2/+2
|
* We're officially no longer UNIX-specific; make this clear.Kristaps Dzonsons2011-07-242-11/+33
|
* Scary-looking but otherwise harmless changes allow me to build for Windows.Kristaps Dzonsons2011-07-2414-77/+271
| | | | | | | | | | | | That is to say, with mingw32. This amounts to the following: (1) break compat.c into compat_strlcpy.c and compat_strlcat.c (2) add compat_getsubopt.c (from OpenBSD) and test-getsubopt.c (3) add test-strptime.c for HAVE_STRPTIME (4) add ifdef bits here and there, where necessary (5) remove some harmless unportable stuff (u_char, localtime_r) I've added the appropriate mdocml.zip target to the Makefile, too.
* Tuned the initial eqn output, making it completely simple. ThisKristaps Dzonsons2011-07-244-66/+52
| | | | completes a full initial eqn system, so I'm tagging a release on it.
* Flip on equation printing for -T[x]html.Kristaps Dzonsons2011-07-236-18/+105
|
* Clarify what eqn actually is.Kristaps Dzonsons2011-07-231-1/+4
|
* Note GNU extensions in eqn.7. Also add `col' and `pile', which areKristaps Dzonsons2011-07-233-5/+11
| | | | | mentioned briefly in the eqn User's Manual, but otherwise are unspecified.
* Add support for tdefine and ndefine. Consolidate some error messages. AddKristaps Dzonsons2011-07-237-39/+82
| | | | somem more version notes (getting there). Have the equation nanme be captured.
* Raise a warning when text follows the `EN'.Kristaps Dzonsons2011-07-231-2/+8
|
* Add `fat' font. This pretty much brings us in line with the secondKristaps Dzonsons2011-07-233-4/+6
| | | | edition of eqn.
* Ignore `back', `fwd', `up', `down', `mark', and `lineup'.Kristaps Dzonsons2011-07-232-5/+47
|
* Add matrix support. Also remove "above" notion, as all elements in aKristaps Dzonsons2011-07-235-37/+86
| | | | list are delimited by their "aboveness" and it's superfluous.
* The circumflex is also a special space character.Kristaps Dzonsons2011-07-233-28/+41
| | | | | Note this and clean up some documentation in eqn.7. Also add some version notes, although I'm not ready for a release yet.
* Check for and throw away `gfont' eqn macros.Kristaps Dzonsons2011-07-222-5/+28
|
* Add support for `gsize' eqn token (introduced in second-edition troff).Kristaps Dzonsons2011-07-225-18/+47
|
* Add all rendered symbols used by eqn. I use the Second-Edition User'sKristaps Dzonsons2011-07-222-49/+102
| | | | | Manual (1978) for this, so it should catch most of them. They just map into the mandoc_char escaped characters.
* Add support for 1/2, 1/4, and 3/4 (needed by eqn).Kristaps Dzonsons2011-07-223-5/+11
|
* Clearer documentation of grammar in eqn.7 and addition of Greek symbols.Kristaps Dzonsons2011-07-221-30/+23
|
* Support translating Greek characters in eqn.Kristaps Dzonsons2011-07-221-1/+95
|
* Fix left/right nesting in eqn.Kristaps Dzonsons2011-07-222-7/+11
|
* Add character output (-Tpdf, -Tps, -Tascii) for equations. This is theKristaps Dzonsons2011-07-225-7/+99
| | | | minimum: unseparated terms.
* Protect macro expansion.Kristaps Dzonsons2011-07-221-2/+2
|
* Use a macro instead of doing a string-fragment compare. I just getKristaps Dzonsons2011-07-221-29/+24
| | | | | | 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.
* Give lists their own eqn function.Kristaps Dzonsons2011-07-223-39/+64
|
* Accomodate for hard-spaces with tildes. For now, consider them regularKristaps Dzonsons2011-07-221-5/+17
| | | | | | 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.
* Fix eqn handling of PILE clauses (multiple ABOVE statements may beKristaps Dzonsons2011-07-211-18/+15
| | | | specified for each PILE).
* Complete eqn.7 parsing. Features all productions from the original 1975Kristaps Dzonsons2011-07-217-131/+286
| | | | | | | | 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.
* Support `size' constructs in eqn.7. Generalise mandoc_strontou to thisKristaps Dzonsons2011-07-218-23/+39
| | | | effect.
* Full support for eqn positionals (above, over, sup, sub, etc.).Kristaps Dzonsons2011-07-214-12/+53
|
* Add eqn subexpression fonts.Kristaps Dzonsons2011-07-214-21/+56
|
* Add support for markers. These decorate the last box: see eqn.7.Kristaps Dzonsons2011-07-214-13/+64
|
* Document `{, }' subexpressions in eqn.7.Kristaps Dzonsons2011-07-211-1/+2
|
* Support nested `{, }' subexpressions in eqn. Document in code.Kristaps Dzonsons2011-07-214-24/+77
|
* Make `undef' not expand its argument before undefining it. DocumentKristaps Dzonsons2011-07-212-17/+36
| | | | this and have the same behaviour apply to `set' and `define'.
* Flip eqn into using parsed nodes. I've temporarily disabled printingKristaps Dzonsons2011-07-218-71/+136
| | | | | | | 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.
* Finish the eqn syntactic parser. This correctly parses terms and doesKristaps Dzonsons2011-07-217-221/+261
| | | | | | | 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.
* Forgot to add these bits to the last commit.Kristaps Dzonsons2011-07-182-2/+4
|
* Note that equation definitions are nestable.Kristaps Dzonsons2011-07-181-3/+7
|
* Definitions in eqn.7 are actually recursive. Do this and add crudeKristaps Dzonsons2011-07-181-8/+30
| | | | protection that we don't nest back to ourselves.
* Clarify up `Rv' and `Ex' documentation.Kristaps Dzonsons2011-07-181-12/+22
|
* Follow-up: forgot to remove useless regset structs.Kristaps Dzonsons2011-07-182-4/+2
|
* Make `struct roff' be passed into libmdoc and libman upon creation.Kristaps Dzonsons2011-07-189-65/+69
| | | | | This is required for supporting in-line equations. While here, push registers properly into roff and add an set/get/mod interface.
* Fix copyright email.Kristaps Dzonsons2011-07-172-4/+4
|
* Remove unused function.Kristaps Dzonsons2011-07-172-45/+2
|
* Fix lost allocation.Kristaps Dzonsons2011-07-171-3/+1
|
* Remember to NULL-ify new keys/vals.Kristaps Dzonsons2011-07-172-2/+3
|
* Provide implementations of `define', `set', and `unset'.Kristaps Dzonsons2011-07-174-76/+266
| | | | | | Tie them into the stream of data. Document these appropriate, bringing in the grammar as defined by the original eqn manual (Kernighan/Richie).
* Warn if equation `define' key is quoted (groff-ism).Kristaps Dzonsons2011-07-173-7/+25
|
* Add initial `define' support for eqn(7).Kristaps Dzonsons2011-07-173-14/+129
| | | | | | | | | 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.