作为由bitemyapp编写的Haskell Book的练习,我需要创建一个解析器来解析给定的日志。所以我做了这个:https://gist.github.com/RoelofWobben/79058b1a6a5c24f08a495045c7a685f9
但是,当我用:‘parseString parseMultipleDays myLog测试它时,我会看到以下错误消息:
Failure (ErrInfo {_errDoc = (interactive):3:1: error: expected: new-line
# 2025-02-05
^ , _errDeltas = [Lines 2 0 20 0]})任何能给我提示的人都能告诉我窃听器在哪里。在需要的时候,我可以通过一些测试对我所拥有的代码进行回购。
我使用trifecta,因为在这一章中已经解释过了。
发布于 2018-07-08 21:56:23
string "--" *> manyTill anyChar newline *> newlinemanyTill已经消耗了终止符,所以上面定义的注释为"--",后面跟着任何东西,后面跟着两个换行符。
您的输入只包含注释后的一个换行符,因此您会得到一个错误,它告诉您解析器需要第二个换行符,而不是#。
https://stackoverflow.com/questions/51235864
复制相似问题