2017-11-17 11 views

답변

1

암시 적 토큰 참조는 ANTLR4에 의해 암시 적으로 작성되는 렉서 토큰을 구성하는 구문 분석기 규칙의 문자열 리터럴입니다. 암묵적인 토큰을 사용할 때 예기치 않은 결과를 초래할 수있는 나쁜 습관이 있습니다. (여전히 허용되는 유일한 이유는 아마도 매우 간단한 경우에 대한 편의 일 것입니다). 따라서 렉서 규칙에 명시 적으로 토큰을 정의하는 것이 좋습니다. 이는 함축적 토큰의 함정을 피할뿐만 아니라 일반 토큰 (ANTLR4에 의해 생성 된 토큰)을 사용하지 않고도 토큰 이름 (규칙 이름)을 말하게 할 수 있습니다.

0

당신은 토큰을 만들어야합니다

LBRACK:'['; 
RBRACK:']'; 

및 교체 때마다 ']'와 '['. 왜냐하면 '['는 결국 문자열 리터럴로 인식 될 수 있고 실제로는 특별한 기호 일 때 어떤 종류의 문자열 * 검색과 일치하기 때문입니다.