28
v3에서 v4로 전환하기로 결정한 후 ANTLR 4 문법에 대한 도움이 필요합니다. 아무런 규칙이없는 V4에서
COMMENT
: '//' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;}
| '/*' (options {greedy=false;} : .)* '*/' {$channel=HIDDEN;}
;
: v3에서
내가 자바 스타일의 코멘트를 검출하기 위해 다음 코드를 사용) 나는 매우 그래서 내 질문은 바보 같은 경우 정말 죄송 ANTLR 경험하고 있지 않다 특정 옵션. 동작 (숨겨진 채널로 이동)도 잘못되었습니다.
누군가 제발 ANTLR v4에서 어떻게하는지 알려주세요. HIDDEN
채널의 모든 단일 및 멀티 라인 주석을 넣어 것입니다
COMMENT
: ('//' ~[\r\n]* '\r'? '\n'
| '/*' .*? '*/'
) -> channel(HIDDEN)
;
:
대단히 감사합니다! – user2055330
이제 오류를 던지는 제안 된 코드 (채널을 사용한 첫 번째 변형)를 사용합니다. 렉서 규칙에서'-> 명령 'COMMENT'는 가장 바깥 쪽 단일 alt'의 마지막 요소 여야합니다. 무엇이 문제입니까? – user2055330
@ user2055330, 내 편집 된 버전을 사용해보세요. –