パーサーを使用して文字列変換を行います。 normalizeWS :: Parser String
は重複する空白を削除し、normalizeCase
は特定の文字列を小文字にマップします。私はパーサーを使用します。なぜなら、入力データに構造体があります。例えば、リテラル文字列は変換されずに残されなければなりません。 1つのパーサの出力を次の入力に渡して変換パイプラインを形成するエレガントな方法はありますか? normalizeWS . normalizeCase
の静脈の中の何か(どちらがうまくいくのですか?)parsec:あるパーサーの出力を別のパーサーに渡す
事前に感謝します。
「Parser」は、両方とも基本ストリームから読み込むので、このように構成することはできません。私はそれぞれを 'String - > String'として定義するほうがいいと思うし、' Parser String'を持っているときに正規化したいときは 'fmap(normalizeWS。normalizeCase)'を使うことができます。 – ryachza