1
선택적으로 javacc가 토큰 중 일부를 탐욕스럽게 매치시킬 수 있습니까? 나는 다음과 같이 정의 된 개체를하기 위해 노력하고있어욕심 꾸러기가 javacc에서 일치합니다
는 :
a. {HELLO}
b. {HELLO} {WORLD}
c. {HELLO} {OUR} {WORLD}
가 올바르게 구문 분석하고 JavaCC에 곱슬에서 토큰을 소비하는 것 :
<CURLED: "{" (<CHAR>)+ "}">
내가하고 싶은 것은 순서가 있다는 것입니다 브래킷은 개별적으로. 기본적으로
는 JavaCC에 사례의 B 가능성이 가장 긴 경기는 확인을 시도하고 같은 구문 분석되고 결국 C :
b. HELLO} {WORLD
c. HELLO} {OUR} {WORLD
내가 뭔가를 분명 실종?
"{"문자를 허용하려면 렉시 컬 상태를 사용할 수 있습니다. 그러면 문제는 C 스타일 주석과 일치하는 문제와 매우 유사합니다. 예 :/**/** /는 유효한 주석이며/** // ** /는 두 개의 주석입니다. 토론에 대해서는 JavaCC FAQ를 참조하십시오. –
@TheodoreNorvell 귀하의 회신에 감사드립니다! 내가 주 (비록 그들을 구현하는 방법을 읽기 시작 했음에도 불구하고)가 {{ ','} '의 쌍을'{} '로 중첩시키는 것을 허용하지 않는다는 이유는 (C 스타일 코멘트). –
그러면''{ "(~ ["{ "]) +"} "'가 길입니다. –