XML
さてさて。さっき、C++であんなコードを書いていたら。
あ、HaskellでXML読もう!
と思って書いてみることに
でもまだ、Parsecの流れが良く理解できていない。
いや、流れというか、式解析の順序かな。
まず < を読んだら、次に > が出るまで読んで、みたいな?
そして、入れ子の時には、その読み込んだタグを渡して次のタグと一致するかどうかを確認していけばいいと思うんですがね。
まあ、まず文字の読み出しがうまくいかないのでなんとも.......
眠い
寝よう
ちなみに、関数は今こんな感じ
parsexml :: Parser String parsexml = do try (string ">") <|> try (string "</") <|> try (string "<") <|> (:) <$> letter <*> parsexml
これだと、
<tag>hello</tag>
とやったときに、<
しか読まれない。当たり前ですね。
なので、ちゃんと順々に実行されるように書いてやらないと
とりあえず寝る.....