Как разобрать Markdown в PHP?

Во-первых, я знаю, что уже есть парсер Markdown для PHP. Я также просмотрел этот вопрос , но он не отвечает на мой вопрос.

Очевидно, даже если в заголовке упоминается PHP, если он не зависит от языка, потому что я хотел бы знать, что такое шаг, который я должен пройти, чтобы сделать это.

Я читал о PEG , но должен признать, что я не совсем понял пример, предоставленный с анализатором PHP.

Я также читал о CFG .

Я нашел Zend_Markup_Parser_Textile , который, кажется, создает так называемое «дерево токенов» (что насчет этого?), Но в настоящее время непригоден для использования . (Кстати, Textile - это не Markdown)

Итак, конкретно, как бы вы к этому подошли?

Очевидно, я думал об использовании Regex, но, боюсь. {// ... } Насколько мне известно, компиляторы оптимизируют все эти ...

У меня есть следующий код на VC ++:

for (int i = (a - 1) * b; i < a * b && i < someObject->someFunction(); i++)
{
    // ...
}

Насколько мне известно, компиляторы оптимизируют все эти арифметические операции, и они не будут выполняться в каждом цикле, но я не уверен, могут ли они сказать, что приведенная выше функция также каждый раз возвращает одно и то же значение, и ее не нужно вызывать каждый раз.

Лучше всего сохранять все вычисления в переменных или просто полагаться на оптимизацию компилятора, чтобы получить более читаемый код?

int start = (a - 1) * b;
int expra = a * b;
int exprb = someObject->someFunction();
for (int i = startl i < expra && i < exprb; i++)
{
    // ...
}

6
задан sekmet64 25 February 2011 в 10:37
поделиться