2011-05-05 14 views
3

我想在使用Parsec的Haskell中進行一些解析。我有一些在我的代碼分析器,但我就在其中得到一個錯誤:輸入'<'內的do塊內部解析錯誤?

expression2 = 
    do (operator lexer "|" 
     a <- alternate 
     as <- expression2 
     return $ a:as 
) <|> return [] 

錯誤是parse error on input '<-,在a <- alternate線。

任何人都可以解釋爲什麼我得到這個錯誤,以及如何解決它?

在此先感謝。

回答

4

您是否將人猿放在錯誤的地方?

expression2 = 
    (do operator lexer "|" 
     a <- alternate 
     as <- expression2 
     return $ a:as) <|> return [] 
+0

是的,我做了;謝謝。最後一個沒問題,但我需要把第一個放在'do'之前。 – dragonridingsorceress 2011-05-05 02:16:58