Como analisar o Markdown em PHP?

Primeiro, eu sei, já existe um analisador Markdown para PHP. Eu também dei uma olhada noessa questão mas isso não responde à minha pergunta.

Obviamente, mesmo que o título mencione o PHP, se a linguagem for independente, porque eu gostaria de saber qual é o passo que devo seguir para fazer isso.

Eu li sobrePEG, mas devo admitir que realmente não entendi o exemplo fornecido com o analisador PHP.

Eu também li sobreCFG.

encontreiZend_Markup_Parser_Textile que parece construir a chamada "Árvore de Token" (o que é isso?), mas atualmenteinutilizável. (Btw, Têxtil não é Markdown)

Então, concretamente, como você abordaria isso?

Obviamente, pensei em usar o Regex, mas receio.

Porque o Markdown suporta várias sintaxes para o mesmo elemento (Setext e atx).

Você poderia dar um ponto de partida?

questionAnswers(4)

yourAnswerToTheQuestion