2015-11-01 122 views
-1

的時候我怎麼能跳過空格我在使用哈斯克爾ReadP庫解析器的定義如下:解析Haskell的字符串

expr = chainl1 comp (string "===" >> return fun6) 

我怎麼能跳過===操作之前的空間?我不知道如何在這個語法中包含它。

+0

我認爲這個問題太寬泛了,因爲它聽起來像一個答案需要解釋基本的語法,monads和monadic解析。有很多教程可以解決您可以查看的解析器組合器庫 – jberryman

+0

我知道如何解析,我只是在語法上遇到了一些麻煩。一切正常,但當我嘗試解析字符串之前的空格與運營商,他們失敗...... – Ezis

+0

你試過'空格>>字符串「===」>>返回fun6' – mb14

回答

1

ReadP具有skipSpaces正是那個用例;你的解析器然後變成

expr = chainl1 comp (skipSpaces >> string "===" >> return fun6)