2011-05-05 6 views
3

나는 Parsec을 사용하여 하스켈에서 일부 구문 분석을 시도하고있다. 난 내 코드에서 파서의 번호를 가지고 있지만, 그 중 하나에 오류가 점점 오전 : 오류가 a <- alternate 라인에 parse error on input '<-입니다do 블록 안에 '<-'입력에 대한 구문 분석 오류가 있습니까?

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

.

왜이 오류가 발생하는지 설명하고 해결 방법을 설명 할 수 있습니까?

미리 감사드립니다.

답변

4

괄호를 잘못 넣었습니까?

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

예. 고맙습니다. 끝의 하나는 ok이었다. 그러나 나는 do의 앞에 첫번째 하나를 둘 필요가 있었다. – dragonridingsorceress

관련 문제