peg

    2

    2답변

    STEP 파일 (ISO 10303-21)의 정보를 자바 스크립트로 읽으려고합니다. 나는 이것을 어떻게 다뤄야할지 잘 모르겠다. 나는 오픈 소스 대안을 찾았지만 Javascript가 아닌 모든 언어로되어 있습니다 ... 그래서 나는 그들로부터 많은 것을 배울 수 없습니다. 텍스트가 다소 불규칙하기 때문에 정규 표현식을 사용하여 정보를 추출하는 것은 정말 어렵

    1

    1답변

    나는 parathesis 사이의 텍스트를 세미콜론으로 끝내려고합니다. (. *) 예 : 나는이 시도했다 (in here there can be 'anything' !"#¤);); any character is possible); Text = "(" text:(.*) ");" { return text.join(""); } 그러나 보인다는) 마지막이 포함

    3

    1답변

    같은 문법을 허용 키워드를 구축하는 방법이 데모 코드 label: var id let id = 10 goto label 입니다. 그러나 antlr에서 이것을하는 것이 매우 어려워 보입니다. AFAIK, antlr이 토큰 let과 일치하면 절대 id 토큰으로 대체되지 않습니다. 그래서 ANTLR 것이 내가 토큰 일치하고 문제를 제어 할 수 있고, A

    2

    1답변

    깊게 중첩 된 파이썬 불린 표현식에 대한 PEG 문법 예제를 원합니다. PEG 문법은 "매우 재귀 적"일 수 없으며 스택 오버 플로우로 이어질 것입니다. '|', '&', '('및 ')'에 대한 지원이 필요합니다. 입력 예 : (a = 1 | B = 1 | C = 1 | D = 1 명 & E = 2) & (F = 2 & g = 2 & H = 2 | 저는 =

    6

    1답변

    Qt의 qmake의 모호한 문법으로 계속 싸우고 있습니다. 지금은 괄호를 포함 할 수 있습니다 함수 인자 (예를 들어, 정규식을) 설명하는 방법을 찾을 수 없습니다 : functionName(arg1, "arg2", ^(arg3)+$) 나는이 같은 함수 호출을 설명하기 위해 시도했다 : FunctionCall = Identifier space* "("

    1

    1답변

    class A(List): grammar = [(Symbol, ':', Symbol), Symbol] compose(parse('a', A)) 구문 분석하는 동안 compose 오류가 발생합니다. 난 단지 더미 클래스를 사용하여 우회 할 수 있습니다 class B(List): grammar = Symbol, ':', Symbol

    0

    1답변

    순서 블록에 대한 유용한 오류 메시지를 인쇄 할 인색 받기 (영숫자 여야 함) 전체 텍스트를 구성합니다.이 grammar = Grammar(r""" file = block+ block = _ "block" _ alphanum _ start_brace _ block_body _ end_brace _ block_body = alphanum+ alphan

    1

    1답변

    peg.js를 사용하여 파서를 작성하는 방법을 배우고 있으며 고유 한 문제가 발생했습니다. 나는 ;을 구분 기호로 사용하여 키 값 쌍의 문자열을 범주화합니다. 예 : 구문 분석 할 문자열이 name=prabesh;city=Bangalore 인 경우. 파서는 현재 name을 키로 사용하고 prabesh을 값으로 사용하고 city을 키로 사용하고 bangalo

    0

    2답변

    일부 명령을 구문 분석하는 문법을 만들고 싶습니다. 대부분은 완벽하게 작동하지만 "if (조건, then-value, else-value)"가 "out"명령과 함께 작동하지 않아 일부 값을 표시합니다. 그것은 잘 작동하는 경우에 출력 명령은 외부에있는 경우-명령을 out(if(1,42,43)) 출력 → 하고 확인을 예상대로 42을 반환 그러나 순간에 출

    0

    1답변

    나는 domainlabel과 toplabel 아무 문제가 없습니다 RFC 2396 hostname = *(domainlabel ".") toplabel [ "." ] domainlabel = alphanum | alphanum *(alphanum | "-") alphanum toplabel = alpha | alpha *(alphanu