Конечный автомат?
Второй раз попытался написать разбор Wiki разметки, используя конечный автомат и опять неудачно. Не умею я их готовить.
Зачем?
Во первых, в vimwiki экспорт в html сделан при помощи кучи регулярных выражений — я подумал, что используя конечный автомат(КА) я это дело сильно упрощу, следовательно уменьшу количество багов и т.п. Однако плохо работающий драфт КА вышел настолько громоздким и … некрасивым, что та куча регулярных выражений выглядит просто как образец легко поддерживаемого кода.
Во вторых, в текущем исполнении vimwiki есть ошибка при экспорте разметки {{{preformatted text}}}, расположенной на одной строке. Обнаружил ее давно, но с наскоку исправить не вышло. Думал, что КА даст возможность с легкостью избавиться от нее. Ага, вот так вот сразу. Помучившись с КА несколько часов, я забил на автомат и просто исправил ошибку — 15 минут.
Вывод? Лучшее — враг хорошего.
