Objective-C のメソッドをC言語風になおすパーザを Haskell の Parsec で書いた

Objective-C ではクラスからメソッド一覧を取得でき、メソッドの名前とエンコードされた引数の型を得ることができるそうだ。
http://journal.mycom.co.jp/column/objc/019/index.html
エンコーディングの規則はこうなっている。
http://journal.mycom.co.jp/column/objc/020/index.html
これをC言語風の宣言に直すパーザを Haskell の Parsec で書いてみた。


メソッド名の列挙はマイコミの記事にある通り。

メソッド名,エンコードされた引数の型

という宣言を

返り値 メソッド名(引数, ...)

という形に直す。
ちょっと長くなったので codepad で。
http://codepad.org/nPJI0up1
間違いがあったら指摘して下さい。書き方がナイーブなのは許して。