doesn't that make you wonder?
John MacFarlane
jgm at berkeley.edu
Thu Oct 20 13:31:28 EDT 2011
+++ Tao Klerks [Oct 20 11 12:52 ]:
> OK, I interpret this (besides the quite-reasonable "why should I care?"
> vibe), combined with previous references to the PEG grammar(s) implicit
> in MultiMarkdown and peg-markdown's implementations, as "a formal
> specification already exists".
>
>
> That sounds fine - I'd love to use peg-(multi)markdown in my programs,
> but I see two practical problems for that right now:
>
> · A C library, while portable to any processor architecture, if
> not portable to any development environment, and certainly not
> future-proof. I, personally, would like to be able to rely on the exact
> same syntax not only across the OSs that Fletcher mentions, but also in
> C# code (that can be sandboxed safely - no P/Invoke calls to unsafe
> code) and also in browsers. There are numerous other environments
> (Java, etc) where a similar "safe code" requirement precludes the use
> of a C library (at least in browser and other high-sandboxing
> environments).
>
> · The PEG grammars(s) may be formal reproducible reusable
> specifications, but my understanding is that they are not so meaningful
> without a definition of what they map to. If my brief reading on this
> is correct, a PEG grammar allows you to define behaviours to be
> executed upon encountering certain source structures; those behaviours
> implement a conversion to HTML, or latex, or whatever, but are implicit
> in the Program, not the Specification/Grammar
>
>
> So if we take the current PEG-based implementations as a starting
> point, what would it take to produce a specification that formally
> establishes not only the source structures to be matched, but also the
> behaviour/conversions to be implemented against them? Is this just a
> question of detailed documentation and an open test-suite?
>
>
> Another applicable question is: are PEG grammars easily usable in other
> environments? A brief search suggests so (js:
> [1]http://stackoverflow.com/questions/79584/are-there-any-parsing-expre
> ssion-grammar-peg-libraries-for-javascript-or-php, C#:
> [2]http://www.codeproject.com/KB/recipes/grammar_support_1.aspx not
> GPL-compatible, sadly…); does anyone know how fesible it is to take the
> existing PEG grammar(s) and reuse them in other languages?
Translation of peg-markdown to Go: https://github.com/knieriem/markdown
Java markdown parser based on peg-markdown: https://github.com/sirthias/pegdown
And of course a PEG could provide a reference specification even for
implementations that use other parsing methods.
John
More information about the Markdown-Discuss
mailing list