Во-первых, я знаю, что уже есть парсер 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++)
{
// ...
}