Markdown Extra Spec: Parsing Section
Michel Fortin
michel.fortin at michelf.com
Tue May 13 08:52:56 EDT 2008
Le 2008-05-13 à 2:20, John MacFarlane a écrit :
> PS. Here's all you have to learn in order to write or read a PEG
> grammar.
>
> A B C A followed by B followed by C
> A | B A or B (ordered choice)
> A+ one or more As
> A* zero or more As
> A? optional A
> !A not followed by A
> &A followed by A (but does not consume A)
> (A B) grouping
> . matches any character
> 'x' matches the character 'x'
> "string" matches the string "string"
> [a-z] matches a character from 'a' to 'z'
It certainly true that many parts could be converted to this and be
less verbose, and I find this idea appealing. I doubt the whole
Markdown Extra ruleset can be expressed in this format though. Can a
PEG grammar have parametrized rules?
I've just added nested block element support in the spec. This is done
by having the block element generator (formerly the block element
pass) have a stack of rules to match when starting each line. This
idea coming straight from Allan Odgaard's explanation of his lost
Markdown parser.
<http://six.pairlist.net/pipermail/markdown-discuss/2008-March/001107.html
>
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Markdown-Discuss
mailing list