jgm at berkeley.edu
Mon Aug 20 11:17:35 EDT 2007
> >An incremental parser would see '*' and scan for a list of inline
> >elements followed by another '*'.
> In the traditional tokenize and build AST, there is no “scanning”
> done per se. The ‘*’ becomes a token which affects the building of
> the AST (which effectively change the state where another ‘*’ will
> “close’ the node we’re building, and thus leave bold).
If the suggestion is that the lexer is going to identify '**' as
a "strong emphasis marker" and '*' as an "emphasis marker," prior
to any parsing, I don't see how that's possible. Consider
***bold** in italics*
***italics* in bold**
There's no way of knowing whether the initial two *'s should start
strong emphasis unless you scan forward.
Btw, I notice that the TextMate syntax highlighter gets these cases
wrong. Markdown.pl gets them wrong too, turning the first into
<p><strong><em>bold</strong> in italics</em></p>
pandoc gets them right:
> in italics</em
> in bold</strong
More information about the Markdown-Discuss