pegjs

    2

    1답변

    술어를 사용하여 문법을 작성해야합니다. 주어진 문법에서는 아래의 문법이 실패합니다. startRule = a:namespace DOT b:id OPEN_BRACE CLOSE_BRACE {return {"namespace": a, "name": b}} namespace = id (DOT id)* DOT = '.'; OPEN_BRACE = '('; C

    6

    1답변

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

    1

    1답변

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

    1

    1답변

    새 형식을 정의 할 수있는 문법을 정의하는 데 pegjs를 사용하고 있습니다. 그렇다면 그 정의에 이어 유형을 어떻게 인식 할 수 있습니까? 나는 내장 된 타입을 정의하는 프로덕션을 가지고있다. BuiltInType = "int" /"float" /"string" /TYPE_NAME 마지막으로 무엇을해야합니까? 소스 코드에 정의 될 때까지

    3

    1답변

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

    0

    1답변

    PEG.js가있는 C++ 파서를 만들고 있는데 cin을 사용할 수 있어야합니다. 경기 후 JS에서 prompt()을 사용하면 online version은 'Parse Error : prompt is not defined'오류를 throw합니다. prompt을 복제하는 함수를 만들기 위해 이니셜 라이저를 사용하려고합니다. (아마도 최적화되지 않았을뿐입니다.

    0

    1답변

    따라서 간단한 언어에 대한 구문 분석기를 정의하려면 PegJS을 사용하려고합니다. 언어는 순수 같은 쉼표로 구분 무한히 깊은 함수 호출의 구성 : 재귀하지 call = func"("arg")" func = [a-zA-Z]+ arg = [0-9a-z,A-Z]+/call _ "whitespace" = [ \t\n

    6

    2답변

    나는 다음과 같은 최소한의 Peg.js 문법 정의했습니다 : start = "A1"/"A123" 당신이 in the sandbox을 시도 할 수 있습니다. "A1"과 "A123"이 일치 할 것으로 예상됩니다 (백 트랙킹 작동 방식에 대한 나의 견해에 따르면). 그러나 이것은 사실이 아닙니다 : 문법은 "A1"을 인식하지만 "A123"을 인식하지 못합니다

    1

    1답변

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

    0

    2답변

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