저는 robots.txt 파일을 구문 분석 중이며 올바르게 작성된 robots.txt 파일을 구문 분석하기 위해 파서를 작성했습니다. 필자는 파서가 # 또는/또는 주석과 같이 기호로 시작하는 줄을 건너 뛰도록 조정할 수 있었지만 inClass "#/" 만 사용했습니다. 해결할 수없는 한 가지 문제는 일치시키고 자하는 문자열이 포함되어 있지 않으면 줄을 건너
Attoparsec은 적어도 하나의 문자를 사용하는 takeWhile1 함수를 제공합니다. 그러나 skipWhile에는 아날로그가 없습니다. 이 함수를 구현하려면 어떻게해야합니까? skipWhile1? 참고 :이 질문에 대한 대답은 의도적으로 Q & A-Style입니다.
Attoparsec은 적어도 하나의 문자를 소비하는 takeWhile1 기능을 제공합니다. 그러나 takeTill에는 아날로그가 없습니다. 이 기능을 구현하려면 어떻게해야합니까? takeTill1? 참고 :이 질문에 대한 대답은 의도적으로 Q & A-Style입니다. 이 질문은 this previous one과 비슷하지만 답변이 동일하지 않습니다. 나는 누
나는 attoparsec으로 간단한 파서를 만들고자합니다. 생산 규칙의 라인을 따라있는이 : 내가 무엇에 있습니다 얻으려고 block: ?token> [inline]
inline: <?token>foo<?> | anyText
따라서, 블록은 문자로 시작 시퀀스 다음에>를 다음에, 토큰 다음에? 인라인. 인라인은 foo 형식의 시퀀스이거나 일반 텍스트
문자열 목록으로 "John","Kate","Ruddiger"과 같은 텍스트를 구문 분석하려고합니다. "John",을 Name (String의 별칭)으로 구문 분석하려고 시도했지만 이미 Fail "\"," [","] "Failed reading: satisfyWith"으로 실패합니다. 질문 A :이 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?
나는 하스켈 파서 콤비에 대해 많이 읽고 같은 주제를 많이 발견되었다 : Parsec vs Yacc/Bison/Antlr: Why and when to use Parsec? Which Haskell parsing technology is most pleasant to use, and why? Parsec or happy (with alex) or uu-pa
attoparsec을 사용하는 법을 배우려합니다. id int
call_uuid string 30
내 코드는 여기에 있습니다 : : 나는 다음과 같은 형식의 텍스트 파일을 구문 분석하려고 {-# LANGUAGE OverloadedStrings #-}
import Control.Applicative ((<$>))
import Data.Char (i
내가 브라이언 설리번의 Attoparsec 기반의 HTTP 파서 (http://www.serpentine.com/blog/2010/03/03/whats-in-a-parser-attoparsec-rewired-2/)에 대한 테스트를 실행하려고 발견, 나는이 오류가 없어 : > runhaskell TestRFC2616.hs
TestRFC2616.hs:13:
attoparsec을 사용하여 사용자 지정 파일 용 파서를 작성했습니다. 프로파일 링 보고서에 따르면 메모리 할당의 약 67 %가 tab이라는 함수에서 수행되며 가장 많은 시간도 소비됩니다. tab 기능은 매우 간단하다 : ASnapshotParser +RTS -p -h -RTS
total time = 37.88 secs (37882 tick
저는 하스켈 프로그램을 처음 작성했습니다. 이 프로그램은 일반 CSV 파일을 구문 분석하지만 구문에 대한 내 경험이 의심의 여지가없는 많은 문제가 있습니다. 현재 코드는 하나의 레코드를 성공적으로 구문 분석하지만 마지막 레코드에서는 구문 분석기가 줄 바꿈을 사용하므로 후속 줄의 레코드를 처리하지 않습니다. 내 제안 된 솔루션은 내 fieldData 사양에