私はText.ParserCombinators.ParsecとText.XHtmlを使用して、次のような入力を解析しています。
- 最初のタイプ A\n -- 最初のタイプ B\n - 2 番目のタイプ A\n -- 最初のタイプ B\n -- 2 番目のタイプ B\n
そして、私の出力は次のようになります。
<h1>1 First type A\n</h1>
<h2>1.1 First type B\n</h2>
<h1>2 Second type A\n</h2>
<h2>2.1 First type B\n</h2>
<h2>2.2 Second type B\n</h2>
私はこの部分に来ましたが、それ以上進むことはできません:
title1= do{
;(count 1 (char '-'))
;s <- many1 anyChar newline
;return (h1 << s)
}
title2= do{
;(count 2 (char '--'))
;s <- many1 anyChar newline
;return (h1 << s)
}
text=do {
;many (choice [try(title1),try(title2)])
}
main :: IO ()
main = do t putStr "Error: " >> print err
Right x -> putStrLn $ prettyHtml x
これは問題ありませんが、番号付けは含まれていません。
何か案は?
ありがとう!