对于不同类型的术语,我有两个解析器。解析期间对不同类型的术语进行分区
a :: Parser A
b :: Parser B
我有一个数据类型代表这些术语的序列。
data C = C [A] [B]
如果我输入的混合条款的顺序,什么是写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
,但我不确定具体情况,只需要朝正确的方向推动。
非常好,非常感谢。在我的脑海中,我绝对是过于复杂。 –