From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-2.sys.kth.se (smtp-2.sys.kth.se [130.237.32.160]) by krisdoz.my.domain (8.14.5/8.14.5) with ESMTP id q7FFS46s015508 for ; Wed, 15 Aug 2012 11:28:05 -0400 (EDT) Received: from mailscan-1.sys.kth.se (mailscan-1.sys.kth.se [130.237.32.91]) by smtp-2.sys.kth.se (Postfix) with ESMTP id 4660114F885 for ; Wed, 15 Aug 2012 17:27:59 +0200 (CEST) X-Virus-Scanned: by amavisd-new at kth.se Received: from smtp-2.sys.kth.se ([130.237.32.160]) by mailscan-1.sys.kth.se (mailscan-1.sys.kth.se [130.237.32.91]) (amavisd-new, port 10024) with LMTP id A7oXtGqOSHJ0 for ; Wed, 15 Aug 2012 17:27:57 +0200 (CEST) X-KTH-Auth: kristaps [193.10.51.199] X-KTH-mail-from: kristaps@bsd.lv X-KTH-rcpt-to: tech@mdocml.bsd.lv Received: from macky.local (dhcp51199.hhs.se [193.10.51.199]) by smtp-2.sys.kth.se (Postfix) with ESMTP id 6425514F892 for ; Wed, 15 Aug 2012 17:27:56 +0200 (CEST) Message-ID: <502BC033.5070205@bsd.lv> Date: Wed, 15 Aug 2012 17:28:51 +0200 From: Kristaps Dzonsons User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:14.0) Gecko/20120713 Thunderbird/14.0 X-Mailinglist: mdocml-tech Reply-To: tech@mdocml.bsd.lv MIME-Version: 1.0 To: tech@mdocml.bsd.lv Subject: mandoc(3) re-write experiment time Content-Type: multipart/mixed; boundary="------------000205050400050400020601" This is a multi-part message in MIME format. --------------000205050400050400020601 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hello folks, Enclosed is a tarball of a bare-bones mandoc(3) re-write addressing some long-standing issues. DON'T PANIC!!11!! This is just an experiment in design. In short, I wanted to significantly increase roff(7) cutting power while redressing 1. the illusion that roff(7) and mdoc(7)/man(7) parsing can be separated without severe roff(7) limitations; and 2. the unnecessary (?) separation of mdoc(7) and man(7) ASTs, when man(7) could be fit into a single AST. Some minor points are support for wchar_t, gzip'd files, recursive (and not reentrant) parsing, unified table routines (espie@'s ohash), and neatly parsed line arguments for macro handlers. The README file lays out the file structure, general methodology, and implemented macros (only roff(7) right now). If (and this is a huge, monstrous, overarching IF) this ends up being palatable, I'd have it produce an AST such that the front-ends could stay more-or-less as they are. In other words, while I can envision a core re-write, the very concept of re-writing -Tascii drives me to a choking despair. Somewhere in Germany, schwarze@ is filled with dread when I write the words "-Tascii rewrite". ;) Anyway, over the next few weeks I'll bring in some mdoc(7) and man(7) support, both of which will output to a unified AST. I'll post the resulting tarball here when I've done so. Thoughts? Best, Kristaps --------------000205050400050400020601 Content-Type: application/x-gzip; name="mdocml2.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mdocml2.tar.gz" H4sIAFq/K1AAA+19e3/TSLLo+df+FI3PLrETO+RBhrsJMBsSA7mbB5uEZWaAm1FsOdEgS15J TkhmuJ/91qtb3ZJsB3Zgzu61fzPBlvrdVdX16qphP+4Nw7UH//UVPysrK482NhT9+x3/u7L2 kP+Vj1pdW1lde7T+aGN9Ra2srj9c/e6/1MbXHJT+jNPMS2AoH5IAvo3SSeXg5WAwpR2Zh/n3 3+QzlP3vxcORl53Fl156udz7ffuA9fju4cNJ+7+68Wh93ez/w/VHsP/frT2E/V/5fYdR/fn/ fP//Oxj0/YF6uf2P7tnO0eHzvRdnL+v/rYKoF477vmr04mgQXCxfNur/7Uf9YFCv2zWOXm6f vKzXgyhT/fFweLMFr/0w9ev1B4u1Px2N/OjZye6mIqg6g1LLl+0rtbq8rtYAJB6srD5Y/U6t bmxurG2ubSg/HQW+6n4cqT/VFh9gRzKIx2nWhy6XL5+6z6jBwrMwOC8+S4LownnWcIAdplaH QuNepvjJWeL34qSvfq3Xxjjo9bWzrHZ5tVWvwWKkmepdeomqLY626p9wvjCyIPLVbne/e9rd rdWaTavYYuuyZYocHh124f1l52ka3PotXCS1G0cLmTqPs0s/wSrRBYxWwS+FQ1GZdx76KhjQ E3oNv1KVDr0wVH4Ujy8ul5WC1dJ9HOwdnuz9hN2svt5Xjx+rhy37nR7lQ+y7uEG9xPcy/8yP suRmuUc7tYY79fABbNYaft1cWdmELbN2CvuGpvyPm1n65H+p9PrJw01Vx6f4eCce3STBxWWm mr2WWv3LX/7SpgbVgZf0VJeaeUyt/TWGsZyn/eU4uXgK9eE/9cpPhkGaBnGksliNU7+tetBg Ww1jgET414v6qh/gDp+PMx/WCJcmHmTXXuKrQZxAgRtsaDRORnHqq+sgu1TwGP+Nx5ka+LSa sPT++Y26SLwo8/ttNUriq6Dv96FBL6OV987jKx9b6pkJRXEW9HwaAvU7ygerX41GPoBAECnc LKgZ+OmyTO30ZVedHD0/fbN93FV7J+rV8dE/9na7u6qxfQK/G2r7cJcKbb8+fXl0rHb3Tnb2 t/cOTtT2/r6CWsfbh6d73RNs683e6Ut13H2xfQxVjqAWtJe3fbiz/3p37/AFVdw7eLW/B73k Daij59jGQfd45yU82X62t793+iN1/3zv9LB7crIMbQDoqu4/uoen6uQltmON7FlX7e9tP9vv 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 2Wxw+3xQ8KlA24uhFJsNvpHWQKK+jgTsQJNuXA5mOcRS5BkaEWiCbw5rYkqWez36u4Z/+z7/ XaV/Uv6LP9jMTqFEKIohPF2QaFNyYvINqPySOI95k0k6Jckhss8LKqEIKbqImPLVst/jvwn/ Q737WGs5oGEFA/p7gX/TGP+SzVm4BTsCkcfWZCfSEF10X67/jxeqtfxnH2+/dx8z5L+VjYcb anX10aO1R49WVr/7Dv3/vvtuLv99k4/jnwQUueSzBJRkth8TAw76LFHe58WPkiOD42ei/wg/ B9LfUr8qrXqSUrdtNI6rT1z5I7kjc/k8Z0mpDSo1omrsswxk0fhLa/8WGpe63HIfnGHMIBXg LdDlSxqDeqKCZf2NB89vsRd8hP/CE109yJr3L9tqra3uU/ZLft73Q5BX4Q0+4jmiWeR/tGZN 4z8aDb5WHzPwfxVei/5nfX3jIeZ/eAjP5vj/LT4dtU1oxaxb4iMgU7YpH042VAIoCi8OIljo XbBKJddlEHaBMBtdsHwL9c/HQdh3RHH7pByP5CjG1rTkmgDHHCSct5m0B8RuYIYfxqcWNkLs qiRRY0ELxDVgvdjHDw7ajtoByQdvFt+QCZd5bfvObgvP5dT3xUmP4qrT3IGl8JNBOI7HKWbQ 1IwP6pBMBnviGxaIi8rYzQZ6PECnyYP9vcMuK+hPfkJuQ8SYtg61DTxYB6lYX9i8pmRf88Zh JloB1j1ggNSWviPFco+wx8gkZpdyhbrfR9ZSrx5qn3iVKXk1LM2N6icxG6/HqIZBbqyHkXjk zpaoo/I+l/8nE6j5Z/6Zf+af+Wf+mX/mn/ln/pl/5p/5Z/6Zf+af+Wf+mX/mn/ln/pl/5p/5 Z/6Zf+af+Wf+mX/mn/ln/pl/5p/5p/Lz/wBSn7aSAGgBAA== --------------000205050400050400020601-- -- To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv