peg

    1

    1답변

    나는 통역사를위한 파서를 쓰고 있는데, 나는 페그 규칙을 쓰면서이 혼란스러운 경우를 쳤다. 가 나는 \ 일치 N 나를 위해하지 않는 몇 가지 이유를 들어이 blank ->() = " "* /"\n"* 같은 규칙을 가지고,하지만 난 blank ->() = "\n"* /" "* 그것은 개행 문자와 일치하는 역을, 그러

    1

    1답변

    최근 내 클라이언트 중 하나의 CFG DSL 언어에 대한 간단한 파서를 만들기 위해 Treetop을 실험 해 왔습니다. 나는 그가 필요로하는 모든 기능을 구현하는 데 성공했지만, Treetop로 작업하는 것은 상당히 고통스러운 경험으로 밝혀졌습니다. 문제점은 Treetop에서 사용 가능한 오류 메시지를 가져올 수 없다는 점입니다. 내가 얻는 유일한 출력은

    0

    1답변

    문자열을 가져 와서 개체를 만들 수있는 파서를 만들기 위해 PEG.js에서 놀고있었습니다. 예를 들어, 문자열 "는 & B"를 타고 작성 : {type:"operator",value:operator, children:[a, b]} 는 그러나, 나는 두 개 이상의 둥지가있는 경우 그 결과를 반환하는 동안 10 초 취할 수있는 단계에 도달했습니다. (All

    0

    1답변

    pypeg2를 사용하여 C# 코드를 구문 분석하고 싶습니다. 그래서 C# 문법을 먼저 정의해야합니다. Expression 문법 (PEG)을 구문 분석하는 것에 대해서는 거의 알지 못하며 Backus-Naur 형식 (BNF)과 많은 공통점이 있다고 가정합니다. 재귀는 BNF 허용, 그래서 이렇게 내 문법을 정의한다 : 나는 코드를 실행하려고 from __fu

    1

    1답변

    입력이 [tag] Content [inner-tag] Inner [/inner-tag][/tag] 인 경우 [tag]과 일치하는 마감 [/tag]이 있는지 어떻게 확인할 수 있습니까? 지금 내 규칙은 다음 즉시 태그가 마지막 여는 태그와 일치하는지 확인 : tagblock = opentag:opentag content:content? closeta

    3

    1답변

    서문 나는 CCESS C를 만드는 중이 야 조작부 S 트링 (또는 S 템() ACS) string PEG.js가있는 파서/인터프리터. ACS 문자열은 일반적으로 게시판 시스템 (BBS)에서 보드의 특정 영역에 대한 액세스 권한을 확인하는 데 사용됩니다. 예를 들어 Renegade's ACS documentation을 참조하십시오. 예 ACS 문자열 아래 그

    2

    1답변

    , 나는 다음과 같은 사용 parboiled2 같은 문자열과 일치하는 규칙 쓰고 : 의 Italiana Relè을 나는 다음과 같은 간단한 것을 사용하고 싶습니다 : 를 CharPredicate.Printable 그러나 문자열 맨 끝에 유니 코드 문자가 있기 때문에 구문 분석기가 org.parboiled2.ParseError으로 실패합니다. 인쇄 가능한

    1

    1답변

    이 작업을 시도 할 시간이 지남에 끔찍한 골치 거리. 배열로 파싱 된 입력 쿼리를 얻기 위해 PEG.js 구문 분석을 사용하고 있습니다. 지금이 문법으로 최선을 다하고 있습니다. 피연산자와 커넥터는 정적이며 앱에서 생성합니다. start = start:(statement) statement = statement:block_statement* { retu

    1

    1답변

    parboiled2 파서를 작성하는 데 어려움을 겪었습니다. parboiled2 파서를 작성했습니다. 이는 해당 문자열이 끝나는 문자열의 일부와 일치해야합니다. 문자는 :입니다. 이 문자열은 에: 문자가 포함될 수 있다는 점을 제외하고는 충분히 쉽습니다. 문자열을 콜론으로 끝나는 문자열과 concat 그룹으로 처리하는 순간이 있습니다. 그러나이 후미를 사용

    0

    2답변

    구문 분석 오류를 발생시키는 대신 PEG.js가 기본값을 반환하도록 할 수 있습니까? 기본적으로 내 문법에 / anything:.* {return anything} 을하고 싶은, 그러나 어떤 규칙이 부분적으로 MATHES 경우 여전히 구문 분석 오류가 발생합니다. 그래서 start = digits:[0-9]+ /anything:.* {retu