String과 다른 구문 분석을 위해 구문 분석 라이브러리 중 하나 (예 : Parsec)를 사용할 수 있습니까? 그리고 어떻게하면 좋을까요? 단순화를 위해 입력이 int 목록 인 [Int]이라고 가정 해 봅시다. 이 작업은 S 10보다 작은 수이고, L 숫자 크거나 10와 동일한 패턴 (S+L+)*로 나머지를 분석 드롭 앞에 0 수 있습니다. 가 fst가
daily programmer redit challenge에 로마 숫자 구문 분석기를 쓰고 있습니다. 난 도전의 도전 부분을 구현하는 parsec 파서를 작성했습니다. 이것은 지금은 작업 파서 그러나 뭔가 try 사용에 대한 아주 명확하지 않다있어 1000 (II)II = 2002
에 의해 그 내용을 곱 브래킷을 지원하는 것입니다. romAdv :: G
숫자의 시퀀스를 구문 분석하여 정렬 된 목록을 반환하지만 중복 된 숫자가 발생하면 실패하는 파섹 파서를 작성하려고합니다 (오류는 복제 위치를 가리켜 야합니다) . manySorted = manyAccum insert
을하지만 숫자가 이미 목록에 포함되어 있다면 어떻게 파섹 오류를 트리거 할 수 정렬의 경우 단순히 사용할 수 있습니다. manyAccum이
이상한 변덕이 있습니다. data Statement = StatementType Stuff Source
가 지금은 그런 문을 구문 분석하는 모든 물건을 구문 분석 할을 한 후 나는 (이 특정 명령문에 대해) 내가 처리 한 모든 문자를 넣어 원하는 결과에 : 나는 이런 식으로 뭔가가 있다고 가정 데이터 구조. 몇 가지 이유. 가능한가요, 그렇다면 달성하는
실패 분석 왼쪽 고토하지 않는, 그 결과는 "오른쪽" 사람이 친절하게 나에게 몇 가지 팁을주고 항상? *Main> regularParse parser4search "a"
Loading package array-0.5.0.0 ... linking ... done.
Loading package deepseq-1.3.0.2 ... linking ... don
parsec을 사용하여 일부 소스 코드를 AST로 구문 분석합니다. 나는 최근에 "의심스러운"코드를 잡으려고 -Wall과 -W 옵션을 사용했고 명시적인 확장자가없는 the parsec-related top-level functions in this file에 대해 불평하고 있습니다. 예 1 vimL = choice [ block
, state
저는 haskell을 사용하여 위키 파서를 작성 중이므로이 wierd 문제가 발생했습니다. 내가 parseItalic을 주석 및 변환 parseBold를 사용하는 경우 내 코드는 지금이 import System.Environment
import Control.Applicative hiding ((<|>), many)
import Control.Mona
나는 다음과 같은 구문 분석됩니다 파섹를 사용하여 파서 쓰기를 시도하고있어와 하스켈의 하위 집합을 구문 분석 다음 data 표현 data Nat = Z | S Nat
plusNat :: Nat -> Nat -> Nat
plusNat Z m = m
plusNat (S n) m = S (plusNat n m)
을, 나는 다음과 같은 파서 있습니다
저는 하스켈을 처음 접했고 Haskell LLVM tutorial을 통해 작업하고 있습니다. 이 책에서 저자는 AST를 표현하기위한 간단한 대수 데이터 형식을 정의합니다. 파서 실제로 Extern에 Expr 목록은 오직 (임의로 표현 될 수없는 이러한 상황에서, 즉 파라미터) 변수를 나타내는 식을 포함 할 것으로 예상하므로 type Name = String
한 줄의 입력을 받아 parsec을 사용하여 구문 분석 한 다음 처리하는 간단한 계산기를 개발 중입니다. 나는 parsec 구문 분석 오류 메시지를 더 작게 만들고 싶습니다. 여기에는 한 줄 입력에 필요하지 않은 위치 정보가 포함됩니다. 내가 <?>을 사용하여 시도했지만 꽤 원하는대로하지 않습니다. 구문 분석 오류의 원인을 추출하려고 시도했지만 좋은 결과를