gpt4 book ai didi

haskell - Haskell 的 parsec 库中的选择运算符

转载 作者:行者123 更新时间:2023-12-04 05:58:21 26 4
gpt4 key购买 nike

Parsec文件说以下关于 <|>

This combinator implements choice. The parser p <|> q first applies p. If it succeeds, the value of p is returned. If p fails without consuming any input, parser q is tried. This combinator is defined equal to the mplus member of the MonadPlus class and the (Control.Applicative.<|>) member of Control.Applicative.Alternative.

如何实现<|>的回溯版本?它在 p 时回溯消耗任何输入,例如 q可以再次应用于全输入。

最佳答案

要启用回溯,您只需使用 try ,例如try p <|> q .

但是,请注意过度使用try会损害解析器的性能。考虑 left factoring你的语法而不是尽可能消除常见的前缀。

关于haskell - Haskell 的 parsec 库中的选择运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16881768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com