使用 Parsec 编写新函数 "parse :: String -> Stm"
Use Parsec to write a new function "parse :: String -> Stm"
我有一个课程作业要求我编写一个新函数 parse::String -> Stm。 Parsec 已经有一个解析函数,所以我应该导入合格的 parsec 以便解析 returns 我的包装函数。
包装函数需要将输入字符串解析为 Parsec 的解析函数,并从返回的 monad 中解压结果。这是我的包装函数的代码。
我如何确保在调用 parse 时,它 returns 我的包装函数。
parseString :: String -> Stm
parseString str =
case parse procParser "" str of
Left e -> error $ show e
Right r -> r
完全按照说明进行操作:
import qualified Text.Parsec
parse :: String -> Stm
parse str =
case Text.Parsec.parse procParser "" str of
Left e -> error $ show e
Right r -> r
我有一个课程作业要求我编写一个新函数 parse::String -> Stm。 Parsec 已经有一个解析函数,所以我应该导入合格的 parsec 以便解析 returns 我的包装函数。 包装函数需要将输入字符串解析为 Parsec 的解析函数,并从返回的 monad 中解压结果。这是我的包装函数的代码。 我如何确保在调用 parse 时,它 returns 我的包装函数。
parseString :: String -> Stm
parseString str =
case parse procParser "" str of
Left e -> error $ show e
Right r -> r
完全按照说明进行操作:
import qualified Text.Parsec
parse :: String -> Stm
parse str =
case Text.Parsec.parse procParser "" str of
Left e -> error $ show e
Right r -> r