parsec

    4

    2답변

    : 내가 가지고있는 type Parser resultType = ParsecT String() Identity resultType cell :: Parser String 다음과 같은 기능을 구현 : customCell :: String -> Parser res -> Parser res customCell typeName subparser =

    3

    1답변

    저는 하스켈을 처음 사용하고 있으며, Parsec을 연습으로 사용하여 JSON 파서를 작성하려고했습니다. 이것은 대부분 잘되어 가고 있으며, 목록과 객체를 상대적으로 작은 코드로 파싱 할 수 있는데, 이는 또한 읽을 수 있습니다 (훌륭합니다!). 그러나, JSON을 위해 나는 또한 수레가 예와 문자열 (아마도 예 : "3.4e-8"과학적 표기법을 사용) (

    2

    2답변

    나는 적절한 설정 형식을 위해 GUI 편집기를 사용하고 있습니다. 기본적으로 편집기는 구성 파일을 구문 분석하고 사용자가 GUI에서 편집 한 다음 오브젝트를 다시 파일에 쓸 수 있도록 오브젝트 특성을 표시합니다.이 가 구문 분석 된 데이터 구조는 개체 속성 정보를 포함있을 경우 의견과 공백 쓰기 에 손실됩니다, 그래서 : - 편집 -에 대한 부분은 제외 할

    0

    1답변

    새로운 함수 parse :: String -> Stm을 작성해야하는 교과 과정이 있습니다. Parsec에는 이미 구문 분석 함수가 있으므로 구문 분석에서 내 래퍼 함수를 ​​반환하도록 정규화 된 parsec을 가져와야합니다. 래퍼 함수는 입력 문자열을 Parsec의 구문 분석 함수로 구문 분석하고 반환 된 모나드에서 결과의 압축을 풀어야합니다. 이것은 래퍼

    2

    1답변

    다음 파서는 모든 입력에 대해 무한 루프를 입력합니다. data Ast = Number Int | Identifier String | Operation Ast BinOp Ast deriving (Show, Eq) data BinOp = Plus | Minus deriving (Show, Eq, Enum)

    2

    1답변

    스키마 해석기 작성시 this guide을 따르고 있습니다. 왼쪽 요인 DottedList/목록에 대한 문법을 ​​시도, 나는이 함께했다 : E -> (H T) H -> E H' H' -> <space> H H' -> <term> T -> <term> T -> <space> . <space> E - spaces :: Parser() space

    1

    1답변

    그와 같은 문자열이 있습니다 ***, **(*)*, ****(**(**)*)** 을 그리고 난 같은 데이터 구조에 구문 분석 할 : S가 data Tree = Node [S] Tree Tree | Empty이 * (* 의미하지 않는 그것을 숯불 내가 파서 (parsec를 습관에 나는 megaparsec 사용하지만 매우 비슷합니다) 구축을 시도 단지 별 기호

    1

    1답변

    내가 parsec를 사용하여 다음 파서를 작성하려고 해요 : manyLength :: forall s u m a. Monad m => ParsecT s u m a -> ParsecT s u m Int manyLength p = go 0 where go :: Int -> ParsecT s u m Int

    3

    1답변

    haskell에서 Parsec을 사용하여 Abap 언어의 단편을 구문 분석하려고합니다. Abap의 문장은 점으로 구분됩니다. 함수 정의 구문은 다음과 같습니다. FORM <name> <arguments>. <statements>. ENDFORM. 최소한의 예제로 사용하겠습니다. 여기 haskell과 파서에 해당하는 타입을 쓰려고 시도했다. G

    0

    1답변

    나는 parsec 라이브러리를 시험 중이므로이 기본 작업을 처리하는 방법을 모르겠습니다. data Foo = A | AB 내가 문자열 "A"A로서 해석 할 수하고 "A B"AB 원하는 : 나는 다음과 같은 있다고 가정합시다. 난 그냥 이렇게하면 : parseA :: parser Foo parseA = do reserved "a"