<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">Here is another implementation of Markdown, this time in c++ using the Boost Spirit library.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">Spirit Markdown is&nbsp;written in (hopefully!) idiomatic modern c++ and a full suite of unit tests are provided. It is licensed under the Boost Software License (OSI compliant).</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">The purpose of writing this is:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">* for me to gain expertise in the use of Spirit, both&nbsp;through direct experience and public review,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">* to provide a useful implemenation of Markdown, hopefully one that&nbsp;performs favourably to other implementations, and</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">* to provide a thorough "real world" example of Spirit, which might&nbsp;prove useful to others</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">The implementation is mature enough that I have dubbed it a 0.1.0&nbsp;release. This means that there are some regressions against the Perl&nbsp;implementation, but for the most part it should be usable. No attempts&nbsp;have been made to optimise the parsers or the overall operation.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: medium; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">Boost Spirit is a parser generator for PEG-based grammars. My grammar is based on John MacFarlane's PEG grammars for markdown, and to him I am much indebted. There are however quite a few differences between John's and mine and I'd be happy to discuss them.</div><div><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px;"><span class="Apple-style-span" style="font-size: medium;"><br></span></span></font></div></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">This project&nbsp;is hosted on launchpad, and there you will find source code and a binary for MacOS (other platforms forthcoming):</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; color: rgb(0, 52, 255); "><span style="text-decoration: underline"><a href="https://launchpad.net/spirit-markdown">https://launchpad.net/spirit-markdown</a></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 14px; font: normal normal normal 12px/normal Helvetica; ">Honestly, I think there is quite a lot that can be improved here, and I would&nbsp;definitely appreciate any constructive feedback.</div><div><font class="Apple-style-span" face="Helvetica"><br></font></div></body></html>