2017-05-02 1 views
0

새로운 함수 parse :: String -> Stm을 작성해야하는 교과 과정이 있습니다. Parsec에는 이미 구문 분석 함수가 있으므로 구문 분석에서 내 래퍼 함수를 ​​반환하도록 정규화 된 parsec을 가져와야합니다. 래퍼 함수는 입력 문자열을 Parsec의 구문 분석 함수로 구문 분석하고 반환 된 모나드에서 결과의 압축을 풀어야합니다. 이것은 래퍼 함수의 코드입니다. 구문 분석을 호출 할 때 내 래퍼 함수를 ​​반환하도록하려면 어떻게해야합니까?파섹을 사용하여 새 함수 "parse :: String -> Stm"을 작성하십시오.

parseString :: String -> Stm 
parseString str = 
    case parse procParser "" str of 
    Left e -> error $ show e 
    Right r -> r 
+0

당신이 "구문 분석 호출 할 때"무슨 뜻인지 명확히 수 있을까? – leftaroundabout

답변

0

는 지시는 말을 정확히 마십시오 무엇 :

import qualified Text.Parsec 

parse :: String -> Stm 
parse str = 
    case Text.Parsec.parse procParser "" str of 
    Left e -> error $ show e 
    Right r -> r 
관련 문제