summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2015-06-16Simpler approach for entity lookup.John MacFarlane
We dispense with the hashes and just do string comparsions. Since the array is in order, we can search intelligently and should never need to do more than 8 or so comparisons. This reduces binary size even further, at a small cost in performance. (This shouldn't matter too much, as it's only detectable in really entity-heavy sources.)
2015-06-16make_entities_h.py: confirm there are no hash collisions.John MacFarlane
At least with valid data.
2015-06-16Mark entity data structures as const.John MacFarlane
2015-06-16entities: Make the first entity in the array (TripleDot) work.John MacFarlane
We now use -1 instead of 0 to indicate leaf nodes.
2015-06-16Replace gperf-based entity lookup with binary tree lookup.John MacFarlane
The primary advantage is a big reduction in the size of the compiled library and executable (> 100K). There should be no measurable performance difference in normal documents. I detected a slight performance hit (around 5%) in a file containing 1,000,000 entities. * Removed `src/html_unescape.gperf` and `src/html_unescape.h`. * Added `src/entities.h` (generated by `tools/make_entities_h.py`). * Added binary tree lookup functions to `houdini_html_u.c`, and use the data in `src/entities.h`.
2015-01-24Removed spec-specific files (DTD, spec generation tools).John MacFarlane
2015-01-24Removed JS implementation, which is moving to its own repo:John MacFarlane
<https://github.com/jgm/commonmark.js>
2015-01-17Added new fine-grained JS benchmarks.John MacFarlane
And a script to run them.
2015-01-15Fixed template path in tools/makespec.py.John MacFarlane
2015-01-15Fixed (interact) link in template.html.John MacFarlane
This broke when we switched from pandoc to cmark for the spec, because the class on code changed from 'markdown' to 'language-markdown'.
2015-01-15Re-added tools/{makespec.py, template.html, template.tex}.John MacFarlane
These were inadvertently dropped in the commit that described them as being moved to tools/.
2015-01-12Moved spec2js.js to tools/.John MacFarlane
2015-01-12Moved templates, makespec.py, and specfilter.hs -> tools/.John MacFarlane
2015-01-12Moved mkcasefold.pl to tools/.John MacFarlane