Я использую Text.ParserCombinators.Parsec
и Text.XHtml
для анализа ввода и получения вывода HTML.
Если мой ввод:
* First item, First level
** First item, Second level
** Second item, Second level
* Second item, First level
Мой вывод должен быть:
<ul><li>First item, First level <ul><li>First item, Second level </li><li>Second item, Second level </li></ul></li><li>Second item, First level</li></ul>
Я написал это, но, очевидно, не работает рекурсивно
list = do{ s <- many1 item;return (olist << s) }
item = do{
(count 1 (char '*'))
;s <- manyTill anyChar newline
;return ( li << s)
}
Есть идеи?
Рекурсия может быть более двух уровней.
Спасибо!