在学习parsec教程时,我尝试了fllowing命令
print (Parsec.parse (Parsec.many (Parsec.choice [Parsec.letter,Parsec.spaces ,(Parsec.char ','), Parsec.digit])) "" "hello1 , byebye2 ," )
我不知道如何解决这个问题。如何解决这个问题,任何想法?
答案 0 :(得分:1)
来自hackage
run()
所以你有解析器,尝试给你spaces :: Stream s m Char => ParsecT s u m ()
letter :: Stream s m Char => ParsecT s u m Char
和一个,它只是丢弃输入并给你Char
。结果应该是什么?
您可以使用
()
或
space :: Stream s m Char => ParsecT s u m Char
而不仅仅是(spaces *> return ' ')
取决于您想要的行为。