parsecによって定義されたMonadインスタンスを使わずに、chainl1コンビネータをParsecから表現することはできますか? chainl1 p op =
do x <- p
rest x
where
rest x = do f <- op
y <- p
rest (f x y)
<|> return
私は小さな正規表現パーサーを実装してParsecを学習しようとしています。 >スター - - > exprの expr = try star
<|> try litE
<|> lit
litE = do c <- noneOf "*"
rest <- expr
return (c : rest)
lit = do c <- noneOf