異なるタイプの用語に対して2つのパーサーがあります。
a :: Parser A
b :: Parser B
これらの用語のシーケンスを表すデータ型があります。
data C = C [A] [B]
私の入力が一連の混合用語である場合、 sをsからc :: Parser C
分離し、それらの順序を維持するための良い書き方は何ですか?たとえば、次の定義があります。A
B
data A = A Char
data B = B Char
a = A <$> oneOf "Aa"
b = B <$> oneOf "Bb"
"abAbBBA"
aAA
シーケンスとを解析しbbBB
ます。使用する必要があると感じていますStateT
が、詳細がわからないため、正しい方向にプッシュする必要があります。