【问题标题】:Haskell parsec errorHaskell 解析错误
【发布时间】:2017-06-21 06:33:40
【问题描述】:

在学习 parsec 教程时,我尝试了以下命令

  print (Parsec.parse (Parsec.many (Parsec.choice [Parsec.letter,Parsec.spaces ,(Parsec.char ','), Parsec.digit])) "" "hello1 , byebye2 ," )

控制台中的错误是

我不确定如何解决这个问题。如何解决这个问题,有什么想法吗??

【问题讨论】:

    标签: haskell parsec


    【解决方案1】:

    来自hackage

    spaces :: Stream s m Char => ParsecT s u m ()
    letter :: Stream s m Char => ParsecT s u m Char
    

    所以你有解析器,它试图给你Chars 和一个,它只是丢弃输入并给你()。结果应该是什么?

    你可以使用

    space :: Stream s m Char => ParsecT s u m Char
    

    (spaces *> return ' ')
    

    而不仅仅是spaces 取决于您想要的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 2015-05-23
      • 2013-05-28
      相关资源
      最近更新 更多